规范化-数据库设计原则

事实上在当前所有的关系数据库管理系统(DBMS)中,都已经在建表的时候强制满足第一范式.所以在对表进行设计的时候只需从从一范式转化到二范式开始就可以了.
好了,现在来具体说说:
我个人以为,数据库规范化就是在对表设计的时候如何解决数据冗余、数据库操作异常等问题
以减少冗余的数据,借此可以提高数据库的存储效率,数据完整性和可扩展性。
第一范式:属性是原子化的,所以属性是不可分解,

每列不可再分,有PK(可能是以属性对的形式出现如属性对<学号, 课程>是主键,其他所有的属性都依赖于该主键)
如:Student:学号,学生,课程,学分,学院,学院地址

第一范式转化到二范式

就是消除部分依赖,达到完全信赖(可以根据为应用在多记录的字段建立独立的表格来找出部分信赖),这会导致对原来符合第一范式的表进行拆分并形成一张新的表和二者之际间的关联表.
如Student:学号,学生,学院,学院地址
Course:课程,学分(这儿是一个多对多的中间表)
StudentCourse:学号,课程


从二范式转化到三范式

就消除传递依赖(或者用消除不信赖于该PK的字段)
所谓的传递依赖关系如:学号--->学院--->学院地址 ,其中学院地址就存在着对学号有传递依赖
Student:学号,学生,学院
Course:课程,学分
StudentCourse:学号,课程
Collage:学院,学院地址

还有不清晰的话,请参考
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0605jiangt/

http://blog.csdn.net/jianxiong8814/archive/2008/03/03/2142442.aspx
本篇文章来源于PHP论坛 文章地址:http://php.cn/thread-15801-1-16.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值