Mysql
 sql >> Base de données >  >> RDS >> Mysql

Conception de la structure de la base de données avec des quantités variables de champs

La manière habituelle de procéder est la suivante (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)
);

Facultativement, vous pouvez avoir une contrainte unique sur item_properties (item_id, property_id) pour vous assurer que chaque propriété n'est définie qu'une seule fois par élément