以下课程来源于MOOC学习—原课程请见:数据库原理与应用
考研复习
数据库设计
数据库设计是基于应用系统需求分析中对数据的需求,解决数据的抽象、数据的表达和数据的存储等问题,其目标是设计出一个满足应用要求,简洁、高效、规范合理的数据库。最终得到能在DBMS中存储的数据库的逻辑结构和物理结构。
数据库设计方法从早期根据经验进行直观设计,到运用软件工程的思想进行规范化设计,已发展到用计算机进行辅助设计,和使用设计工具软件自动进行设计。
以基于E-R模型的规范设计方法为基础,通常将数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据库的运行、维护阶段等六个阶段。
需求分析是整个数据库设计的基础,主要来准确了解与分析用户以及应用系统的数据需求,明确在数据库中需要存储和管理哪些数据,明确用户对数据的安全性和完整性方面的需求,以及用户的存取权限的设置等。
概念结构设计是整个数据库设计的关键。在需求分析的基础上,需要借助概念模型,如E-R模型,来表达数据抽象的结果,得到一个独立于具体的DBMS的概念模型。
逻辑结构设计把概念结构设计得到的概念模型转换为选定的DBMS支持的数据模型所对应的数据库模式,如关系数据库模式,并对其进行优化。
物理结构设计为逻辑结构设计得到的数据库模式,利用选定的DBMS支持的数据定义语言描述数据库的三级模式结构,确定适合应用环境的存储结构和存取方法。
数据库实施阶段,在具体的DBMS上,实现物理结构设计的结果,建立数据库,进行数据库编程,组织数据入库,并进行测试操作等。
对正式投入使用的数据库,在系统运行过程中需要不断地对其进行评估与完善。
数据库设计是上述六个阶段的不断反复迭代,逐步求精的过程。数据库设计同时伴随着数据库系统应用软件的设计,在设计过程中需要把两者加以结合,相互完善。
数据流程图是用于描述数据库结构化设计方法中(需求分析)阶段的工具。
信息需求表示一个组织需要管理的数据及其结构
处理需求表示一个组织需要经常对数据进行的处理操作
问:关系数据库设计的理论支撑:在关系数据库设计过程中是如何运用前面所学的数据库理论的?
答:在概念设计阶段,用E-R模型设计数据库的概念模型;在逻辑设计阶段,用关系规范化理论设计数据库模式
概念结构设计
数据库概念结构设计阶段得到的结果是**:E-R图表示的概念结构**
E-R图来描述信息结构但不涉及信息在计算机中的表示
步骤:
1.抽取实体和实体的属性并绘制ER图
2.确定实体间的关系,以及发生联系后产生 的属性特征,绘制
3.组合实体与联系的ER图,构造完整的ER图
在合并分E-R图时必须消除各分图中的不一致,即冲突。各分E-R图之间的冲突主要有三类,
即属性冲突、命名冲突和结构冲突。
- 命名冲突:同名异义或同义异名
- 属性冲突:属性类型冲突
- 结构冲突:属性取值单位冲突
逻辑结构设计
逻辑结构设计阶段得到的结果是:某个DBMS所支持的数据逻辑结构
关系数据库的规范化理论主要用来指导(构造数据库逻辑结构 )。
设计关系模式是( 逻辑结构设计 )阶段的任务。
- 1:1联系可以转换为一个独立的关系模式,也可以与联系任意一端实体所对应的关系模式合并
比如:两个关系:班级(班级号,所在系,专业,人数) 班长(学号,姓名)
第一种:增加负责人(学号,班级号) 或者
第二种:班级(班级号,所在系,专业,人数,班长学号) 班长(学号,姓名)
- 1:n联系可以转换为一个独立的关系模式,也可以与联系的n端实体所对应的关系模式合并
比如两个关系:班级(班级号,所在系,专业,人数) 学生(学号,姓名)
第一种:新增 表(属于):(学号,班级号)
第二种:班级(班级号,所在系,专业,人数) 学生(学号,姓名,所在班级号)
- m:n联系 只能 转换为一个独立的关系模式
比如两个关系:课程(课程号,课程名,学分) 学生(学号,姓名)
选课成绩(学号,课程号,成绩)
- 三个或三个以上的实体间的多元联系要单独转换为一个关系模式
- 子实体和ISA实体联系的转换
从E-R模型、向关系模式转换时,一个M:N联系转换为关系模式时,该关系模式的候选键是( M端实体关键字与N端实体关键字的组合 )
在E-R模型中,如果有3个不同的实体型,3个m:n联系,根据E-R模型转换为关系模式的规则,转换后关系的数目为( 7 )。
关系数据库逻辑结构设计阶段的主要完成的任务有( )。
ER模型转换为关系模式->关系模式规范化->关系模式优化->设计用户模式
物理结构设计
设计解决的问题:数据库存储结构的设计+数据库存储方法的设计;确保对磁盘的I/O操作次数最少
设计的目标是:得到存储空间占用少、数据访问效率高和维护代价低的数据库物理模式
此阶段得到的结果是:包括存储结构和存取方法的数据库物理结构
确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的(物理结构设计 )的任务。
(物理结构设计 )可以得到用SQL语言定义的数据库模式。
其中:
- 定义用户外模式
- 主要为了定义视图
- 定义内模式
- 索引是DBMS采用的主要存方法,DBMS可以基于索引定制优化查询计划
- 索引的创建的可以确定数据文件的存储结构
- 定义数据库
问:为什么创建索引属于内模式的定义内容?
答:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如:数据存储的文件结构、索引、集簇及hash等存取方式与存取路径。所以创建索引属于内模式的定义内容。