数据库的设计

什么是数据库设计?
数据库设计就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的工程。


在需求分析阶段:收集信息;标识对象(实体);标识每个对象需要存储的详细信息(属性);标识对象(实体)之间的关系。

在概要设计阶段:绘制E-R(实体-关系)图

在详细设计阶段:规范化E-R图;把E-R图转换为多张表,并标识各表的主外键。

设计中的问题
信息重复;更新异常;插入异常(无法表示某些信息或者是无法插入新行);删除异常(丢失有用的信息)。

规范设计:
从关系型数据库表中除去冗余数据的过程称为规范化。
1.第一范式(1NF Normal Formate)
目标是确保每列的原子性:如果每列(或者每个属性值)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF);
2.第二范式(2NF)
目标是确保表中的每列都和主键有关:如果一个关系满足1NF,并且出了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF),去掉部分依赖;
3.第三范式(3NF)
在2NF基础上,去掉传递依赖。

范式级别越高,对应查询性能越低,有时需要适当允许少量冗余数据,这才是最佳的方案。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值