Пары ключевых значений в реляционной базе данных



есть ли у кого-то опыт хранения пар ключ-значение в базе данных?



Я использую этот тип таблицы:



CREATE TABLE key_value_pairs ( 
itemid varchar(32) NOT NULL,
itemkey varchar(32) NOT NULL,
itemvalue varchar(32) NOT NULL,
CONSTRAINT ct_primarykey PRIMARY KEY(itemid,itemkey)
)


тогда, например, могут существовать следующие строки:



 itemid            itemkey        itemvalue    
---------------- ------------- ------------
123 Colour Red
123 Size Medium
123 Fabric Cotton


проблема с этой схемой заключается в том, что синтаксис SQL, необходимый для извлечения данных, довольно сложен.
Было бы лучше просто создать серию столбцов ключ/значение?



CREATE TABLE key_value_pairs ( 
itemid varchar(32) NOT NULL,
itemkey1 varchar(32) NOT NULL,
itemvalue1 varchar(32) NOT NULL,
itemkey2 varchar(32) NOT NULL,
itemvalue2 varchar(32) NOT NULL,
. . .etc . . .
)


это будет проще и быстрее для запроса, но не хватает расширяемости первый подход.
Какие-нибудь советы?

505   0  

Comments

    Ничего не найдено.