您好,欢迎访问三七文档
《数据库系统》练习题一一、名词解释题1.数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合2.数据库管理系统是用户与操作系统之间的一层数据管理软件,其作用是科学、有效地组织和存储数据、高效地获取和维护数据。3.数据库系统指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。4.实体完整性若属性(或属性组)A是基本关系R的主属性,则属性A不能取空值。5.参照完整性若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。6.数据库安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。7.数据库完整性数据库的完整性是指数据的正确性和相容性。二、填空题1.数据库中数据的独立性是由数据库的二级映象功能保证的。2.在数据库运行阶段,对数据库经常性的维护工作主要是由DBA(数据库管理员完成的。3.实体完整性规则规定,若属性A是基本关系R的主属性,则A不能取空值。4.SQL中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。5.数据模型的三要素是指__数据结构__,_数据操作_,_数据的完整性约束条件_。6.关系代数中,从两个关系中找出相同元组的运算称为__交__运算。7.关系的完整性约束条件包括三大类:_实体完整性__、_参照完整性_和_用户定义的完整性____。8.视图是一个虚表,在数据库中,只存放视图的定义,不存放视图对应的数据。9.用户选作元组标识的一个候选码为__主属性___,其属性不能取__空__。10.数据库的完整性是指数据的正确性和相容性。11.数据管理经过了手工文档、文件系统和__数据库系统__三个发展阶段。12.在关系模型中,实体之间的各种联系用关系来表示。三、简答题1.试述SQL语言的特点。(1)综合统一(2)高度非过程化(3)面向集合的操作方式(4)以同一种语法结构提供多种使用方式(5)语言简洁,易学易用2.常用的关系数据语言主要分为哪些类?其共同的特点是什么?关系数据语言可以分为三类:关系代数语言,包括:元组关系演算语言,域关系演算语言。具有关系代数和关系演算双重特点的语言。这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用3.试述强制存取控制方法。为什么强制存取控制比自主存取控制更安全?强制存取控制方法中,对每一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意对象,只有具有合法许可证的用户才可以存取。因此强制存取控制相对比较严格。MAC是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。四、实践应用题用SQL语句在SQLServer2000下实现如下功能。所用数据库表结构如下:student(学生表):(sno,学号,9字符;sname,姓名,4字符;ssex,性别,1字符;sage,年龄,整数;sdept,所在院系,不超过十字符)。course(课程表):(cno,课程号,5字符;cname,课程名,10字符;cpno,先修课号,5字符;credit,学分,整数)。sc(学生选课表):(sno,学号;cno,课程号;grade,成绩,整数)。1.建立表SC,并指定相应的参照完整性。CREATETABLESC(SNoCHAR(10)NOTNULL,CNoCHAR(10)NOTNULL,GradeFLOAT,PRIMARYKEY(SNo,CNo),CONSTRAINTSNo_FKFOREIGNKEY(SNo)REFERENCESS(SNo),CONSTRAINTCNo_FKFOREIGNKEY(CNo)REFERENCESC(CNo))2.建立表sc,指定外键sno参照学生表的sno,当删除学生表时级联删除sc表相应记录。EATETABLEsc(snoCHAR(5),CnoCHAR(5),GradeINT,FRIENGNKEY(sno)REFREENCESstudent(sno)ONDELETECASCADE)3.建立计算机系(‘CS’)男生的视图。CREATEVIEWCS__StudentASSELECTsno,sname,sageFROMstudentWHEREsdept=’CS’andSsex=”男’4.查询至少选修了学生‘200215120’选修的全部课程的学生号码。SELECTDISTINCTSnoFROMSCXWHERENOTEXISTS(SELECT*FROMSCYWHEREY.Sno=’200215120’ANDNOTEXISTS(SELECT*FROMSCZWHEREZ.Sno=.SnoANDZ.Cno=Y.Cno))5.删除计算机系(‘CS’)所有男生的选课记录。DELETEFROMSCWHERE‘CS’=(SELECTsdeptFROMstudentWHEREstudent.sno=snoANDSsex=’男’)6.把查询student表和修改学生学号的权限授予用户u2,并允许将此权限再授予其他用户。GRANTUPDATE(sno),SELECTONstudentTOU2WIHGRANTOPTION7.查询选修了全部课程的学生姓名。SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMCourseWHERENOTEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno=Course.Cno);《数据库系统》练习题二一、名词解释题1.函数依赖:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。2.多值依赖:多值依赖:设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。3.3NF:关系模式RU,F中若不存在这样的码X、属性组Y及非主属性Z(ZY),使得X→Y,Y→Z成立,YX,则称RU,F∈3NF。4.4NF:4NF:关系模式RU,F∈1NF,如果对于R的每个非平凡多值依赖X→→Y(YX),X都含有码,则RU,F∈4NF。5.BCNF;关系模式RU,F∈1NF,若X→Y且YX时X必含有码,则RU,F∈BCNF。6.封锁:就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。7.可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行的地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。8.两段锁协议:是指所有事务必须分两个阶段对数据项加锁和解锁。在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁。9.数据库镜像:是DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘上,DBMS自动保证镜像数据与主数据库的一致性。10.数据库恢复:是把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能。二、填空题1.在一个关系R中,若每个数据项都是不可再分的,那么R一定属于___一___范式。2.查询优化时当要进行等值连接的诸表已经排序的情况下,一般采用排序连接方法。3.并发操作带来的数据不一致性主要包括:丢失修改、不可重复读、读脏数据等。4.在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为死锁。5.查询优化时当要进行等值连接的诸表已经建立索引的情况下,一般采用索引连接方法。6.分E-R图的冲突主要有三类:属性冲突、命名冲突和结构冲突。7._日志文件_是用来记录事务对数据库的更新操作的文件。8.关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,其中最重要的是__函数依赖__和___多值依赖_。三、简答题1.试述数据库设计过程。这里只概要列出数据库设计过程的六个阶段:(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。2.试述E-R图向关系模型的转换方法一个实体型转换为一个关系模式。实体间的联系有以下不同情况:(1)一个1:1联系可以转换为一个独立的关系模式或与某一端对应的关系模式合并。(2)一个1:n联系可以转换为一个独立的关系模式或与n端对应的关系模式合并。(3)一个m:n联系转换为一个关系模式。(4)三个或三个以上实体间的一个多元联系转换为一个关系模式。(5)具有相同码的关系模式可合并。3.试述存储过程的优点。(1)执行速度快。存储过程在创建时就经过了语法检查和性能优化,因此在执行时不必再重复这些步骤。存储过程在经过第一次调用之后,就驻留在内存中,不必再经过编译和优化,所以执行速度快。在有大量批处理的PL/SQL语句要重复执行的时候,使用存储过程可以极大地提高运行效率。(2)模块化的程序设计。存储过程经过了一次创建以后,可以被调用无数次。用户可以独立于应用程序而对存储过程进行修改。可以按照独特的功能模式设计不同的存储过程以供使用。(3)减少网络通信量。存储过程中可以包含大量的PL/SQL语句,但存储过程作为一个独立的单元来使用。在进行调用时,只需要使用一个语句就可以实现,所以大大减少了网络上数据的传输。(4)保证系统的安全性。可以设置用户通过存储过程对某些关键数据进行访问,但不允许用户直接使用PL/SQL语句或其他方式对数据进行访问。4.什么是游标?试述在嵌入式SQL中游标的使用步骤。游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。使用游标的步骤为:(1)说明游标。(2)打开游标。(3)推进游标指针并取当前记录。(4)关闭游标。5.简述数据库系统中具有检查点的恢复步骤。.1).从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。2).由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST,建立两个事务队列:UNDO-LIST和REDO-LIST,把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。3).从检查点开始正向扫描日志文件,直到日志文件结束。如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列4).对UNDO-LIST中的每个事务执行UNDO操作对REDO-LIST中的每个事务执行REDO操作6.简述数据库系统中系统故障的恢复步骤。(1)正向扫描日志文件(即从头扫描日志文件),建立两个队列:重做(REDO)队列:存放在故障发生前已经提交的事务,这些事务既有BEGINTRANSACTION记录,也有COMMIT记录。撤销(Undo)队列:故障发生时尚未完成的事务,这些事务只有BEGINTRANSACTION记录,无相应的COMMIT记录(2)对撤销(Undo)队列中的各个事务进行撤销(UNDO)处理。反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。(3)对重做(Redo)队列事务进行重做(REDO)处理
本文标题:数据库系统练习题
链接地址:https://www.777doc.com/doc-2428693 .html