《数据库系统原理》期末复习2016.6

发布时间 : 星期一 文章《数据库系统原理》期末复习2016.6更新完毕开始阅读

A.插入、删除和数据冗余 B.提高查询速度

C.减少数据操作的复杂性 D.保证数据的安全性和完整性

31.若将下面的E-R图转换成关系模型,则可以得到关系模式的个数为( C )。

A.1个 B.2个 C.3个 D.4个

32.能消除多值依赖引起的冗余的是( C )。

A.2NF B.3NF C.4NF D.BCNF

33.从E-R模型向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的码是( C )。 A.M端实体的码 B.N端实体的码 C.M端实体的码与N端实体的码的组合 D.重新选取其他属性

34.保护数据库,防止未经授权的或不合法的使用造成的数据泄露、更改破坏。这是指数据库的( A )。

A.安全性 B.完整性 C.并发控制 D.恢复

35.设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是( C )。

A.该操作不存在问题 B.该操作丢失更新 C.该操作不能重复读 D.该操作读“脏”数据

T1 T2 ①读A=10,B=5 求和A+B=15 ② ③读A=20,B=5 求和25验证错 读A=10 A=A*2 写回

36.若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( B )。 A.事务故障 B.系统故障 C.介质故障 D.运行故障 37.在数据库中存储的是( C )

A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息 38.按所使用的数据模型来分,数据库可分为( A )三种类型。

A.层次、关系和网状 B.网状、环状和链状 C.大型、中型和小型 D.独享、共享和分时 39.SQL语言是一种( D )语言,易学易用。

A.格式化 B.函数化 C.过程化 D.非过程化

40.设有属性A,B,C,D,以下表示中不是关系的是( C )

A.R(A) B.R(A,B,C,D) C.R(A×B×C×D) D.R(A,B)

42.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( D )。

A.元组 B.行 C.记录 D.属性 43.侯选码中的属性称为( B )。

- 5 -

A.非主属性 B.主属性 C.复合属性 D.关键属性

44.数据库概念设计的E-R方法中,用属性描述实体的特征,属性在E-R图中,用( D )表示。 A.矩形 B.四边形 C.菱形 D.椭圆形 45.按TCSEC/TDI系统安全标准,系统安全级别逐渐降低的次序是( D )。

A.D C2 C1 A1 B.B1 B2 C2 D C.A1 C2 B1 D D.A1 B3 C2 D

46.设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是( B )。

A.该操作不存在问题 B.该操作丢失 C.该操作不能重复读 D.该操作读“脏”数据

T1 T2 ①读X=48 ② ③X←X+10 写回X ④ 读X=48 X←X-2 写回X

47.若事务T对数据R已加了S锁,则其他事务对数据R( A )。 A.可以加S锁不能加X锁 B.不能加S锁可以加X锁 C.可以加S锁也可以加X锁 D.不能加任何锁 48.事务(Transaction)是一个( C )

A.程序 B.进程 C.操作序列 D.完整性规则

49.事务对DB的修改,应该在数据库中留下痕迹,永不消逝。这个性质称为事务的( A ) A.持久性 B.隔离性 C.一致性 D.原子性 50.事务的执行次序称为( C )

A.过程 B.步骤 C.调度 D.优先级 51.完整性约束条件作用的数据对象不可能是( A )。

A.数据库 B.关系

C.元组 D.属性列

三、应用题

1.设有下列四个关系模式: S(SNO,SNAME,CITY)

P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY) SPJ(SNO,PNO,JNO,QTY)

其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。分别用关系代数和SQL语言完成下列查询:

1)求供应工程项目号为J1工程零件的供应商号SNO

∏SNO(σJNO=‘J1’(SPJ))

SELECT SNO FROM SPJ WHERE JNO=‘J1’;

2)求供应工程项目号为J1工程零件号为P1的供应商号SNO

- 6 -

∏SNO(σJNO=‘J1’∧PNO=‘P1’(SPJ))

SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’; 3)求供应工程项目号为J1工程红色零件的供应商号SNO

∏SNO(σJNO=‘J1’∧COLOR=‘红’(SPJ∞P))

SELECT SNO FROM SPJ,P WHERE SPJ.PNO=P.PNO AND P.COLOR=‘红’AND JNO=‘J1’; 4)求至少使用天津供应商生产的红色零件的工程号JNO

∏JNO(SPJ)-∏JNO(σcity=‘天津’∧COLOR=‘红’(SPJ∞P∞S)) SELECT JNO FROM SPJ,P,S

WHERE S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND CITY<>‘天津’AND COLOR<>‘红’; 5)求至少用了S1供应商所供应的全部零件的工程号JNO(本题不需要用SQL语言完成)

∏JNO,PNO(SPJ)÷∏PNO(σSNO=‘S1’(SPJ)) 2.现有如下关系模式:

雇员(员工姓名,居住城市,居住街道) 工作(员工姓名,公司名,工资) 公司(公司名,公司所在城市) 主管(员工姓名,主管姓名) 用关系代数完成下列查询:

1)找出所有在公司名为“firstbank”的公司工作的员工,显示员工姓名。

∏员工姓名(σ公司名=‘firstbank’(工作))

