このデータを別々の列に分割することは、非常に良い出発点です (カンマ区切りの値は異端です)。ただし、「可変数のプロパティ」は通常、1 対 1 としてモデル化する必要があります。多くの関係 .
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
外部キー
です main_entity.id
へ .
おめでとう、あなたは正しい道を歩んでいます。これは 正規化 と呼ばれます . 第 1 正規形 に到達しようとしています。
ただし、これらのプロパティは、よく似た性質 (つまり、すべての電話番号や住所など) を持つ必要があることに注意してください。ダークサイド (別名 ) に陥らないでください。 Entity-Attribute-Value アンチパターン )、すべてのプロパティを同じテーブルに入れたくなります。複数のタイプの属性を識別できる場合は、各タイプを別のテーブルに保存してください。