数据库题库答案(一)_第1页
数据库题库答案(一)_第2页
数据库题库答案(一)_第3页
数据库题库答案(一)_第4页
数据库题库答案(一)_第5页
已阅读5页,还剩35页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

数据库原理题库

一、简答题

1.简述数据库系统的特点。

数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。

L数据结构化:数据之间具有联系,面向整个系统。

2.数据的共享性高,冗余度低,易扩充。数据可以被多个用户、多个应用程序共享使用,

可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。

3.数据独立性高:数据独立性包括数据的物理独立性和逻辑独立性。

物理独立性是指数据在磁盘上的数据库中如何存储是由DBMS管理的,用户程序不需要了解,

应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,用户的程序

不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数

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

4.数据由DBMS统一管理和控制:数据库的共享是并发的(concurrency)共享,即多个用

户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据。DBMS必须提供以

下几方面的数据控制功能:

数据的安全性保护(security)

数据的完整性检查(integrity)

数据库的并发控制(concurrency)

数据库的故障恢复

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

(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,

并被保存在数据字典中。

(2)数据组织、存取、管理功能。

DBMS要分类组织、存储和管理各种数据,包括数据字典。用户数据。数据的存取路径等。

(3)数据操作功能。

DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。

(4)数据库事务管理和运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性

和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。

(5)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,

系统性能监视、分析等功能。

(6)其他功能。DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系

统协调完成。

答:数据定义功能;数据的组织存储管理;数据操纵功能;数据库的运行控制管理,数据控制包括:

安全(Security)、完整(Integrity)、并发(Concurrency)、恢复(Recovery);数据库的建立和维

护功能。

3.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与

程序的独立性?

答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的

数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。

应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,

简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理

员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数

据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映

像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

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

答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成;外模式

(Sub-Schema):用户的数据视图,是数据的局部逻辑结构,模式的子集;模式(Schema):所有用

户的公共数据视图,是数据库中全体数据的全局逻辑结构和特性的描述,一个数据库只有一个模

式;

内模式(StorageSchema):又称存储模式,数据的存储方式,数据库数据在物理结构的描述。数

据库系统三级模式结构,使数据库的用户看到的数据库,与数据库的物理方面,即实际存储的数

据库区分开来,提高了数据的物理独立性和逻辑独立性。数据与程序的独立,使得数据的定义从

应用程序中分离出去,用户的重点放在模式的定义上;由于数据的存取由DBMS管理,用户不必考

虑存取路径等细节,简化了应用程序的编制。

5.试述数据库系统的组成

答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、用用系统、数据库管理员构成。

数据库系统一般由硬件平台及数据库、软件、人员组成。硬件是必须的,软件有OS、DBMS、DBMS

为核心的应用开发工具、应用系统,用户又细分为最终用户、应用程序员、系统分析员、数据库

管理员DBA,数据库设计员。

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

答:文件系统的特点:1、数据可以长期保存2、由文件系统管理数据。其缺点为:数据共享性差,冗

余度大,数据独立性差,容易造成数据的不一致;数据库系统中,数据是面向整个系统,实现了数据

的结构化;数据的共享性高,冗余度低,易扩展;数据独立性高;数据由DBMS统一管理和控制。文件

系统和数据库系统均可以长期保存数据,由数据管理软件管理数据,数据库系统是在文件系统基础上

发展而来。

7.DBA的职责是什么

具体职责:(1)决定数据库中的信息内容和结构。

(2)决定数据库的存储结构和存储策略。

(3)定义数据的安全性要求和完整性约束条件。

(4)监督数据库的使用和运行

(5)数据库的改进和重组重构。

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

并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可

以用这5种基本运算来表达。

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

基表:是本身独立存在的表,在SQL中一个关系就对应一个基表。

视图:是从一个或几个基表导出的表。

区别:基表是实际存在保存数据的实体,一个(或多个)基表对应一个存储文件;视图本身并不独立

存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,视图是一个虚表。

联系:视图是在基表之上建立的,它的结构和内容都来自基表;一个视图可以对应多个基表,一个基

表也可以建立多个视图,视图是基表在逻辑意义建立的新关系。

10.简述视图的优点。(P125)

(1)视图能够简化用户的操作

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

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

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

(5)适当的利用视图可以更清晰的表达查询

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

不是。一般地,行列子集视图是可更新的。

不可更新的视图:

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

(2)若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,

但允许DELETE操作

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

(4)若视图定义中含有GROUPBY子句,则此视图不允许更新

(5)若视图定义中含有DISTINCT短语,则此视图不允许更新

(6)若视图定义中有嵌套查询,并且内层查询的FROM子句中涉及的表也是导出该视图的基

本表,则此视图不允许更新

(7)一个不允许更新的视图上定义的视图也不允许更新

12.简述SQL的特点。

答:⑴综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML,数据控制语言DCL的功能于一体。

⑵高度非过程化:用SQL语言进行数据操作,只要提出“做什么”,无须指明“怎么做",因此

无需了解存取路径。

⑶面向集合的操作方式:SQL语言采用的集合操作方式,不仅操作对象、查询结果可以是元组的

集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

⑷以同一种语法结构提供两种使用方法:SQL语言既是自含式语言,能独立地用于联机交互;又

是嵌入式语言,能嵌入到高级语言中进行混合编程。

⑸语言简捷,易学易用。

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

答:用游标来协调这两种不同的处理方式。游标区是系统为用户开设的一个数据缓冲区,存放SQL

语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并赋给主变量,

交由主语言进一步处理。

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

(1)实体完整性规则:用于定义属性的取值范围。(2)参照完整性的规则:定义一个或多个关系中属

性值间的联系、影响和约束。(3)用户自定义完整性规则:定义更新操作对数据库中值的影响和限制。

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

答重要性:关系系统的查询优化既是RDBMS实现的关键技术又是关系系统的优点所在。它减轻了用户

选择存取路径的负担。用户只要提出“干什么”,不必指出“怎么干”。查询优化的优点不仅在于用户

不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好。

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

每个属性值的分布情况、这些属性上是否有索引、是什么索引(B+树索引还是HASH索引或惟一索引或

组合索引)等。优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。(2)

如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在

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

甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。(4)

优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优

化相当于使得所有人都拥有这些优化技术。

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

设F是属性集总体U上的一组函数依赖,关系模型R〈U,F>。

自反律:若Y包含于X,X包含于U,则X->Y为F所蕴含。

增广律:若X->Y为F所蕴含,且Z包含于U,则若XZ->YZ为F所蕴含。

传递律:若X->Y及Y->Z为F所蕴含,则X->Z为F所蕴含。

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

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

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

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

用户还可将其拥有的存取权限转授给其他用户大型数据库管理系统几乎都支持自主存取控制,目前的

SQL标准也对自主存取控制提供支持,这主要通过SQL的GRANT语句和REVOKE语句来实现。

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

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

工作单位。事务具有4个特性:原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)

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

