[Datenbankdesign]Beliebig viele Telefonnummern speichern
Verfasst: Mi, 23.05.2007 08:17
Hallo, bevor ich zu meiner Frage komme, beschreibe ich erstmal die Situation:
Ich habe in meiner DB eine Tabelle "Kontakte", in der ich Festnetz- und Mobilfunknummern, E-Mail-Adressen usw. speichern will.
Dazu gibt es dann Tabellen wie "Festnetz", "Mobil", "E-Mail" usw. auf die von "Kontakte" aus verwiesen wird.
Der Einfachheit halber beschränke ich mich mal nur auf Telefonnummern, die in "Kontakte" gespeichert werden sollen:
Mein erster Entwurf sah so aus:
TELEFON:
01---ID
02---Vorwahl
03---Nummer
KONTAKTE:
01---ID
02---FK_TELEFON-ID
Dieser Entwurf hat den Nachteil, das ich pro Kontakt nur eine einzige Telefonnummer speichern kann.
Gut, ich könnte jetzt noch zusätzliche TELEFON-Tabellen anlegen (TELEFON1, TELEFON2 ... TELEFONn) je nachdem wieviele Nummern ich glaube jemals zu brauchen, aber damit wäre man dann festgelegt. In der Praxis würde das gehen, denn in der Regel kommt es ja selten vor das jemand mehr als drei Nummer hat (zumindest, wenn man noch zwischen Festnetz/Mobil und Privat/Geschäftlich unterscheidet.
Aber schön ist das trotzdem nicht.
Deshalb hab ich mir zu Übungszwecken folgenden Entwurf überlegt:
KONTAKTE:
01---ID
TELEFON:
01---ID
02---FK_KONTAKTE-ID
03---Vorwahl
04---Nummer
Als Primärschlüssel habe ich in TELEFON die Kombination aus ID und FK_KONTAKTE-ID gewählt, wodurch ich dann pro Kontakt mehrere Nummern speichern kann.
Also z.B. so:
1 --- 1 --- 05331 --- 443344
2 --- 1 --- 05331 --- 552312
Hier wären dann für KONTAKTE ID=1 zwei Nummern gespeichert.
Die Frage ist jetzt: Geht das so in Ordnung? Ich hab jetzt ja in der Tabelle KONTAKTE nur eine einzige Spalte (mehr brauch ich in dem Fall nicht). Aber ist sowas zulässig?
Ich habe in meiner DB eine Tabelle "Kontakte", in der ich Festnetz- und Mobilfunknummern, E-Mail-Adressen usw. speichern will.
Dazu gibt es dann Tabellen wie "Festnetz", "Mobil", "E-Mail" usw. auf die von "Kontakte" aus verwiesen wird.
Der Einfachheit halber beschränke ich mich mal nur auf Telefonnummern, die in "Kontakte" gespeichert werden sollen:
Mein erster Entwurf sah so aus:
TELEFON:
01---ID
02---Vorwahl
03---Nummer
KONTAKTE:
01---ID
02---FK_TELEFON-ID
Dieser Entwurf hat den Nachteil, das ich pro Kontakt nur eine einzige Telefonnummer speichern kann.
Gut, ich könnte jetzt noch zusätzliche TELEFON-Tabellen anlegen (TELEFON1, TELEFON2 ... TELEFONn) je nachdem wieviele Nummern ich glaube jemals zu brauchen, aber damit wäre man dann festgelegt. In der Praxis würde das gehen, denn in der Regel kommt es ja selten vor das jemand mehr als drei Nummer hat (zumindest, wenn man noch zwischen Festnetz/Mobil und Privat/Geschäftlich unterscheidet.
Aber schön ist das trotzdem nicht.
Deshalb hab ich mir zu Übungszwecken folgenden Entwurf überlegt:
KONTAKTE:
01---ID
TELEFON:
01---ID
02---FK_KONTAKTE-ID
03---Vorwahl
04---Nummer
Als Primärschlüssel habe ich in TELEFON die Kombination aus ID und FK_KONTAKTE-ID gewählt, wodurch ich dann pro Kontakt mehrere Nummern speichern kann.
Also z.B. so:
1 --- 1 --- 05331 --- 443344
2 --- 1 --- 05331 --- 552312
Hier wären dann für KONTAKTE ID=1 zwei Nummern gespeichert.
Die Frage ist jetzt: Geht das so in Ordnung? Ich hab jetzt ja in der Tabelle KONTAKTE nur eine einzige Spalte (mehr brauch ich in dem Fall nicht). Aber ist sowas zulässig?