目录
在实际的项目开发中,如果系统的数据存储量较大,设计的表比较多,表和表之间的关系比较复杂,首先就需要进行规范化的数据库设计,良好的数据库设计,节省数据的存储空间,能够保证数据的完整性,方便进行数据库应用系统的开发
糟糕的数据库设计:数据冗余、存储空间浪费,内存空间浪费;数据更新和插入的异常
一、软件项目开发周期中数据库设计
1、需求分析阶段:分析客户的业务和数据处理需求;
2、概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整;
3、详细设计阶段:应用三大范式审核数据库结构,将E-R图转换为数据库模型图;
4、代码编写阶段:物理实现数据库,编码实现应用;
5、软件测试阶段:编写测试文档,进行软件测试工作;
6、软件维护阶段:安装部署,维护升级等工作;
1、需求分析阶段
1、收集信息:与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务;
2、标识实体 (Entity):标识数据库要管理的对象或实体,实体一般是名词;
3、标识每个实体的属性(Attribute);
4、标识实体之间的关系(Relationship);
2、概要设计阶段
E-R图也称实体–关系图(Entity Relationship Diagram),提供了表示实体类型、属性和关系的方法,是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。
符号 | 含义 |
![]() |
实体,一般是名词 |
![]() |
属性,一般是名词 |
![]() |
关系,一般是动词 |
3、详细设计阶段
数据库设计建模工具:PowerDesigner、Rational Rose、Visio三种建模工具比较
序号 | 比较角度 | PowerDesigner | Rational Rose | Visio |
1 |
开发公司 |
Sybase |
Rational |
Microsoft |
2 |
开始的侧重点 |
数据库建模 |
UML建模 |
画图工具 |
3 |
应用系统规模 |
适合大中型系统开发 |
适合大中型系统开发 |
中小型系统的开发 |
4 |
编程语言 |
支持多种编程语言 |
支持多种编程语言 |
只支持微软的编程语言 |
5 |
数据库建模 |
最好 |
酒店管理系统的E-R图——Visio
酒店管理系统的E-R图——PowerDesigner
4、 数据库规范化
什么是范式:
数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。
不合规范的设计:
信息重复;更新异常;插入异常(无法正确表示信息);删除异常(丢失有效信息)
范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法
5、三大范式
1NF:第一范式
2NF:第二范式
3NF:第三范式
第一范式(1NF)
第一范式的目标是确保每列的原子性。
如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)。
第二范式(2NF)
如果一个关系满足第一范式,并且每列必须和主键相关,则满足第二范式 。
第二范式要求每个表只描述一件事情。
第三范式(3NF)
如果一个关系满足第二范式,并且表中各列必须和主键直接相关,不能间接相关,则满足第三范式
例如
规范化的酒店管理系统E-R图
规范化的酒店管理系统数据库模型图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/93363.html