Как я могу решить трехстороннюю полиморфную ассоциацию?
Сначала позвольте мне сказать, что я использую MySQL (не транзакционный), и это можетне может быть изменено. Кроме того, я упростил таблицы здесь для краткости и ясности.
В этом примереУрок' состоит из этогоs внутренние атрибуты и внешние атрибуты с ним 'собственные атрибутыПоказания. 'Показания есть это's собственные ключевые зависимые атрибуты и три различных внешних атрибута (источники чтения).
Я хочу избежать полиморфной ассоциации, которая возникает здесь, но я не могу обернуть ее вокруг. В этом примереSourceId» в таблицеЧтение» будет содержать идентификатор из одной из трех таблицExternalURL ","InternalURL» а также "Книга", Также поле "polytable» будет содержать имя таблицы, что "Я бы" пришли из.
Может, кто-то потратит минуту, чтобы объяснить, как решить эту проблему с поддержанием RI, или это возможно в интересах эффективности, которую следует оставить?
Спасибо за ваше время и внимание,
Тим
-------------
| ExternalURL |
-------------
| id |
| badlink |
| url |
| |
| |
-------------
|
|
|
/ \
------------ ------------- -------------
| Lesson |--------------| InternalURL |
------------ ------------- -------------
| id | | id | | id |
| label | | lessonId | | url |
| summary | | sourceId | | |
| lessonOrder| | polytable | | |
| active | | label | | |
------------ ------------- -------------
\ /
|
|
------------
| Book |
------------
| id |
| label |
| summary |
| lessonOrder|
| active |
------------