2016-10-10 3 views
0

enter image description hereWer repräsentiert eine ISA-Beziehung im Beziehungsmodell?

Ich habe dieses Beispiel

Im Sekretärin, ich brauche zu erstellen und id? Wer repräsentiert in WorkBench?

Oder ich brauche nur 1:n Beziehung zu schaffen?

Mein Modell haben:

Engineer : eng_type, fk: employee_ssn 
+0

Was meinst du mit „Workbench“? SQL-Workbench? Eine ID ist nicht Teil Ihres Diagramms. Und es scheint hier keine '1: n'-Beziehungen zu geben, es sei denn, ein Mitarbeiter hat mehrere Jobs –

+0

MySQL Workbench zum Erstellen von Tabellen und Beziehungen. Ingenieur ist eine Spezialisierung des Angestellten, können Sie mir eine Antwort geben, welche Beziehung ich erstellen muss? –

+0

Ihr Diagramm zeigt die Beziehungen. Warum ist 'SSN' ein' fk'? Das sollte der Primärschlüssel sein, es sieht so aus ... Das hängt wirklich davon ab, wie denormalisiert werden soll. Sie benötigen definitiv eine 'Employee' Tabelle, die dann einen Fremdschlüssel für eine' JobType' Tabelle haben könnte. Ich bin mir aber nicht sicher, was ich mit den "Untertypen" des Mitarbeiters machen soll. –

Antwort

1

Ihr Diagramm in den folgenden Tabellen übersetzt:

Employee (Ssn PK, Fname, Minit, Lname, Birth_date, Address, Job_type) 
Secretary (Ssn PK/FK, Job_type FK, Typing_speed) 
Technician (Ssn PK/FK, Job_type FK, Tgrade) 
Engineer (Ssn PK/FK, Job_type FK, Eng_type) 

Job_type eine Domäne von (Secretary, Technician, Engineer) hat, würde ein Aufzählungstyp in MySQL geeignet sein. Die FK-Einschränkungen für die Subtyp-Tabellen sind zusammengesetzt: Secretary (Ssn, Job_type) REFERENCES Employee (Ssn, Job_type) und ähnlich für die anderen beiden Subtypen. Sie müssen geeignete Indizes erstellen.

MySQL keine Check-Einschränkungen unterstützen, die schön waren würde die Job_type jeder Subtyp zu erzwingen. Sie können einen Trigger erstellen, um dasselbe zu tun. Mit dem im Ort verhindert die Verbund FK Constraints einen Mitarbeiter aus mit mehr als einen Subtyp jederzeit - jeder Datensatz in der Employee Tabelle kann nur ein Job_type hat und nur die Subtyp Tabelle mit den passenden Job_type kann einen passenden Datensatz hat.

Wenn Sie möchten, dass Employee vollständig an der Untertypbeziehung teilnimmt (d. H. Jeder Mitarbeiter muss einen Subtyp haben), könnten Sie auch einen Auslöser dafür erstellen.

+0

Hallo, das ist nicht die Antwort. Die Antwort ist, dass, weil es eine Spezialisierung ist, der Sohn (Knoten) die ID des Vaters (Mitarbeiter) erhält, wobei hi gleichzeitig die fk ist. Dies ist die Beziehung, die 1: 1 Beziehung identifiziert, identifizieren, weil wir wissen, was Entität ist. –

+0

Ich habe Schwierigkeiten, dich zu verstehen. Der Mitarbeiter 'Ssn' ist Ihr Bezeichner, er ist unterstrichen und es gibt kein ID-Feld im Diagramm. Ich habe die Ssn sowohl als PK als auch als FK in den Subtypen angegeben. – reaanb

+0

Nun Ssn ist die "ID", die im Diagramm verwendet wird. –

Verwandte Themen