20.简述事物的原子性。

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

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

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

修改(lostupdate)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提

交的结果,导致T1的修改被丢失。(2)不可重复读(Non—RepeatableRead)不可重复读是

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

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

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

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

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

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

时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏

数据库的一致性。所以数据库管理系统必须提供并发控制机制

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

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

加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此

数据对象。封锁是实现并发控制的一个非常重要的技术。

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

简称S锁)。排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,

其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释

放A上的锁之前不能再读取和修改A。共享锁又称为读锁。若事务T对数据对象A加上S锁,则

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

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

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

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

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

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

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

方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后

次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。

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

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

1、数据转储2、登录日志文件

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

答:(1)事务内部的故障;(2)系统故障;3)介质故障;4)计算机病毒。

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

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

两个不同的操作,在这两个操作之间有可能发生故障。这时,如果先写了数据库修改,而在运行记录

中没有登记这个修改,则以后就无法恢复这个修改,那么以后也就无法撤消这个修改。为了安全起见,

采用“运行记录优先原则”。它包括两点:(1)至少要等相应运行记录已经写入“日志”文件后,才能

允许事务往数据库中写记录。(2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许

事务完成“ENDTRANSACTION”处理。

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

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

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

障恢复。

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

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

逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)数据库运行和维护。这是一个

