3

spouseに関する情報を含むデータベース内のに関する情報を正規化する最良の方法は何personsですか?

データには次のものが含まれます。

person_id
first name
middle name
last name
phone number
address
vehicle
house
health
destiny
items
spouse first name
spouse middle name
spouse last name
spouse phone number
spouse address

私は、単一のテーブルを保持して、すべてpersons(配偶者またはその他)を考慮しspouse、その行person_idに別の値があるかどうかを区別することを考えていましたperson。この種の自己参照はお勧めですか?

また、データを繰り返すためのテーブルを作成するつもりでした。などhealth_ vehicle_

4

3 に答える 3

3

配偶者も「人」であるため、配偶者の詳細は別の記録として取得する必要があります。それができる唯一の方法はspouse_id、自己参照キーとして導入することです。人のテーブルには別の人の詳細が含まれているため、表示した上記のテーブルは正規化されていません。「persons」スキーマを次のように変更することをお勧めします

 person_id
 first_name
 middle_name
 last_name
 phone_number
 address
 vehicle
 house
 health
 destiny
 items
 spouse_id
于 2013-04-26T03:40:36.667 に答える
0
PARTY
id
name

PARTY_RELATIONSHIP
from_party_id not null references party(id)
to_party_id not null references party(id)
from_date not null
to_date null
primary key (from_party_id, to_party_id, from_date)
check (from_party_id <> to_party_id)
于 2013-04-27T23:34:06.530 に答える