2)显示为“firstbank”公司工作的员工姓名和居住城市。

∏员工姓名,居住城市(σ公司名=‘firstbank’(雇员∞工作))

3)找出所有为“firstbank”公司工作且工资在1000元以上的员工,显示员工姓名和工资。

∏员工姓名,工资(σ公司名=‘firstbank’∧工资>1000(工作))

4)找出每个员工工资都在1000元以上的公司,显示公司名。

∏公司名(工作)-∏公司名(σ工资<1000(工作))

5)找出主管人员Smith领导的员工姓名及员工居住的城市。

∏员工姓名,居住城市(σ主管姓名=‘Smith’(雇员∞主管)) 3.设有下列关系模式:

STUDENT(NO,NAME,SEX,BIRTHDAY,CLASS)

TEACHER(NO,NAME,SEX,BIRTHDAY,PROF,DEPART) COURSE(CNO,CNAME,TNO) SCORE(NO,CNO,DEGREE) 其中,学生信息表STUDENT由学号(NO)、学生姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、班级(CLASS)组成,记录学生的情况;教师信息表TEACHER由教师号(NO)、教师姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、职称(FROF)、教师所在系(DEPART)组成,记录教师的情况;课程表COURSE由课程号(CNO)、课程名称(CNAME)、任课教师号(TNO)组成,记录所开课程及任课教师情况;成绩表SCORE由学生学号(NO)、课程号(CNO)、成绩(DEGREE)组成,记录学生选课情况及相应的成绩。用SQL语句实现以下操作 1)显示STUDENT表中每个学生的姓名和出生日期。 SELECT NAME,BIRTHDAY FROM STUDENT; 2)显示STUDENT表中所有姓“王”的学生记录。

SELECT * FROM STUDENT WHERE NAME LIKE ‘王%’; 3)显示成绩表中成绩在60分到80分之间的所有记录。

SELECT * FROM SCORE WHERE DEGREE BETWEEN 60 AND 80; 4)显示“男”教师及其所上的课程。(显示该教师的姓名和所上的课程名)

SELECT TEACHER.NAME,COURSE.CNAME FROM TEACHER,COURSE WHERE TEACHER.NO=COURSE.TNO AND SEX=‘男’; 5)选出和“李军”同学同性别并同班的学生姓名。

SELECT NAME FROM STUDENT

- 7 -

WHERE SEX=(SELECT SEX FROM STUDENT WHERE NAME=‘李军’)AND

CLASS=(SELECT CLASS FROM STUDENT WHERE NAME=‘李军’);

6)向STUDENT表中插入一条学生记录。(学号:999,姓名:程功,性别:男,出生年月日:10/01/80,班级:95035)

INSERT INTO STYDENT VALUES(‘999’,‘程功’,‘男’,‘10/01/80’,‘95035’); 7)在STUDENT表中将学号为“999”的学生的班号改为“95031” UPDATE STUDENT SET=‘95031’WHERE NO=‘999’; 8)在STUDENT表中删除学号为“999”的学生记录。 DELETE FROM STUDENT WHERE NO=‘999’; 4.设有下列四个关系模式:

S(SNO,SNAME,CITY)

P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY) SPJ(SNO,PNO,JNO,QTY)

其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。 用SQL语言完成下列操作:

①找出工程项目J2使用的各种零件的名称及其数量

SELECT PNAME,QTY FROM SPJ, P WHERE SPJ.PNO=P.PNO AND JNO=‘J2’; ②找出所有零件的名称、颜色、重量

SELECT PNAME, COLOR, WEIGHT FROM P; ③找出上海厂商供应的所有零件号码

SELECT DISTINCT PNO FROM SPJ

WHERE SNO IN ( SELECT SNO FROM S WHERE CITY=’上海’);

④从供应商关系中删除S2(供应商号)的记录,并从供应情况关系中删除相应的记录

DELETE FROM S WHERE SNO=‘S2’; DELETE FROM SPJ WHERE SNO=‘S2’; ⑤请将(S2,P4,J6,200)插入供应情况关系 INSERT INTO SPJ VALUS(‘S2’,‘P4’,‘J6’,200); 5.设有3个关系:

S(S#,SNAME,AGE,SEX) SC(S#,C#,CNAME) C(C#,CNAME,TEACHER)

试用关系代数表达式表示下列查询语句: 1)检索LIU老师所授课程的课程号和课程名。 ∏C#,CNAME(σTEACHER=‘LIU’(C))

2)检索年龄大于23岁的男学生的学号和姓名。 ∏S#,SNAME(σAGE>‘23’∧SEX=‘M’(S))

3)检索学号为S3学生所学课程的课程名与任课教师名。 ∏CNAME,TEACHER(σS#=‘S3’(SC∞C))

4)检索至少选修LIU老师所授课程中一门课的女学生姓名。 ∏SNAME(σSEX=‘F’∧TEACHER=‘LIU’(S∞SC∞C)) 5)检索WANG同学不学的课程的课程名。

∏C#(C)-ΠC#(σSNAME=‘WANG’(S∞SC)

- 8 -

联系合同范文客服:xxxxx#qq.com(#替换为@)