1NF
2NF
3NF
BCNF
“最高范式”会引起误解。从题目中可以得到:最低是3NF的结论,再往上都是有可能
这样如R(X,Y,Z), F={Y->Z, XZ->Y}. XY和XZ都可以做为候选码,即R中的属性全为主属性,且不存在非主属性对码的传递函数依赖,因此R属于3NF. BCNF的定义是:关系模式R<U,F属于1NF.若Y函数依赖于X且Y不包含于X时X必含有码,则R<U,F属于BCNF.即若每一个决定因素都包含码,则R属于BCNF. BCNF中有一条性质,是所有的主属性对每一个不包含它的码,是完全函数依赖.这样当选择XY做为主码时,Z就对XY部分函数依赖了(因为Z函数依赖于Y),因此R不属于BCNF
BCNF与第三范式的不同之处在于: 第三范式中不允许非主属性被另一个非主属性决定,但第三范式允许主属性被非主属性决定; 而在BCNF中,任何属性(包括非主属性和主属性)都不能被非主属性所决定。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题