一、选择题
B 2. C 3. C 4. A 5. C
B 7. C 8. B 9. D 10. C
D 12. B 13. B 14. D 15. B
B 17. C
二、填空题
- 数据库的结构设计、数据库的行为设计
- 新奥尔良法
- 分析和设计阶段、实现和运行阶段
- 需求分析
- 概念结构设计
- 自顶向下、自底向上
- 属性冲突、命名冲突、结构冲突
- 逻辑结构设计
- 确定物理结构、评价物理结构
- 数据库加载
- 运行和维护
- 物理
- 数据字典
- 需求分析
- 载入
三、设计题
1.一个图书管理系统中有如下信息。
图书:书号、书名、数量、位置
借书人:借书证号、姓名、单位
出版社:出版社名、邮编、地址、电话、E-mail
其中约定:
任何人可以借多种书,任何一种书可以被多个人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社名具有唯一性。
根据以上情况,完成如下设计。
(1)设计该系统的E-R图。
(2)将E-R图转换为关系模式。
(3)指出转换后的每个关系模式的主码。
关系模式及主码
图书(书号,书名,数量,位置,出版社名)
借书人(借书证号,姓名,单位)
出版社(出版社名,邮编,地址,电话,E-mail)
借阅(借书证号,书号,借书日期,还书日期)
2.图6-26(a)、(b)和(c)给出某企业管理系统三个不同的局部E-R图,将其合成一个全局E-R图,并设置各个实体以及联系的属性(允许增加必要的属性,也可将实体的属性改为联系的属性)。
![](https://img-blog.csdnimg.cn/673d41dc661a4f01a718e2bd364690a6.png)
各实体的属性如下。
部门:部门号、部门名、电话、地址
职员:职员号、职员名、职务、年龄、性别
设备:设备号、名称、规格、价格
零件:零件号、名称、规格、价格
3.经过需求分析可知,某医院病房计算机管理系统中需要管理以下信息。
科室:科室名、科室地址、科室电话、医生姓名
病房:病房号、床位号、所属科室
医生:工作证号、姓名、性别、出生日期、联系电话、职称、所属科室名
病人:病历号、姓名、性别、出生日期、诊断记录、主管医生、病房号
其中,一个科室有多个病房、多名医生,一个病房只属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
根据以上需求分析的情况,完成以下有关的设计。
(1)画出该计算机管理系统中有关信息的E-R图。
(2)将该E-R图转换为对应的关系模式。
(3)指出转换以后的各关系模式的范式等级和对应的候选码。
科室(科室名,科室地址,科室电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,性别,出生日期,联系电话,职称,科室名)
病人(病历号,姓名,性别,出生日期,诊断记录,工作证号,病房号)
- 排课是教学环节中的重要过程,该过程包括以下实体。
课程实体:course(cid,cname,chour,ctype)。其中,cid唯一标识每一个课程,cname为课程名,chour为课程学时,ctype为课程类别(0表示选修课,1表示必修课)。
教室实体:classroom(crid,crname,crbuilding)。其中,crid用于标识每一个教室,crbuilding为教室的楼宇,crname为教室的名称。
教师实体:teacher(tid,tname)。其中,tid唯一标识每一名教师,tname为教师姓名。
各实体的关系是:每一个教师可以教授多门课程,一门课程可以被多个教师教授,一个教室可以承载多门课程,一个课程可以被安排在多个教室中。当课程安排在指定教室的时候,需指明安排的日期(cdata)以及当天的第几节课程(carrange)。
请根据上述需求,回答以下问题。
(1)设计该系统的E-R图。
(2)将E-R图转换成关系模式,并指出主码。
(3)根据关系模式,使用SQL创建课程实体,要求SQL语句中包含主码约束和非空约束,各属性的类型及长度自选。
关系模式
course(cid,cname,chour,ctype)
classroom(crid,crname,crbuilding)
teacher(tid,tname)
teach(tid,cid)
arrangement(cid,crid,cdate,carrage)
创建课程实体
CREATE TABLE course
(cid CHAR(8) PRIMARY KEY,
cname VARCHAR(20) NOT NULL,
chour TINYINT NOT NULL,
ctype TINYINT NOT NULL
);
5.图书管理系统是一类常见的信息管理系统。分析图书管理系统后,初步获得的实体信息如下。
图书:book(bookid,bookname,num)。其中,bookid用于标识每一本图书,bookname为图书名称,num为图书数量。
借阅用户:bookuser(tid,username,age)。其中,tid用于标识每一个借书用户,username为借书用户姓名,age为借书用户年龄。
图书实体与借阅用户实体间的关系是:借阅用户可以借阅多本图书,同时,一本图书可以被多个借阅用户借阅。借阅过程产生借书日期(borrow_time)和还书日期(return_time)等属性。
请根据上述需求,回答以下问题。
(1)设计该系统的E-R图。
(2)将E-R图转换成关系模式,并指出主码。
(3)根据关系模式,使用SQL创建借书用户实体,要求SQL语句中包含主码约束和非空约束。
关系模式
book(bookid,bookname,num)
bookuser(tid,username,age)
borrow(bookid,tid,borrow_time,return_time)
创建用户实体
CREATE TABLE bookuser
(tid CHAR(8) PRIMARY KEY,
username VARCHAR(20) NOT NULL,
age INT,
);
四、简答题
1.数据库设计分为哪几个阶段?每个阶段的主要工作是什么?
按规范设计法可将数据库设计分为六个阶段
1.系统需求分析阶段
需求分析是整个数据库设计过程的基础,要收集数据库所有用户的信息内容和处理要求,并加以规格化和分析。
2.概念结构设计阶段
概念结构设计是把用户的信息要求统一到一个整体逻辑结构中。
3.逻辑结构设计阶段
逻辑结构设计是将上一步所得到的概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。
4.物理结构设计阶段
物理结构设计是为逻辑数据模型建立一个完整的、能实现的数据库结构,包括存储结构和存取方法。
5.数据库实施阶段
此阶段可根据物理结构设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。
6.数据库运行与维护阶段
这一阶段主要是收集和记录实际系统运行的数据,数据库运行的记录用来提供用户要求的有效信息,用来评价数据库系统的性能,并进一步调整和修改数据库。
2.在数据库设计中,需求分析阶段的任务是什么?主要包括哪些内容?
从数据库设计的角度来看,需求分析的任务是:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。
需求分析阶段的任务包括:(1)调查分析用户活动;(2)收集和分析需求数据,确定系统边界;(3)编写系统分析报告。
3.数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性?
由于数据库的数据量一般都很大,它们分散于一个企业(或组织)中各个部门的数据文件、报表或多种形式的单据中,存在着大量的重复,并且其格式和结构一般都不符合数据库的要求,必须把这些数据收集起来加以整理,去掉冗余并转换成数据库所规定的格式,这样处理之后才能装入数据库
为了保证装入数据库中数据的正确无误,必须高度重视数据的校验工作。在输入子系统的设计中应该考虑多种数据检验技术,在数据转换过程中应使用不同的方法进行多次检验,确认正确后方可入库。
4.什么是数据库的概念结构?试述概念结构设计的步骤。
概念结构是信息世界的结构,即概念模型。概念结构具有语义表达能力丰富、易于交流和理解、易于修改和扩充、易于向各种数据模型转换。
概念结构设计的步骤
自底向上的设计方法可分为以下两步,(1)进行数据抽象,设计局部E-R模型,即设计用户视图;(2)集成各局部E-R模型,形成全局E-R模型,即视图集成。
5.用E-R图表示概念模式有什么好处?
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。E-R可将现实世界中的复杂联系抽象为简明的图形结构,可有效提高数据库概念设计的效率和灵活性。
6.试述实体、属性划分的原则,并举例说明。
实体和属性之间在形式上并无可以明显区分的界限,通常是按照现实世界中事物的自然划分来定义实体和属性,将现实世界中的事物进行数据抽象,得到实体和属性。一般有两种数据抽象:分类和聚集。
① 分类(Classification)。
分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。对象和实体之间是“is member of”的关系。例如,在教学管理中,“赵亦”是一名学生,表示“赵亦”是学生中的一员,她具有学生们共同的特性和行为。
② 聚集(Aggregation)。
聚集定义某一类型的组成成分,将对象类型的组成成分抽象为实体的属性。组成成分与对象类型之间是“is part of”的关系。例如,学号、姓名、性别、年龄和系别等可以抽象为学生实体的属性,其中学号是标识学生实体的主码。
7.局部E-R图的集成主要解决什么问题?
(1)合并局部E-R图,消除局部E-R图之间的冲突,(2)通过E-R图优化,消除不必要的冗余,生成基本E-R图。
8.试述逻辑设计的步骤及把E-R图转换为关系模式的转换原则,并举例说明。
一般的逻辑设计分为三步:初始关系模式设计、关系模式规范化、模式的评价与改进。
将E-R图转换为关系模型实际上就是将实体、属性和联系转换成关系模式。在转换中要遵循以下原则。
(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的主码。
(2)一个联系转换为一个关系模式,与该联系相连的各实体的主码以及联系的属性均转换为该关系的属性。该关系的主码有三种情况。
① 如果联系为1:1,则每个实体的主码都可以是关系的候选码。
② 如果联系为1:n,则n端实体的主码是关系的主码。
③ 如果联系为n:m,则每个实体的主码的组合是关系的主码。
9.试述数据库实施阶段的工作要点。
数据库实施主要包括:建立实际数据库结构、装入数据、应用程序编码与调试、数据库试运行和整理文档。
10.规范化理论对数据库设计有什么指导意义?
规范化理论是数据库逻辑设计的指南和工具,应用规范化理论可对关系的逻辑模式进行初步优化,以减少乃至消除关系模式中存在的各种异常,改善完整性、一致性和存储效率。
在需求分析阶段、概念结构设计阶段和逻辑结构设计阶段,数据库规范化理论的应用如下。
(1)在需求分析阶段,用函数依赖的概念分析和表示各个数据项之间的联系。
(2)在概念结构设计阶段,以规范化理论为指导,确定关系的主码,消除初步E-R图中冗余的联系。
(3)在逻辑结构设计阶段,从E-R图向数据模型转换过程中,用模式合并与分解方法达到指定的数据库规范化级别(至少达到3NF)。
版权归原作者 Meteor.792 所有, 如有侵权,请联系我们删除。