我正在学习计算机科学,最近在考试中,我有以下问题:
“编写创建此ER模型的SQL查询。”
该模型有三个表:person,library,第三个表包含两个外键,分别链接在person的id和库的id上。
在中间的表(外键一)中,没有显示外键是否是主键,所以我让他确定,他告诉我这个表没有主键。
这让我很困惑,拒绝解释更多,只是说:“没有主键,我们在课堂上看到了这个。”
因为该模型是从phpmyadmin的设计人员视图中捕获的,也是因为他没有真正证明正确。我对此感到怀疑,我认为他试过了,MySQL让他这么做,但这是错误的。有人能解释得更好点吗?我完全不介意犯错,我只是想知道。
为了说得更清楚一点,他建议根本没有主键,而不是像我想的那样把两个外键放在一起。
发布于 2017-10-26 11:35:47
“中间”表通常称为连接表。在这种情况下,它代表了人和库之间的关系。当您的老师提到此表没有主键时,可能是该表没有正式的主键定义。当然,内部MySQL需要为每个记录分配一个唯一的ID,以便在内部跟踪表。但可能没有明确的主键。但是,这个表中很可能有一个由人员和库列组合而成的复合主键。而且,最有可能的是,这对值在每一行中都是唯一的,除非可以重复给定的关系。如果存在这样的重复,那么表就没有规范化。
https://stackoverflow.com/questions/46953150
复制相似问题