完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行

和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

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

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

分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系

统的功能。调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:(1)信息要求,

指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存

储哪些数据;(2)处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方

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

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

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

数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部分。其中数据项是数据的最小

组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数

据流和数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶

段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

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

答:属性;结构;命名

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

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

垃圾出所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,

安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

二、SQL

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

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

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

作者(作者编号,姓名)

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

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

用SQL语句,完成:

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

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

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

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

(5).建立视图,显示“人民出版社”的出版的图书的详细信息。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

用SQL语言完成以下操作:

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

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

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

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

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

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

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

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

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

试用SQL表达下列问题:

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

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

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

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

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

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

和成绩(Score)

5、现有如下关系:

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

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

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

用SQL语句完成下列问题:

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

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

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

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

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

三、分析题

1、设关系模式R(A,B,C),F={AC-B,AB-C,B-C},则R最高属于第几范式?说

明理由。

2、设有如下关系R

课程名教师名教师地址

C1马千里D1

C2于得水D1

C3余快D2

C4于得水D1

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

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

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

生的原因是什么?如何将它分解,分解后的关系能否解决操作异常问题?

表SC如下:

SN0CN0CTITLEINAMEIL0CAGRADE

80152C10S王平D170

80153C2DB高升D285

80154C1OS王平D186

80154C3AI杨杨D372

80155C4CL高升D292

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

GRADE为成绩

4、假设某旅馆业务规定,每个账单对应一个顾客,账单的发票号是唯一的,账单中包含一个顾客姓名、

到达日期和顾客每日的消费明细,账单的格式如题下图所示。

旅馆账单格式

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

2344562007/12/12007/12/1¥150.0

王大斌房租

6000

2344562007/12/12007/12/1

王大斌餐费¥37.00

600

2344562007/12/12007/12/1

王大斌电话费¥2.50

600

2344562007/12/12007/12/1

王大斌餐费¥98.00

601

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

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

试回答下列问题:

(1)找出R的候选键。

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

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

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模式集。

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模式集

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

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

如果规定:

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

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

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

试回答下列问题:

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

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

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

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

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

商品编商品名称寐购批单价库存数仓库号仓库地点

号决量

A1ABC华电122605S1中山路5号

A1AB丽电222004S1中11路5号

A2XYZi*箱210506S1中山路5号

A3PPP西装19808S2胜不潞8号

A4FK自行车24505S3胜禾潞8号

请仅在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)将此模型按照模式分解的要求分解为3NFo

四、设计题

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

商品名、单价、销售日期、销售量、供应者号、供应者名、供应者地址。假定:一个员工仅在一个销

售组;一个销售组可销售多种商品,一种商品只能由一个组销售;一种商品每天有一个销售量;一个

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

要求完成下列各题:

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

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

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

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

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

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

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

性别属性;

要求完成下列各题:

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

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

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

固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职

工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,

职工的属性有职工号、姓名。

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

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

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公司客户性质单位

折扣率95%联系人杨浩东联系电话82638779

车牌号颜色车型车辆类别

**0765白色帕萨特微型车

(2).记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、

结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给

业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表

1-2所不。

表「2维修委托书

No.20070702003登记日期:2007-07-02

车牌号**0765客户编号GS0051维修类型普通

作业分类中修结算方式自付进厂时间20070702

11:09

业务员张小江业务员编号012预计完工时间

故障描述

车头损坏,水箱漏水

(3).维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个

具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表『3所示。

表1-3维修派工单

No.20070702003

维修项目编维修项目工时维修员工种

维修员编号

012维修车头5.00012机修

012维修车头2.00023漆工

015水箱焊接补漏1.00006焊工

017更换车灯1.00012机修

(4).客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总

费用,记录在委托书中。

根据需求阶段收集的信息、,设计的实体联系图。按规范化要求设计出3NF的数据库模式,并指出

每个关系的主键和外键

8、某宾馆需要建立一个住房管理系统,部分的需求分析结果如下:

