Memisahkan data ini ke dalam kolom terpisah adalah awal yang sangat baik (nilai yang dipisahkan koma adalah bid'ah). Namun, "jumlah variabel properti" biasanya harus dimodelkan sebagai satu-ke- banyak hubungan .
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
adalah kunci asing
ke main_entity.id
.
Selamat, Anda berada di jalur yang benar, ini disebut normalisasi . Anda akan mencapai Formulir Normal Pertama.
Namun demikian, properti ini harus memiliki sifat yang mirip (yaitu semua nomor telepon, atau alamat, dll.). Jangan jatuh ke sisi gelap (alias Entity-Attribute-Value anti-pola ), dan tergoda untuk membuang semua properti ke dalam tabel yang sama. Jika Anda dapat mengidentifikasi beberapa jenis atribut, simpan setiap jenis dalam tabel terpisah.