数据库原理试题库与解析_第1页
数据库原理试题库与解析_第2页
数据库原理试题库与解析_第3页
数据库原理试题库与解析_第4页
数据库原理试题库与解析_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理题库

1.数据库管理系统的主要功能有哪些?

答:数据库定义功能;数据存取功能;数据库运行管理;数据库的建立和维护功能。

2.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么

数据库系统具有数据与程序的独立性?

答:物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。

即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只

是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据

的逻辑结构改变时,用户程序也可以不变。

数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS

负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

3.简述数据库系统的三级模式结构。

答:1)模式模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征

的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图。

一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据

之间的联系,定义与数据有关的安全性、完整性要求。(2)外模式外模式也称用

户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数

据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子

集。一个数据库可以有多个外模式。应用程序都是和外模式打交道的。外模式是保证

数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,

数据库中的其余数据对他们是不可见的。(3)内模式内模式也称存储模式,一个

数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部

的表示方式。例如,记录的存储方式是顺序结构存储还是B树结构存储;索引按什么

方式组织;数据是否压缩,是否加密;数据的存储记录结构有何规定等

4.试述数据库系统的组成。

答:数据库;硬件平台;软件;人员

5.简述文件系统与数据库系统的区别和联系。

答:区别:(1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一

存储数据;(2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据

分离;(3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS

统一管理和控制数据;(4)文件系统实现以文件为单位的数据共享,数据库系统实现

以记录和字段为单位的数据共享。

联系:1)均为数据组织的管理技术;(2)均由数据管理软件管理数据,程序与

数据之间用存取方法进行转换;(3)数据库系统是在文件系统的基础上发展而来的。

6.DBA的职责是什么?

答:负责全面地管理和控制数据库系统。具体职责包括:

①决定数据库的信息内容和结构;②决定数据库的存储结构和存取策略;

③定义数据的安全性要求和完整性约束条件;④监督和控制数据库的使用和运行;

⑤改进和重组数据库系统。

7.关系代数的基本运算有哪些?

答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、

连接和除,均可以用这5种基本运算来表达。

8.什么是基本表?什么是视图?两者的区别和联系是什么?

答:基本表是本身独立存在的表,在sQL中一个关系就对应一个表。视图是从一个或

几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只

存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。

视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定

义视图。

9.简述视图的优点

答:1)视图能够简化用户的操作;

2)视图使用户能以多种角度看待同一数据;

3)视图对重构数据库提供了一定程度的逻辑独立性;

4)视图能够对机密数据提供安全保护

10.所有的视图是否都可以更新?哪类视图是可以更新的,哪类视图是不可更新

的?

答:一般的,行列子集试图使可更新的。除此之外,还有些视图理论上可更新,有些

理论上不可更新。

目前各个关系数据库一般都只允许对行列子集视图进行更新,对视图的更新还有进一

步的规定。

例如DB2规定:

1)若视图是由两个以上的基本表导出的,则此视图不允许更新。

2)若视图的字段来自字段表达式或常数,则此视图不允许更新。

3)若视图的字段来自集函数,则此视图不允许更新。

4)视图定义中有GroupBy或Distinct字句,不允许更新。

5)若视图定义中有嵌套查询,并且内层查询的From字句中涉及的表也是导出该视

图的基本表,此视图不允许更新。

6)一个不允许更新的视图上定义的视图也不允许更新。

11.简述SQL的特点。

答:1.综合统一2.高度非过程化3.面向集合的操作方式4.以同一种语

法结构提供多种使用方式5.语言简洁,易学易用6.对于数据统计方便直观

12.在嵌入式SQL中是如何协调SQL语言的集合处理方式和主语言的单记录处理

方式的?

答:游标是用于协调SQL语言的集合处理方式和主语言的单记录处理方式.

SQL语言与主语言具有不同的数据处理方式.SQL语言是面向集合的,一条SQL语句原则

上可以产生或处理多条记录.

主语言是面向记录的,一组主变量一次只能存放一条记录.所以仅使用主变量并不

