【发布时间】:2019-05-02 06:20:38
【问题描述】:
我有下表:
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.5 版”或“4 v2 版”之类的?
-
我不知道。对我来说,“新”版本意味着发生了一些变化(例如,添加了新章节,旧章节被改写(因为它不再有效)。如果没有任何变化,那仍然是相同的版本。但是,我对此一无所知,所以我们只是聊天。
-
我的意思是,那是主观的。这个问题只是愚蠢地问,imo,你同意吗?
-
如果教授的意图是让你考虑一下,我猜他们成功了。可能没有明确的答案。也许他们是对的,也许你是对的,也许两者都是。也许这并不重要,只要你理解一般的候选键的想法。
标签: database relational-database data-modeling functional-dependencies candidate-key