sql >> Databasteknik >  >> RDS >> Mysql

Databasstrukturdesign med varierande mängder fält

Det vanliga sättet att göra detta är så här (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)
);

Alternativt kan du ha en unik begränsning för item_properties (item_id, property_id) för att säkerställa att varje egenskap endast ställs in en gång per artikel



  1. mysql-frågan tar 46 sekunder - måste vara effektivare

  2. PostgreSQL vs Linux-kärnversioner

  3. Förhindra att spara ändringar som kräver att tabellen återskapas negativa effekter

  4. Vilken skulle vara den bästa metoden för att migrera Oracle-databas till MS Access med Java?