设计时,必须适应所在的计算机硬件环境.选择合适的DBMS,了解并提高数据库用户的技术水平和管理水平。
③数据库系统设计时应使结构特性设计和行为特性设计紧密结合。数据库设计时,结构设计和行为设计应分离设计、相互参照、反复探寻,共同达到设计目标。 5 答:
需求分析阶段的设计目标是:弄清现实世界要处理的对象及相互关系,清楚原系统的概况和发展前景,明确用户对系统的各种需求,得到系统的基础数据及其处理方法,确定新系统的功能和边界。
需求分析调查的具体内容有3方面:
①数据库中的信息内容:数据库中需存储哪些数据,它包括用户将从数据库中直接获得或者间接导出的信息的内容和性质。
②数据处理内容:用户要完成什么数据处理功能;用户对数据处理响应时间的要求;数据处理的工作方式。
③数据安全性和完整性要求:数据的保密措施和存取控制要求;数据自身的或数据间的约束限制。 6答:
数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。 7答;
概念结构设计是将系统需求分析得到的用户需求抽象为信息结构过程。概念结构设计的结果是数据库的概念模型。
概念结构独立于数据库逻辑结构和支持数据库的DBMS.其主要特点是:
①概念模型是现实世界的一个真实模型:概念模型应能真实、充分地反映现实世界能满足用户对数据的处理要求。
②概念模型应当易于理解:概念模型只有被用户理解后 才可以与设计者交换意见参与数据库的设计。
③概念模型应当易于更改:由于现实世界(应用环境和应用要求)会发生变化,这就需要改变概念模型,易于更改的概念模型有利于修改和扩充。
④概念模型应易于向数据模型转换:概念模型最终要转换为数据模型。设计概念模型 时应当注意.使其有利于向特定的数据模型转换。 8 答.
抽象就是抽取现实世界的共同特性.忽略非本质的细节.井把这些共同特性用各种概念 精确地加以描述,形成某种模型。 例子如下.
①使用分类法抽象“职工”类:在企业环境中 张小英是职工中的一员,她具有职工们共有的特性和行为:在某个部门工作,参与某个工程的设计或施工:与张小英属同一对象的还有王丽平等其他职工,如图2所示:
图2 职工分类示意图
②使用聚集法抽象“职工”属性:把实体集“职工”的“职工号”、“姓名”等属性聚集为实体型“职工”,如图3所示
图3 职工属性聚集实例
③使用概括法将“职工”的子类合并:职工是个实体集,技术人员、干部也是实体集,但技术人员、干部均是职工的子集,如图4所示:
图4 概括表示实例
9.答:
概念结构设计是将系统需求分析得到的用户需求抽象为信息结构过程、概念结构设计的结果是数据库的概念模型。概念结构能转化为机器世界中的数据模型,并用DBMS实现这些需求。
概念结构的设计可分为两步:第一步是抽象数据并设计局部视图;第二步是集成局部视图,得到全局的概念结构。 10.答:
E-R图是描述现实世界的概念模型的图形,E-R图也称为实体一联系图,它提供了表示实体集、属性和联系的方法。构成E-R图的基本要素是实体集、属性和联系。 11.答:
视图集成就是把设计好的各于系统的分E-R图综合成一个系统的总E-R图,同时消除属性冲突、命名冲突、结构冲突,为关系数据库逻辑结构设计做准备。
视图的集成可以有两种方法:一种方法是多个分E-R图一次集成.如图5-a所示:另一种方法是逐步集成,用累加的方法一次集成两个分E-R图,如图5-b所示。
图5 视图集成的两种方法
12.答:
逻辑结构设计是把概念模型结构转换成某个具体的DBMS所支持的数据模型。逻辑结构设计步骤为:
①把概念模型转换成一般的数据模型。
②将一般的数据模型转换成特定的DBMS所支持的数据模型。 ③通过优化方法将其转化为优化的数据模型。 13.答:
l)E-R图转换为网状模型的方法为: ①每个实体集转换成一个记录。
②每个1:n的二元联系转换成一个系,系的方向由1方实体记录指向n方实体记录: ③每个m:n的二元联系,在转换时要引入一个连结记录,并形成两个系,系的方向由实体记录方指向连结记录方。
④K(≧3)个实体型之间的多元联系,在转换时也引入一个连结记录,并将联系转换成K个实体记录型和连结记录型之间的K个系,系的方向均为实体型指向连结记录。 2)E-R图转换为关系模型的方法为:
①一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。
②一个1:1联系可以转换为一个独立的关系,也可以与任意一端实体集所对应的关系合并。如果将1:1联系转换为一个独立的关系,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。如果将1:l联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。
③实体间的1:n联系可以有两种转换方法:一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成.而该关系的码为n端实体集的码;另一种方法是在n端实体集中增加新属性.新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。
④一个m:n联系转换为一个关系:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。 14.答:
数据库物理设计的内容主要是选择存取方法和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。 数据库的物理设计可以分为两步进行:
①确定数据的物理结构,即确定数据库的存取方法和存储结构: ②对物理结构进行评价。 15.答:
数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏降 低了数据的存取效率,数据库的性能也下降、这时,数据库管理员就要对数据库进行重组织或部分重组织。
重组织按原数据库设计要求重新安排有储位置、回收垃圾、减少指针链等,以提高系统性能。重构造通过部分修改数据库的模式和内模式,使数据库适应新的应用环境。 16. 答:
转换后的关系模型如图6所示。 出版社(出版社名,地址,邮政编码); 作者(姓名,性别,年龄,证件号码,单位); 出版(出版社名,作者姓名,出书数量,联系方式)。
图6
17.答:
该图书馆数据库的E-R图如图7
图7
其中:
读者:读者号,姓名,地址,性别,年龄,单位; 图书.书号,书名,作者,出版社。 转换后的关系模型为:
借阅者(读者号,姓名,地址,性别,年龄,单位); 书籍(书号,书名,作者,出版社);
借阅(读者号,书号,借出日期,应还日期)。 18 答:
转换后的关系模型如下:
Student(SNO,SN,SD,SA); Teacher(TNO,TN,TD,TG); Course(CNO,CN,PCNO); ST(SNO,TNO); SC(SNO,CNO,G); TC(TNO,CNO)。 19.答:
转换后的关系模型如下 工厂(厂名,厂长,地址); 产品(编号,型号,单价); 用户(姓名,地址,电话);
工厂-产品-用户(厂名,编号,姓名)。 20.答:
概念模型如图8所示。 关系模型为:
职工(职工号,姓名,住址,工作商品部);
商品部(商品部号,名称,经理职工号,经理名); 商品(商品代号,价格,型号,出厂价格);
生产厂家(厂名,地址); 销售(商品代号,商品部号); 生产(厂名,商品代号)。
图8 百货商店E-R图模型 图中:
职工:职工号,姓名,住址; 商品部:商品部号,名称;
商品:商品代号,价格,型号,出厂价格; 生产厂家:厂名,地址。 21.答:D
习题四
1.试述关系模型的三个组成部分。 2.试述关系数据语言的特点和分类。
3.定义并解释下列术语,说明它们之间的联系与区别。 1)主码、候选码、外码。
2)笛卡尔积、关系、元组、属性、域。 3)关系、关系模式、关系数据库。
4. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?
5. 试述等值连接与自然连接的区别和联系。 6. 对于学生选课关系,其关系模式为: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号 成绩)。 用关系代数完成如下查询。
1)求学过数据库课程的学生的姓名和学号。 2)求学过数据库和数据结构的学生姓名和学号。 3)求没学过数据库课程的学生学号。 4)求学过数据库的先行课的学生学号。
7. 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT);