【发布时间】:2011-02-05 12:29:25
【问题描述】:
CREATE TABLE Phone
(
phoneID - PK
.
.
.
);
CREATE TABLE PhoneDetail
(
phoneDetailID - PK
phoneID - FK points to Phone
phoneTypeID ...
phoneNumber ...
.
.
.
);
CREATE TABLE Customer
(
customerID - PK
firstName
phoneID - Unique FK points to Phone
.
.
.
);
一个客户可以有多个电话号码,例如细胞、工作等 Customer 表中的 phoneID 是唯一的,并且指向 Phone 表中的 PhoneID。 如果客户记录被删除,Phone表中的phoneID也应该被删除。
您对我的设计有任何顾虑吗?这设计得当吗?我的问题是 Customer 表中的 phoneID 是一个孩子,如果删除了孩子记录,那么我 无法自动删除父(电话)记录。
【问题讨论】:
标签: sql database database-design database-normalization