第六章 数据库设计
一、选择题
1. 数据流程图是用于描述结构化方法中(D)阶段的工具。
A. 概要设计 B. 可行性分析 C. 程序编码 D.需求分析
2. 数据库设计中,用E-R图赖描述信息结构但不涉及信息在计算机中的表示,这是数据库设计的(C)。
A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D.物理设计阶段
3. 在数据库设计中,将ER图转换成关系数据模型的过程属于(B)。
A. 需求分析阶段 B.逻辑设计阶段C. 概念设计阶段 D. 物理设计阶段
4. 子模式DDL是用来描述(B)。
A. 数据库的总体逻辑结构 B. 数据库的局部逻辑结构
C. 数据库的物理存储结构 D.数据库的概念结构
5. 数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具是(C)。
A.层次分析法和层次结构图 B.数据流程分析法和数据流程图
C.实体联系法和实体联系图D.结构分析法和模块结构图
6. 在E-R模型向关系模型转换时,M:N的联系转换为关系模式时,其关键字是(C)。
A.M端实体的关键字B.N端实体的关键字
C.M、N端实体的关键字组合 D.重新选取其他属性
7. 某学校规定,每一个班级最多有50名学生,至少有10名学生;每一名学生必须属于一个班级。在班级与学生实体的联系中,学生实体的基数是(B)。
A. (0,1) B.(1,1)C. (1,10)D.(10,50)
8. 在关系数据库设计中,设计关系模式是数据库设计中(A)阶段的任务。
A. 逻辑设计阶段B.概念设计阶段 C. 物理设计阶段D. 需求分析阶段
9. 关系数据库的规范化理论主要解决的问题是(A)。
A.如何构造合适的数据逻辑结构
B.如何构造合适的数据物理结构
C.如何构造合适的应用程序界面
D.如何控制不同用户的数据操作权限
10. 数据库设计可划分为七个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上、键什么样的索引”这一设计内容应该属于(C)设计阶段。
A. 概念设计 B.逻辑设计 C.物理设计D.全局设计
11. 假设设计数据库性能用“开销”,即时间、空间及可能的费用来衡量,则在数据库应用系统生存期中存在很多开销。其中,对物理设计者来说,主要考虑的是(C)。
A. 规划开销 B. 设计开销 C.操作开销D.维护开销
12. 数据库物理设计完成后,进入数据库实施阶段,下述工作中,(D)一般不属于实施阶段的工作。
A. 建立库结构 B. 系统调试C. 加载数据 D.扩充功能
13. 从ER图导出关系模型时,如果实体间的联系是M:N的,下列说法中正确的是(C)。
A. 将N方关键字和联系的属性纳入M方的属性中
B. 将M方关键字和联系的属性纳入N方的属性中
C. 增加一个关系表示联系,其中纳入M方和N方的关键字
D. 在M方属性和N方属性中均增加一个表示级别的属性
14. 在ER模型中,如果有3个不同的实体集,3个M:N联系,根据ER模型转换为关系模型的规则,转换为关系的数目是(C)。
A. 4B. 5 C. 6D. 7
二、简答题
1. 试述数据库设计过程。
答:
1. 需求分析
2. 概念结构设计
3. 逻辑结构设计
4. 数据库物理设计
5. 数据库实施
6. 数据库运行和维护
这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行和维护。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
2. 试述数据库设计过程的各个阶段上的设计描述。
答:各阶段的设计要点如下:
1)需求分析:准确了解和分析用户需求(包括数据与处理)。
2)概念结构设计:通过对用户进行综合、归纳和抽象,形成一个独立于DBMS的概念模型。
3)逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4)数据库物理设计:为一个给定的逻辑数据模型选取一个最适合应用环境的物理接哦股的过程。
5)数据库实施:设计人员运用DBMS提供的数据语言、工具盒宿主语言,根据逻辑设计和物理设计的结构建立数据库,编制与调试应用程序,组织数据入库,并进行调试运行。
6)数据库运行与维护:对数据库系统运行进行评价、调整、修改等维护工作。
3. 试述数据库设计过程中结构设计部分形成的数据库模式。
答:数据库设计的不同阶段形成了数据库的各级模式,即:(1)在概念设计阶段形成独立于机器特点,独立于个DBMS产品的概念模式,在本篇中就是E-R图;(2)在逻辑设计阶段将E-R图转换成具体产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图,形成数据的外模式;(3)在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
4. 试述数据库设计的特点。
答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:(1)数据库建设是硬件、软件和干件(技术与管理的界面)的结合。(2)从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。
5. 需求分析阶段的设计目标是什么?调查的内容是什么?
答:需求分析阶段的设计目标是通过详细调查显示世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:(1)信息要求,指用户需要从数据库获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;(2)处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;(3)安全性与完整性要求。
6. 数据字典的内容和作用是什么?
答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(1)数据项;(2)数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部分。其中数据项是数据的最小组成单元,若干个数据可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
7. 什么是数据库的概念结构?试述其特点和设计策略。
概念结构是信息世界的结构,即概念模型,其主要特点是:
(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换。
概念结构的设计策略通常有四种:
· 自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
· 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
· 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
· 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
8. 什么叫数据抽象?试举例说明。
数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。
如分类这种抽象是:定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is member of”的语义。在E-R模型中,实体型就是这种抽象。例如在学校环境中,李英是老师,表示李英是教师类型中的一员,则教师是实体型,李英是教师实体型中的一个实体值,具有教师共同的特性和行为:在某个系某个专业教学,讲授某些课程,从事某个方向的科研。
9.试述数据库概念结构设计的重要性和设计步骤。
答:重要性:
数据库概念设计师整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。
设计需求:
概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构。
10.什么是E-R图?构成E-R图的基本要素是什么?
答:E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
·实体型:用矩形表示,矩形框内写明实体名。
·属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
·联系:用联系表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n).
11. 为什么要视图集成?视图集成的方法是什么?
在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。
一般说来,视图集成可以有两种方式:
· 多个分E-R图一次集成;
· 逐步集成,用累加的方式一次集成两个分E-R图。
无论采用哪种方式,每次集成局部E-R图时都需要分两步走:
(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。
(2)修改和重构。消除不必要的冗余,生成基本E-R图。
12. 什么是数据库的逻辑结构设计?试述其设计步骤。
答:
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
设计步骤为:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
13. 试述把E-R图转换为DBTG模型和关系模型的转换规则。
答:
E-R图向DBTG模型的转换规则:
1)每个实体型转换为记录型,实体的属性转换为记录的数据项;
2)实体型之间1:n(n≥1)的联系转换为一个系,没有任何联系的实体型转换为奇异系;
3)K(K≥2)个实体型之间多对多的联系,引入一个连结记录,形成K个实体型和连结记录之间的K个系。连结记录的属性由诸首记录的码及联系属性所组成;
4)同一实体型内的1:n,n:m联系,引入连结记录,转换为两个系。
*解析
根据我国实际情况,网状,层次数据库系统已很少使用,因此《概论》第三版把它们删去了,有关的主要概念放在第一章数据模型中介绍。对于DBTG模型的许多概念也介绍得很简单。本题的内容已经超出了书上的内容,同学们只要了解就可以了。但是,下面E-R图向关系模型的转换规则要求同学必须掌握,并且能够举一反三。
答:
E-R图向关系模型的转换规则:
一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。
(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(5)具有相同码的关系模式可合并。
*14. 你能给出由E-R图转换为IMS模型的转换规则吗?
答:
E-R图向IMS模型的转换规则:
1)每个实体型转换为记录型,实体的属性转换为记录的数据项;
2)实体型之间1:n(n≥1)的联系转换记录型之间的有向边;
3)实体型之间m:n(m>1,n>1)的联系则分解成一对多联系,再根据2)转换;
4)K(K≥2)个实体型之间多对多的联系,可先转换成多对两个实体型之间的联系,再根据3)转换。
*解析
IMS是IBM公司的层次数据库管理系统。IMS模型是层次模型。E-R图向IMS模型转换的另一种方法是,先把E-R图转换为网状模型,再利用IMS逻辑数据库LDB的概念来表示网状模型。详细方法这里从略。