通过常识确定候选键?

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

你们怎么看待这个?我不明白。

database relational-database data-modeling functional-dependencies candidate-key
1个回答
1
投票

书籍版本可能会唯一地识别正在发行的书籍。 year - 大概是 - 释放的那一年。

如果数据代表“从我们的仓库发货的书籍”,您的解释是正确的。在这种情况下,一个版本可以在多年内发货。

教授显然在想“已出版的书籍版本”。

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

© www.soinside.com 2019 - 2024. All rights reserved.