mysql中数据库的设计

本文介绍了软件开发流程(CMMI),包括项目启动、计划、需求分析等环节。还阐述了软件项目开发周期中数据库设计,涵盖需求分析、概要设计等阶段,介绍了设计数据库的步骤、E - R图绘制及转换数据模型方法,以及数据规范化的三大范式。

 

软件开发流程(CMMI):

1):项目启动;

2):项目计划:

3):需求分析; 需要得到的结果是什么?

4):系统设计;         该怎么做?

5):系统开发;

6):系统测试;

7):系统部署维护

 

软件项目开发周期中的数据库设计

需求分析阶段:      分析客户的业务设计和数据处理需求

概要设计阶段:      设计数据库的E-R模型图,确认需求信息的正确和完整

详细设计阶段:      应用数据库三大范式审核数据库结构

代码编写阶段:      物理实现数据库,编码实现应用

软件测试...................

设计数据库的步骤:

1):收集信息:           充分了解用户需求,理解数据库需要完成的任务

酒店:

客人可以住哪儿房间

 

2):标识实体:           标识数据库要管理的关键对象

酒店实体:

客人

房间

 

3):标识实体的属性:     标识数据库要管理的对象的属性

客人:       姓名、身份证、房间号、入住日期、结账日期、押金、总金额

房间:      房间号、房间名称、床位数、房间状态、入住人数、客人类型、价格

 

4):标识实体与实体之间的关系

跟房间的关系:客人入住房间

 

绘制E-R图(实体关系图)

组成:

1):实体(使用矩形表示)

2):属性(使用椭圆表示)

3):关系(使用菱形表示)

 

 

绘制E-R图工具:Power Designer(推荐)

 

 

 

E-R图的映射基数

一对一

一对多(多对一)

多对多

 

酒店管理系统E-R图

 

 

将E-R图转换成数据模型

1):一对一关系

将一方的主关键字纳入到另一方作为外键。如果关系中有属性的,也一并纳入。

例如:(一个仓库,一类商品)

仓库(名字)

商品(编号、类型)

------》

仓库(名字)

商品(编号、类型、仓库名字)

2):一对多关系

将一方的主关键字纳入到多方作为外键。如果关系中有属性的,也一并纳入。

例如:(一个仓库,多个商品)

仓库(编号、名字、状态)

商品(编号、类型、价格、生产日期等等)

--------》

仓库(编号、名字、状态)

商品(编号、类型、价格、生产日期等等、仓库编号、仓库名字)

3):多对多关系

将双方的关键字纳入到新的一方(第三方)作为外键,如果关系中有属性的,也一并纳入。

例如:

老师(编号,名字)

课程(课程编号、课程名称、课程说明)

---------》

老师(编号,名字)

课程(课程编号、课程名称、课程说明)

授课:(老师编号、老师名字、课程编号、课程名字、课程说明)

 

 

数据的规范化

三大范式,最小冗余的表结构。

第一范式:确保每列的原子性。每列不可以在进行分割。

原子性:每列都是不可再分的最小单元。

第二范式: 满足第一范式,除了逐渐以外的列都依赖于该主键.

一张表只描述一件事.

第三范式: 满足第二范式,除了主键以外的列都不传递依赖于主键列.

除了主键以外的其他列都不传递依赖与主键列

 

转载于:https://www.cnblogs.com/it-xiaoBai/p/10813777.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值