能完全满足SQL语句向应用程序输出数据的要求,为此嵌入式SQL引入了游标的概念,

用游标来协调这两种不同的处理方式.

13.关系数据库的完整性规则有哪几类?

答:域完整性规则,用于定义属性的取值范围;

域联系的规则,定义一个或多个关系中,属性值间的联系、影响和约束。

关系完整性规则,定义更新操作对数据库中值的影响和限制。

14.试述查询优化在关系数据库系统中的重要性和可能性。

答:重要性:关系系统的查询优化既是RDBMS实现的关键技术又是关系系统的优点所

在。它减轻了用户选择存取路径的负担。用户只要提出“干什么",不必指出“怎么干

查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且

在于系统可以比用户程序的"优化'夕做得更好。

可能性:这是因为:(1)优化器可以从数据字典中获取许多统计信息,例如关

系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引

(B+树索引还是HASH索引或惟一索引或组合索引)等。优化器可以根据这些信息

选择有效的执行计划,而用户程序则难以获得这些信息。(2)如果数据库的物理统

计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关

系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。(3)优化器

可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能

考虑有限的几种可能性。(4)优化器中包括了很多复杂的优化技术,这些优化技术

往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化

技术。

15.写出Armstrong推理规则中自反律、增广律、传递律的形式化定义。

答:自反律:若属性集丫包含于属性集X,属性集X包含于U,则X-Y在R上成立。

(此处X-Y是平凡函数依赖)

增广律:若X-Y在R上成立,且属性集Z包含于属性集U,则XZ-YZ在R上成立。

传递律:若X-Y和Y-Z在R上成立,则XfZ在R上成立。

16.简述日志文件的内容。

答:日志文件是用来记录事务对数据库的更新操作的文件。

17.简述SQL中的自主存取控制机制。

答:同一用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不

同的权限,用户还可将其拥有的存取权限转授给其他用户大型数据库管理系统几乎都

支持自主存取控制,目前的SQL标准也对自主存取控制提供支持,这主要通过SQL的

GRANT语句和REVOKE语句来实现。

18.简述数据库中事务的概念及其性质.

答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个

不可分割的工作单位。

事务具有4个特性:原子性(Atomicity)、一致性(consistency)、隔离性

(Isolation)和持续性(Durability)。这4个特性也简称为ACID特性。

19.简述事物的原子性。

答:原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都

不做。

20.简述并发操作带来的三类数据不一致性。

答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数

据。(1)丢失修改(lostupdate)两个事务T1和T2读入同一数据并修改,T2

提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。(2)不可

重复读(Non-RepeatableRead)不可重复读是指事务T1读取数据后,事务几

执行更新操作,使T1无法再现前一次读取结果。(3)读“脏”数据(DirtyRead)

读“脏’夕数据是指事务T1修改某一数据,并将其写回磁盘,事务几读取同一数据

后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,几读到的数据就

与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。

21.在数据库中为什么要并发控制?并发控制技术可以保证事务的哪些特征?

答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据

库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会

存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发

控制机制

22.什么是封锁?基本的封锁类型有几种?

答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,

对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之

前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。

基本的封锁类型有两种:排它锁(ExclusiveLocks,简称x锁)和共享锁

(ShareLocks,简称S锁)。排它锁又称为写锁。若事务T对数据对象A加上X锁,

则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释

放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改Ao

共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能

修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。

这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修

改。

23.简述两段封锁协议的内容。

答:L在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁。2.在

释放一个封锁之后,事务不再获得任何其他封锁。

24.简述数据库系统中活锁和死锁的含义。避免活锁的简单方法是什么?

答:活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活.避免

活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封

锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队

列中第一个事务获得锁。

25.什么叫做数据库的恢复?数据库恢复的基本技术有哪些?

答:数据库恢复是指通过技术手段,将保存在数据库中上丢失的电子数据进行抢救和

恢复的技术。1、数据转储2、登录日志文件

26.简述数据库系统中可能发生的故障类型,以及数据恢复方法。

答:(1)事务内部的故障;

(2)系统故障;

(3)介质故障;

(4)计算机病毒。

