我环顾四周,发现一些类似的问题,但它们是针对SQL Server的。

这是我创建的一个结构化的小型数据库,目的只是向您展示我要建模的关系。基本上,这很简单,每年有12个周期,一个period-year实例不能出现两次(2012年第9年的周期不能出现多次)。



因此,我认为最好的建模方法是有一个表周期,其中只有一个字段的值介于1到12之间,一个表年遵循相同的逻辑(2011,2012 ...),因为它是N-到N关系,我创建了period_by_year表,该表将它们连接在一起,以供rpt_maintenance_kpi使用。现在最棘手的部分是,为了使每个组合唯一,我将复合主键的period_no和year_no都设置了。我认为这可以很好地解决该问题,但是接下来我将停留在如何从rpt_maintenance_kpi(或与此相关的任何其他表)中引用此复合主键的问题上。我试过进行两次连接,但这似乎不起作用(创建第二个rpt_maintenance_kpi表,我相信这不会做我想做的事情)。

那么如何处理复合主键的外键?

提前谢谢了。

最佳答案

使用维护创建“年”或“期间”关系,然后双击关系行以编辑关系,或将第二部分(相应地为“年”或“期间”)拖到“维护”,并在询问是否要编辑关系时选择“是”。现在,您可以添加第二行,如下所示:

10-05 21:26