Переосмысление сущностей с отношением 1: 1 к обеим сторонам - PullRequest
0 голосов
/ 12 ноября 2019

При моделировании с помощью диаграммы ассоциации сущностей у меня были такие отношения, которые я нахожу странными, интересно, разрешено ли это в этой модели.

+----------+      =-------=         +-------------+  
+ Driver   +--1,1-=  HAS  =---1,1---+ performance +  
+----------+      =-------=         +-------------+  

Два объекта Автомобиль и производительность и отношения.

Таким образом, драйвер должен иметь единственную производительность и наоборот.
Интересно, должен ли я объединить эти две сущности в одну сущность, но семантически это кажется неправильным, драйвер не является производительностью.
На уровне приложения, Performance позволяют выставлять очки водителю для класса Drivers.

1 Ответ

0 голосов
/ 12 ноября 2019

Это примерно похоже на таблицу мостов, которая будет использоваться для представления отношения «многие ко многим»:

drivers ----- many / many ----- performance

, преобразованного в:

driver ----- 1 / many ----- bridge table ----- many / 1 ----- performance

, но этоне совсем то, что здесь происходит.

В этом случае средняя таблица, кажется, не играет никакой полезной роли и, вероятно, должна быть удалена. Если предположить, что performance является дочерней таблицей driver (поэтому записи performance включают внешний ключ, который ссылается на driver), то вполне вероятно, что можно будет полностью удалить performance и добавить эти столбцы непосредственно в driver,

Если есть другие таблицы, которые ссылаются на performance, так что удаление этой таблицы будет обременительным, вы можете сохранить ее как отдельную таблицу, но просто сделайте ссылки прямо на driver.

...