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を指します。顧客レコードが削除された場合は、電話テーブルのphoneIDも削除する必要があります。
私のデザインについて何か心配はありますか?これは適切に設計されていますか?私の問題は、CustomerテーブルのphoneIDが子であり、子レコードが削除された場合、親(Phone)レコードを自動的に削除できないことです。