(1)一个房间有多个床位,同一房间内的床位具有相同的收费标准。不同房间的床位收费标准可

能不同。

(2)每个房间有房间号(如201,202等)、收费标准、床位数目等信息。

(3)每位客人有身份证号码、姓名、性别、出生日期和地址等信息。

(4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息。

(5)管理系统可查询出客人所住房间号。

9、根据需求阶段收集的信息,设计的实体联系图。按规范化要求设计出3NF的数据库模式,并指出

每个关系的主键和外键

10、某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:

(1)资料室有图书管理员若干名,他们负责己购入图书的编目和借还工作,每名图书管理员的信息

包括工号和姓名;

(2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者ID、姓名、电话和Email,

系统为不同读者生成不同的渎者ID;

(3)每部书在系统中对应惟一的一条在版编目数据(CIP,以下简称书目),书目的基本信息包括

ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同

书目的ISBN号不相同;

(4)资料室对于同一书目的图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当

前状态,每一本书在系统中被赋予惟一的图书ID;

(5)一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员

登记读者ID、所借图书ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录

归还时间;

(6)当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,即记录读者ID、需要借阅

的图书的ISBN号、预约时间。

某书目的信息如表2—1所示,与该书目对应的图书信息如表2-2所示。

表2-1书目信息

书名作者出版商ISBH号出版年月册数经办人

《数据结构》严蔚敏吴伟民清华大学出版社ISBN7-302-02368-91997.4401

表2-2图书信息

图书口ISBM号存放位置爆经办人

C832.1ISBN7-302-02368-9图书流通室已借出01

C832.2ISBN7-302-02368-9图书阅览室不外借01

C832.3ISBNT-302-02368-9图书流通室未借出01

C832.4ISBNT-302-02368-9图书流通室已预约01

系统的主要业务处理如下:

(1)入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则

由管理员编写该书的书目信息并录入系统,然后编写并录入图书信启、:否则,修改该书目的册数,

然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状

态始终为“不外借”。

(2)借书管理:读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信

息,同时将借出图书的状态修改为“已借出”。

(3)预约管理:若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、

书的ISBN号、预约时间和预约期限(最长为10天)。一旦其他读者归还这种书,就自动通知该预约

读者。系统将自动清除超出预约期限的预约记录并修改相关信息。

(4)还书管理:读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者,系统

自动计算罚金(具体的计算过程此处省略)。系统同时自动查询预约登记表。若存在其他读者预约该

书的记录,则将图书的状态修改为“已预约”,并将该图书ID写入相应的预约

记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态);否则,将该图书的状态

修改为“未借出”。

(5)通知处理:对于已到期且未归还的图书,系统通过Email自动通知读者;若读者预约的书已

到,系统则自动通过Email通知该读者来办理借书手续。

根据以上说明设计的实体联系图。按规范化要求设计出3NF的数据库模式,并指出每个关系的主

键和外键。

建立存储过程实现借书功能。

10、甲公司的经营销售业务目前是手工处理的,随着业务量的增长,准备采用关系数据库对销售信息

进行管理。经销业务的手工处理主要涉及三种表:订单、客户表和产品表。

订单

客户代码:订单号:

客户名:订货日期:

订货序号产品代码产品名称数量单价小计

总金额:

客户表

客户代码客户名地址电话

产品表

产品代码产品名称单价

为了用计算机管理销售信息,甲公司提出应达到以下要求:产品的单价发生变化时,应及时修改

产品表中的单价数据。客户购货计价采用订货时的单价。订货后,即使单价发生变化,计算用的单价

也不变。

根据以上说明设计的实体联系图。按规范化要求设计出3NF的数据库模式,并指出每个关系的主

键和外键。

三、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%。

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

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

CREATEVIEWVPS

AS

SELECTEMP.职工号,EMP.姓名,PRJ.工程名,SAL.工资FROMEMP,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=(SELECTPNOFROMPWHERE

COLOR='红色’))

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

selectSNO,SNAME,STATUSwhereCITY='北京'

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

selectcount(WEIGHT)fromPwherePNO='P2'

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

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

(5)统

温馨提示

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

评论

0/150

提交评论