考虑库数据库的以下关系方案:
书籍(标题,作者,Catalog_no,出版社,年份,价格)
集合(标题,作者,Catalog_no)
具有以下功能依赖性:
I. Title Author --> Catalog_no
II. Catalog_no --> Title, Author, Publisher, Year
III. Publisher Title Year --> Price
假设{Author,Title}是这两种方案的关键。下列哪项为真?
(A) Book和Collection都在BCNF中
(B) Book和Collection均仅使用3NF
(C)书以2NF表示,而藏书以3NF表示
(D) Book和Collection均仅使用2NF答案: (C)
解释:
Book (Title, Author, Catalog_no, Publisher, Year, Price)
Collection (Title, Author, Catalog_no)
具有以下功能依赖性:
I. Title, Author --> Catalog_no
II. Catalog_no --> Title, Author, Publisher, Year
III. Publisher, Title, Year --> Price
Assume {Author, Title} is the key for both schemes
- 表“ Collection”在BCNF中,因为只有一个功能依赖项“ Title Author –> Catalog_no”,{Author,Title}是收集的关键。
- 本书不在BCNF中,因为Catalog_no不是键,并且存在功能依赖性“ Catalog_no –>标题作者出版年”。
- 图书不在3NF中,因为非主要属性(出版商年份)可传递地依赖于键[标题,作者]。
- Book采用2NF,因为表的每个非主要属性都依赖于候选键[Title,Author]的整体或另一个非主要属性。
在表格中,候选键为{Title,Author}和{Catalog_no}。在表格Book中,非主要属性(未在任何候选键中出现的属性)是Publisher,Year和Prince
请参考数据库规范化|普通表格了解普通表格的详细信息。这个问题的测验