数据库设计

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

数据库设计

为什么需要设计数据库

糟糕的数据库设计会有以下几点影响:

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.安装部署

数据库在正式的运行环境中使用测试

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值