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
.
.
.
);
一个客户可以有多个电话号码,例如 Cell、Work 等。Customer 表中的 phoneID 是唯一的,并且指向 Phone 表中的 PhoneID。如果客户记录被删除,Phone 表中的 phoneID 也应该被删除。
你对我的设计有任何顾虑吗?这设计得当吗?我的问题是 Customer 表中的 phoneID 是一个孩子,如果删除了子记录,那么我无法自动删除父(电话)记录。