Zwykle robi się to tak (pseudo-SQL):
create table property_types (
property_id int primary key,
name varchar,
-- more info here
);
create table items (
item_id int primary key,
-- your item table
);
-- this table links a property value with an item
create table item_properties (
item_id int,
property_id int,
property_value varchar,
foreign key fk_item (item_id) references items (item_id),
foreign key fk_property (property_id) references properties (property_id)
);
Opcjonalnie możesz mieć unikalne ograniczenie dla item_properties (item_id, property_id), aby zapewnić, że każda właściwość jest ustawiana tylko raz na element