Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

SQL Umsetzung: 3 Objekte mit einer Beziehung

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von Data007, 8 November 2012.

  1. Data007

    Data007 Neuer Benutzer

    Hallo ich bin noch ein SQL Neuling, ich habe folgende Beziehung:

    Professor prüft Studenten aus Stoff der Vorlesung, also im ER Modell sind Professor, Student und Vorlesung miteinader verbunden.

    Eine n:m Beziehung in SQl zu realisieren ist mir schon klar, z.B. bei Professor prüft Student wären in der Tabelle "prüft" zwei Fremdschlüssel, die einmal auf die ID des Professors und einmal auf die ID des Studenten zeigen:

    create table Prof(
    Prof_ID integer,
    constraint pk_Prof primary key (Prof_ID));

    create table Student(
    Stud_ID integer,
    constraint pk_Student primary key(Stud_ID));

    create table prueft(
    Prof_ID integer,
    Stud_ID integer,
    constraint fk_prueft_1 foreign key(Prof_ID) references Prof (Prof_ID),
    constraint fk_prueft_2 foreign key(Stud_ID) references Student (Stud_ID),
    constraint pk_prueft primary key (Prof_ID, Stud_ID));


    Wie bringe ich jetzt die Tabelle Vorlesung mit ins Spiel?
     
  2. ukulele

    ukulele Datenbank-Guru

    Ein weiterer Fremdschlüssel in prüft für Vorlesung, wenn einer Prüfung immer nur der Inhalt maximal einer Vorlesung zu Grunde liegt. Ansonsten hättest du sogar noch eine n:m Beziehung zwischen prüft und Vorlesung.
     
  3. Tommi

    Tommi Datenbank-Guru

    Hallo,

    wie ist das mit dem ER-Modell? Ist das für euch vorgegeben oder sollt ihr das auch selbst erstellen?
    Wie sieht dein ER-Modell aus?

    Viele Grüße,
    Tommi
     
  4. Tommi

    Tommi Datenbank-Guru

    Hi,

    unabhängig von Vorgaben hätte ich es wahrscheinlich so gelöst:

    es gibt 3 Tabellen mit Stamm-Daten: Professor, Student und Vorlesung.
    Dafür gilt:
    Professor hält Vorlesung (Beziehung 1:n -> FKey in Vorlesung o. Ref-Tabelle)
    Student besucht Vorlesung (1:n -> FKey in Vorlesung o. Ref-Tabelle)

    Da keine weitere Beziehung zu Prüfung oder Anmeldung vorgegeben ist, reicht das völlig aus.
    Durch diese Beziehungen kann man genau ermitteln, welche Studenten für welche Vorlesung von welchem Prof geprüft werden,
    nämlich genau die Studenten, die Vorlesung XY besuchen, die von Prof A gehalten wird.

    Damit wäre mein ER-Modell fürs Erste erschlagen.
    Ob du nun Referenz-Tabellen für die Beziehungen erstellst oder die Tabellen so erstellst, dass die FKEYs direkt in der Vorlesungs-Tabelle liegen, ist letztendlich dir überlassen.

    Viele Grüße,
    Tommi
     
    Data007 gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden