不相交和重叠的设计约束

Fin*_*Jon 7 database

我真的很困惑关系数据库中不相交和重叠设计约束之间的区别.我环顾四周,但很难找到一个可以理解的例子.有人可以通过一个例子向我解释一下吗?

谢谢!

小智 12

假设你有一个超级'音乐家',然后是两个子类'歌手'和'吉他手'.

在不相交的约束中,您必须将音乐家放在一个或另一个子类中.在重叠约束中,音乐家可以放入两者中.


Rag*_*lan 6

不相交规则规定超类型的实体实例只能是一个子类型的成员。重叠规则规定超类型的实体实例可以是多个子类型的成员。

不相交的规则的实施例: 的实例超级型 动物只能是这些中的正好一个成员的子类型熊猫, 猎豹 不交联,(动物可以是熊猫或是狗或是猎豹但不能是任何两个或更多同时)

重叠规则的例子:的实例超级型 可以是多个的构件的子类型女人, 驱动程序工程师 重叠联盟,(一个人可以是一个女人和同一女子可以是驱动器,并且同样的妇女可以是在工程师同时)


pbl*_*d26 6

假设您有一个超级"帐户",子类"储蓄帐户"和"活期帐户".这是一个不相交的约束情况,因为银行帐户可以是Savings或Current.它不能同时出现.

对于重叠约束情况,假设我们有一个超类'Person'和子类'Customer'和'Employee'.在这种情况下,一个人可以是客户和员工.因此,重叠.