Как я могу решить трехстороннюю полиморфную ассоциацию?

Сначала позвольте мне сказать, что я использую 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     |
                       ------------ 

Ответы на вопрос(1)

Ваш ответ на вопрос