27.简述“运行记录优先原则”。

答:在数据库系统中,写一个修改到数据库中和写一个表示这个修改的登记记录到日

志文件中是两个不同的操作,在这两个操作之间有可能发生故障。这时,如果先写了

数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改,那么

以后也就无法撤消这个修改。为了安全起见,采用''运行记录优先原则”。它包括两点:

(1)至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中

写记录。

(2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成

“ENDTRANSACTION”处理。

28.简述日志文件内容及其作用。

答:(1)日志文件是用来记录事务对数据库的更新操作的文件。

(2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副

本进行介质故障恢复。

29.简述数据库设计过程。

答:这里只概要列出数据库设计过程的六个阶段:(1)需求分析;(2)概念结构

设计;(3)逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)

数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括

设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系

统往往是上述六个阶段的不断反复。

30.需求分析阶段的设计目标是什么?调查的内容是什么?

答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、

企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,

然后在此基础上确定新系统的功能。调查的内容是“数据”和“处理”,即获得用户对

数据库的如下要求:(1)信息要求,指用户需要从数据库中获得信息的内容与性质,

由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;(2)处理要求,

指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是

联机处理;(3)安全性与完整性要求。

31.数据字典的内容和作用是什么?

答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(1)数据

项;(2)数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部

分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据

字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。数据字典

的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行

概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

32.在全局ER模型设计过程中,需要消除局部ER模型之间存在的哪三种冲

突?

答:属性;结构;命名

33.简述数据库完整性和安全性的概念。

答:完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,

即所谓垃圾进垃圾出所造成的无效操作和错误结果。后者是保护数据库防止恶意的破

坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性

措施的防范对象是不合语义的数据。

三、SQL

1、有4个关系模式如下:

出版社(出版社编号,出版社名称)

图书(图书编号,书名,出版社编号,定价)

作者(作者编号,姓名)

著书(图书编号,作者编号,作者排序)

注:作者排序=1表示第一作者,依此类推。

用SQL语句,完成:

(1).检索所有定价超过20元的书名。

答案:SELECT书名FROM图书WHERE定价>20

(2).统计每个出版社图书的平均定价。

答案:SELECT出版社编号,AVG(定价)FROM图书GROUPBY出版社编

(3).将科学出版社的所有图书定价下调5%。

答案:UPDATE图书SET定价=定价*0.95WHERE出版社编号IN(SELECT

出版社编号FROM出版社WHERE出版社名称」科学〃)

【说明】WHERE出版社名称LIKE“科学”也正确。

(4).列出所有图书的书名、第一作者姓名和出版社名称。

答案:SELECT书名,姓名,出版社名称FROM出版社A,图书B,作者C,

著书DWHEREA.出版社编号=B.出版社编号ANDB.图书编号=以图书

编号ANDC.作者编号=口.作者编号AND作者排序=1。

2、设有如下3个关系模式:

职工EMP(职工号,姓名,性别,出生年月)

工程PRJ(工程编号,工程名称,预算)

报酬SAL(职工号,工程编号,工资)

用SQL语句,完成第(1)-(6)题。

(1).创建“报酬”表,其中主码为''职工号,工程编号”,外码为“职工号”

和“工程编号”

(2).按照职工号统计每个职工的总收入。

SELECTSUM(工资)FROMPRJGROUPBY职工号

(3).检索所有预算超过100万的工程的情况。

SELECT*FROMPRJWHERE预算>100

(4).将参加了101号工程的职工工资提高10%0

UPDATESALSET工资=工资*1.1WHERE工程编号='101'

(5).创建一个查询职工承担工程的视图VPS,VPS包括职工号、姓名、工程

名称和工资属性。

CREATEVIEWVPS

AS

SELECTEMP.职工号,EMP.姓名,PRJ.工程名,SAL.工资FROM

EMP,PRJ,SALWHERESAL.职工号=EMP.职工号ANDSAL.工程编号=

PRJ.工程编号

(6).将“报酬”表的查询权限授给用户王红。

3、在供应商、零件数据库中有以下3个关系模式:

供应商:S(SNO,SNAME,CITY,STATUS)

零件:P(PNO,PNAME,WEIGHT,COLOR,CITY)

供应货:SP(SNO,PNO,QTY)

供应货关系SP表示某供应商SNO,供应了PNO零件,数量为QTY。

用SQL语言完成以下操作:

(1)求供应红色零件的供应商名字;

selectSNAMEfromSwhereSNO=(SELECTSNOFROMSPWHEREPNO

=(SELECTPNOFROMPWHERECOLOR='红色'))

(2)求北京供应商的号码、名字和状况(STATUS);

selectSNO,SNAME,STATUSwhereCITY='北京'

(3)求零件P2的总供应量;

selectcount(WEIGHT)fromPwherePNO='P2'

(4)把零件P2的重量增加5公斤,颜色该为黄色。

updatePsetWEIGHT=WEIGHT+5,COLOR='黄色'WHEREPNO='P2'

(5)统计每个供应商供应的项目总数。

SELECTCOUNT(PNO)FROMSPGROUPBYSNO

4、有3个关系模式如下:

学生S(S#,Sname,Age,Sex)

学习SC(S#,C#,Score)

课程C(C#,Cname,Credit,Teacher)

试用SQL表达下列问题:

(1)检索JIANG老师所授课程的课程号和课程名。

selectC#,CnamefromCwhereTeacher='JIANG'

(2)检索年龄大于23岁的男学生的学号和姓名。

selectS#,SnamefromSwhereAge>23andSex='男'

(3)检索WANG同学不学的课程的课程号。

selectC#fromSCwhereC#notin(selectC#fromSCwhereS#in

(selectS#fromSwhereSname='WANG'))

(4)统计每门课程的平均成绩。

selectavg(Score)fromSCgroupbyC#

(5)修改“数据库原理”的学分,改为4学分。

updateCSsetScore='4'whereC#=(selectC#fromCwhereCname

='数据库原理')这个题目不明确,你要改的学分是哪个?是课表里面的

学分吗?

updateCsetCredit='4"whereCname='数据库原理'

(6)创建一个查询学生成绩的视图VSC,VSC包括学生号(S#)、学生姓名

(Sname)、课程名称(Cname)和成绩(Score)

createviewVSC

selectS.S#,S.Sname,C.Cname,ScorefromS,C,SCwhereS.S#=SC.S#

andC.C#=SC.C#

5、现有如下关系:

职工(职工号,姓名,性别,职务,家庭地址,部门编号)

部门(部门编号,部门名称,地址,电话)

保健(保健卡编号,职工号,检查身体日期,健康状况)

用SQL语句完成下列问题:

(1).查找所有女科长的姓名和家庭地址;

select姓名,家庭地址from职工where职务='科长'and性别=

‘女’

(2).统计“财务科”中健康状况为“良好”的职工人数。

selectcount(a.职工号)from职工a,部门b,保健cwherea.部门

编号=b.部门编号anda.职工号=c.职工号andb.部门名称='财务科'

andc.健康状况='良好'

(3).删除“销售处”职工在职工关系中的记录;

deletefrom职工where部门编码in(select部门编号from部门

where部门名称='销售处')

go

deletefrom保健where职工号in(select职工号from职工

where部门编号in(select部门编号from部门where部门名称=

'销售处'))

(4).将职工号为“3061”的职工的健康状况改为“一般”;

update保健set健康状况='一般'where职工号='3061)

(5).建立健康状况为“差”的职工的视图。

createview差

select*from职工where职工号=(select职工号from保健

where健康状况='差')

三、分析题

1、设关系模式R(A,B,C),F={AC-B,AB-C,B-C},贝UR最

高属于第几范式?说明理由。

2、设有如下关系R

课程名教师名教师地址

C1马千里D1

C2于得水D1

C3余快D2

C4于得水D1

(1)该关系为第几范式?为什么?

(2)如何将它分解为高一级范式?

它为第几范式?为什么?

解:它是2NF。

因为R的候选关键字跳''课程名"。

依赖关系:课程名一教师名,教师名一课程名,教师名一教师地址,所以课程名

一教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R

不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

解:存在。当删除某门课程时会删除不该删除的教师的有关信息。

将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问

题?

解:分解为高一级范式如图所示。

R1如下:R2如下:

课程名教师名

教师名教师地址

马千里

马千里D1

C2于得水

于得水D1

C3余快

余快D2

C4于得水

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,

不会丢失教师方面的信息。

3、如下图给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明

是在什么情况下发生?发生的原因是什么?如何将它分解,分解后的关系能否解决操

作异常问题?

表SC如下:

SNOCNOCTITLEINAMEILOCAGRADE

80152C1OS王平DI70

80153C2DB高升D285

80154C1OS王平DI86

80154C3AI杨杨D372

80155C4CL高升D292

其中:SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,

ILOCA为教师地址,GRADE为成绩

解:SC为1NF。

它存在插入、删除异常操作。当增设一门新课程时,因还没有学生选修,则缺少关键

字的一部分SNO而不能执行插入操作;当所有学生退选某门课程而进行删除操作时,

会将不法删除的课程信息删除。

SC关系中存在插入和删除操作异常的原因在于,该关系的候选关键字为(SNO,CNO),

其中仅有非属性GRADE完全函数依赖于(SNO,CNO),其他非主属性CTITLE、INAME、

ILOCA都只函数依赖于CN0,即它们与(SNO,CNO)为部分函数依赖关系。分解后的关

系模式如下:

SG如下:

SNOCNOGRADE

0152Cl70

80153C285

80154Cl86

80154C372

80155C495

分解后的两个关系子模式都为2NF(实际上,SG是3NF,它无传递依赖)。解决了先前

的插入、删除异常操作。当增设一门新课程时,可将数据插入到CI表中;当所有学

生退选某门课程时,只需删除SG表中的有关记录,而该课程的有关信息仍保留在CI

表中。

分解2NF后的CI关系中仍存在插入、删除操作异常。若有一个新教师报到,需将其

有关数据插入操作;当取消某门课程而删除CI表中的一条记录时,会将不该删除的

教师的有关信息删除。CI表中出现操作异常的原因是该关系中存在非主属性对候选关

键字的传递函数依赖:

CNO-INA施,INAME-CNO,INAME-ILOCA,所以CNO-ILOCA(函数传递依赖,CI不

是3NF)

将CI进一步分解为如下所示的Course和Inst两个关系,可以解决上述操作异常。

d如下:COURSE

0CTITLEINAMEILOCACNOCTITLEINAME

C1OS王平D1C1OS王平

C2DB高升

C2DB高升D2

C3AI杨杨

C3AI杨杨D3C4CL高升

INAMEILOCA

C4CL高升D2

王子DI

高升D2

INST杨杨D3

4、假设某旅馆业务规定,每个账单对应一个顾客,

账单的发票号是唯一的,账单中包含一个顾客姓名、到达日期和顾客每日的消费明

细,账单的格式如题下图所示。

旅馆账单格式

发票号到达日期顾客姓名消费日期项目金额

23445662007/12/10王大斌2007/12/10房租¥150.00

23445662007/12/10王大斌2007/12/10餐费¥37.00

23445662007/12/10王大斌2007/12/10电话费¥2.50

23445662007/12/10王大斌2007/12/11餐费¥98.00

如果根据上述业务规则,设计一个关系模式:

R(发票号,到达日期,顾客姓名,消费日期,项目,金额)。

试回答下列问题:

(1)找出R的候选键。

(2)判断R最高可达到第几范式,为什么?

(3)给出R的一个可能的3NF分解。

答案:(1)R的候选键是(发票号,消费日期,项目)(2分)

(2)RG1NF(2分)

因为R中存在部分函数依赖:发票号一到达日期,顾客姓名。(2分)

(3)R1(发票号,到达日期,顾客姓名)(2分)

R2(发票号,消费日期,项目,金额)(2分)

5、已知新华书店销售订单的屏幕输出格式如下图所示。

订单编号:1379468客户编号:NC200578日期:2006-08-08

客户名称:双溪学校客户电话:65798661地址:双溪路16号

图书编号书名定价数量金额

3249786英语23.001002300.00

2578964哲学25.001002500.00

合计:4800.00元

书店的业务描述:

①每一个订单有唯一的订单编号;

②一个订单可以订购多种图书,且每一种图书可以在多个订单中出现;

③一个订单对应一个客户,且一个客户可以有多个订单;

④每一个客户有惟一的客户编号;

⑤每一种图书有惟一的图书编号。

根据上述业务描述和订单格式得到关系模式R:

R(订单编号,日期,客户编号,客户名称,客户电话,地址,图书编号,书名,

定价,数量)

试回答下列问题:

(1)根据上述规定,写出关系模式R的基本函数依赖;

(2)找出关系模式R的候选码;

(3)试问关系模式R最高已经达到第几范式?为什么?

(4)如果R不属于3NF,请将R分解成3NF模式集。

答案:(1)订单编号一日期,客户编号(1分)

图书编号一书名,定价(1分)

订单编号,图书编号一数量(1分)

客户编号一客户名称,客户电话,地址(1分)

(2)R的候选键是(订单编号,图书编号)(1分)

(3)RG1NF,因为R中存在非主属性部分函数依赖于候选键(1分)

(4)将R分解成

R1(订单编号,日期,客户编号)£3NF(1分)

R2(图书编号,书名,定价)F3NF(1分)

R3(客户编号,客户名称,客户电话,地址)G3NF(1分)

R4(订单编号,图书编码,数量)G3NF(1分)

6、假设某公司销售业务中使用的订单格式如下:

订单号:1145订货日期:09/15/2007客户名称:ABC客户电话:8141763

产品编号品名价格数量金额

A电源100.00202000.00

B电表200.00408000.00

C卡尺40.00502000.00

总金额:12000.00

公司的业务规定:

•订单号是唯一的,每张订单对应一个订单号;

•一张订单可以订购多种产品,每一种产品可以在多个订单中出现;

•一张订单有一个客户,且一个客户可以有多张订单;

•每一个产品编号对应一种产品的品名和价格;

•每一个客户有一个确定的名称和电话号码。

试根据上述表格和业务规则设计关系模式:

R(订单号,订货日期,客户名称,客户电话,产品编号,品名,价格,数量)

试回答下列问题:

(1)出R的基本函数依赖集。

(2)出R的候选码。

(3)判断R最高可达到第几范式?为什么?

(4)如果R不属于3NF,请将R分解成3NF模式集

答:(1)关系模式R的基本函数依赖集为:

订单号-订货日期

订单号一客户名称

产品编号一品名

产品编号一价格

客户名称一客户电话

订单号,产品编号一数量

(2)关系模式R的候选码是(订单号,产品编号)。

(3)RG1NF,因为R中存在非主属性对候选码的部分函数依赖。

(4)将R分解成以下四个关系模式:

R1(订单号,订货日期,客户名称)G3NF

R2(产品编号,品名,价格)G3NF

R3(客户名称,客户电话)F3NF

R4(订单号,产品编号,数量)S3NF

7.假设某商业集团数据库中有一关系模式R如下:

R(商店编号,商品编号,数量,部门编号,负责人)

如果规定:

(1)每个商店的每种商品只在一个部门销售;

(2)每个商店的每个部门只有一个负责人;

(3)每个商店的每种商品只有一个库存数量。

试回答下列问题:

(1)根据上述规定,写出关系模式R的基本函数依赖;

(2)找出关系模式R的候选码;

(3)试问关系模式R最高已经达到第几范式?为什么?

(4)如果R不属于3NF,请将R分解成3NF模式集。

答:1、(商店编号,商品编号)一部门编号;商店编号一负责人;(商店

编号,商品编号)一商品库存数量

2、商店编号,商品编号;

3、1NF,存在部分函数和传递函数依赖。

4、R1(商店编号,商品编号,商品库存数量,部门编号);R2(商

店编号,负责人)

8、设有如下商品库存关系R:

商品编商品名称采购批单价库存政仓库号仓库地点

号量

A1ABC影电122605S1中山路5号

A1AB学电222004S1中山踏5号

A2XYZ^ii210506S1中11655号

A3PPP西装19808S2胜不潞8号

A4FK自行车24505S3胜禾簸号

请仅在R中已给出数据的范围内分析其函数依赖关系并解答如下问题:

(1)、R最高为第几范式?为什么?(3分)

(2)、将它分解为满足3NF范式的关系模式。(5分)

(3)、分解后比分解前有什么好处?为什么?(5分)

9、数据模型分析,关系模型R(U,F)

U=ABCDEG,F={AD-E,AC-E,CB—G,BCD-AG,BD-A,AB-G,A-C}

(1)求此模型的最小函数依赖集。

(2)求出关系模式的候选码。

(3)此关系模型最高属于哪级范式。

(4)将此模型按照模式分解的要求分解为3NF。

依照题意,得出:

答:⑴、通过4.2.7最小集求法,Fm={AfE,BC-G,BD-A,A-C}

解函数依赖的右部,F={ADfE,AC-E,BCfG,BCD-A,BCD-G,BD

-A,AB-G,A—C}

消去左边的冗余属性:F={AT,A-E,BC-G,BD-A,BC-G,BD

-A,AB—G,A—C}

消去冗余的函数依赖:Fm={A-*E,BC-G,BD-A,A-C}

也可以为:m={A->E,AB->G,BD^A,A-*C}

(2)、候选码:BD

(3)、R中每一个非主属性完全函数依赖于R的候选键BD;但C,G都传递依

赖于R的候选键BD,也就是说,R满足2NF的要求,而不满足3NF的要

求。此关系模型最高属于2NF。

(4)、依据算法4.4(主要目的是消除函数依赖)

RI:U1=ABDF1={BD—A}

R2:U2=BCGF2={BC—G}

R3:U3=ACEF3={A—C,A—E}

四、设计题

1、设某商品-销售数据库中的信息有:员工号、员工名、工资、销售组名、销

售组负责人、商品号、商品名、单价、销售日期、销售量、供应者号、供应者名、

供应者地址。假定:一个员工仅在一个销售组;一个销售组可销售多种商品,一

种商品只能由一个组销售;一种商品每天有一个销售量;一个供应者可以供应多

种商品,一种商品可以多渠道供货。

要求完成下列各题:

(1)根据以上信息,给出E-R图。

⑵按规范化要求设计出3NF的数据库模式。

⑶给出数据库模式中每个关系模式的主键和外键。

答:(1)、E-R模型(10分;每个实体1分,包括属性;每个联系2分,包括联系

类型.)

(2)、3NF的关系模式:(10分)

R1(员工号,员工名,工资,销售组名);(2分,没有销售组名扣1分)

R2(销售组名,销售组负责人);(1分)

R3(商品号,商品名,单价,销售组名);(2分,没有销售组名扣1分)

R4(商品号,销售日期,销售量);(2分)

R5(供应者号,供应者名,供应者地址);(1分)

R6(商品号,供应者号).(2分)

注:若RI,R3分为二个模式,也要扣1分.

(3)、主键(3分)外键(2分)

R1员工号

R2销售组名

R3商品号销售组名

R4商品号,销售日期商品号

R5供应者号

R6商品号,供应者号商品号,供应者号

2、假设某公司的业务规则如下:

公司下设几个部门,如技术部、财务部、市场部等;每个部门承担多个工程项目,

每个工程项目属于一个部门;每个部门有多名职工,每一名职工只能属于一个部

门;一个部门可能参与多个工程项目。

工程项目有工程号、工程名两个属性;部门有部门号、部门名称两个属性;

职工有职工号、姓名性别属性

要求完成下列各题

(1)根据上述规则设计E-R模型

(2).按规范化要求设计出3NF的数据库模式,并指出每个关系的主键和外键。

答:1、这个题的E-R模型应该是这样的:部门与职工由一个关系(隶属)连

接起来,然后,部门与工程项目再用另一个关系(承担)联系起来,

其中职工与关系的连线是一对平行线,部门与关系(隶属)的连线是

单箭头连线(头指向部门),而工程项目与关系的连线也是一对平行

线,而部门与关系(承担)的连线也是一条单箭头连线(头指向部门)。

2、部门(部门号,部门名称)其中部门号是主键;

职工(职工号,姓名,性别)其中职工号是主键;

工程项目(工程号,工程名)其中工程号是主键;

隶属(部门号,职工号,职位)其中部门号和职工号既是它的主键也

是它的外键;承担(部门号,工程号,起始时间)其中部门号和工程

号既是它的主键也是它的外键.

3、企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工

厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,

且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性

有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的

属性有职工号、姓名。

(1)根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型

及实体的标识符。

(2)将E-R模型转换成关系模型,并指出每个关系模式的主键和外键。

ER图略(其中工厂与产品为m:n,联系的属性为数量;工厂与职工为1:n,联系的属

性为聘期、工资;

工厂(工厂编号,厂名,厂址)主键:工厂编号

产品(产品编号,产品名,规格)主键:产品编号

生产(工厂编号,产品编号,数量)主键:(工厂编号,产品编号)外键:工厂编号,

产品编号,分别参照工厂表中的工厂编号,产品表中的产品编号

职工(职工号,姓名,年龄,聘期,工资,工厂编号)主键:职工号;外键:工厂编号,

参照工厂表中的工厂编号

4、学生运动会模型:

•有若干班级,每个班级包括:班级号,班级名,专业,人数

•每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,

年龄

•有若干比赛项目,包括:项目号,名称,比赛地点

•每名运动员可参加多项比赛,每个项目可有多人参加

•要求能够公布每个比赛项目的运动员名次与成绩

•要求能够公布各个班级团体总分的名次和成绩

解题要求:

⑴画出每个实体及其属性关系、实体间实体联系的E-R图.

⑵根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并

指出每个表的主键和外键。

答:⑴

(2)班级(班级号,班级名,专业,人数)

主键:班级号

运动员(运动员号,姓名,性别,年龄,班级号)

主键:运动员号,外键:班级号

项目(项目号,项目名,比赛地点)

主键:项目号

比赛(运动员号,项目号,成绩,名次)

主键:运动员号,项目号,外键:运动员号;项目号

5、某单位的现实世界中有工程、水泥、供应商三种实体。假设,一个工程只

能用一种型号的水泥,一种型号的水泥可用于多个工程;一个供应商可生产多

种型号的水泥,一种型号的水泥可被多个供应商生产;一个供应商可为多个工

程供应水泥,一个工程也可从多个供应商采购水泥。要求能够反映:一个工程

使用的是什么型号的水泥;一个工程从不同的供应商那里分别采购了多少水

泥、采购单价分别是多少、已经分别支付了多少购买款;一个供应商为哪些工

程供应了水泥、供应的水泥型号分别是什么、分别供应了多少水泥、单价分别

是多少;等等。

请完成如下设计与分析:

(1)、设计满足上述应用特性的E-R图,并根据一般常识标明每个实体及联

系的若干属性。

(2)、将该E-R图转换为等价的关系模型结构,并用下划线标明每个关系模

式的关键字(码)。

(3)、在上述设计和转换过程中,什么情况下用到关系规范化理论?作用何

在?试举例说明之。

6、有论文和作者两个实体,论文有题目、期刊名称、年份和期号等属性,作

者有姓名、单位、地址等属性。一篇论文可能有多个作者,且一位作者可

能写过多篇论文,在每一篇论文中有作者的顺序。

要求完成下列各题:

(1).根据上述规则设计E-R模型。

(2).按规范化要求设计出3NF的数据库模式,并指出每个关系的主键和外键

关系模式:

论文期刊名称.年份.期刊号)

作者(姓名,单位,地址)

发衣(妇名.幽畅字号)

7、某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管

理。

(1).对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客

户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信

息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至

少有一台车。客户及车辆信息如表1T所示。

表1-1客户及车辆信息

客户编号GS0051客户名称XX公司客户性质单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论