Wie kann man eine Kundentabelle mit mehreren Telefonnummern einrichten? - Relational Database Design

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
.
.
.
);

Ein Kunde kann mehrere Telefonnummern haben, z. Zelle, Arbeit usw. phoneID in der Kundentabelle ist eindeutig und verweist auf PhoneID in der Telefontabelle. Wenn der Kundendatensatz gelöscht wird, sollte auch die Telefon-ID in der Telefontabelle gelöscht werden.

Haben Sie Bedenken bezüglich meines Designs? Ist das richtig ausgelegt? Mein Problem ist, dass phoneID in der Kundentabelle ein untergeordnetes Element ist. Wenn ein untergeordneter Datensatz gelöscht wird, kann ich den übergeordneten Datensatz (Telefon) nicht automatisch löschen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage