Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Übersetzen von Beziehungsattributen aus dem ER-Diagramm in SQL

Ja, Sie sollten ein Meeting erstellen Entität, um die viele-zu-viele-Beziehung zwischen Student darzustellen und Supervisor . Darin können Sie sich auf diese Tabellen beziehen, indem Sie Fremdschlüssel verwenden, die den jeweiligen Tabellen entsprechen. In SQL kann das etwa so aussehen:

Create table Meeting {
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
student_id INT NOT NULL,
supervisor_id INT NOT NULL,
//rest of the fields...   
FOREIGN KEY (student_id) REFERENCES Student(id)
FOREIGN KEY (supervisor_id) REFERENCES Supervisor(id)
}

Dasselbe würden Sie auch für Supervise tun zwischen Project und Supervisor . Sie könnten auch einen sogenannten zusammengesetzten Schlüssel auf Ihrem Besprechungstisch verwenden. Ich denke, es hängt von Ihren persönlichen Vorlieben ab. Ich mache es normalerweise so, wenn ich viele bis viele Beziehungen darstelle. Ich sage nicht, dass dies die Syntax ist, die Sie verwenden werden, das hängt von Ihrer Datenbank ab. Dies war nur ein Beispiel, um Sie in die richtige Richtung zu weisen. Hoffe es hilft.

Auch für Ihr Diagramm (ich vermute nur, dass dies für eine Klasse ist) sollten Sie sich Software wie Visio oder Visual Paradigm ansehen, um Ihr ER-Diagramm zu erstellen. Obwohl die meisten Menschen Ihr aktuelles Diagramm verstehen können, ist dies keine korrekte Modellierung.

Zum Spaß habe ich ein Diagramm basierend auf Ihren Tabellen erstellt:

Sie möchten eine Entität zwischen Supervisor und Project wenn es sich um eine Viele-zu-Viele-Beziehung handelt. Dies wird als associative entity bezeichnet . Ich habe mein SupervisorProject benannt nur damit sie etwas klarer sind.

Bearbeiten Ich habe übersehen, dass Student und Projekt viele zu eins waren, das wurde behoben, sorry.