Denkanstoss, Datenbank

Hallo,

ich werde demnächst meine erste Datenbank mit MySQL erstellen, bin jetzt aber am überlegen, wie ich mein Vorhaben richtig in die Datenbank abbilde.

Gegeben ist ein kleiner Verein mit Kinder und Eltern als auch Erwachsenen.

Ich möchte jetzt alle Mitglieder (Kinder und Erwachsene) sowie die Eltern der Kinder in einer Datenbank abbilden.

Genutzt werden soll dies auch für Anschreiben ohne das eine Familie mehr als ein Schreiben bekommt.

Ich dachte daher an eine Struktur (vereinfacht) wie:
ID, ID-Partner, Name, Vorname, Anschrift .....

Wenn ich ein Kind anlege, muss ich als erstes ein Elternteil anlegen, welches die ID 1 bekommt. Lege ich dann das Kind an, bekommt dies die ID 2, in das Feld ID-Partner müsste ich dann die ID des Elternteil eintragen (also 1). Der Ehepartner wird ebenfalls angelegt, auch hier wäre die ID-Partner = 1.

Somit kann ich jeden einzeln (Geburtstag) oder die Familie als solches (wenn ID-Partner = 0/leer) anschreiben.

Wäre sowas in der Art als eine ^Tabelle korrekt? Wuerdet Ihr evtl eine Tabelle für den Hauptpartner und eine weitere Tabelle für die Kinder mit Verweis auf die erste Tabelle machen?

Wie macht man sowas richtig?

Gruss,
Daniel
 
Hallo!


Also nichts gegen deine Ansätze, aber so wird das nicht gemacht. Als erstes solltest du dich mal in ER-Diagramme einlesen (was nicht so schwer ist) und wenn du das kannst, dann mach auch ein ER-Diagramm für deinen Fall. Nach diesem Diagramm solltest du das ganze in ein logisches Modell umwandeln. Mal ein Beispiel:

Es gibt Schüler, Lehrer und Klassen in einer Schule. Das bedeutet dass EIN Schüler in genau EINER Klasse sein kann, aber EINE Klasse MEHRERE Schüler haben kann. Soweit klar?
Als nächstes kann EIN Schüler MEHRERE Lehrer haben und EIN Lehrer MEHRERE Schüler. EIN Lehrer unterrichtet auch in MEHREREN Klassen und EINE Klasse kann MEHRERE Lehrer haben. Als ER-Diagramm dargestellt sind das jetzt 1:n Verbindungen.

Wenn du das so als Diagramm hast, dann kannst du das in einem logischen Modelkl darstellen (also schon fast eine Tabellenstruktur). Wenn du das dann hast, dann kannst du mit der Modellierung der Datenbank in MySQL beginnen.

Ich würde dir das nur raten, denn später wirst du Probleme bekommen.



Gruß
Buba
 
Zuletzt bearbeitet:
Nun, kleiner Verein ist halt so ne Sache...

Mich würde jetzt erstmal interessieren, wer denn da Mitglied ist. Denn ein Verein hat Mitglieder (ob Eltern oder kinder ist da erstmal zweitrangig). Normalerweise würde man trotz allem pro Mitglied jeweils einen Brief zustellen

Ich würde eine Tabelle "Familien" pflegen. Dort wird der Familienname, Straße, PLZ & Ort gespeichert. Dann macht man eine Zwischentabelle, wo die FamilienID der Mitgliedsnummer zugeordnet wird. Dann hat man es auch sauber normailisiert meiner Meinung nach.
 
Das ist genau der letzte Schritt dann -> die Normalisierung! Und genau wie es mein Vorredner beschrieben hat würde ich das auch machen.
 
Zurück