数据库设计
为什么需要设计数据库
糟糕的数据库设计会有以下几点影响:
1.数据冗余、存储空间浪费
2.内存空间浪费
3.数据更新和插入的异常
而一个良好的数据库设计能够:
1.节省数据的存储空间
2.能够保证数据的完整性
3.方便进行数据库应用系统的开发
软件项目开发周期中的数据库设计
在一个项目开发的周期中,可以分为以下几个阶段:
1.需求分析阶段
分析客户的业务和数据处理需求
(1)收集信息
与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务
(2)标识实体(Entity)
标识数据库要管理的关键对象或实体,实体一般是名词
(3)标识每个实体的属性(Attribute)
标识每个实体需要存储的详细信息
(4)标识实体之间的关系
2.概要设计阶段
设计数据库的E-R模型图,确认需求信息的正确和完整
E-R图

映射基数
有一对一、一对多、多对一、多对多四种模式

示例:

关系模式
用二维表的形式来表示实体和实体之间联系的数据模型
E-R图转换为关系模式的步骤:
1.把每个实体都转化为关系模式 R(U)形式
2.建立实体间联系的转换
数据库模型图
E-R图转换为数据库模型图步骤:
1.新建数据库模型图
2.添加实体
3.添加数据列及相应的属性
4.添加实体之间的映射关系
示例:

3.详细设计阶段
应用三大范式审核数据库结构
不合规范的表设计会带来一系列问题:
1.信息重复
2.更新异常
3.插入异常(无法正确表示信息)
4.删除异常(丢失有效信息)
三大范式
第一范式1NF
第一范式的目标是确保每列的原子性
如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)

第二范式2NF
第二范式要求每个表只描述一件事情,确保每列都与主键列相关

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

4.代码编写阶段
物理实现数据库,编码实现应用
5.软件测试阶段
对编写好的数据库进行测试
6.安装部署
数据库在正式的运行环境中使用测试
本文探讨了数据库设计的必要性,指出糟糕设计可能导致数据冗余、存储浪费等问题,而良好的设计能保证数据完整性并节省空间。介绍了软件项目开发周期中的数据库设计阶段,包括需求分析、E-R模型设计、范式理论的应用,以及从E-R图到关系模式的转换,最后涵盖代码编写、测试和安装部署等环节。
1575

被折叠的 条评论
为什么被折叠?



