1:1, 1:n, n:m relationen definieren



  • hey,
    wie man an der frage erkennen kann bin ich noch sehr neu im sql.

    mir ist nicht ganz klar, wie ich die relation von einer tabelle zur anderen definieren kann: also ob es eine 1:1, 1:n oder n:m beziehung zwischen den tabellen ist.

    Ich habe von meinem prof ein er-Modell erhalten das versch. relationen beinhaltet.
    zunächst sollte ich die versch. entitäten über CREATE TABLE definieren.

    um zw den tabellen realtionen herzustellen:

    ALTER TABLE tab1
    ADD CONSTRAINT tab1 Foreign key (ID)
    REFERENCES tab2 (ID);

    um welche art von relation handelt es sich?



  • Mein lieber Freund, poste doch mal alle Informationen zu den beiden Tabellen. Dann hilft dir bestimmt auch gern jemand.



  • noclue123 schrieb:

    mir ist nicht ganz klar, wie ich die relation von einer tabelle zur anderen definieren kann: also ob es eine 1:1, 1:n oder n:m beziehung zwischen den tabellen ist.

    Etwas mehr Eigeninitiative wäre schön, zumindest so viel, das man das Gefühl bekommt das du dir selbst darüber schon Gedanken gemacht hast (selbst wenn nicht mit Erfolg).

    Etwas zum Einstieg: Jede Verknüpfung erfolgt immer über einzelne Werte (Ein Feld das auf einen Wert einer Tabelle verweist). Das heißt auf mindestens einer Seite steht daher bei der Beziehung effektiv eine 1 (Foreign key der auf einen Id-Wert einer Tabelle verweist). n:m lässt sich nicht direkt, sondern nur über eine Indirektion umsetzen (weitere Tabelle; "Verknüpfungstabelle").

    An einem einzelnen Constraint kann man daher nicht ablesen ob es 1:1, 1:n oder n:m ist.

    Ich empfehle dir als erstes einmal zu überlegen wie 1:n funktioniert. Alle anderen leiten sich davon ab. Danach stell konkrete Fragen oder Überlegungen - mit Sicherheit hilft dir dann auch jemand weiter.


Log in to reply