共计 1458 个字符,预计需要花费 4 分钟才能阅读完成。
数据库系统概论 – 数据库设计
数据库设计,狭义的讲 ,即设计 数据库及利用零碎 的设计,即设计整个数据库利用零碎;广义的讲 ,即设计 数据库自身,即设计数据库的各级模式并建设数据库,是数据库利用零碎设计的一部分
数据库设计是指对一个给定的应用环境,设计优化的数据库 逻辑模式 和物理构造,并据此建设数据库及其利用零碎,是之可能无效的存储和治理数据,满足各种用户的利用需要,包含信息管理要求和数据操作要求
数据库设计的根本步骤
设计阶段 | 工具 | 大抵工作 |
---|---|---|
需要分析阶段 | 数据字典 | 理解剖析 用户的需要,如做的不好则会导致频繁的批改 |
概念构造阶段 | 概念模型、E-R 模型 | 对用户需要进行剖析,造成一个独立于 DBMS 的概念模型 |
逻辑构造阶段 | 将 概念构造 转换为某个 DBMS 所反对的 数据模型,并进行优化 | |
物理构造阶段 | 为逻辑构造抉择一个最适宜应用环境的 物理构造(存储构造和存储办法),也就是抉择索引 | |
数据库施行阶段 | 依据 逻辑构造 和物理构造 建设具体数据库,削减数据 | |
数据库保护和运行阶段 | 对数据库进行后续保护 |
罕用的工具
数据字典
对于数据库中数据的形容,即 元数据,而不是数据自身
数据字典包含:数据项 、 数据结构 、 数据流 、 数据存储 和处理过程
- 数据项:不可再分的数据单位
- 数据结构:数据之间的组合关系,能够由若干数据项组成、若干数据结构组成、若干数据项和数据结构组成
- 数据流:数据结构在零碎内的传输门路
- 数据存储:数据结构停留和存留的中央,数据的起源和去向
- 处理过程:形容处理过程的说明性信息
E-R 模型
两个实体型之间的分割:
- 一对一(1 : 1):实体集 A 中每一个实体,实体集 B 中 至少有一个 (能够无)实体与之对应, 反之 ,实体集 B 中没一个实体,实体集 A 中 至少有一个 实体与之对应,如:一个班级只有一个班长,一个班长只在一个班任职
- 一对多(1 : n):实体集 A 中每一个实体,实体集 B 中 有 n 个实体 (n >= 0)与之分割, 反之 ,实体集 B 中每一个实体,实体集 A 中 至少只有一个 实体与之对应,如:一个班级有多个学生
- 多对多(m : n):实体集 A 中没一个实体,实体集 B 中 有 n 个实体 (n >= 0)与之分割, 反之 ,实体集 B 中每一个实体,实体集 A 中 有 m 个实体(m >= 0)与之分割,如:一门课有多门学生选修,一个学生选修多门课
E-R 图提供了示意实体型(实体名和属性名汇合形容实体)、属性和分割的办法,矩形 示意实体型,椭圆形 示意属性,菱形 示意分割
E-R 图的集成
E-R 图集成步骤
- 合并 E-R 图,生成初步初步 E-R 图
- 打消不必要冗余,设计根本 E-R 图
各子系统的 E-R 图之间的抵触
1. 属性抵触
- 属性域抵触:属性值的类型、取值范畴和取值汇合不同,如:年龄能够用数值也能够用字符
- 属性取值抵触:属性的单位不同,如:有的单位用斤,有的用公斤
2. 命名抵触
- 同名异义 : 不同意义 的对象在不同的部分利用中具备 雷同 的名字
- 异名同义 : 雷同意义 的对象在不同的部分利用中具备 不同 的名字
3. 结构冲突
- 同一对象在不同利用中具备不同的形象
- 同一实体在不同子系统的 E-R 图中所蕴含的属性个数和属性排列秩序不完全相同
- 实体间的分割在不同 E-R 图为不同类型
E-R 向关系模式的转换
次要解决如何将 实体型 和实体 间的 分割 转换为关系模式,一个 实体型 转化为一个 关系模式,关系的属性就是实体的属性,关系的码就是实体的码
实体型间的分割有以下不同的状况:
- 一个 1 : 1 的分割能够转换为一个独立的关系模式,也能够与任意一端对应的关系模式合并
- 一个 1 : n 的分割能够转换为一个独立的关系模式,也能够与 n 端对应的关系模式合并
- 一个 m : n 的分割能够转换为一个关系模式
- 三个或三个以上 实体间的一个多元分割能够转换为一个关系模式
- 具备 雷同码 的关系模式能够合并
正文完