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?
[Datenbankdesign]Beliebig viele Telefonnummern speichern
Moderator: Moderatoren
Hey nzc,
Die Lösung hast du doch schon gefunden:
Deine "Einspalten-Tabelle" ist Unsinn
Gruss
Thomas
Klar, wenn du das so brauchst. Und zulässig ist es allemale - ob sinnvoll ist eine andere Frage. Wozu brauchst du eine Tabelle mit nur einer Spalte? Welche zusätzliche Information willst du da ablegen?...Geht das so in Ordnung? ... Aber ist sowas zulässig?
Die Lösung hast du doch schon gefunden:
Die "FK_Kontake-ID ist der Fremdschlüssel und verweist auf deine Tabelle "Kontake" in der die allerdings die Namen und Adressen deiner Kontakte verwalten solltest - mit dem Primärschlüssel "ID" -> identisch dem Schlüssel "FK_Kontakte-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
Deine "Einspalten-Tabelle" ist Unsinn

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Danke, für die Antwort. Wenn die Lösung soweit gegen keine Regeln verstößt, reicht mir das schon.
Was deinen Einwand angeht bezüglich des Sinns dieser 1-Spalten-Tabelle:
Ich hab hier natürlich nur einen kleinen für das Problem relevanten Ausschnitt aus meiner DB gezeigt. In der Tabelle KONTAKTE sollen nur Möglichkeiten der Fern-Kommunikation gespeichert werden also Telefon, Handy, E-Mail usw. Für Adressen, Namen oder Firmennamen gibt es bereits eigene Tabellen, die dann allesamt über Relationen in Tabellen wie FIRMENKUNDEN und PRIVATKUNDEN zusammengeführt werden.
Würden die Tabellen, wie ich sie hier dargestellt habe, nur für sich alleine stehen, hättest du recht. Im Zusammenspiel mit den anderen macht diese so aber Sinn (zumindest nach meinem bisherigen Wissenstand)
Sobald der Entwurf meiner Übungs-Datenbank steht, kann ich den ja mal hier präsentieren und mir Kritik und Verbesserungsvorschläge anhören.
Was deinen Einwand angeht bezüglich des Sinns dieser 1-Spalten-Tabelle:
Ich hab hier natürlich nur einen kleinen für das Problem relevanten Ausschnitt aus meiner DB gezeigt. In der Tabelle KONTAKTE sollen nur Möglichkeiten der Fern-Kommunikation gespeichert werden also Telefon, Handy, E-Mail usw. Für Adressen, Namen oder Firmennamen gibt es bereits eigene Tabellen, die dann allesamt über Relationen in Tabellen wie FIRMENKUNDEN und PRIVATKUNDEN zusammengeführt werden.
Würden die Tabellen, wie ich sie hier dargestellt habe, nur für sich alleine stehen, hättest du recht. Im Zusammenspiel mit den anderen macht diese so aber Sinn (zumindest nach meinem bisherigen Wissenstand)
Sobald der Entwurf meiner Übungs-Datenbank steht, kann ich den ja mal hier präsentieren und mir Kritik und Verbesserungsvorschläge anhören.