数据库试卷及答案(共17页).doc
精选优质文档-倾情为你奉上2011年数据库系统概论试题及答案卷2一、选择题(每题2分,共40分)1、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是 阶段。A数据库系统 B文件系统 C人工管理 D数据项管理 2、据库系统的核心是 。A数据库 B数据库管理系统 C数据模型 D软件工具3、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 。ADBS包括DB和DBMS BDDMS包括DB和DBS CDB包括DBS和DBMS DDBS就是DB,也就是DBMS 4、据库系统的最大特点是 。A数据的三级抽象和二级独立性 B数据共享性 C数据的结构化 D数据独立 5、关系运算中花费时间可能最长的运算是 。A投影 B选择 C笛卡尔积 D除 6、如图所示,两个关系R1和R2,它们进行 运算后得到R3。R2DEM125MNMIJK R1ABCACD121XYyR3ABCDEACC112XYyMMNIIJA交 B并 C笛卡尔积 D连接 7、若用如下的SQL语句创建一个student表: CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2) 可以插入到student表中的是 。A(1031,曾华,男,23) B(1031,曾华,NULL,NULL) C(NULL,曾华,男,23) D(1031,NULL,男,23) 8、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的 。A安全性B完整性C并发控制 D恢复 9、在SQL Server 中删除触发器用()。AROLLBACK B. DROP CDELALLOCATE D. DELETE 10、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的_约束。A.实体完整性 B.参照完整性 C.用户自定义 D.用户操作 11、在关系DB中,任何二元关系模式的最高范式必定是 。A1NF B2NF C3NF DBCNF 12、在关系数据库设计中,设计关系模式是 的任务。A需求分析阶段B概念设计阶段 C逻辑设计阶段 D物理设计阶段 13、下图所示的E-R图转换成关系模型,可以转换为 关系模式。A1个 B2个 C3个 D4个价格借阅日期借阅借书人图书借书证号姓名单位总编号书名分类号作者位置mn 14、 是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 A程序 B命令 C事务 D文件 15、设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是 。 A该操作不存在问题 B该操作丢失修改 C该操作不能重复读 D该操作读“脏”数据 T1T2读A=10A=A-5写回读A=10A=A-8写回16、用于数据库恢复的重要文件是 。A数据库文件 B索引文件C日志文件 D备注文件 17、概念模型独立于 。AE-R模型 B硬件设备和DBMS C操作系统和DBMS DDBMS 18、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是 。A2NF B3NF C4NF DBCNF 19、把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是 A.GRANT GRADE ON SC TO ZHAO B.GRANT UPDATE ON SC TO ZHAOC.GRANT UPDATE (GRADE) ON SC D.GRANT UPDATE ON SC (GRADE) TO ZHAO 20、学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是 。 A. SELECT S#,SUM(GRADE)FROM SC WHERE GRADE=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)4 WHERE C#=“C2” AND GRADE (SELECT GRADE FORM SC WHERE C#=“C2”) BSELECT S# FORM SC WHERE C#=“C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=“C2”) CSELECT S# FORM SC WHERE C#=“C2” AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=“C2”) DSELECT S# FORM SC WHERE C#=“C2” AND GRADEALL (SELECT GRADE FORM SC WHERE C#=“C2”2、 填空题(每空2分,共30分)1、关系代数运算中,基本的运算是 、 、 、 和 。 答案:并 差 笛卡尔积 投影 选择2、 实体之间的联系可抽象为三类,它们是 、 和 。 答案:11 1m mn3、 DBMS存取控制机制主要包括两部分:自主存取控制,_。 答案:强制存取控制4、设有如下关系表R: R(No,NAME,SEX,AGE,CLASS) 主关键字是NO其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。 插入一个记录(25,“李明”,“男”,21,“95031”); 。 插入“95031”班学号为30、姓名为“郑和”的学生记录; 。 将学号为10的学生姓名改为“王华”; 。 将所有“95101”班号改为“95091”; 。 删除学号为20的学生记录; 。删除姓“王”的学生记录; 。答案:INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”) INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”) UPDATE R SET NAME=“王华”WHERE NO10 UPDATE R SET CLASS“95091”WHERE CLASS“95101” DELETE FROM R WHERE NO=20DELETE FROMR WHERE NAME LIKE“王3、 综合题(每题15分,共30分)1、已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。(1)写出关系模式S的基本函数依赖和主码。(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么? (3)将关系模式分解成3NF,并说明为什么? 答:(1) 关系模式S的基本函数依赖如下: SnoSname,SDSdname,SnoSD,(Sno,Course) Grade关系模式S的码为:(Sno,Course)。 (2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:S1(Sno,Sname,SD,Sdname)S2(Sno,Course,Grade) (3)将关系模式分解成3NF,并说明为什么? 答: 将上述关系模式分解成3NF如下: 关系模式S1中存在SnoSD,SDSdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname) 分解后的关系模式S11、S12满足3NF。 对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。S11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade) 2设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。(15分,每小题5分)S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,男')SC(S#,C#,SCORE) 例:(003,'C1',83)C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')(1)试用关系代数检索选修了“程军”老师所授课程之一的学生姓名。(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。(3)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。(4)试用SQL找出“程序设计”课程成绩在90分以上的学生姓名。答案:(1)SNAME(S SC TEACHER='程军'(C)(2)T(1)|($U)($V)($W)(S(U)SC(V)C(W)T1=U1U1=V1V2=W1W3='程军')(3)T(1)| ($V)($W)( SC(V)C(W)T1=V1V2=W1W3='程军')(4)SELECT SNAMEFROM S,SC,CWHERE S.S#=SC.S# AND SC.C#=C.C# AND SCORE>=90 AND CNAME='程序设计'或者SELECT SNAMEFROM SWHERER S.S# IN ( SELECT S# FROM SC WHERE SCORE>=90 AND C.C# IN ( SELECT C# FROM C WHERE CNAME='程序设计')附录:sql与关系代数汇总1、已知学生表S和学生选课表SC。其关系模式如下。 S(SNO,SN,SD,PROV) SC(SNO,CN,GR) 其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作: (1) 查询“信息系”的学生来自那些省区。 (2) 分数降序排序,输出“中文系”学生选修了“计算机”课程的学生的姓名和分数。 2、已知学生表S、课程表C和学生选课表SC,它们的关系模式如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。试用SQL语言完成下列问题。 (1) 检索选修课程“C2”的学生中成绩最高的学生的姓名和学号。 (2) 检索四门及四门以上课程学生。 3、设有下列关系模式:STUDENT(SNO,SNAME,AGE,SEX,DNO)其中,SNO表示学号,CNAME表示姓名,AGE表示年龄,SEX表示性别,DNO表示院系号。 SC(SNO,CNO,GRADE) ,其中SNO表示学号,CNO表示课程号,GRADE表示成绩。 COURSE(CNO,CNAME) ,其中CNO表示课程号,CNAME表示课程名。 请用关系代数表示下列查询: 1 )检索成绩大于85分的学生的学号、姓名。 2 )检索选修课程号为C1的学生的学号,姓名,课程名和成绩。 3 )检索选修了全部课程的学生的学号、姓名和年龄。 4、创建一个学生表student ,它由学号sno、姓名sname、性别ssex、年龄sage、所在系 sdept五个属性组成,其中学号为主码,姓名取值是唯一的,年龄在13-45岁之间。 5、假设学生选课数据库关系模式如下: Student(SNo,SName,SAge,SDept); Course(CNo,CName); SC(SNo,CNo,Score); 1)用关系代数进行如下查询:学生王芳的“计算机组成原理”课成绩。 2)用数据逻辑规则进行如厂查询:学号为的学生的系别和年龄。6、 假设学生一课程数据库关系模式如下: Student(Sno,Sname,Sage,Ssex); Course(Cno,Cname,Teacher); SC(Sno,Cno,Grade)。 用SQL语句表达下列查询: 1求张老师讲的每门课的学生平均成绩。 2统计选修各门课的学生人数。输出课程号和人数。查询结果按人数降序排列,若人数相同,则按课程号升序排列。7、设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 (3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (4)检索”李强”同学不学课程的课程号(C#)。 (5)检索至少选修两门课程的学生学号(S#)。 (6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 (8)检索选修课程号为k1和k5的学生学号(S#)。 (9)检索选修全部课程的学生姓名(SNAME)。 (10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。 (11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。 答案:1(1)SelectdistinctPROV FromS,SC WhereS.SNO=SC.SNOandSD=信息系; (2)SelectSN,GR FromS,SC WhereS.SNO=SC.SNOandSD=中文系andCN=计算机 OrderbyGRDESE; 2(1) SelectSN,S#,MAX(GR) FromS,C,SC WhereS.S#=SC.S#andC.C#=SC.C#andCN=c2 (2) SelectS# FromSC GroupbyS# HavingCount(*)>=4 3、1 )Sno ,Sname (Grade>85 (Student SC ) 2 )Sno ,Sname ,Cname ,Grade (Cname C1 (Student SC Course ) 3 )Sno ,Cno (SC )÷Cno (Course ) Sno ,Sname (Student ) 4、CREATE TABLE student (sno CHAR(10) PRIMARY KEY, sname CHAR(10) UNIQUE NOT NULL, ssex CHAR(2) NOT NULL, sage INT CHECK (sage> 13 and sage< 45) NOT NULL, sdept CHAR(20) ); 5、6、1 SELECT Cno,AVG(Grade) FROM SC,Course WIIERE SCCnoCourseCno AND Teacher LIKE张 GROUP BY Cno; 2 SELECT Cno,COUNT(·) FROM SC GROUP BY Cno ORDER BY COUNT(·)DESC,Cno;7、 解:本题各个查询语句对应的关系代数表达式表示如下:(1). C#,CNAME(TEACHER=程军(C) (2). S#,SNAME(AGE>21SEX=”男”(C) (3). SNAMEswv S#,C#(sc)÷C#(TEACHER=程军(C) (4). C#(C)- C#(SNAME=李强(S) wv SC) (5). S#(1=425 (SC × SC)(6). C#,CNAME(Cwv (S#,C#(sc)÷S#(S) (7). S#(SCwv C#(TEACHER=程军(C) (8). S#,C#(sc)÷C#(C#=k1 C#=k5(C) (9). SNAMEswv S#,C#(sc)÷C#(C) (10). S#,C#(sc)÷C#(S#=2(SC)(11). S#,SNAMEswv S#(SCwv CNAME=C语言(C) 密封线内不要答题,班级、姓名、学号必须写在密封线内。班级 姓名 学号 密封线南通农院07-08学年度第2学期期末考试试卷(A卷) 网络 专业 级 网络数据库 课程题号一二三四五总分统分人得分得分评卷人 一 选择题:本大题共13小题;每小题2分,共26分。在每小题给出的四个选择中,只有一项是符合题目要求的,把所选择项前的字母填在下表中对应的题号下。1234567891011121314151( )是位于用户和操作系统之间的一层数据管理软件。数据库在建立、使用和维护时由其统一管理、统一控制。A DB BDBMS CDBS DDBA2 SQL语言允许使用通配符进行字符串匹配的操作,其中%可以表示( )A、零个字符 B、1个字符 C、多个字符 D、以上都可以3下列哪一个数据库不是SQL Server 2000的系统数据库( )Amaster数据库 Bmsdb数据库 Cpubs数据库 Dmodel数据库4 下列四项中,可以直接用于表示概念模型的是( )。A. 网状模型 B.关系模型 C.层次模型 D.实体-联系(E-R)模型5下列四项中说法不正确的是( ) A. 数据库避免了一切数据的重复 B.数据库中的数据可以共享 C. 数据库减少了数据冗余 D.数据库具有较高的数据独立性6公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( ) A.多对多 B.一对一 C.多对一 D.一对多7 关系数据库中空值(NULL)相当于( )A. 零(0) B. 空白 C. 零长度的字符串 D. 没有输入8事务有多个性质,其中不包括( )A.隔离性 B. 不可撤消 C.原子性 D. 一致性 9一个电视经销商在表Tvtype 中维护库存的Tvs信息,下述哪条语句能显示价格最昂贵的三种电视机的信息?( )A. select top3 cDiscription from Tvtype order by iprice ascB. select cDiscription from Tvtype where max(iprice)>3C. select top3 cDiscription from Tvtype order by iprice descD. select cDiscription max(iprice) from Tvtype order by iprice 10假如采用关系数据库系统来实现应用,在数据库设计的( )阶段,需要将E-R模型转换为关系数据模型。A.概念设计 B.物理设计 C. 运行阶段 D. 逻辑设计11取出关系中的某些列,并消去重复的元组的关系运算称为( ) A.取列运算 B. 投影运算 C.连接运算 D. 选择运算12一家航空公司把一年中飞行距离(idistancetravelled)超过10000里的客户信息转移到一张称为flyersclub 的表中,他们的详细情况被记录在表flyers ( )A. insert into flyersclub from flyers where idistancetravelled>=10000B. insert flyersclub (idistancetravelled) values from flyers where idistancetravelled>=10000C.insert into flyersclub from flyers where (idistancetravelled)values>=10000D. select * into flyersclub from flyers where idistancetravelled >=1000013. 系统死锁属于( )A.事务故障 B.程序故障 C.系统故障 D.介质故障专心-专注-专业得分评卷人 二填空题:本大题共9小题,14个填空;每空1分,共14分。答案请写在试题中的横线上。1数据库系统中常用的三种数据模型有层次模型、_和_。2SQL语言由数据定义语言、 和 组成。3使用 命令可以增加数据库和事务日志的容量。4关系模式的三类完整性约束条件分别是_、参照完整性约束和_。5如果一个关系不满足2NF,则该关系一定也不满足_(在1NF、2NF、3NF范围内)。6 关键字是能唯一标识每一行的列或列的组合。一个表可能有多个关键字,选定其中一个作为主关键字,其余的称为 。7. 索引有两种类型: 和 。 8.当在一个已经存放了数据的表上增加主键时,SQL Server会自动对表中的数据进行检查,以确保这些数据能够满足主键约束的要求。问:主键约束满足 和 两个要求。9. 将视图v_Course重命名为v_newCourse的SQL语句是: 。得分评卷人 三操作题:本大题共13小题;各小题分值不等,共60分,请按要求上机操作。销售数据库Sales中存在这样的三张表:1.客户表(Customer)客户编号(CusNo)姓名(CusName)地址(Address)电话(Tel)C001杨婷北京010-C002李和平上海021-C003叶新成都024-C004冯辰诚上海021-2.产品表(Product)产品编号(ProNo)品名(ProName)单价(price)库存数量(Stocks)P0001液晶电视5600.00800P0002空调2390.00460P0003洗衣机3700.00600P0004电热水器890.001203.销售表(ProOut)销售日期(SaleDate)客户编号(CusNo)产品编号(ProNo)销售数量(Quantity)2007-10-27C001P000132007-11-06C004P0003402007-12-27C001P000352008-3-15C002P0002122008-05-02C003P0002212008-05-02C003P000192008-09-21C004P0001302008-11-21C004P000173按要求完成下列题目:() 建立销售数据库Sales的以上三个表。(分)() 实现各表的实体完整性要求。(分)() 在Customer上基于CusName列创建非惟一索引;在Product上基于ProName列创建惟一索引;在ProOut上基于SaleDate列创建聚集的、惟一索引。(分)() 在ProOut表上设置外键,保证录入时的产品代码都在产品表中存在的。(分)() 创建一规则限定只能录入大于的值,然后将其绑定到ProOut表上Quantity列。(分)() 查询销售数量超过100的产品号。(分)() 创建一自定义函数sumMoney,要求能够利用该函数计算出销售金额,并进行测试,利用该函数计算出每种产品(ProNo)的销售金额。(分)() 查询购买了产品号“P0002”的客户编号、客户名和电话,查询结果按客户名降序排列。(分)() 在查询的基础上创建一张新表Cus,要求显示客户“C004”在2008年购买的产品号、数量。(分)() 创建视图viewPro,要求显示每种产品的销售量和销售金额(分)() 创建存储过程p_Pro, 要求能够根据指定的客户编号,统计该客户购买每种产品的产品号、数量。(分)() 创建一个触发器t_Stocks,要求当插入、更新、删除销售表(ProOut)的销售记录时,根据销售数量(Quantity)的变化,能更新产品表(Product)中相应的库存数量(Stocks) (分)() 备份该数据库Stu_info。(分)网络数据库期末试卷(一)答案:一. 选择题12345678910111213BDCDACDBCDBDA二. 填空题1关系模型,网状模型6 候选关键字2数据操作语言,数据控制语言7聚集索引,非聚集索引3ALTER DATABASE8主键值要唯一,不允许为NULL值4域完整性约束,实体(表)完整性约束9Exec sp_ rename v_Course,v_newCourse53NF三. 操作题1(1) 建立数据库Sales的三个表客户表(Customer)、产品表(Product)、销售表(ProOut)(2) 客户表(Customer)的主键为:客户编号(CusNo)产品表(Product) 的主键为:产品编号(ProNo)销售表(ProOut) 的主键为:销售日期(SaleDate)、客户编号(CusNo)、产品编号(ProNo) (3) CREATE INDEX IX_Customer ON Customer (CusName)CREATE UNIQUE INDEX IX_Product ON Product (ProName)CREATE UNIQUE CLUSTERED INDEX IX_ProOut ON ProOut (SaleDate)(4) USE SalesGOALTER TABLE ProOut ADD CONSTRAINT FK_ ProOut_ProNo FOREIGN KEY (ProNo) REFERENCES Product(ProNo)GO(5) CREATE RULE RU_ProOut as x>0EXEC sp_bindrule RU_ProOut, 'ProOut. Quantity (6) Select ProNo from ProOut group by ProNohaving sum(Quantity)>100(7) create function sumMoney (x Decimal,y Decimal)returns Decimalasbegin return(x*y)endgo-测试select PO.ProNo,ProName,dbo.sumMoney (price, sum(Quantity) as '销售金额'from Product as P, ProOut as POwhere P.ProNo=PO.ProNogroup by PO.ProNo,ProName,price(8) select P.CusNo, CusName,Tel from ProOut as p, Customer as C where P.ProNo=P0002 and P