数据库设计范式
来源:互联网 发布:银河证券海王星软件 编辑:程序博客网 时间:2024/06/08 16:22
范式:是符合某种关系模式的集合,构造数据库必须遵循一定的规则,在关系数据库中这个规范就叫范式。
种类:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF).
第一范式:无重复列。是指数据库中的表的每一列是不可分割的即列的原子性,实体的某个属性不能有多个值或重复的属性。
如下表所示:
这里违背了第一范式:列的原子性。列"电话号码"可以分为手机号码和住宅号码。
如下表所示:
第二范式:满足第一范式,要求表中的每一行必须可以唯一标识,要求实体属性完全依赖主关键字(主键)
解释:
实体属性:表或表中的字段;
依赖关系:分为完全依赖与部分依赖;
完全依赖:一张表中只有一个主键的时候,该表中的其他属性对于它就是完全依赖。
部分依赖:一张表中的主键是组合主键,那么,该表中的其他属性对于该组合主键中的单个属性就是部分依赖。
如下表所示:
编号和 姓名对身份证可以说是完全依赖。
不符合第二范式的后果:
1.)数据冗余;
2.)更新异常;
3.)插入异常:
4.)删除异常:
第三范式:满足第二范式,要求一个数据表当中,不包含已在其它表中已包含的非主关键字信息,就是说外键一定要依赖于主键。所有非主属性对任何候选关键字或候选关键字都不存在传递依赖
如下表所示:
系编号依赖学号,系名称依赖系编号,存在传递依赖,不符合第三范式。
第四范式:禁止主键列和非主键列一对多关系不受约束。
第五范式:又叫无NULL范式。就是不允许表里的属性存储null值。
四五范式不常用,在此不作深入研究。
- 数据库设计范式[转]
- 数据库设计范式(实例)
- 数据库范式设计
- 数据库设计范式
- 关于数据库设计范式
- 数据库设计范式
- 数据库设计范式
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- 数据库设计范式深入浅出
- js中每个函数中隐含的arguments对象,用语表示调用时实际传递的参数
- 是iPhone4S而非iPhone5的四个思考
- C/C++中几个宏的简单总结
- Android 2.3 Dev Guide (55)-- Android Supported Media Formats
- 启动自己的linux, everything include toolchain, rootfs, kernel...
- 数据库设计范式
- VmWare ssh设置
- C++问题string的一些用法示例
- sshd re-exec requires execution with an absolute path
- VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系
- ASP.net 中遇到的gridview及formview问题集锦
- 2011ACM/ICPC亚洲区大连现场赛:F Draw a Mess [zoj 3544 Draw a Mess]
- vim使用大全
- 64位WIN7系统搭建Android开发环境