数据库设计

本文探讨了数据库设计的重要性,包括节省存储空间、保证数据完整性和方便应用开发。对比良好与糟糕设计的区别,阐述了数据库设计在软件项目开发周期中的作用。介绍了数据库设计步骤,从收集信息到转化E-R图为数据库模型,强调了数据规范化对避免信息重复和异常更新的重要性。

为什么需要设计数据库
良好的数据库设计
    节省数据的存储空间
    能够保证数据的完整性
    方便进行数据库应用系统的开发

糟糕的数据库设计
    数据冗余、存储空间浪费
    内存空间浪费
    数据更新和插入的异常


软件项目开发周期中数据库设计 
需求分析阶段:分析客户的业务和数据处理需求
概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整
详细设计阶段:应用三大范式审核数据库结构
代码编写阶段:物理实现数据库,编码实现应用
软件测试阶段:……
安装部署:……

设计数据库的步骤
收集信息
    与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务
标识实体 (Entity)
    标识数据库要管理的关键对象或实体,实体一般是名词
标识每个实体的属性(Attribute)
标识实体之间的关系(Relationship)

关系模式
用二维表的形式表示实体和实体间联系的数据模型即关系模式
E-R图转换为关系模式的步骤
    1. 把每个实体都转化为关系模式R(U)形式
    2. 建立实体间联系的转换
酒店管理系统数据库的关系模式是
    客房(客房号、客房描述、客房类型、客房状态、床位数、入住人数、价格)
    客人(客人编号,客人姓名、身份证号、入住日期、结账日期、押金、总金额、客房号)

转化E-R图为数据库模型图
将各实体转换为对应的表,将各属性转换为各表对应的列
标识每个表的主键列
在表之间建立主外键,体现实体

为什么需要数据规范化 
不合规范的表设计
    信息重复
    更新异常
    插入异常
        无法正确表示信息
    删除异常

使用三大范式规范数据库表的设计
第一范式的目标是确保每列的原子性
    如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)

第二范式要求每个表只描述一件事情

第三范式 (3nd NF)
如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF) 

规范化和性能的关系 
为满足某种商业目标,数据库性能比规范化数据库更重要
    通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间
    通过在给定的表中插入计算列(如成绩总分),以方便查询
在数据规范化同时,要综合考虑数据库的性能
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值