首先我要说,我使用MySQL(不是事务),而这不能改变。 另外,我在这里简单的表为简洁和清晰。
在该示例中“课程”是由它的内部属性,并用它自己的属性“解读”外部属性。 “解读”有它自己的核心相关的属性和三种不同的外部属性(读取源)。
我想避免的多态关联,在这里边棱,但我不能环绕它我的头。 在这个例子中表“读”的sourceID“将包含三个表“ExternalURL”,“InternalURL”和“尚书”中的一个ID。 此外,本场“polytable”将包含上述“ID”是从哪里来的表名。
有人可以花点时间解释一下如何解决这个维护RI或是否有可能在效率的利益,它应该留?
感谢您的时间和考虑,
蒂姆
-------------
| ExternalURL |
-------------
| id |
| badlink |
| url |
| |
| |
-------------
|
|
|
/ \
------------ ------------- -------------
| Lesson |-------<| Reading |>-------| InternalURL |
------------ ------------- -------------
| id | | id | | id |
| label | | lessonId | | url |
| summary | | sourceId | | |
| lessonOrder| | polytable | | |
| active | | label | | |
------------ ------------- -------------
\ /
|
|
------------
| Book |
------------
| id |
| label |
| summary |
| lessonOrder|
| active |
------------