如何对这个模式进行分类?

How to classify this schema?

我有这样的架构:

这个方案的本质是组织了一些公司所有产品的入口点,提供了一些灵活性。

工作原理:

  1. 我们在 table "tables" 中创建一个 table 的列表(其中 name 是数据库中 table 的名称,pk_name是这个table)
  2. 的主键名
  3. 我们在 "products" 中创建一个产品列表(其中 table_id 是 "tables" 中的 table 标识符,pk_value 是主要的值键)
  4. 此外,我们还创建了 table,如 "some_product"、"another_product" 等。它们包含特定产品的不同字段

问题是:

  1. 这样的方案怎么称呼?例如,EAV 还专为 数据库灵活性,但在 EAV 中,列作为记录存储在 数据库。
  2. 因此,我不明白将此方案与 EAV 进行比较是否可取?
  3. 这个模式有哪些类比,了解什么更好用?
  4. 这种模式有什么缺点?

我是DB的新手,所以我希望我的问题不是愚蠢的。

谢谢!

在示例中,您显示 some_productanother_product table 具有相同的属性和类型。在这种情况下最好有一个产品 table。如果不同的属性适用于不同 table 中的不同类型的产品,那么这就是 子类型 .

的示例

所有产品共有的属性将归入公共 products table(超类型 table)。我希望在 table 中看到一个产品类型属性来区分不同类型的产品。

tables table 是不必要的。所有 DBMS 都提供对有关 table 和主键的元数据的访问,因此没有理由在您自己的 table.

中捕获它