📜  门| GATE CS 2008 |第69章

📅  最后修改于: 2021-06-30 00:04:24             🧑  作者: Mango

考虑库数据库的以下关系方案:
书籍(标题,作者,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

请参考数据库规范化|普通表格了解普通表格的详细信息。这个问题的测验