本文共 2368 字,大约阅读时间需要 7 分钟。
一、了解设计数据库的步骤(数据库生命周期较软件长)
Why 设计数据库 ? *节省数据空间 ---> (数据冗余---数据重复的现象) | | 减少冗余的方法:分类 * 保证数据完整性 ---> (数据的准确性)【存在不正确、不准确的数据,数据库失去了完整性】 | | 各种约束(主键、check) *方便数据库应用系统的开发现实世界(抽取相同实体的数据) ---> 信息世界 ---> 数据库模型图 ---> 数据库 (建模) (规范化--范式)==需求分析==:分析客户业务和数据处理需求==概要设计==:设计数据库的E-R模型图,确认数据需求的正确和完整==详细设计==:应用三大范式审核数据库结构==代码编译==:物理实现数据库,代码编译实现应用(运行脚本初始化)==软件测试==:.....==安装部署==:.....(根据日志定点将数据库数据备份恢复)
收集信息 — 标识实体 — 绘制E-R图(E-R概念图转化为关系模型)—
1.收集信息:交谈了解客户需求
2.标识实体:标识数据库要管理的关键对象
标识实体的各自属性 标识实体之间的关系(客房和客人之间由主从对应关系)3.绘制E-R图:
实体— 长方形、(Visio) 关联关系—菱形、属性—椭圆映射基数关系:一对一、一对多、多对多、(多对一)E-R概念图转化为关系模型: 一对一:1.实体A中主关键字加入到B实体中对应的关系中,若联系有属性一并加入 2.实体B中主关键字加入到A实体中对应的关系中,若联系有属性一并加入 3.建立第三个关系,关系中包含两个实体集的主关键字,若联系有属性一并加入(当关系也有属性时必选) 一对多:1.可以将一的一方实体的主键放入多的一方实体中作为“外键” 多对多:1.必须建立“联系”的单独关系,用来联系双方实体,该关系属性中至少包含两个实体的关键字。 *关系数据库源于关系代数 *外键---波浪线,主键---下划直线
4.数据规范化(范式):
仅有好的RDBMS不足以避免数据冗余,必须建立好的表结构!!! 范式是具有最小冗余的表结构~,依赖函数~ 第一范式(1st NF -First Normal Form) 确保每列的原子性(每一列不可再分的最小数据单元 <最小的原子单元 1nf> ),数据库中的每个表格必须满足的!!! 例:中国北京市 ----> 中国 + 北京 第二范式(2st NF -S.... Normal Form) 在第一范式的基础上,并除主键以外的其他列都依赖于该主键。并且要求每个表只描述一件事。(主键针对分成的表) 例: 房间号 客房状态编号 客房状态 ---> 客房状态名称 客房类型 床位数 客房类型编号 入住人数 ---> 客房类型名称 价格 第三范式(3st NF -T.... Normal Form) 在第二范式基础上,并除主键以外的其他列都不传递依赖于主键。 例: 房间号 客房状态ID 客房状态 ---> 客房状态名称 入住人数 客房类型 床位数 客房类型ID 入住人数 ---> 客房类型名称 价格 价格 床位数 处理数据冗余异常: 更新异常 添加异常 删除异常 最小的原子单元>
5.规范化和性能的关系:
通过给定表中添加额外字段,以减少搜索信息的时间 通过给定表中添加计算列,以方便查阅转载地址:http://crhq.baihongyu.com/