目录
为什么需要设计数据库
良好的数据库设计
节省数据的存储空间
能够保证数据的完整性
方便进行数据库应用系统的开发
糟糕的数据库设计
数据冗余、存储空间浪费
内存空间浪费
数据更新和插入的异常
软件项目开发周期中数据库设计
需求分析阶段:分析客户的业务和数据处理需求;
概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整;
详细设计阶段:应用三大范式审核数据库结构,将E-R图转换为数据库模型图;
代码编写阶段:物理实现数据库,编码实现应用;
软件测试阶段:编写测试文档,进行软件测试工作;
软件维护阶段:安装部署,维护升级等工作;
需求分析阶段
收集信息:与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务;
标识实体 (Entity):标识数据库要管理的对象或实体,实体一般是名词;
标识每个实体的属性(Attribute);
标识实体之间的关系(Relationship);
E-R图
E-R图也称实体-关系图(Entity Relationship Diagram),提供了表示实体类型、属性和关系的方法,是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。
关系模式
用二维表的形式表示实体和实体间联系的数据模型即关系模式
E-R图转换为关系模式的步骤
1. 把每个实体都转化为关系模式R(U)形式
2. 建立实体间联系的转换
酒店管理系统数据库的关系模式是
客房(客房号、客房描述、客房类型、客房状态、床位数、入住人数、价格)
客人(客人编号,客人姓名、身份证号、入住日期、结账日期、押金、总金额、客房号)
转化E-R图为数据库模型图
在概要设计阶段了解客户的需求,并绘制了E-R图。
在后续的详细设计阶段,我们需要把E-R图中的实体转化为转换为对应的表,将各属性转换为各表对应的列,并标识每个表的主键列和外键列。
数据库模型图:设计良好的数据库模型图可以通过图形化的方式显示数据库存储的信息及表之间的关系,以确保数据库设计准确、完整且有效。
数据库规范化
什么是范式:数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。
范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法
三大范式
1NF:第一范式
2NF:第二范式
3NF:第三范式
第一范式(1NF)
第一范式的目标是确保每列的原子性。
如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)。
第二范式(2NF)
如果一个关系满足第一范式,并且每列必须和主键相关,则满足第二范式 。
第二范式要求每个表只描述一件事情。
第三范式(3NF)
如果一个关系满足第二范式,并且表中各列必须和主键直接相关,不能间接相关,则满足第三范式