数据库复习 14份.docx
《数据库复习 14份.docx》由会员分享,可在线阅读,更多相关《数据库复习 14份.docx(14页珍藏版)》请在冰豆网上搜索。
数据库复习14份
简答题:
26.定义事务的语句有哪三条?
分别表示什么意思?
BEGINTRANSACTION:
表示事务的开始;
COMMIT:
表示事务的提交;
ROLLBACK:
表示事务的回滚。
27.典型的日志文件应该包含哪些内容?
1)更新数据库的事务标识;2)操作的类型3)操作对象;4)更新前数据的旧值;
5)更新前数据的新值;6)事务处理中的各个关键时刻(事务的开始、结束及其真正回写的时间)
28.决定数据库存储结构的三个主要因素是什么?
存取时间,存储空间,维护代价
29.数据库系统中的常见故障有哪些?
事务故障,系统故障、介质故障
30.数据库需求分析阶段的主要工作是什么?
(1)调查分析用户的活动
(2)收集和分析需求数据,确定系统边界
(3)编写需求分析说明书
假设一个数据库中有3个关系:
客户关系C(CNO,CN,CA),属性的含义依次为客户号、客户名称和地址;
产品关系P(PNO,PN,PR,PS),属性的含义依次为产品号、品名、单价和供应商;
订单关系R(RNO,CNO,PNO,RD,QTY),属性的含义依次为订单号、客户号、产品号、日期和数量。
规定一张订单只能订购一种产品。
用SQL语句完成下列任务:
31.列出客户订购产品信息,包括日期、客户号、客户名称、品名和数量,并按数量降序排序。
SELECTRD,C.CNO,CN,PN,QTYFROMC,P,R
WHEREC.CNO=R.CNOANDP.PNO=R.PNOORDERBYQTYDESC
32.用SQL语句创建一个客户付款视图VA,VA的属性有日期、客户名称和金额(金额=单价*数量)。
CREATEVIEWVAASSELECTRD,CN,PR*QTY金额FROMC,P,R
WHEREC.CNO=R.CNOANDP.PNO=R.PNO
33.列出没有下过任何订单的客户号和客户名称
SELECTCNO,CNFROMCWHERECNONOTIN(SELECTCNOFROMR)
34.订单表中可能有些订单的数量暂时还不能确定(QTY字段为空值),请删除订单表中数量暂时还不能确定的所有记录
DELETEFROMRWHEREQTYISNULL
35.请把所有产品的单价提高10%
36.论述E-R模型向关系模型的转换方法:
E-R模型中的主要成分是实体类型和联系类型。
对实体类型,将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
对联系类型,就视1:
1、1:
N、M:
N三种不同的情况做不同处理。
(1)对1:
1可在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
(2)对1:
N,则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。
(3)对M:
N,则将联系类型也转换成关系模式,其属性为两端实体类型的键盘加上联系类型的属性,而键为两端实体键的组合。
37.叙述数据库的三个级别的封锁协议及其各自特点。
一级封锁协议:
事务T在修改数据对象之前必须对其加X锁,直到事务结束。
解决数据的丢失更新问题,如果只是读取数据并不加锁,所以它不能防止“污读”和“重读”数据。
二级封锁协议:
在一级封锁协议的基础上,另外加上事务T在读取数据R之前必须先对其加S锁,读完后释放S锁,所以二级封锁协议不但可以解决更新时所发生的数据丢失问题,还可以进一步防止“污读”。
由于在读取数据之后,立即释放S锁,所以它仍然不能防止“重读”数据.
三级封锁协议:
在一级封锁协议的基础上,另外加上事务T在读取数据R之前必须先对其加S锁,读完后并不释放S锁,而直到事务T结束才释放。
所以三级封锁协议除了可以防止更新丢失问题和“污读”数据外,还可进一步防止不可重读数据,彻底解决了并发操作所带来的三个不一致性问题。
26.数据库系统中,完整性规则是由哪几部分组成?
实体完整性;参照完整性;用户自定义完整性。
27.简述数据库系统的逻辑独立性的含义。
数据库体系中的外模式/模式映象,它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。
总体逻辑结构改变,外模式/模式映象也发生相应的变化,这一映象功能保证了数据的局部逻辑结构不变,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。
28.数据库系统的生命周期分为哪几个阶段?
1)系统需求分析阶段2)概念结构设计阶段3)逻辑结构设计阶段4)物理设计阶段
5)数据库实施阶段6)数据库运行与维护阶段
29.简述在数据库系统中介质故障的恢复方法。
1)装入最新的数据库副本,使数据库恢复到最近一次转储时的可用状态。
2)装入最新的日志文件副本,根据日志文件中的内容重做已完成的事务
30.什么是死锁?
在同时处于等待状态的两个或多个事务中,其中的每一个在它能够进行之前,都等待着某个数据、而这个数据已被它们中的某个事务所封锁,这种状态称为死锁
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)
课程(课程号,课程名,学分)
学习(学号,课程号,分数)
用SQL语句完成下列任务:
31.检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;
SELECT学生.学号,姓名,课程名,分数FROM学生,课程,学习
WHERE学生.学号=学习.学号AND课程.课程号=学习.课程号AND奖学金>0
32.检索没有任何一门课程成绩超过90分的所有学生的信息,包括学号、姓名和专业;
SELECT学号,姓名,专业FROM学生WHERE学号NOTIN
(SELECT学号FROM学习WHERE分数>90)
33.对成绩有过不及格(分数<60)的学生,如果已经获得奖学金的,将奖学金减半;
UPDATE学生SET奖学金=奖学金/2WHERE奖学金>0AND学号IN
(SELECT学号FROM学习WHERE分数<60)
34.定义没有选修任何课程的学生信息视图AAA,包括学号、姓名、专业;
CREATEVIEWAAAASSELECT学号,姓名,专业FROM学生WHERE学号NOTIN
(SELECT学号FROM学习)
35.删除姓名为“张三”的学生在学习表中的所有成绩记录
DELETEFROM学习WHERE学号=(SELECT学号FROM学生WHERE姓名=’张三’)
36.叙述关系的几种外连接的区别
LEFTJOIN:
显示符合条件的数据行以及左边表中不符合条件的数据行,此时右边数据行会以NULL来显示,此称为左连接;
RIGHTJOIN:
显示符合条件的数据行以及右边表中不符合条件的数据行,此时左边数据行会以NULL来显示,此称为右连接;
FULLJOIN:
显示符合条件的数据行以及左边表和右边表中不符合条件的数据行,此时缺乏数据的数据行会以NULL来显示;
CROSSJOIN:
会将一个表的每一笔数据和另一表的每笔数据匹配成新的数据行。
37.DBA是什么?
他的主要职责是什么。
1)参与数据库设计的全过程,决定数据库的结构和内容;2)帮助终端用户使用数据库系统;
3)定义数据的安全性和完整性,负责分配用户对数据库的使用权限和口令管理;
4)监督控制数据库的使用和运行,改进和重新构造数据库系统。
23.数据库系统生存期是什么?
数据库应用系统从开始规划、系统分析、系统设计、实施、投入运行后的维护到最后由新的系统替换原有的数据库系统的整个期间。
24.什么是数据库的并发控制?
数据库技术的一个特点是数据共享,但多个用户同时对同一个数据的并发操作可能会破坏数据库中的数据,数据库的并发控制能防止错误发生,正确处理好多用户、多任务环境下并发操作。
25.什么是数据库的恢复?
生成冗余数据最常用的技术是什么?
系统必须具有检测故障并把数据从错误状态中恢复到某一正确状态的功能,这就是数据库的恢复。
生成冗余数据最常用的技术是登记日志文件和数据转储。
26.什么是数据库的安全性?
数据库的安全性是指保护数据库,以防止非法使用所造成数据的泄露、更改或破坏。
27.说明仅满足1NF的关系模式会存在哪些问题。
数据冗余,插入异常,删除异常,更新异常。
已知三个关系模式:
订单表:
ORDER(ONO,CNAME,ODATE)
其属性的含义依次为订单号、客户名称和订货日期;
订单明细表:
ITEM(ONO,PNO,PRICE,QTY)
其属性的含义依次为订单号、产品编号、单价和订购数量;
产品表:
PRODUCT(PNO,PNAME,UNIT)
其属性含义依次为产品编号、品名和单位。
用SQL语言实现下列各题:
28.创建一个视图,视图名为ORD,视图的属性有订单号、客户名称、品名、单价和订购数量
CREATEVIEWORDASSELECTORDER.ONO,CNAME,PNAME,PRICE,QTY
FROMORDER,ITEM,PRODUCTWHEREORDER.ONO=ITEM.ONOANDITEM.PNO=PRODUCT.PNO
29.查询订购产品编号为“P1”的客户名称和订单号
SELECTORDER.ONO,CNAMEFROMORDER,ITEM
WHEREORDER.ONO=ITEM.ONOANDPNO=’P1’
30.将订单明细表中订购数量超过100的商品的单价降低10%
UPDATEITEMSETPRICE=PRICE*(1-0.1)WHEREQTY>100
31.删除所有在订单明细表中没有出现的产品表中的相应产品记录
DELETEFROMPRODUCTWHEREPNONOTIN(SELECTPNOFROMITEM)
32.在订单明细表中插入一条订单记录,订单号为“OR12345”、产品编号为“P800”,其他信息不填
INSERTINTOITEM(ONO,PNO)VALUES(‘OR12345’,’P800’)
33.叙述SQL语言的特点。
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据库语言的特点和优点。
其特点如下:
1)综合统一2)高度非过程化3)面向集合的操作方式
4)以同一种语法结构提供两种操作方式5)语言简洁,易学易用
34.数据三级模式结构的优点是什么?
(1)保证数据的独立性将模式和内模式分开,保证了数据的物理独立性;
将外模式和模式分开,保证了数据的逻辑独立性。
(2)简化了用户接口
按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。
(3)有利于数据共享在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。
(4)利于数据的安全保密
在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。
简答题:
26.数据库管理系统的主要功能有哪些?
数据库定义、操纵、保护、存储、维护和数据字典。
27.数据库系统中的常见故障有哪些?
事务故障,系统故障、介质故障
28.简述数据库系统的体系结构特点。
三级模式结构和两级映象,即:
外模式、模式、内模式、外模式/模式映象、模式/内模式映象。
29.简述数据库并发操作通常会带来哪些问题。
1)丢失更新2)污读3)不可重读
30.数据库运行维护阶段的主要工作什么?
(1)维护数据库的安全性和完整性控制及系统的转储和恢复;
(2)性能的监督、分析与改进;(3)增加新功能;(4)发现错误,修改错误。
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)
课程(课程号,课程名称,学分)
学习(学号,课程号,分数)
请用SQL语言实现下列各题:
31.定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、课程名称和学分;
CREATEVIEWAAAASSELECT*FROM课程WHERE课程号IN
(SELECT课程号FROM学习WHERE分数=100)
32.检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业;
(假设所有学生都有成绩记录)
SELECT学号,姓名,专业FROM学生WHERE学号NOTIN
(SELECT学号FROM学习WHERE分数<80)
33.检索每个同学的平均成绩,并以平均成绩降序排序,包括学号、姓名和平均成绩;
SELECT学生.学号,姓名,AVG(分数)AS平均成绩FROM学生,学习
WHERE学生.学号=学习.学号GROUPBY学习.学号ORDERBY平均成绩DESC
34.对成绩得过不及格(60分以下)的学生,如果获得了500元以上奖学金的,将其奖学金减少500元;
UPDATE学生SET奖学金=奖学金-500WHERE奖学金>500AND学号IN
(SELECT学号FROM学习WHERE分数<60)
35.删除学习表中成绩为0分或者没有成绩(为空值)的所有记录。
DELECTFROM学习WHERE分数=0OR分数ISNULL
36.数据库安全性控制的一般方法有哪五个方面?
分别是怎么实现的?
1)用户标识和鉴定数据库系统是不允许一个XX的用户对数据库进行操作的。
2)用户存取权限控制用户存取权限指的是不同的用户对于不同的数据对象允许执行的操作权限。
3)定义视图为不同的用户定义不同的视图,可以限制各个用户的访问范围。
4)数据加密数据加密是防止数据库中数据在存储和传输中失密的有效手段。
5)审计(Audit)审计功能是一种监视措施,跟踪记录有关数据的访问活动。
37.什么是视图,它与表的区别是什么:
在SQL中,外模式一级数据结构的基本单位是视图,视图是从若干基本表和(或)其他视图构造出来的表。
我们创建一个视图时,只是把其视图的定义存放在数据字典中,而不存储视图对应的数据,因此,视图被称为“虚表”,这是它与表的主要区别。
23.数据库管理系统的主要功能有哪些?
数据定义2)数据操纵3)数据库运行管理4)数据库的建立和维护功能5)数据通信
24.什么是等值连接,它与自然连接的区别是什么?
等值连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,组成新的关系;自然连接是在等值连接基础上去掉重复的同名属性的连接。
25.SQL语言具有哪四个方面的功能?
数据查询;数据定义;数据操纵;数据控制四个方面的功能
26.举出数据库系统中可能发生的三种故障。
事务故障、系统故障和介质故障
27.简述数据库系统(DBS)的组成部分。
数据库系统通常是指数据库和相应的软硬件系统,主要由数据(库)、用户、软件和硬件四部分组成。
设有数据库含有学生表:
stu(sid,sname,sex,age,address,dno)和成绩表:
sc(sid,cid,score)。
Sid和cid分别为学号和课程号,dno为学生所在系的编号,数据库含有某些样品数据。
写出以下每个查询的SQL语句:
28.查询学号为“s001”的学生在学生表中的全部自然信息
SELECT*FROMSTUWHERESID=‘s001
29.删除姓名为“丁一”的学生的所有成绩记录
DELETEFROMSCWHERESID=(SELECTSIDFROMSTUWHERESNAME=‘丁一’)
30.把所有年龄大于30岁的学生的所有成绩加10分
UPDATESCSETSCORE=SCORE+10WHERESIDIN(SELECTSIDFROMSTUWHEREAGE>30)
31.查询课程“c1”的成绩不及格的学生姓名
SELECTSNAMEFROMSTU,SCWHERESTU.SID=SC.SIDANDSCORE<60ANDCID=’c1’
32.查询每个系的学生数量和平均年龄
SELECTDNO,COUNT(SNO),AVG(AGE)FROMSTUGROUPBYDNO
33.说明SQL-SERVER2000触发器的作用。
当对某一表进行诸如UPDATE、NSERT、DELETE这些操作时,SQLServer就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则,能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。
另外还有可以强化约束、跟踪数据库变化、级联运行、调用存储过程等功能。
34.叙述数据库发生死锁的必要条件。
.
①互斥条件:
一个数据对象一次只能被一个事务所使用,即对数据的封锁采用排它式;
②不可抢占条件:
一个数据对象只能被占有它的事务所释放,而不能被别的事务强行抢占。
③部分分配条件:
一个事务已经封锁分给它的数据对象,但仍然要求封锁其他数据;
④循环等待条件:
允许等待其他事务释放数据对象,系统处于加锁请求相互等待的状态。
25.什么是视图,它与表的区别是什么:
在SQL中,外模式一级数据结构的基本单位是视图,视图是从若干基本表和(或)其他视图构造出来的表。
我们创建一个视图时,只是把其视图的定义存放在数据字典中,而不存储视图对应的数据,因此,视图被称为“虚表”,这是它与表的主要区别。
26.结构数据模型的三个组成部分:
数据结构、数据操作、数据完整性约束是结构数据模型的三个组成部分。
数据结构:
是指对实体类型和实体间联系的表达和实现
数据操作:
是指对数据库的检索和更新(插、删、改)两类操作的实现
数据完整性约束:
给出数据及其联系应具有的制约和依赖规则。
27.第一范式(1NF)、第二范式(2NF):
如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。
如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的候选键,则称R是第二范式模式。
28.需求分析阶段的任务:
需求分析阶段应该对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能接受的文档。
29.数据完整性约束的静态约束和动态约束的区别:
静态约束:
包括各种数据之间的联系(数据依赖),主键的设计和关系值的各种限制等等。
这一类约束是如何定义关系的有效数据问题。
动态约束:
主要定义如插入、删除、和修改等各种操作的影响。
现关系数据库有表如下:
学生(学号,姓名,性别,专业,奖学金):
各字段都不允许空值
课程(课程号,课程名,学分):
各字段都不允许空值
学习(学号,课程号,分数):
其中分数可以是空值
用SQL语言实现下列各题:
30.检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数
SELECT学生.学号,姓名,课程名,分数FROM学生,课程,学习
WHERE学生.学号=学习.学号AND课程.课程号=学习.课程号AND专业=’英语’
31.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业
SELECT学号,姓名,专业FROM学生WHERE学号NOTIN
(SELECT学号FROM学习WHERE课程号=‘C135’)
32.把所有“计算机”专业的学生的“奖学金”增加500
UPDATE学生SET奖学金=奖学金+500WHERE专业=’计算机’
33.删除学习表中没有成绩分数的所有记录(不是0分)
DELETEFROM学习WHERE分数ISNULL
34.定义“英语”专业学生所学课程的信息视图,包括学号、姓名、课程号和分数,并按分数降序排序,视图名称为AAA。
CREATEVIEWAAAASSELECT学生.学号,姓名,课程号,分数FROM学生,学习
WHERE学生.学号=学习.学号AND专业=’英语’ORDERBY分数DESC
35.叙述数据库管理系统的功能。
1).数据定义:
定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映象,定义有关的约束条件;2).数据操纵:
实现对数据库的基本操作,包括检索、插入、修改、删除等;
3).数据库运行管理:
DBMS对数据库的控制主要通过四个方面实现,数据的安全性控制、数据的完整性控制、多用户环境下的并发控制、数据库的恢复,以确保数据正确有效和数据库系统的正常运行;
4).数据库的建立和维护功能:
包括数据库的初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能;
5).数据通信:
提供与其他软件系统进行通信的功能,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。
36.叙述为保证数据库的安全性所采用的方法。
1)用户标识和鉴定数据库系统是不允许一个XX的用户对数据库进行操作的。
2)用户存取权限控制用户存取权限指的是不同的用户对于不同的数据对象允许执行的操作权限。
3)定义视图为不同的用户定义不同的视图,可以限制各个用户的访问范围。
4)数据加密数据加密是防止数据库中数据在存储和传输中失密的有效手段。
5)审计(Audit)审计功能是一种监视措施,跟踪记录有关数据的访问活动。