MySQL auffrischung: klassiche Fremdschlüssel-Situation
Hallo Zusammen
Ich bin gerade nebenbei wieder mal daran, meine SQL-Kentnisse aufzufrischen. Ich habe dabei eine kleine klassiche Datenbank angelegt:
Dazu habe ich versucht möglichst 1 zu 1 dies in einer SQL-Datenbank darzustellen. Unter anderem habe ich die Nutzer-Tabelle angelegt und habe da ein kleines Verständnisproblem.
Und zwar möchte ich natürlich, dass jeder Benutzer nur eine Anrede besitzt, komischerweise erhält aber jeder Eintrag in die Nutzer-Tabelle einen "Herr" und einen "Frau"-Eintrag und ich verstehe nicht ganz warum. Ich werde euch die Datenbank per Dropbox freigeben, dann könnt ihr euch die gleich auch mal ansehen:
https://www.dropbox.com/s/f7w6nh5p8123se9/ueb.sql
Was habe ich hier für ein Denkfehler gemacht? Ich komme wirklich nicht drauf, vermutlich ist es etwas kleines simples...aber ja.
Danke für eure Antworten.
Gruss
Gabriel
Ich bin gerade nebenbei wieder mal daran, meine SQL-Kentnisse aufzufrischen. Ich habe dabei eine kleine klassiche Datenbank angelegt:
Dazu habe ich versucht möglichst 1 zu 1 dies in einer SQL-Datenbank darzustellen. Unter anderem habe ich die Nutzer-Tabelle angelegt und habe da ein kleines Verständnisproblem.
Und zwar möchte ich natürlich, dass jeder Benutzer nur eine Anrede besitzt, komischerweise erhält aber jeder Eintrag in die Nutzer-Tabelle einen "Herr" und einen "Frau"-Eintrag und ich verstehe nicht ganz warum. Ich werde euch die Datenbank per Dropbox freigeben, dann könnt ihr euch die gleich auch mal ansehen:
https://www.dropbox.com/s/f7w6nh5p8123se9/ueb.sql
Was habe ich hier für ein Denkfehler gemacht? Ich komme wirklich nicht drauf, vermutlich ist es etwas kleines simples...aber ja.
Danke für eure Antworten.
Gruss
Gabriel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 229260
Url: https://administrator.de/forum/mysql-auffrischung-klassiche-fremdschluessel-situation-229260.html
Ausgedruckt am: 04.04.2025 um 00:04 Uhr
4 Kommentare
Neuester Kommentar
Die Anrede-Tabelle ist richtig.
Aber in der Nutzertabelle brauchst du dann natuerlich keine extra Felder für Herr und Frau sondern verknüpfst die beiden Tabellen über das Feld Anrede_AID - Feld
etwa
(Kann sein das die Syntax nicht 100%ig ist, hatte schon lange kein MySQL mehr in den Fingern
)
Aber in der Nutzertabelle brauchst du dann natuerlich keine extra Felder für Herr und Frau sondern verknüpfst die beiden Tabellen über das Feld Anrede_AID - Feld
etwa
SELECT N.*, A.* FROM Nutzer N
JOIN Anrede A ON A.AID = N.Anrede_AID
(Kann sein das die Syntax nicht 100%ig ist, hatte schon lange kein MySQL mehr in den Fingern