Rozdělení těchto dat do samostatných sloupců je velmi dobrý začátek (hodnoty oddělené čárkou jsou kacířství). „Proměnný počet vlastností“ by však měl být typicky modelován jako jeden-to- mnoho vztahů .
CREATE TABLE main_entity (
id INT PRIMARY KEY,
other_fields INT
);
CREATE TABLE entity_properties (
main_entity_id INT PRIMARY KEY,
property_value INT,
FOREIGN KEY (main_entity_id) REFERENCES main_entity(id)
);
entity_properties.main_entity_id
je cizí klíč
na main_entity.id
.
Gratulujeme, jste na správné cestě, tomu se říká normalizace . Chystáte se přejít na První normální formulář.
Pozor, tyto vlastnosti by však měly mít rozumně podobný charakter (tj. všechna telefonní čísla, adresy atd.). Nespadněte na temnou stranu (aka Anti-vzor Entity-Atribute-Value ) a budete v pokušení hodit všechny vlastnosti do stejné tabulky. Pokud můžete identifikovat několik typů atributů, uložte každý typ do samostatné tabulky.