如何将三元关系转换为SQL



我的数据库中有三个实体:

  • 客户端
  • 项目
  • 合同

原则很简单,客户为特定项目建立合同。项目只能分配给客户。合同只能分配给客户和项目的唯一组合。

将其转换为SQL表的有效且清晰的方法是什么?

我的建议是3张表的

  1. 一个包含所有客户端的表,其中主键是某种唯一的id
  2. 一个带有项目的表,其中主键是某种唯一的id
  3. 一个包含合约的表,其中主键是某种唯一的id

projects表将需要client_id列,该列是clients表的外键。contracts表将需要一个project_id列,该列是projects表的外键。

最新更新