SQL-DBDL如何约束超类参与子类?

时间:2013-06-27 14:23:34

标签: mysql sql database-design relational-database constraints

我一直在寻找一种方法来限制超类的记录参与其中一个子类记录,我相信它被称为参与{Mandatory OR}。我找到了一些关于如何使用CONSTRAINT CHECK但只限制多重性的例子。

虽然我可以使用将要使用数据库的应用程序逻辑来保护它,但我更喜欢使用数据库定义语言设置约束。

有可能吗?

下面我上传了一张图片,上面有我想要实现的内容,正如您在消息表中看到的那样,有一条消息与UserMessage和GroupMessage都不匹配。

enter image description here

1 个答案:

答案 0 :(得分:2)

如果没有延迟的外键,这是不可能的声明性地,MySQL不支持。

更多信息hereherehere