我有以下表格:
Book_Name Author Edition Year
DB_fundamentals Navathe 4 2004
DB_fundamentals Elmasri 4 2004
DB_fundamentals Elmasri 5 2007
DB_fundamentals Navathe 5 2007
没有任何知识,我必须确定可能的候选键。显然它将是{Book_Name,Author,Edition}。根据我教授的解决方案,这是正确的。但我会更进一步说{Book_Name,Author,Year}也是正确的。但在这方面,他说“我们应该考虑一些书籍可能有一个发行周期,导致多个版本出现在给定的一年。”但是,为什么某人(来自他所说的“常识”)会在同一年(或根本)发布两本或更多同名和版本的书?
你们怎么看待这个?我不明白。
书籍版本可能会唯一地识别正在发行的书籍。 year
- 大概是 - 释放的那一年。
如果数据代表“从我们的仓库发货的书籍”,您的解释是正确的。在这种情况下,一个版本可以在多年内发货。
教授显然在想“已出版的书籍版本”。
换句话说,在不知道表的目的的情况下,您无法真正指定。有时,目的是从数据中“显而易见”,但不一定如此。