学习过程参考(后续章节同)
【公开课】数据库系统概论(王珊老师)(完结)
《数据库系统概论》思维导图
第7章 数据库设计 | 数据库知识点整理
梳理
名词解释
- 数据库设计(database design):数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效的运行环境
- 数据字典:它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。它在数据库设计中占有很重要的地位
- 需求分析阶段:进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,也是最困难和最耗费时间的一步
- 概念结构设计阶段:概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型
- 逻辑结构设计阶段:逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化
- 物理结构设计阶段:物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
- 数据库实施阶段:在数据库实施阶段,设计人员运用数据库管理系统提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行试运行
- 数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评估、调整与修改
课后题
1.试述数据库设计过程。
( 1)需求分析:准确了解与分析用户需求(包括数据与处理)。
( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。
( 3 )逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。
( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
( 5 )数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。
这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
2.详述数据库设计过程中形成的数据库模式
数据库结构设计的不同阶段形成数据库的各级模式,即:
-
版本一
- 在概念结构设计阶段,形成独立于各机器特点之外,独立于各个数据模型之外的概念模型
- 在逻辑结构设计阶段,将概念结构设计阶段设计好的概念模型转化为与选用DBMS产品相适应的逻辑结构,形成数据库的逻辑模式,并根据用户的需求,安全性的考虑,建立必要的视图,形成数据库的外模式
- 在物理结构设计阶段,根据关系数据库的特点和处理的需要,进行物理存储安排,建立索引,形成数据库的内模式
-
版本二
- 在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式,在本篇中就是E-R图
- 在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后在基本表的基础上再建立必要的视图(View),形成数据的外模式
- 在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
3.需求分析阶段 设计目标&调查内容
- 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
- 调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:
- 信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要 求可以导出数据要求,即在数据库中需要存储哪些数据。
- 处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。
- 安全性与完整性要求。
4.数据字典的内容&作用
- 数据字典的内容通常包括:
数据项、数据结构、数据流、数据存储、处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 - 数据字典的作用:
数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
5.什么是数据库的概念设计?其特点&设计策略?
- 概念结构是信息世界的结构,即概念模型
- 其主要特点是
- 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
- 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
- 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
- 易于向关系、网状、层次等各种数据模型转换。
- 概念结构的设计策略通常有四种
- 自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
- 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
- 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
- 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
6.定义并解释概念模型中以下术语
实体
客观存在并可以相互区分的事物叫实体
实体型
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
实体集
同型实体的集合称为实体集
属性
表中的一列即为一个属性
码
码就是唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。(针对关系模式,而非只要某些关系)
实体-联系图(E-R图)
用来描述实现世界的概念模型
7.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E-R 图画出此学校的概念模型。
(一对多:每个A有若干B
多对多:每个A有若干B,每个B有若干A)
8.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上,这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。
(每种产品由不同的零件组成&零件按所属的不同产品分别存放在仓库
➩仓库和零件多对多
材料按类别放在若干仓库
➩仓库和材料一对多
指定了实体,勿重勿漏)
9.数据库的逻辑结构设计&其设计步骤
- 数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E 一 R 图转换为与选用的 DBMS 产品所支持的数据模型相符合的逻辑结构。
- 设计步骤为 :
( l )将概念结构转换为一般的关系、网状、层次模型;
( 2 )将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换;
( 3 )对数据模型进行优化。
10.试把习题7和习题8中的E-R图转换为关系模型。
系(系号,系名,学校名)
班级(班级号,班级名,系号)
教研室(教研室号,教研室,系号)
学生(学号,姓名,学历,班级号,导师职工号)
课程( 课程号,课程名)
教员(职工号,姓名,职称,教研室号)
选修(学号,课程号,成绩)
产品(产品号,产品名,仓库号)
零件(零件号,零件名)
原材料(原材料号,原材料名,类别,仓库号,存放量)
仓库(仓库号,仓库名)
产品组成(产品号,零件号,使用零件量)
零件组成(零件号,原材料号,使用原材料量)
零件储存(零件号,仓库号,存储量)
(注意材料存放的合并方式)
11.试用规范化理论中有关范式的概念分析习题7设计的关系模型中各个关系模型的候选码,她们属于第几范式?会产生什么更新异常?
习题七中各个关系模型的每一个决定因素中均含有码,候选码中只含有一个码,故属于BCNF。
12.规范化理论对数据库设计有什么指导意义
规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式 的算法工具,使数据库设计工作有了严格的理论基础。
13.数据库物理设计的内容和步骤
- 数据库在物理设备上的存储结构与存取方法称为数据库 的物理结构,它依赖于选定的数据库管理系统。数据库物理设计的主要内容是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构。
- 数据库的物理设计步骤通常分为两步:
- 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构
- 对物理结构进行评价,评价的重点使时间效率和空间效率。
14.数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性
- 数据库是用来对数据进行存储、管理和应用的,因此必须在实施阶段必须将原有系统中的历史数据输入到数据库。数据量一般都很大,而且数据来源部门中的各个不同的单位。数据组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就各类源数据从各个局部应用中抽取出来,分类转换,最后综合成复合新设计的数据结构的形式,输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工输入数据处理系统时,各类数据分散在不同的原始表格、凭证、单据中,数据输入工作量更加庞大。
- 保证数据输入正确性的方法:
为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据库入库的任务。在源数据入库之前要采用多种方法对其进行检验,以防止不正确的数据入库。
14.数据库的再组织和重构造是什么?为什么要进行数据库的再组织和重构造
- 数据库的再组织是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等以提高系统性能。
数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。 - 进行数据库的在组织和重构造的原因:数据库与运行一段时间后,由于记录不断增删改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供与数据重组织的实用程序。数据库的应用环境常常发生变化,如增加新的应用和实体,取消某些应用,有的实体与实体之间的联系也发生了变化,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式,这就要进行数据库重构造。