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

Mehrere Beziehungen zwischen zwei Entitäten, ist dies eine gute Praxis?

Es ist nicht so, dass „die Beziehung zweimal aufgezeichnet wird“, sondern dass Sie tatsächlich zwei Beziehungen zwischen diesen Tabellen haben – was völlig in Ordnung ist. Meine einzige Sorge ist, kann ein Manager demselben Büro angehören, dessen Manager er ist? (Und damit zusammenhängend:Stimmt es wirklich, dass jeder Mitarbeiter hat ein Büro und jeder Büro hat einen Manager, der ein Mitarbeiter ist?) Wenn ja, haben Sie eine zirkuläre Abhängigkeit:Sie können das Büro des Managers nicht festlegen, bis das Büro existiert, aber Sie können den Manager des Büros nicht festlegen, bis der Manager existiert. Solange das eine oder andere Feld nullable ist, können Sie dies durch Anwendungslogik umgehen (INSERT eins, dann INSERT die andere, dann UPDATE das erste), aber es ist ein bisschen hässlich. Aber wenn das die bestehenden Beziehungen sind, dann kannst du nicht viel dagegen tun.