我知道这个问题被问了很多次,但我的例子似乎不一样。
我有两个实体:医生和客户端,它们之间有一个多到多的关系来创建实体约会,其中一个属性称为"appointment_date_time“。
我正在使用来自医生和客户端的外键来创建约会中的复合主键,但是由于同一个医生和个人之间可以有很多约会,所以是否应该将"date_time“作为主键的一部分,这样就没有重复的了?或者这两个外键是否足够查询?
谢谢!
发布于 2015-03-26 03:06:38
您的主键需要始终是唯一的,因此包括日期时间将使一个可用的复合主键(可能,除非您可以同时进行多个约会,用于两个不同的目的,这可能会发生)是唯一的。
然而,实际上,这不太可能是最好的方法,就好像他们改变了预约,这一次就会改变(或者可能改变了医生)。然后您就无法静态地引用指定,例如,如果您在创建过程中将一些额外的数据关联到它,或者必须将其作为审计项引用。这也意味着您创建的任何对它的引用都需要存储所有3列。
因此,在本例中,我只需创建一个自动递增的主键,并对医生和客户端进行快速搜索的索引。
https://stackoverflow.com/questions/29270362
复制相似问题