《数据库系统概论》完整答案.docx
- 文档编号:11647674
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:10
- 大小:88.25KB
《数据库系统概论》完整答案.docx
《《数据库系统概论》完整答案.docx》由会员分享,可在线阅读,更多相关《《数据库系统概论》完整答案.docx(10页珍藏版)》请在冰豆网上搜索。
《数据库系统概论》完整答案
第一章
1.DBMS的主要功能有那些?
答:
DBMS是数据库管理系统。
其主要功能有:
(1)数据定义
有DDL翻译处理程序(包括外模式、模式、存储模式处理程序)、保密定义处理程序(如授权定义处理程序)、完整性约束定义处理程序等。
这些程序接收相应的定义,进行语法、语义检查,把它们翻译为内部格式存储在数据字典中。
DDL翻译程序还根据模式定义负责建立数据库的框架(即形成一个空库),等待装入数据。
(2)数据组织,数据存储和数据管理
有文件读写与维护程序、存取路径(如索引)管理程序、缓冲区管理程序(包括缓冲区读、写、淘汰模块),这些程序负责维护数据库的数据和存取路径,提供有效的存取方法。
(3)数据操纵
有DML处理程序、终端查询语言解释程序、数据存取程序、数据更新程序等。
DML处理程序或终端查询语言解释程序对用户数据操纵请求进行语法、语义检查,有数据存取或更新程序完成对数据库的存取操作。
(4)数据库的事务管理和运行管理
数据库在建立,运用和维护是由数据库管理系统统一管理,统一控制,以保证数据的安全性,完整性,多用户对数据的并发使用及发生故障后的系统恢复。
(5)数据库的建立和维护功能
数据库初始数据的输入,转换功能;数据库的存储,恢复功能;数据库的重组织功能和性能监视,分析功能等。
(6)其他功能:
DBMS与网络中其他软件系统的通信功能;一个DBMS也另一个DBMS或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
2.叙述数据模型的三个要素。
答:
(1)数据结构:
数据结构描述数据库的组成对象以及对象之间的联系。
也就是说,数据结构描述的内容有两类:
一类是与对象的类型,内容,性质有关的;一类是与数据之间联系有关的对象。
数据结构是刻画一个数据模型性质最重要的方面。
因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。
总之,数据结构是所描述的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:
对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。
数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。
数据操作是对系统动态特性的描述。
(3)数据完整性约束条件:
数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。
3.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
请用E-R图画出此工厂产品,零件,材料,仓库的概念模型。
答:
4.试述数据库系统三级模式结构,这种结构的优点是什么?
答:
三级模式结构:
外模式、模式和内模式
(1)模式(Schema)
定义:
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解:
①一个数据库只有一个模式;
②是数据库数据在逻辑级上的视图;
③数据库模式以某一种数据模型为基础;
④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
(1)外模式(ExternalSchema)
定义:
也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(3)内模式(InternalSchema)
定义:
也称存储模式(StorageSchema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解:
①一个数据库只有一个内模式;
②一个表可能由多个文件组成,如:
数据文件、索引文件。
它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法
其目的有:
①为了减少数据冗余,实现数据共享;
②为了提高存取效率,改善性能。
第二章
1.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?
什么情况下才可以为空?
答:
实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
2、设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
2)求供应工程J1零件P1的供应商号码SNO:
3)求供应工程J1零件为红色的供应商号码SNO:
4)求没有使用天津供应商生产的红色零件的工程号JNO:
答:
(1)SNO:
πSno(σSno=‘J1'(SPJ))
(2)SNO:
πSno(σSno=‘J1'∧Pno=‘P1‘(SPJ))
(3)SNO:
πSno(σPno=‘P1‘(σCOLOR='红‘(P)∞SPJ))
(4)JNO:
πJno(SPJ)-πJNO(σcity=‘天津'∧Color=‘红‘(S∞SPJ∞P)
第三章
1.针对上题中建立的4个表试用sQL语言完成第二章习题5中的查询。
( l)求供应工程Jl零件的供应商号码SNO;
(2)求供应工程Jl零件Pl的供应商号码SNO;
(3)求供应工程Jl零件为红色的供应商号码SNO;
(4)求没有使用天津供应商生产的红色零件的工程号JNO
(5)找出工程项目J2使用的各种零件的名称及其数量。
(6)找出上海厂商供应的所有零件号码。
(7)出使用上海产的零件的工程名称。
(8)把全部红色零件的颜色改成蓝色
(9)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
(10)请将(S2,J6,P4,200)插入供应情况关系。
答:
(1)SELECTDISTSNOFROMSPJWHEREJNO='J1'
(2)SELECTDISTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1'
(3)SELECTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红'
(4)SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,SWHERES.CITY='天津'ANDCOLOR='红'ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO)。
(5)SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'
(6)SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'
(7)SELECTJNAMEFROMSPJ,S,JWHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO
(8)UPDATEPSETCOLOR='蓝'WHERECOLOR='红'
(9)A、DELETEFROMSWHERESNO='S2'B、DELETEFROMSPJWHERESNO=‘S2'
(10)INSERTINTOSPJVALUES(‘S2',‘J6',‘P4',200)
2.什么是基本表?
什么是视图?
答:
基本表是本身独立存在的表,在sQL中一个关系就对应一个表。
视图是从一个或几个基本表导出的表。
视图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
第四章
1.试述实现数据库安全性控制的常用方法和技术。
答:
实现数据库安全性控制的常用方法和技术有:
(l)用户标识和鉴别:
该方法由系统提供一定的方式让用户标识自己的名字或身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
(2)存取控制:
通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如CZ级中的自主存取控制(DAC),Bl级中的强制存取控制(MAC)。
(3)视图机制:
为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(4)审计:
建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
(5)数据加密:
对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
2.请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
(a)用户王明对两个表有SELECT权力。
(b)用户李勇对两个表有INSERT和DELETE权力。
(c)每个职工只对自己的记录有SELECT权力。
(d)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。
(e)撤销各用户所授予的权力。
答:
(a)GRANTSELECTON职工,部门TO王明
(b)GRANTINSERT,DELETEON职工,部门TO李勇
(c)GRANTSELECTON职工WHENUSER()=NAMETOALL;
(d)GRANTALLPRIVILIGESON职工,部门TO周平
(e)Student.Sdept='IS'
第五章
1.数据库的完整性概念与数据库的安全性概念有什么区别和联系?
答:
数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:
eInGarba:
eout)所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
2.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。
用sQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。
答CREATETABLEDEPT(DeptnoNUMBER
(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)CONSTRAINTPK_SCRIMARYKEY(Deptno));CREATETABLEEMP(EmpnoNUMBER(4),EnameVARCHAR(10),AgeNUMBER
(2),CONSTRAINTC1CHECK(Aage<=60),JobVARCHAR(9),SalNUMBER(7,2),DeptnoNUMBER
(2),CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno));
1、出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、传递依赖、1NF、2NF、3NF、BCNF
答:
函数依赖:
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
完全函数依赖、部分函数依赖:
在关系模式R(U)中,若X→Y,且对于X的任何一个真子集X’,都有X’↛Y,则称Y完全函数依赖于X,记作XfY。
若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作XPY。
传递函数依赖:
在关系模式R(U)中,若X→Y,Y→Z,且Y⊈X,Y↛X,则称Z传递函数依赖于X,记作XtZ。
1NF:
若关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
1NF是对关系模式的最起码要求,不满足1NF的数据库模式不能称为关系数据库。
1NF⊃2NF⊃3NF⊃BCNF⊃4NF。
2NF:
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。
3NF:
关系模式R中若不存在这样的码X、属性组Y及非主属性Z(Z⊈Y),使得X→Y,Y↛X,Y→Z成立,则称R∈3NF。
BCNF:
设关系模式R∈1NF,如果对于R的每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。
第七章
1、试述数据库设计过程。
答:
(1).需求分析阶段
准确了解与分析用户需求(包括数据与处理)
是整个设计过程的基础,是最困难、最耗费时间的一步
(2).概念结构设计阶段
是整个数据库设计的关键
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
(3).逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型
对其进行优化
(4).数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
(5).数据库实施阶段
运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果
建立数据库,编制与调试应用程序,组织数据入库,并进行试运行
(6).数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改
设计特点:
在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计
2、请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:
读者号,姓名,地址,性别,年龄,单位。
对每本书存有:
书号,书名,作者,出版社。
对每本被借出的书存有读者号、借出日期和应还日期。
要求:
给出E一R图,再将其转换为关系模型。
答:
将以上E-R图转换成关系模型为:
读者(读者号,姓名,地址,性别书(书号,书名,作者,出版社)借书(读者号,书号,借出日期,年龄,单位)应还日期)
第十章
1.试述事务的概念和事务的四个特性。
答:
事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
事务的四个特性:
ACID
原子性(Atomicity):
事务中包含的所有操作要么全做,要么全不做。
原子性由恢复机制实现。
一致性(Consistency):
事务的隔离执行必须保证数据库的一致性。
事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态。
数据库的一致性状态由用户来负责。
隔离性(Isolation):
系统必须保证事务不受其它并发执行事务的影响。
对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行。
隔离性通过并发控制机制实现。
持久性(Durability):
一个事务一旦提交之后,它对数据库的影响必须是永久的,即使系统出现故障时也如此。
系统发生故障不能改变事务的持久性。
持久性通过恢复机制实现。
2.什么是日志文件?
为什么要设立日志文件?
答:
日志文件是用来记录事务对数据库的更新操作的文件,由系统自动记录。
不同数据库采用的日志文件格式不一样。
设立日志文件的意义:
事务故障恢复和系统故障恢复必须用日志;在动态转储方式中必须转存日志文件,由后援副本和日志结合有效恢复数据库;在静态转储方式中,利用日志文件可以恢复到故障前某一时刻的正确状态。
3.针对不同故障,给出恢复的策略和方法。
答:
事物故障的恢复:
利用日志文件撤消非正常终止的事务,事务故障发生后由系统自动完成。
反向扫描日志,查找该事务的更新操作,执行该更新操作的逆操作,继续查找该事务其他更新操作,直到该事务的开始标记。
系统故障的恢复:
利用日志撤消未完成的事务,重做已经完成的事务,重启系统,由系统自动完成。
从头正向扫描日志文件,找出已经有结束标志的事务,将其事务标记为重做(REDO)队列;同时找出没有结束的事务,将其事务标记为撤消(UNDO)队列。
正向扫描日志文件,对于每一个REDO事务重新执行。
反向扫描日志文件,对于每一个UNDO事务,执行更新的逆操作。
系统故障恢复的策略复杂,一般很耗时。
介质故障的恢复:
重新装入最近的数据副本和有关的日志文件副本,然后执行系统提供的恢复命令。
介质故障的恢复需要由DBA介入,重装数据库。
第十一章
1.并发操作可能会产生哪几类数据不一致?
用什么方法能避免各种不一致的情况?
答:
并发操作带来的数据不一致性包括三类:
丢失修改:
两个事务T1和T2读入同一数据并修改,一个事务T2的提交破坏了另一个事务T1提交的结果,导致T1的修改丢失。
不可重复读:
事务T1读取数据后,事务T2执行更新操作,使T1无法再次显现前一次的读取结果。
读‘脏'数据:
事务T2执行更新操作,事务T1读取数据后,事务T2撤消了原来的操作,使T1读取数据为‘脏'数据。
产生三类数据不一致性的主要原因是并发操作破坏了事务的隔离性。
并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性。
并发控制的主要技术是封锁、有效性确认。
2.什么是封锁协议?
不同级别的封锁协议的主要区别是什么?
答:
封锁协议:
何时申请封锁、申请什么样的封锁、何时释放封锁的规则称为封锁协议。
封锁协议分为3级:
1级封锁协议:
写数据加排他锁,直到事务结束才释放;
2级封锁协议:
写数据加排他锁,直到事务结束才释放,读数据加共享锁,读完即释放;
3级封锁协议:
写数据加排他锁,直到事务结束才释放,读数据加共享锁,直到事务结束才释放。
3.试述活锁产生的原因和解决方法。
答:
活锁是封锁的无序造成的。
解决方法是采用先来先服务的方法,即对要求封锁数据的事务排队,使前面的事务先获得数据的封锁权。
4.简述两段锁协议。
答:
两段锁协议(Two-phaseLocking,2PL):
在对任何数据进行读写之前,事务首先要获得对该数据的封锁;在释放一个封锁之后,事务不再获得任何其它封锁。
即事务分为两个阶段:
生长阶段:
获得封锁;收缩阶段:
释放封锁。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统概论 数据库 系统 概论 完整 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)