BCNF是比第三范式更严格一个范式。它要求关系模型中所有的属性(包括主属性和非主属性)都不传递依赖于任何候选关键字。也就是说,当关系型表中功能上互相依赖的那些列的每一列都是一个候选关键字时候,该满足BCNF。
BCNF实际上是在第三范式的基础上,进一步消除了主属性的传递依赖。
一次Lab的作业题目如下:
A luxury car-rental company has been tracking their rental data in a simple spreadsheet, but now wants to migrate to a proper database. Consider the table given below, containing some sample data.
(a) Identify at least 10 functional dependencies (non-trivial with minimal LHS) that hold on the table above.
(b) Classify the functional dependencies found as either ‘sensible’ or ‘accidental’.
给了个这个租车表,要求写函数依赖关系,这里只写sensible的,accidental的没有固定标准,不写。
依赖如下:
plate->make
make ->daily_rate
license_nr->dob
license_nr->name
plate+start_date ->* (*表示除这两项之外的剩余部分都可以表示)
考虑到一个人(