我遇到了一个特定的SQL表设计,我试图看看是否有一个人们用来描述它的通用名称。该表的定义如下:
CREATE TABLE [ATTRIBUTES] (
[Id] [int] NOT NULL,
[FIELD_1] [varchar](30) NULL,
[VALUE_1] [varchar](30) NULL,
[FIELD_2] [varchar](30) NULL,
[VALUE_2] [varchar](30) NULL,
[FIELD_3] [varchar](30) NULL,
[VALUE_3] [varchar](30) NULL,
[FIELD_4] [varchar](30) NULL,
[VALUE_4] [varchar](30) NULL,
[FIELD_5] [varchar](30) NULL,
[VALUE_5] [varchar](30) NULL,
[FIELD_6] [varchar](30) NULL,
[VALUE_6] [varchar](30) NULL,
[FIELD_7] [varchar](30) NULL,
[VALUE_7] [varchar](30) NULL,
[FIELD_8] [varchar](30) NULL,
[VALUE_8] [varchar](30) NULL,
[FIELD_9] [varchar](30) NULL,
[VALUE_9] [varchar](30) NULL,
[FIELD_10] [varchar](30) NULL,
[VALUE_10] [varchar](30) NULL
)
这个想法是允许定义可变数量的属性(在这种情况下最多不超过10个),而不使用更标准化的设计。
我不是在寻找这种方法的优点/缺点,但是有没有人知道用于描述这种类型的数据库表设计的通用名称或术语?
答案 0 :(得分:2)
这通常被称为属性列模式,当人们不忙于称它为一堆垃圾时。
答案 1 :(得分:-1)
我称之为键值存储(特别讨厌)形式。