版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统练习题一 一、名词解释题1.数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合2.数据库管理系统是用户与操作系统之间的一层数据管理软件,其作用是科学、有效地组织和存储数据、高效地获取和维护数据。3.数据库系统指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。4.实体完整性若属性(或属性组)A是基本关系R的主属性,则属性A不能取空值。5.参照完整性若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属
2、性值均为空值);或者等于S中某个元组的主码值。6.数据库安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。7.数据库完整性数据库的完整性是指数据的正确性和相容性。二、填空题1数据库中数据的独立性是由数据库的 二级映象 功能保证的。2在数据库运行阶段,对数据库经常性的维护工作主要是由 DBA(数据库管理员 完成的。3实体完整性规则规定,若属性A是基本关系R的 主属性 ,则A不能取空值。4. SQL中的自主存取控制是通过 GRANT 语句和 REVOKE 语句来实现的。5. 数据模型的三要素是指_数据结构_,_数据操作_,_数据的完整性约束条件_。6.关系代数中,从两个关系中找出
3、相同元组的运算称为_交_运算。7.关系的完整性约束条件包括三大类:_实体完整性_、_参照完整性_和_用户定义的完整性_。 8.视图是一个虚表,在数据库中,只存放视图的 定义 ,不存放视图对应的 数据 。9用户选作元组标识的一个候选码为_主属性_,其属性不能取_空_。10. 数据库的完整性是指数据的 正确性 和 相容性 。11数据管理经过了手工文档、文件系统和_数据库系统_三个发展阶段。12在关系模型中,实体之间的各种联系用 关系 来表示。三、简答题1. 试述SQL语言的特点。(1)综合统一 (2) 高度非过程化 (3)面向集合的操作方式 (4)以同一种语法结构提供多种使用方式 (5)语言简洁,
4、易学易用2. 常用的关系数据语言主要分为哪些类?其共同的特点是什么?关系数据语言可以分为三类: 关系代数语言,包括:元组关系演算语言,域关系演算语言。具有关系代数和关系演算双重特点的语言。 这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用3试述强制存取控制方法。为什么强制存取控制比自主存取控制更安全?强制存取控制方法中,对每一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意对象,只有具有合法许可证的用户才可以存取。因此强制存取控制相对比较严格。MAC是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不
5、可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。四、实践应用题用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,并指定相应的参照完整性。CREATE
6、 TABLE SC( SNo CHAR(10) NOT NULL, CNo CHAR(10) NOT NULL, Grade FLOAT, PRIMARY KEY (SNo, CNo), CONSTRAINT SNo_FK FOREIGN KEY (SNo) REFERENCES S(SNo),CONSTRAINT CNo_FK FOREIGN KEY (CNo) REFERENCES C(CNo)2.建立表sc,指定外键sno参照学生表的sno,当删除学生表时级联删除sc表相应记录。EATE TABLE sc(sno CHAR(5), Cno CHAR(5), Grade INT, FRIE
7、NGN KEY (sno) REFREENCES student(sno) ON DELETE CASCADE)3.建立计算机系(CS)男生的视图。 CREATE VIEW CS_StudentASSELECT sno,sname,sageFROM studentWHERE sdept=CSand Ssex=”男4.查询至少选修了学生选修的全部课程的学生号码。SELECT DISTINCT SnoFROM SC XWHERE NOT EXISTS (SELECT * FROM SC Y WHERE Y.Sno=ANDNOT EXISTS (SELECT * FROM SC Z WHERE Z.
8、Sno=.Sno AND Z.Cno=Y.Cno)5.删除计算机系(CS)所有男生的选课记录。DELETEFROM SCWHERE CS= (SELECT sdept FROM student WHERE student.sno=sno AND Ssex=男)6.把查询student表和修改学生学号的权限授予用户u2,并允许将此权限再授予其他用户。 GRANT UPDATE(sno),SELECTON studentTO U2WIH GRANT OPTION7. 查询选修了全部课程的学生姓名。SELECT Sname FROM Student WHERE NOT EXISTS (SELECT
9、* FROM Course WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno= Student.Sno AND Cno= Course.Cno);数据库系统练习题二 一、名词解释题1.函数依赖:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。2.多值依赖:多值依赖:设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且ZU-X-Y。关系模式R(U)中多值依赖 XY成立,当且仅
10、当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。3.3NF:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(ZY), 使得XY,YZ成立,YX,则称R3NF。4.4NF:4NF:关系模式R1NF,如果对于R的每个非平凡多值依赖XY(YX),X都含有码,则R4NF。5.BCNF;关系模式R1NF,若XY且YX时X必含有码,则RBCNF。6.封锁:就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。7.可串行化调度:
11、多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行的地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。8.两段锁协议:是指所有事务必须分两个阶段对数据项加锁和解锁。 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁。9.数据库镜像:是DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘上,DBMS自动保证镜像数据与主数据库的一致性。10.数据库恢复:是把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能。二、填空题1.在一个关系R中,若每个数据项都是不可再分的,那么R一定属于_一_范式
12、。2.查询优化时当要进行等值连接的诸表已经排序的情况下,一般采用 排序连接 方法。3.并发操作带来的数据不一致性主要包括: 丢失修改 、 不可重复读 、 读脏数据 等。 4.在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为 死锁 。5.查询优化时当要进行等值连接的诸表已经建立索引的情况下,一般采用 索引连接 方法。6.分E-R图的冲突主要有三类:属性冲突、 命名 冲突和 结构 冲突。7. _日志文件_ 是用来记录事务对数据库的更新操作的文件。8. 关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,其中最重要的是_函数依赖_和_多值依赖_。三、简答题1.试述数
13、据库设计过程。这里只概要列出数据库设计过程的六个阶段:(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。2.试述E-R图向关系模型的转换方法 一个实体型转换为一个关系模式。 实体间的联系有以下不同情况: (1)一个1:1联系可以转换为一个独立的关系模式或与某一端对应的关系模式合并。 (2)一个1:n联系可以转换为一个独立的关系模式或与n端对应的关系模式合并。 (3)
14、一个m:n联系转换为一个关系模式。 (4)三个或三个以上实体间的一个多元联系转换为一个关系模式。 (5)具有相同码的关系模式可合并。3.试述存储过程的优点。(1)执行速度快。存储过程在创建时就经过了语法检查和性能优化,因此在执行时不必再重复这些步骤。存储过程在经过第一次调用之后,就驻留在内存中,不必再经过编译和优化,所以执行速度快。在有大量批处理的PL/SQL语句要重复执行的时候,使用存储过程可以极大地提高运行效率。(2)模块化的程序设计。存储过程经过了一次创建以后,可以被调用无数次。用户可以独立于应用程序而对存储过程进行修改。可以按照独特的功能模式设计不同的存储过程以供使用。(3)减少网络通
15、信量。存储过程中可以包含大量的PL/SQL语句,但存储过程作为一个独立的单元来使用。在进行调用时,只需要使用一个语句就可以实现,所以大大减少了网络上数据的传输。(4)保证系统的安全性。可以设置用户通过存储过程对某些关键数据进行访问,但不允许用户直接使用PL/SQL语句或其他方式对数据进行访问。4.什么是游标?试述在嵌入式SQL中游标的使用步骤。游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。使用游标的步骤为:(1)说明游标。(2)打开游标。(3)推进游标指针并取当前记录。(4)关闭游标。5.简述数据库系统中具有检查点的恢复步骤。.1).从重新开始文件中找到最后一个检查点记录在日
16、志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。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.简述数据库系统中系统故障
17、的恢复步骤。(1)正向扫描日志文件(即从头扫描日志文件),建立两个队列:重做(REDO)队列: 存放在故障发生前已经提交的事务,这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录。撤销(Undo)队列:故障发生时尚未完成的事务,这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录(2)对撤销(Undo)队列中的各个事务进行撤销(UNDO)处理。反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。(3)对重做(Redo)队列事务进行重做(REDO)处理。正向扫描日志文件,对每个REDO事务重新执行登记的操
18、作,即将日志记录中“更新后的值”写入数据库。7.试述在具有检查点的恢复技术中,动态维护日志文件的步骤。动态维护日志文件的方法是周期性地执行如下操作:建立检查点,保存数据库状态。具体步骤如下:(1)将当前日志缓冲区中的所有日志记录写入磁盘的日志文件上;(2)在日志文件中写入一个检查点记录;(3)将当前数据缓冲区的所有数据记录写入磁盘的数据库中;(4)把检查点记录在日志文件中的地址写入一个重新开始文件。8.试述关系表达式的优化算法。(1)利用等价变换规则4把形如F1F2Fn(E)变换为F1(F2(Fn(E)。(2)对每一个选择,利用等价变换规则49尽可能把它移到树的叶端。(3)对每一个投影利用等价
19、变换规则3,5,10,11中的一般形式尽可能把它移向树的叶端。需要注意的是,等价变换规则3使一些投影消失,规则5把一个投影分裂为两个,其中一个有可能被移向树的叶端。(4)利用等价变换规则35把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择或投影能同时执行,或在一次扫描中全部完成。(5)把上述得到的语法树的内节点分组。每一个双目运算(, ,- )和它所有的直接祖先为一组(这些直接祖先是,运算)。如果其后代直到叶子全是单目运算,则也将它们并入该组。但当双目运算是笛卡尔积(),而且后面不是与它组成等值连接的选择时,则不能把选择与这个双目运算组成同一组,把这些单目运算单独分
20、为一组。9简述事务及其ACID特性。事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。这4 个特性也简称为ACID 特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰
21、。持续性:持续性也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。四、理论应用题1.试由Armstrong公理系统推导出下面如下规则:若XZ,XY,则有XYZ 已知XZ,由增广律知XYYZ,又因为XY,可得XXXY,最后根据传递律得XYZ。2.试由Armstrong公理系统推导出下面如下规则:由XY,WYZ有XWZ已知XY,据增广律得XWWY,因为WYZ,所以通过传递律可知XWZ3.试由Armstrong公理系统推导出下面如下规则:若XY,Z包含于Y,则有XZ已知Z含于Y,根据自反律知YZ,又因为XY,所以由传递律可得X
22、Z4.设有函数依赖集F=DG,CA,CDE,AB,计算闭包(ACD)+ 。令X=ACD,X(0)= ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)+ =ABCDEG。5.设有依赖集:FABC,CA,BCD,DEG,BEC,CGBD,CEAG,计算其等价的最小依赖集。首先将右边属性单一化,结果为:F1=ABC,CA,BCD,ACDB,DE,DG,BEC,CGB,CGD,CEA,CEG其次在F1 中去掉多余的函数依赖,CGB。F2= ABC,CA,BCD,ACDB,DE,DG,BEC,CEA,CEG最后去掉左边多余的属性。对于CEA 可去掉E;对于ACDB,
23、可去掉A。得到:F3= ABC,CA,BCD,CDB,DE,DG,BEC,CGD,CEG6.设有关系R和函数依赖F:R(W,X,Y,Z),F=XZ,WXY。关系R属于第几范式? R是1NF。侯选码为WX,则Y,Z为非主属性,又由于XZ,因此F中存在非主属性对侯选码的部分函数依赖。7.今有2个事务的一个调度r1(A)w1(A)r2(A)w2(A)r1(B)w1(B)r2(B)w2(B),该调度是冲突可串行化的调度吗?为什么?是,因为该调度可交换为r1(A)w1(A)r1(B)r2(A)w2(A)r2(B)w2(B),这是一个串行调度。因此它是一个冲突可串行化调度。8.今有3个事务的一个调度r3(
24、B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A),该调度是冲突可串行化的调度吗?为什么?是,因为该调度可交换为r3(B)w3(B)r2(B)r2(A)w2(B) r1(A)r1(B)w1(A),这是一个串行调度。因此它是一个冲突可串行化调度。五、实践应用题用SQL语句在SQLServer2000下实现如下功能。所用数据库表结构如下:student(学生表):(sno,学号,9字符;sname,姓名,4字符;ssex,性别,1字符;sage,年龄,整数;sdept,所在院系,不超过十字符)。course(课程表):(cno,课程号,5字符;cname,课程名,10字符;
25、cpno,先修课号,5字符;credit,学分,整数)。sc(学生选课表):(sno,学号;cno,课程号;grade,成绩,整数)。.用嵌入式SQL语句实现,某个学生新选修了某门课程,将有关记录插入SC表,插入的学号在主变量stdno中,课程号在主变量couno中,成绩主变量为gr,对应指示变量为grid,成绩初始为空。grid=-1; EXEC SQL INSERT INTO SC(sno,cno,grade) VALUES(:stdno,:couno,:gr:grid);2.创建一个触发器,当在选课表中插入记录SNO记录插入sc表,当插入的学号不存在时,在学生表中添加相应SNO记录。CR
26、EATE TRIGGER SC_ins ON SCFOR INSERTAS IF NOT EXISTS(SELECT * FROM INSERTED,STUDENT WHERE INSERTED.SNO=STUDENT.SNO)BEGIN RAISERROR(同时在学生表中插入相应学生记录,1,1) INSERT INTO STUDENT(SNO) SELECT SNO FROM INSERTED END3.创建一个触发器,在选课表中插入记录,当Cno不存在时,在课程表中添加相应Cno记录CREATE TRIGGER SC_ins_Course ON SCFOR INSERTAS IF NOT EXISTS(SELECT * FROM INSERTED,COURSE WHERE INSERTED.CNO=COURSE.CNO)BEGIN RAISERROR(同时在课程表中插入相应记录,1,1) INSERT INTO COURSE(CNO) SELECT CNO FROM INSERTED END六、综合应用题.设有关系模式R(U,F),其中U=E,F,G,H,F=EG,GE,FEG,HEG,FHE,求F的最小函数依赖集。Fm=E-G,G-E,F-G,H-E =E-G,G-E,F-G,H-G =E-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孔乙己学习课件
- 第17课《昆明的雨》八年级语文上册精讲同步课堂(统编版)
- 爱车讲堂 课件
- 西南林业大学《材料化学》2022-2023学年第一学期期末试卷
- 西南林业大学《地理信息系统原理》2023-2024学年第一学期期末试卷
- 应对挫折课件
- 西京学院《机械制造工艺》2023-2024学年第一学期期末试卷
- 幼儿园小班儿歌《铃儿响叮当》课件
- 西京学院《电机学》2021-2022学年期末试卷
- 医保课件 模板
- 产学研合作项目策划资金绩效评价报告
- 小学养成教育内容序列细目
- 《讲文明 懂礼貌》班会课件 (共19张PPT)
- 织物结构与性能课件:第三章 织物上机图与织物分析
- 食品分析习题(有答案)
- 研究思路图模板
- 无人机应用技术专业建设发展规划
- 职员员工行为规范检查表
- 中学德育课程体系
- Linux操作系统完整版课件全书电子教案教材课件(完整)
- 员工专业技术职级评定方案与评定细则1
评论
0/150
提交评论