Как сохранить отношения внешних ключей в «ромбовидной» системе отношений
Рассмотрим эту ситуацию:Car куплен уSalesperson, Продавец работает вShowroom (и только в одном выставочном зале). Выставочный зал связан сManufacturerи только продает автомобили, сделанные этим производителем. В то же время, автомобиль имеетModelи модель изготовлена производителем.
Restriction R: Изготовитель модели автомобиля должен быть тем же изготовителем, что и изготовитель аффилированного лица автосалона.
Диаграмма показывает очевидные отношения внешнего ключа.
----> Manufacturer <----
| |
| |
Showroom |
^ |
| Model
| ^
Salesperson |
^ |
| |
--------- Car ----------
Как вы применяете ограничение R? Вы можете добавить отношение внешнего ключаCar --> Manufacturer
, Тем не менее, производитель автомобиля может быть установлен путем объединения таблиц так или иначе вокруг «алмаза», поэтому, безусловно, сделать это не будет нормализовано? И все же я не знаю иначе, как применить ограничение.