1

我有下表:

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} 也是正确的。但在这方面,他说“我们应该考虑到某些书籍可能有一个发行周期,这会导致在给定年份出现多个版本。” 但是为什么有人(像他所说的那样来自“常识”)在同一年(或根本)发行两本或更多同名和版本的书?

对此你们怎么看?我不明白。

4

1 回答 1

1

书籍版本可能会唯一标识正在发行的书籍。这year是 - 大概 - 发布年份。

如果数据代表“我们仓库正在运送哪些书籍”,您的解释将是正确的。在这种情况下,一个版本可能会在多年内发布。

教授显然在想“什么书版已经出版了”。

换句话说,在不知道表格的用途的情况下,您无法真正指定。有时目的从数据中“显而易见”,但不一定。

于 2019-02-10T17:45:34.440 回答