mysql - 在 MySQL 数据库中实现复杂的约束

标签 mysql database-design database-schema data-modeling

假设我有三个实体:

  • 项目
  • 部分
  • 事件

我想知道是否可以在我的数据模型中强制执行以下约束:

  • 一个项目包含零个或多个部分
  • 一个部分属于一个项目
  • 一个部分包含零个或多个事件
  • 一项事件属于一个项目或该项目中的一个部分

对这些约束(尤其是最后一个)进行建模的最佳方法是什么?

最佳答案

这些是实体之间的关系。您应该在表之间创建一个 FOREIGN KEY 来描述该关系或基数。

例如,Section 表应该有一个对 Project 表的 FK 引用,因为这些表之间存在 1 .. * 关系。

关于mysql - 在 MySQL 数据库中实现复杂的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33615209/

相关文章:

java - 在作业中进行大量选择后,Spring batch 内存不足

mysql - 数据库设计需要专家意见

MYSQL: Two fields as PRIMARY KEYs + 1 Field as UNIQUE, 一道题

database - Laravel 使用用户输入用户名和密码连接数据库

instance - 一台主机上可以同时运行多少个 Vertica 数据库?

mysql - 我可以使 MySQL 表的两个属性始终具有相同的值吗?

mysql - 数据库、JSON 和嵌入式数据库

PHP 在下拉列表中显示菜单树

database - 存储过程的缺点

mysql - 如何设计包含公司和简单客户的关系数据库