2012-05-13 12 views
4

3つのフィールドを持つテーブルがあるとします。データベース内の1つのフィールドに複数の値を格納する

Person_id、名前とアドレス。今問題は、人が複数のアドレスを持つことができるということです。原子値の原則は、データは原子的でなければならないと言います。

だから、私は一人の人のために複数のアドレスを格納すると思いますか?

+0

yaよく私はサイトの機能を使い始めていますが、私は答えを承認する方法を知らなかった。 –

答えて

11

PERSON_IDのような外部キーをPERSONレコードにリンクするテーブルを作成するとします。これはリレーショナルデータベースの「リレーショナル」コンポーネントであり、フラットファイル(単一のテーブルのような)よりも柔軟性が高い理由です。

+0

しかし、アドレステーブルの主キーは何ですか? –

+0

'ID'が主キーとなります。 'ADDRESS'テーブルには、' ID'、 'PERSON_ID'、' STREET'、 'CITY'などで始まる複数のフィールドがあります。 – Marc

+0

okと、単一のアドレスに複数の人がいる場合はどうなりますか? –

0

第2のテーブルに住所を入力すると、各住所に「個人ID」を付けて、住所表の複数の行が人を参照できるようにします。

0

アドレステーブルにアドレスタイプを追加して、どのタイプのアドレス(ホーム、バケーション、オフィス)などを識別することをお勧めします。次のようなものがあります。道路。