乐趣区

关于数据库:数据库系统概论-数据库设计

数据库系统概论 – 数据库设计

数据库设计,狭义的讲 ,即设计 数据库及利用零碎 的设计,即设计整个数据库利用零碎;广义的讲 ,即设计 数据库自身,即设计数据库的各级模式并建设数据库,是数据库利用零碎设计的一部分

数据库设计是指对一个给定的应用环境,设计优化的数据库 逻辑模式 物理构造,并据此建设数据库及其利用零碎,是之可能无效的存储和治理数据,满足各种用户的利用需要,包含信息管理要求和数据操作要求

数据库设计的根本步骤

设计阶段 工具 大抵工作
需要分析阶段 数据字典 理解剖析 用户的需要,如做的不好则会导致频繁的批改
概念构造阶段 概念模型、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 图集成步骤

  1. 合并 E-R 图,生成初步初步 E-R 图
  2. 打消不必要冗余,设计根本 E-R 图

各子系统的 E-R 图之间的抵触

1. 属性抵触

  1. 属性域抵触:属性值的类型、取值范畴和取值汇合不同,如:年龄能够用数值也能够用字符
  2. 属性取值抵触:属性的单位不同,如:有的单位用斤,有的用公斤

2. 命名抵触

  1. 同名异义 不同意义 的对象在不同的部分利用中具备 雷同 的名字
  2. 异名同义 雷同意义 的对象在不同的部分利用中具备 不同 的名字

3. 结构冲突

  1. 同一对象在不同利用中具备不同的形象
  2. 同一实体在不同子系统的 E-R 图中所蕴含的属性个数和属性排列秩序不完全相同
  3. 实体间的分割在不同 E-R 图为不同类型

E-R 向关系模式的转换

次要解决如何将 实体型 实体 间的 分割 转换为关系模式,一个 实体型 转化为一个 关系模式,关系的属性就是实体的属性,关系的码就是实体的码

实体型间的分割有以下不同的状况:

  • 一个 1 : 1 的分割能够转换为一个独立的关系模式,也能够与任意一端对应的关系模式合并
  • 一个 1 : n 的分割能够转换为一个独立的关系模式,也能够与 n 端对应的关系模式合并
  • 一个 m : n 的分割能够转换为一个关系模式
  • 三个或三个以上 实体间的一个多元分割能够转换为一个关系模式
  • 具备 雷同码 的关系模式能够合并
退出移动版