Frage zum Datenbank-Design: Hilfstabelle ja/nein

N0ACE

Mitglied
Schönen guten Tag zusammen!

Kurz vor Ostern habe ich noch eine Frage zum Design von Datenbank-Tabellen mit Hilfe einer Hilfstabelle.

ich habe eine "Kernliste" und circa zwanzig "Detaillisten". Ein Eintrag innerhalb der Kernliste kann in mehreren Detaillisten vorkommen.

Mein Vorgänger hat dazu in der Kernliste zwanzig Spalten eingefügt vom Typ "char(1)" und diese dann entweder mit 0 der mit 1 gefüllt... Naja, nicht so elegant (?)

Meine Idee wäre, eine Hilfstabelle einzuführen, welche exakt drei Spalten hat: "ID", "ID_kern" und "ID_fremd" wobei "ID_fremd" dann ein Schlüssel aus einer der insg. 20 Tabellen wäre. Und da denke ich, ist das Problem...

Ich habe im Anhang mal ein Bildchen reingepackt, welches der Einfachheit halber nur 2 Detaillisten darstellt und nur ein Minimum an Attributen enthält.


Das Problem ist also, dass ein Kern-Eintrag in mehreren Detailtabellen vorhanden sein kann und in der Hilfstabelle die Spalte "ID_fremd" nicht spezifiziert, in welcher Tabelle denn zu suchen sein...

Habt ihr da eine Idee für mich?


Vielen Dank für die Bemühungen und frohes Ostereier-Suchen !!
 

Anhänge

  • db_schema.png
    db_schema.png
    11,1 KB · Aufrufe: 63
Hi,

also wenn es nur darum geht herauszufinden zu welcher Tabelle die "ID_fremd" gehört:

Das Problem ist also, dass ein Kern-Eintrag in mehreren Detailtabellen vorhanden sein kann und in der Hilfstabelle die Spalte "ID_fremd" nicht spezifiziert, in welcher Tabelle denn zu suchen sein...
Meine Idee wäre, eine Hilfstabelle einzuführen, welche exakt drei Spalten hat: "ID", "ID_kern" und "ID_fremd" wobei "ID_fremd" dann ein Schlüssel aus einer der insg. 20 Tabellen wäre. Und da denke ich, ist das Problem...

Dann erweitere doch die Hilfstabelle um ein Feld "tabelle" und schreib dort zusammen mit den IDs den Namen der Tabelle rein in der sich der entsprechende Schlüssel befindet
 
Ja, das klingt gut!

Ist diese Möglichkeit von der Effizienz und dem Design her okay?

Falls es relevant ist: Wenn ein Kerneintrag z.B. 5x in den Details vorhanden ist, wird immer nur folgende Ansicht gewünscht: Kerneintrag + 1xDetail (je nachdem welches Detail). Also immer nur ein Detail + Kern, NIE alle Details + Kern.
 
Zurück