考虑库数据库的以下关系模式:
Book (Title,Author,Catalog_no, Publisher, Year, Price)
具有以下功能依赖性:
I. Title, Author -> Catalog_no
II. Catalog_no -> Title, Author, Publisher, Year
III. Publisher, Title, Year -> Price
假设{Author, Title}
是架构的关键。在给定模式的正常形式下?
我认为该表仅在1NF而不是2NF。根据{{1}},属性III FD
部分取决于密钥,因为它依赖于Price
而非Title
。
请告诉我你的意见。
答案 0 :(得分:1)
目录编号是关键;它直接决定除价格以外的所有东西,并且通过FD 3传递它也决定了价格。因此,Title + Author也是确定目录号的关键。
从表面上看,如果两位不同的作者在同一年都写了一本名为“如何写书”的书,该书由同一出版商(“Duplicative Publishing”)出版,那么这些书的费用必须相同,即使一个是50页加强小册子,另一个是500页大部头。这是现实世界中荒谬的FD。然而,问题不在于现实世界。
鉴于Second Normal Form的定义,没有逃避价格不是由整个密钥确定的事实,因此该关系不是2NF。