sql >> Databáze >  >> RDS >> Mysql

Překlad atributů vztahu z ER diagramu do SQL

Ano, měli byste vytvořit Meeting entita reprezentující vztah mnoho k mnoha mezi Student a Supervisor . V něm se můžete vztahovat k těm tabulkám pomocí cizích klíčů, které odpovídají těmto příslušným tabulkám. V SQL to může vypadat nějak takto:

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)
}

Totéž byste udělali také pro Supervise mezi Project a Supervisor . Můžete také použít něco, co se nazývá složený klíč na vašem stole schůzky, myslím, že to záleží na osobních preferencích, obvykle to dělám tímto způsobem, když reprezentuji mnoho nebo mnoho vztahů. Neříkám, že toto je syntaxe, kterou použijete, která závisí na vaší databázi, toto byl jen příklad, který vás nasměruje správným směrem. Doufám, že to pomůže.

Také pro váš diagram (jen hádám, že je to pro třídu) se možná budete chtít podívat do softwaru, jako je visio nebo vizuální paradigma, abyste vytvořili svůj diagram ER. Zatímco většina lidí bude schopna porozumět vašemu aktuálnímu diagramu, není to správné modelování.

Pro zábavu jsem vytvořil diagram založený na vašich tabulkách:

Chtěli byste entitu mezi Supervisor a Project pokud jsou mezi nimi mnohonásobný vztah. Toto se nazývá associative entity . Svůj jsem označil štítkem SupervisorProject jen aby byly trochu jasnější.

Upravit Přehlédli jsme skutečnost, že Student a projekt byli mnoho ku jedné, opraveno, pardon.



  1. Binární data v MySQL

  2. mysql STR_TO_DATE nefunguje

  3. T-sql - určuje, zda je hodnota celé číslo

  4. Snaží se získat majetek bez objektu