数据库范式小结 1NF 2NF BCNF 3NF 4NF DB normal form
2014-04-21 18:43
561 查看
1. 1NF指关系中的每一个变量不可再分
2. 2NF指消除了非主属性对码(candidate key)的部分依赖的1NF
例如(S#,C#)-> SN ,(S#,C#)-> SD ,S#->SD那么SD部分依赖与候选键,不是2NF,只能是1NF;分解为SC(S#, C#, G)和S_SD(S#,SN,SD,DEAN)就是2NF
3. BCNF指消除了主属性对码(candidate key)的部分依赖的2NF
例如 (S#,C#)->T#, T#->C#不是BCNF,因为candidate 是 (S#,T#),(S#,C#),主属性C#部分依赖于(S#,T#),所以不是BCNF;可以分解为:
(S#,T#),(T#,C#)两张表
4. 3NF指消除了传递依赖的BCNF
例如 S#->SD, SD->DEAN不是3NF,因为DEAN传递依赖于S#,可以分解为STUDENT(S#,SN,SD)和DEPT(SD,DEAN)
4. 4NF指消除了多值依赖的3NF
例如:
他的原来的主键为(C#,T#,B#),分解为(C#,T#)和(C#,B#)
2. 2NF指消除了非主属性对码(candidate key)的部分依赖的1NF
例如(S#,C#)-> SN ,(S#,C#)-> SD ,S#->SD那么SD部分依赖与候选键,不是2NF,只能是1NF;分解为SC(S#, C#, G)和S_SD(S#,SN,SD,DEAN)就是2NF
3. BCNF指消除了主属性对码(candidate key)的部分依赖的2NF
例如 (S#,C#)->T#, T#->C#不是BCNF,因为candidate 是 (S#,T#),(S#,C#),主属性C#部分依赖于(S#,T#),所以不是BCNF;可以分解为:
(S#,T#),(T#,C#)两张表
4. 3NF指消除了传递依赖的BCNF
例如 S#->SD, SD->DEAN不是3NF,因为DEAN传递依赖于S#,可以分解为STUDENT(S#,SN,SD)和DEPT(SD,DEAN)
4. 4NF指消除了多值依赖的3NF
例如:
他的原来的主键为(C#,T#,B#),分解为(C#,T#)和(C#,B#)
相关文章推荐
- 数据库范式小结 1NF 2NF BCNF 3NF 4NF DB normal form
- 数据库范式1NF 2NF 3NF BCNF
- 数据库范式解析(1NF 2NF 3NF BCNF)
- 关系型数据库的几种设计范式(1NF 2NF 3NF BCNF 4NF 5NF)
- 数据库范式解析(1NF 2NF 3NF BCNF)
- 数据库范式 1NF 2NF 3NF BCNF 详解示例
- (转)数据库范式(1NF 2NF 3NF BCNF)详解一
- 关系型数据库的几种设计范式(1NF 2NF 3NF BCNF 4NF 5NF)
- [MySQL] 关系型数据库的设计范式 1NF 2NF 3NF BCNF
- 关系型数据库的设计范式 1NF 2NF 3NF BCNF
- 数据库关系设计数据库范式1NF 2NF 3NF BCNF(实例)
- 【转】数据库范式解析(1NF 2NF 3NF BCNF)
- IT求职整理Ⅱ----数据库范式1NF 2NF 3NF BCNF(实例)
- 数据库范式1NF 2NF 3NF BCNF实例分解
- 数据库范式1NF 2NF 3NF BCNF
- 数据库范式1NF 2NF 3NF BCNF
- 数据库范式:1NF 2NF 3NF BCNF
- 转:数据库范式(1NF 2NF 3NF BCNF)
- 数据库中的1NF、2NF、3NF,BCNF范式解析1
- 数据库范式简单讲解(1NF、2NF、3NF、4NF、BCNF)