Fork me on GitHub

数据库期中考试题库

数据库期中考试试题

第一部分

 

选择题

1、要保证数据库的逻辑数据独立性,需要修改的是||A||。

A: 模式与外模式之间的映射

B: 模式与内模式之间的映射

C: 模式

D: 三级模式

 

2、数据库系统的数据独立性体现在||B||。

A: 不会因为数据的变化而影响到应用程序

B: 不会因为数据存储结构与数据逻辑结构的变化而影响应用程序

C: 不会因为存储策略的变化而影响存储结构

D: 不会因为某些存储结构的变化而影响其他的存储结构

 

3、关系数据模型是目前最重要的一种数据模型,它的三个要素分别是||B||。

A: 实体完整性、参照完整性、用户自定义完整性

B: 数据结构、关系操作、完整性约束

C: 数据增加、数据修改、数据查询

D: 外模式、模式、内模式

 

4、||B||的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

A: 网状模型

B: 关系模型

C: 层次模型

D: 以上都有

 

5、要保证数据库的数据独立性,需要修改的是||C|| 。

A: 模式与外模式

B: 模式与内模式

C: 三级模式之间的两层映射

D: 三层模式

 

6、概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是||D|| 。

A: 层次模型

B: 关系模型

C: 网状模型

D: 实体-关系模型

 

7、下述||D||不是DBA数据库管理员的职责 。

A: 完整性约束说明

B: 定义数据库模式

C: 数据库安全

D: 数据库管理系统设计

 

8、下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是||D||。 I.人工管理阶段 II.文件系统阶段 III.数据库阶段

A: I 和 II

B: 只有 II

C: II 和 III

D: 只有 I

 

9、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是||A||。

A: DBS包括DB和DBMS

B: DBMS包括DB和DBS

C: DB包括DBS和DBMS

D: DBS包括DB,也就是DBMS

 

10、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立的最高的是||A||阶段。

A: 数据库系统

B: 文件系统

C: 人工管理

D: 数据项管理

 

11、数据库的概念模型独立于||A||。

A: 具体的机器和DBMS

B: E-R图

C: 信息世界

D: 现实世界

 

12、在数据库技术中,面向对象数据模型是一种||A||。

A: 概念模型

B: 结构模型

C: 物理模型

D: 形象模型

 

13、数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。在常用的数据模型中,不包括||B||。

A: 网状模型

B: 链状模型

C: 层次模型

D: 关系模型

 

14、DBMS提供的SQL有两种方式,其中一种是将SQL嵌入到某一高级语言中,此高级语言称为||B||。

A: 查询语言

B: 宿主语言

C: 自含语言

D: 会话语言

 

15、数据库三级模式之间存在的映象关系正确的是||B||。

A: 外模式/内模式

B: 外模式/模式

C: 外模式/外模式

D: 模式/模式

 

16、数据库技术采用分级方法将数据库的结构划分成多个层次,是为了提高数据库||B|| 。

A: 数据规范性

B: 数据的独立性

C: 管理规范性

D: 数据的共享

 

17、存储在计算机外部存储介质上的结构变化的数据集合,其英文名称是||C||。

A: Data Dictionary(简写DD)

B: Data Base System(简写DBS)

C: Data Base(简写DB)

D: Data Base Management System(简写DBMS)

 

18、对于数据库系统,负责定义数据库内容,决定存储结构和存取策略及安全等授权工作的是||C||。

A: 应用程序开发人员

B: 终端用户

C: 数据库管理员

D: 数据库管理系统的软件设计人员

 

19、数据库中,数据的物理独立性是指||C||。

A: 数据库与数据管理系统的相互独立

B: 用户程序与DBMS的相互独立

C: 用户的应用程序与存储在磁盘上的数据中的数据是相互独立的

D: 应用程序与数据的逻辑结构相互独立

 

20、通过指针链接来表示和实现实体之间联系的模型是||D||。

A: 关系模型

B: 层次模型

C: 网状模型

D: 层次和网状模型

 

21、关系数据模型||D||。

A: 只能表示实体间的1∶1联系

B: 只能表示实体间的1∶n联系

C: 只能表示实体间的m∶n联系

D: 可以表示实体间的上述三种关系

 

22、一般地,一个数据库系统的外模式||D||。

A: 只能有一个

B: 最多只能有一个

C: 至少两个

D: 可以有多个

 

23、数据库三级模式中,真正存在的是||D||。

A: 外模式

B: 子模式

C: 模式

D: 内模式

 

24、在数据库中,产生数据不一致的根本原因是||D||。

A: 数据存储量太大

B: 没有严格保护数据

C: 未对数据进行完整性的控制

D: 数据冗余

 

25、层次模式、网状模型和关系模型的划分原则是||D||。

A: 记录长度

B: 文件的大小

C: 联系的复杂程度

D: 数据之间的联系

 

26、数据库的管理方法有||D||。

A: 批处理和文件系统

B: 文件系统和分布式系统

C: 分布式系统和批处理

D: 数据库系统和文件系统

 

27、在数据库设计中用关系模型来表示实体和实体之间的联系。关系模型的结构是||B||。

A: 层次结构

B: 二维表结构

C: 网状结构

D: 封装结构

 

28、应用数据库的主要目的是为了||C||。

A: 解决保密问题

B: 解决数据库完整性问题

C: 共享数据问题

D: 解决数据最大的问题

 

29、模式和内模式||A||。

A: 只能有一个

B: 最多只有一个

C: 至少两个

D: 可以有多个

 

30、在数据库的非关系模型中,基本层次联系是||B||。

A: 两个记录型以及它们之间的多对多联系

B: 两个记录型以及它们之间的一对多联系

C: 两个记录型之间的多对多的联系

D: 两个记录之间的一对多的联系

 

31、数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是||C||。

A: 层次数据模型

B: 网状数据模型

C: 关系数据模型

D: 面向对象数据模型

 

32、在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、||C||和存储级三个层次

A: 管理员级

B: 外部级

C: 概念级

D: 内部级

 

33、数据库系统的最大特点是||C||。

A: 数据的三级抽象和二级独立性

B: 数据共享性

C: 数据的结构化

D: 数据独立性

 

34、数据库管理系统中用于定义和描述数据库逻辑结构的语言称为||A||。

A: 数据定义语言

B: 数据库子语言

C: 数据操纵语言

D: 数据结构语言

 

35、在关系数据库设计中用||C||来表示实体及实体之间的联系。

A: 树结构

B: 封装结构

C: 二维表结构

D: 图结构

 

36、下面的选项不是关系数据库基本特征的是||A||。

A: 不同的列应有不同的数据类型

B: 不同的列应有不同的列名

C: 与行的次序无关

D: 与列的次序无关

 

37、现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是||A||。

A: 患者编号

B: 患者姓名

C: 患者编号和患者姓名

D: 医生编号和患者编号

 

38、假设有关系R和S,关系代数表达式R-(R-S)表示的是||A||。

A: R∩S

B: R∪S

C: R-S

D: R×S

 

39、关系代数中的连接操作是由||B||操作组合而成 。

A: 选择和投影

B: 选择和笛卡尔积

C: 投影、选择、笛卡尔积

D: 投影和笛卡尔积

 

40、关系模型中,一个码是||C||。

A:  可以由多个任意属性组成

B:  至多由一个属性组成

C:  由一个或多个属性组成,其值能够惟一标识关系中一个元组

D:  以上都不是

 

41、关系代数运算是以||C||为基础的运算 。

A: 关系运算

B: 谓词演算

C: 集合运算

D: 代数运算

 

42、从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是||C||操作 。

A: 投影

B: 连接

C: 选择

D: 复制

 

43、一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的||C|| 。

A: 记录

B: 行

C: 属性

D: 元组

 

44、一个关系只有一个||D|| 。

A:  候选码

B: 外码

C: 超码

D: 主码

 

45、两个关系在没有公共属性时,其自然连接操作表现为||B||。

A: 结果为空关系

B: 笛卡尔积操作

C: 等价连接操作

D: 无意义的操作

 

46、有两个关系R和S,分别包含15个和10个元组,那么在R∪S、R-S、R∩S,中不可能出现的元组数目情况是||B||。

A:  15,5,10

B:  18,7,7

C:  21,11,4

D:  25,15,0

 

47、取出关系中的某些列,并消去重复元组的关系代数运算称为||B||。

A: 取列运算

B: 投影运算

C: 连接运算

D: 选择运算

 

48、参加差运算的两个关系||B||。

A: 属性个数可以不相同

B: 属性个数必须相同

C: 一个关系包含另一个关系的属性

D: 属性名必须相同

 

49、若D1={a1,a2,a3},D2={1,2,3},则D1×D2集合中共有元组||C||个。

A: 6

B: 8

C: 9

D: 12

 

50、设有属性A,B,C,D,以下表达中不是关系的是||C||。

A: R(A)

B: R(A,B,C,D)

C: R(A×B×C×D)

D: R(A,B)

 

51、对关系模型叙述错误的是||D|| 。

A: 建立在严格的数学理论,集合论和谓词演算公式基础之一

B:微机DBMS绝大部分采取关系数据模型

C:用二维表表示关系模型是其一大特点

D:不具有连接操作的DBMS也可以是关系数据库管理系统

 

52、关系数据库中的码是指||D||。

A:能惟一决定关系的字段

B:不可改变的专用保留字

C:关键的很重要的字段

D:能惟一标识元组的属性或属性集合

 

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

A: 元组

B: 行

C: 记录

D: 属性

 

54、设W为R和S自然连接之后的结果,且W,R和S的元组个数分别为p,m,n,那么三者之间满足||D||。

A:  p<(m+n)

B:  p≤(m+n)

C:  p<(m×n)

D:  p≤(m×n)

 

55、若用如下的SQL语句创建一个表student:CREATE  TABLE  student  (NO  CHAR(4)  NOT  NULL,NAME   CHAR(8)  NOT  NULL,SEX  CHAR(2),AGE  INT)可以插入到student表中的是||B||。

A: ('1031','曾华',男,23)

B: ('1031','曾华',NULL,NULL)

C: (NULL,'曾华', '男', '23')

D: ('1031',NULL,‘男’,23)

 

56、在视图上不能完成的操作是||C|| 。

A: 更新视图

B: 查询

C: 在视图上定义新的表

D: 在视图上定义新的视图

 

57、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能||C||。

A: 数据查询

B: 数据操纵

C: 数据定义

D: 数据控制

 

58、SQL语言中,删除一个视图的命令是||B||。

A: DELETE

B: DROP

C: CLEAR

D: REMOVE

 

59、

 在SQL语言中的视图VIEW是数据库的||A|| 。

A: 外模式

B: 模式

C: 内模式

D: 存储模式

 

60、下列的SQL语句中,||D||不是数据定义语句。

A: CREATE TABLE

B: DROP VIEW

C: CREATE VIEW

D: GRANT

 

61、若要撤销数据库中已经存在的表S,可用||C||。

A: DELETE TABLE S

B: DELETE S

C: DROP TABLE S

D: DROP S

 

62、若要在基本表S中增加一列CName(课程名),可用||C||。

A:  ADD TABLE S(CName CHAR(8))

B:  ADD TABLE S ALTER(CName CHAR(8))

C:  ALTER TABLE S ADD(CName CHAR(8))

D:  ALTER TABLE S (ADD CName CHAR(8))

 

63、学生关系模式 Student( Sno,Sname,Sex,Age),Student的属性分别表示学生的学号、姓名、性别、年龄。要在表Student中删除一个属性“年龄”,可选用的SQL语句是||B||。

A: DELETE Age from S

B: ALTER TABLE S DROP Age

C: UPDATE S Age

D: ALTER TABLE S ‘Age’

 

64、有关系S(Sno,SNAME,SAGE),C(Cno,CNAME),SC(Sno,Cno,GRADE)。其中Sno是学生号,SNAME是学生姓名,SAGE 是学生年龄, Cno是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是||A||。

A: S.Sno = SC.sno and C.Cno = SC.Cno and SAGE>=20 and CNAME='ACCESS'

B: S.Sno = SC.sno and C.Cno = SC.Cno  and SAGE in>=20 and CNAME in 'ACCESS'

C: SAGE in>=20 and CNAME in 'ACCESS'

D: SAGE>=20 and CNAME=' ACCESS'

 

65、设关系数据库中一个表S的结构为SC(SName,CName,grade),其中SName为学生名,CName为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用||D||。

A:  ADD INTO SC VALUES('张二','化学','80')

B:  INSERT INTO SC VALUES('张二','化学','80')

C:  ADD INTO SC VALUES('张二','化学',80)

D:  INSERT INTO SC VALUES('张二','化学',80)

 

66、设关系数据库中一个表的结构为:SC(SName,CName,grade),其中SName为学生名,CNamee为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用||A|| 。

A: UPDATE SC SET grade=85 WHERE SName='王二' AND CName='化学'

B: UPDATE SC SET grade='85' WHERE SName='王二' AND CName='化学'

C: UPDATE grade=85 WHERE SName='王二' AND CName='化学'

D: UPDATE grade='85' WHERE SName='王二' AND CName='化学'

 

67、在SQL语言中,子查询是||D|| 。

A: 返回单表中数据子集的查询语言

B: 选取多表中字段子集的查询语句

C: 选取单表中字段子集的查询语句

D: 嵌入到另一个查询语句之中的查询语句

 

68、SQL中的视图机制提高了数据库系统的||D||。

A: 完整性

B: 并发控制

C: 审计技术

D: 安全性

 

69、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的||C||。

A: 完整性

B: 可靠性

C: 安全性

D: 一致性

 

70、在数据库的安全性控制中,授权的数据对象的||A||,授权子系统就越灵活。

A: 范围越小

B: 约束越细致

C: 安全性

D: 约束范围大

 

第二部分

 

SQL设计

打开并运行X:/XSGL.sql文件,创建XSGL数据库。

 

试完成以下查询,分别存储为题号.sql,如:A.sql、B.sql……J.sql。

A.    查询年龄为19岁的“刘”姓学生。

B.    查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名,成绩。(用连接实现)

C.    查询“李勇”选修的所有课程的课程名程。(用嵌套查询实现)

D.    查询和“刘晨”在同一个系学习的其他同学的信息。

E.    查询每个系的学生数,显示结果为系名,人数。

F.    查询选修的课程数超过(含)3门的学生的学号。

G.    查询平均成绩在80分以上(含)的学生的姓名。

H.    查询至少选修了“95001”选的全部课程的学生的姓名。

I.     将女同学选修的“3”号课程成绩提高10%。

J.     删除还没有成绩的选课信息。(成绩为空)

 

SQL设计·参考答案:

--A.查询年龄为19岁的“刘”姓学生

select * from student where Sage=19 and sname like '刘%'

 

--B.查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名,成绩。(用连接实现)

select sname,cname,grade

from Student,Course,SC

where student.sno=sc.sno and Course.cno=SC.cno and  sname='李勇'

 

--C.查询“李勇”选修的所有课程的课程名程。(用嵌套查询实现)

select cname from course

where cno in

(select cno from sc where sno in

 (select sno from student where sname='李勇')

)

 

--D.查询和“刘晨”在同一个系学习的其他同学的信息。

select * from student

where Sdept=

(select Sdept from student where sname='刘晨') and sname<>'刘晨'

 

--E.查询每个系的学生数,显示结果为系名,人数。

select SDept as 系名,count(*) as 人数

from student

group by  SDept

 

--F.查询选修的课程数超过(含)3门的学生的学号。

select sno from sc

 group by sno having count(*)>=3

 

--G.查询平均成绩在80分以上(含)的学生的姓名。

select sname from student

where sno in

(select sno from sc

 group by sno having AVG(Grade)>=80)

 

--H.查询至少选修了“95001”选的全部课程的学生的信息。

select sname

from student

Where  not  Exists

  (select * from SC Sc1

   where sno in ('95001') and   not Exists

    (select * from SC where Sc.sno=Student.sno and Sc1.cno=SC.cno))

 

--I.将女同学的“3”号课程成绩提高10%。

update sc set Grade=Grade*1.1

where cno='3' and sno in(select sno from student where SSEX='女')

 

--J.删除还没有成绩的选课信息。(成绩为空)

delete from SC where Grade is NULL

 

一. 设有三个关系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
试用关系代数表达式表示下列查询语句.
1. 试用关系代数表达式表示上题中各个查询语句。
(1)检索LIU老师所授课程的课程号、课程名。
πC#,CNAMETEACHER='LIU'(C))
(2)检索年龄大于23岁的男学生的学号与姓名。
πS#,SNAME(σAGE>'23'∧SEX='男'(S))
(3)检索学号为S3学生所学课程的课程名与任课教师名。
πCNAME,TEACHER(σS#='S3'(SCC))
(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。
πSNAME(σSEX='女'∧TEACHER='LIU'(SSCC))
(5)检索WANG同学不学的课程号。
πC#(C)-πC#(σSNAME='WANG'(SSC))
  或者,
πC#(SC)-πC#(σSNAME='WANG'(SSC)) (全部课程号减去WANG同学所学的课程号)
(从C中选择满足条件的元组:SC中的所有元组,如果学号与C中所选元组相同的话,其在S中对应的姓名肯定不是'wang'。)
Notice:"p1=>p2"的含义是:如果p1为真,则p2为真。
(6)检索至少选修两门课程的学生学号。
πS#(σ1=4∧2≠5(SC×SC))
(7)检索全部学生都选修的课程的课程号与课程名。
πC#,CNAME(C(πS#,C#(SC)÷πS#(S))) (涉及到全部值时,应用除法,“除数”是"全部")
(8)检索选修课程包含LIU老师所授课程的学生学号。
πS#(σTEACHER='LIU'(SCC))
如果LIU老师有多门课程,则选修课程包含LIU老师所授全部课程的学生学号为:
πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))

二. 设有关系R和S(如下:)

计算:

三.  笛卡尔积、等值联接、自然联接三者之间有什么区别?
  笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。
  等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;
  自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。 当两个关系没有公共属性时,自然连接就转化我笛卡尔积。
四. 设有两个基本表R(A,B,C)和S(D,E,F),试用SQL查询语句表达下列关系代数表达式:
  (1)πA(R)  (2)σB='17'(R)   (3)R×S  (4))πA,FC=D(R×S))
(1)SELECT A FROM R
(2)SELECT * FROM R WHERE B='17'
(3)SELECT A,B,C,D,E,F FROM R,S
(4)SELECT A,F FROM R,S WHERE R.C=S.D
五. 设有两个基本表R(A,B,C)和S(A,B,C)试用SQL查询语句表达下列关系代数表达式:
  (1)R∪S  (2)R∩S  (3)R-S  (4)πA,B(R)πB,C(S)

    (1)SELECT A,B,C
      FROM R
      UNION
      SELECT A,B,C
      FROM S

    (2)SELECT A,B,C
      FROM R
      INTERSECT
      SELECT A,B,C
      FROM S

    (3)SELECT A,B,C
      FROM R
      WHERE NOT EXISTS
       (SELECT A,B,C
       FROM S
       WHERE R.A=S.A AND R.B=S.B AND R.C=S.C)

    (4)SELECT R.A,R.B,S.C
      FROM R,S
      WHERE R.B=S.B

六.设有一个学生选课数据库,包括Student,SC,Course三个关系模式:

Student(Sno,Sname,Ssex,Sage,Sdept)

SC(SnoCno,Grade)

Course(Cno,Cname,Ccredit,Semester)

试用SQL完成如下查询:

(1)           查询SC表中的全部数据;

(2)           查询计算机系学生的姓名和年龄;

(3)           查询成绩在70-80分的学生的学号、课程号和成绩;

(4)           查询计算机系年龄在18-20岁的男学生的姓名和年龄;

(5)           查询C001课程号的最高分;

(6)           查询计算机系学生的最大年龄和最小年龄;

(7)           统计每个系的学生人数;

(8)           统计每门课程号的选课人数和考试最高分;

(9)           统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果;

(10)       查询总成绩超过200分的学生,要求列出其学号和总成绩;

(11)       查询选修C002课程的学生姓名和所在系;

(12)       查询成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果;

(13)       查询哪些课程号没有学生选修,要求列出课程号和课程名;

(14)       查询计算机系哪些学生没有选课,列出学生姓名;

(15)       查询选修C001课程号的学生姓名和所在系;

(16)       查询通信工程系成绩在80分以上的学生学号和姓名;

(17)       查询计算机系考试成绩最高的学生姓名。

(18)       查询年龄最大的男学生的姓名和年龄;

(19)       查询C001课程号的考试成绩高于该课程号平均成绩的学生学号和成绩;

(20)       创建内容为学生学号、姓名、所在系、课程号、课程名、课程学分的视图;

(21)       创建内容为学生的学号、姓名、选修课程名和考试成绩的视图;

(22)       创建内容为统计每个学生的选课门数的视图,要求列出学生学号和选课门数;

(23)       创建内容为每个学生的选课总学分的视图,要求列出学生学号和总学分(说明: 考试成绩超过60才能获得此课程的学分)

(24)       删除选课成绩小于50分的学生的选课记录;

(25)       将所有选修C001课程的学生的成绩加10分;

(26)       将计算机所有选修“数据库原理及应用”课程的学生成绩加10分。

答案:

(1)           Select * from sc;

(2)           Select sname,sage from student where sdept=’计算机系’;

(3)           Select sno,course,grade from sc where grade between 70 and 80;

(4)           Select sname,sage from student where sdept=’计算机系’ and ssex=’男’ and sage between 18 and 20;

(5)           Select max(grade) 最高分 from sc where cno=’C001’;

(6)           Select max(sage) 最大年龄,min(sage) 最小年龄 from student where sdetp=’计算机系’;

(7)           Select sdept,count(*) 学生人数 from student group by sdept;

(8)           Select cno,count(*) 选课人数, max(grade) 最高分 from sc group by cno;

(9)           Select sno,count(*) 选课门数, sum(grade) 总成绩 from sc group by sno order by count(*);

(10)       Select sno,sum(grade) 总成绩 from sc group by sno having sum(grade)>200;

(11)       Select sname,sdept from student,sc where student.sno=sc.sno and cno=’C002’;

(12)       Select sname,cno,grade from student,sc where student.sno=sc.sno and grade>80 order by grade desc;

.单项选择题(每题1分,共23分)

1.目前市场上常见的DBMS 90%以上都是基于(   C    )数据模型的。

A.层次          B.网状            C.关系           D.面向对象

2.E-R图是在数据库设计中用来表示(  A )的一种常用方法。

A.概念模型      B.逻辑模型        C.物理模型     D.面向对象模型

3.(  C  )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

 A.外模式      B.内模式        C.模式    D.概念模式

4.(   B   )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。

A.外模式      B.内模式        C.模式    D.概念模式

5.数据库的概念模型独立于( A )。

A.具体的机器和DBMS      B.E-R图        C.信息世界    D.现实世界

 

6.在数据库中存储的是(  C  )。

A.数据         B.数据库模型          C.数据以及数据之间的联系       D.信息

7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一个属性都是( B )。

A.互不相关的         B.不可分解的        C.长度可变得      D.互相关联的

 

8.在数据模型中有“型”和“值(或实例)”两个对应的概念。其中数据库的模式是一个( D )的概念,是一个相对(    )的概念,而数据库在某一时刻的状态则是一个(    )的概念,是一个相对(    )的概念。

A.型;变化;值;不变         B.值;不变;型;变化        

C.值;变化;型;不变         D.型;不变;值;变化

9.关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20.

则A与B的笛卡尔积A×B的属性有(  D  )个,元组个数有(    )个。

A.30;200    B.11;30    C.30;30    D.11;200

10.父亲和子女的亲生关系属于(   B  )的关系。

A.1:1    B.1:n    C.m:n    D.不一定

11.在SQL语言中,删除关系表中的一个属性列,要用动词(  D ),删除关系表中的一行或多行元组,要用动词(    )。

A.delete,delete    B.drop,drop    C.delete,drop    D.drop,delete

12.在SQL语言中,为关系模式增加一个属性要用动词( B),为关系表增加一行或多行元组要用动词(     )。

A.insert,insert    B.add,insert    C.insert,add    D.add,add

13.实体完整性约束和SQL语言中的(  A   )相对应。

 A.primary key    B.foreign key    C.check    D.都不是

14.参照完整性约束和SQL语言中的( B    )相对应。

 A.primary key    B.foreign key    C.check    D.都不是

15.物理数据独立性是指(    )。

 A.概念模式改变,外模式和应用程序不变    B.概念模式改变,内模式不变

 C.内模式改变,概念模式不变    D.内模式改变,外模式和应用不变

16.SQL语言中的select子句和关系代数中的运算符( A )相对应,SQL语言中的where子句和关系代数中的运算符(   )相对应。

A.∏,○    B.÷,∞    C.○,∏    D.∏,÷

17.在SQL语言中,( C )可能使得数据库中元组的排列顺序发生改变。

A.添加一个元组        B.修改一个元组  

   C.建立一个聚簇索引    D.建立一个check约束

18.在我们的学生-课程数据库中,SC表上建立了两个外码约束,被参照表是Student表和Course表,则最适当的说法是:

A.Student表中的学生号Sno不能随意取值    B.Course表中的课程号Cno不能随意取值

C.SC表中学生号Sno不能随便    D.SC表中学生号Sno、课程号Cno均不能随意取值

19.如果在学生-课程数据库中的SC表上建立了参照完整性约束:

Foreign Key (Sno) References  Student(Sno),

Foreign Key (Cno)References Course(Cno),

则(  D  )操作可能会违背该完整性约束。

A.在Student表上增加一行记录    B.在Course表上增加一行记录 

C.在SC表上删除一行记录        D.更新SC表上的记录

 

20.(   C   )的视图是可以完全更新的。

A.一个由两个以上的表导出的视图    B.视图的定义中含有集函数  

   C.仅由一个表的行列子集构成的      D.视图的定义中含有ORDER BY子句

21.关于视图,不正确的说法是( C   )。

A.查询一个视图和查询一个基本表没有什么两样    B.视图中并不存放数据

C.若一个视图view_1由基本表t1和t2导出。删除t1不会对视图view_1有影响   

D.更新视图中的数据,本质上更新的是导出该视图的基本表中的数据

22.关系R(X,Y,Z),函数依赖集FD={Y→Z,XZ→Y},则关系R是( C )。

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

23.若一个关系模式R<U,F>中,属性集合U的任何一个真子集的值给定以后都不能完全确定一行元组,则称该关系模式为(全码 )。

A.主码    B.完全函数依赖    C.全码   D.候选码

二.填空题(每空1分,共17分):

1.从历史发展看来,数据管理技术经历了人工管理、   文件管理   和  数据库管理    三个阶段。

2.在SQL语言中,用符号  —  代表单个字符,用符号   %  代表0到多个字符。

3.在SQL语言中,为了使查询的结果表中不包含完全相同的两个元组,应在select的后面加上关键词    distinct  

4.在SQL语言中,为了使被授权的用户可以将该权限(或该权限的一部分)再进一步授予其他用户,应在授权的SQL语句末尾加上关键词   with grant option    

5.在建立视图的时候,为了避免使用该视图的用户有意或无意修改了视图范围之外的数据,应在建立视图的语句末尾加上关键词  with check option  

6.在数据库设计中,若关系模式设计得范式太低,可能会使得数据库存在数据冗余、修改复杂   插入异常   和   删除异常 四个方面的弊端。采取的解决方法就是对该关系模式进行   分解(或规范化)

7.根据关系理论,对一个关系模式的最起码的要求是  满足一范式 

8.如果一个关系模式中不存在  非主属性    码(或候选码)     部分  函数依赖,则该关系模式就达到了二范式。

9.若关系模式R(U)达到了BC范式,则在R中一定消除了非主属性对码的部分    函数依赖和  传递    函数依赖。

.判断题:(每小题1分,共10分)

1.SQL Server 2000,Access,Oracle等DBMS,都是面向对象的数据库管理系统。(  ×   )

2.在关系数据模型中,只有一种结构——关系。不论是实体还是实体之间的联系都是用关系来表达的。( ∨    )

3.一个数据库只能对应一个应用程序,即一个数据库只能为一个应用程序所用。(  ×  )

4.SQL语言是SQL Server数据库管理系统的专用语言,其它的数据库如Oracle、Sybase等都不支持这种语言。(×   )

5.对于一个基本关系表来说,列的顺序无所谓——即改变属性的排列顺序不会改变该关系的本质结构。( ∨   )

6.对于一个基本关系表来说,行的顺序无所谓——即将一条记录插入在第一行和插入在第五行没有本质上的不同。( ∨  )

7.在一个关系表上最多只能建立一个聚簇索引。(∨    )

8.若.一个数据库管理系统提供了强制存取控制机制(MAC),则它一定也会提供自主存取控制机制。( ∨  )

9.在开发一个数据库应用系统的时候,无论什么时候,都是设计的数据库范式越高越好。(  × )

10.一个全码的关系模式,其范式一定达到了三范式。(   ∨   )

 

关系代数和SQL语言(每小题2分,共32分):给定一个学生-课程数据库,其中包括学生基本信息表Student(Sno,Sname,Sdept,Ssex,Sage)、课程表Course(Cno,Cname,Cpno,Ccredit)和学生选课表SC(Sno,Cno,Grade),其含义和数据类型如教材中所示,不再赘述。

1.用关系代数表达下列查询:

(1)查询学号为090206120的学生的姓名、性别和所属系别。

Sname Ssex Sdept  ( ○Sno=090206120(Student) )

 

(2)查询选修了课程号为C02课程的学生的学号、姓名、性别、成绩。

 

SnoSnameSsexGrade( ○Cno=C02 ( Student ∞ SC ) )

 

 

(3)查询选修了学号为090206301的学生选修的全部课程的学生学号、姓名。

SnoSnameCno( Student ∞ SC )÷ ∏ Cno ( ○ Sno=090206301(SC) )

 

2.用SQL语言完成下面要求的功能:

(1)查询计算机系(CS)全体学生的基本信息。

  Select  *  From  Student   Where  Sdept=’CS’

 

 

 

(2)查询C02号课程不及格的学生的学号、考试成绩。

  Select  Sno ,Grade

  From  SC

  Where  Cno=’C02’  And  Grade <60

 

(3)查询选修了数据库原理这门课的学生的学号、姓名、性别、课程号、学分、成绩。查询结果按照成绩降序排列。

 

 Select  Student..Sno, Sname, Ssex,, SC.Cno, Ccredit, Grade

 From  Student,  SC, Course

 Where  Student.Sno=SC.Sno  And  SC.Cno=Course.Cno  And Cname=’ 数据库原理 ’

 

(4)查询课程号为C02的课程的选课人数和平均考试分数。为了使得结果更清晰易懂,请在查询结果表中分别给这两列查询结果起别名“选课人数”和“平均分数”。

 Select  Count(Sno) 选课人数, AVG(Grade)平均分数

 From  SC

 Where  Cno=‘C02’

 

(5)查询每个学生的学号及其对应的选课门数。

     Select  Sno ,Count(Cno)

     From  SC

     Group  By  Sno

 

(6)查询平均考试成绩高于85分的学生的学号、姓名、平均成绩,并将查询结果按照学号升序排列。

 

Select  Student.Sno,  Sname ,  AVG(Grade)

From  Student,  SC

Where Student.Sno=SC.Sno

Group  By Student.Sno, Sname

Having  AVG(Grade)>85

Order  By Student.Sno

 

(7)已知学号由7位字符构成,其中的前5位代表班号,后2位代表学生在本班的学号。请将12345班学生C02号课程的考试成绩增加10%。

  Update  SC

  Set  Grade=Grade * (1+0.1)

  Where  Sno  Like ‘12345%’  And  Cno=’C02’

 

(8)建立SC(Sno,Cno,Grade)表。要求学号Sno由7位字符构成,课程号Cno由5位字符构成,成绩Grade由0-100之间(包括0和100)的整数构成。将(Sno,Cno)设为主码,并建立参照完整性约束,使得Sno和Cno分别参照Student和Course的相应属性取值。

  Create  Table  SC

 ( Sno  Char(7),

  Cno  Char(5),

  Grade  int  Check ( Grade Between 0  and  100 ),

  Primary Key (Sno, Cno),

  Foreign Key (Sno)  References  Student (Sno).,

  Foreign Key (Cno)References Course(Cno)

 

(9)建立一个只包含计算机系(CS)全体女生基本信息的视图;并进一步将查询该视图的权限赋给宿舍管理员U1和U2.

   Create  View  CS_Girl

   AS

   Select  *

   From  Student

   Where  Sdept=’CS’  And  Ssex=’女’

 

 

    Grant  Select  On  CS_Girl  To  U1,  U2;

 

(10)在Student表中插入这样一条新生记录——学号:1234599,姓名:马小立,年龄20岁系别:IS。

   Insert  Into  Student(Sno ,Sname, Sage, Sdept)

   Values  ( ‘1234599’ ,  ‘马小立’ ,20,‘IS’)

 

(11)在Student表中注册的12345班全体学生都要选修学号为C10的课程。请将这一选课信息插入到SC(Sno,Cno,Grade)表中。

   Insert  Into  SC(Sno, Cno)

   Select  Sno ,‘C10’

   From   Student

   Where  Sno  Like  ‘12345%’

 

(12)学号为1234510的学生已经退学。请将Student表中该学生的基本信息删除。

Delete  From  Student

Where  Sno=’1234510’

 

(13)收回全体用户对Student表的所有权限。

 Revoke  All  Privileges  On  Student

 From  Public

 

四.简答题(每小题3分,共12分):

1.什么是数据库的三级模式和两层映像结构?这样的结构有什么好处?

 

2.数据模型由哪几个部分组成?具体说明一个关系模型的几个组成部分各是什么?

 

3.什么是视图?在数据库中建立视图有什么好处?

 

4.目前在数据库中常采用的安全措施和安全技术都有哪几个方面?

《数据库原理与应用》

.单项选择题(每题1分,共20分)

1.目前市场上常见的DBMS 90%以上都是基于(   C    )数据模型的。

A.层次          B.网状            C.关系           D.面向对象

2.E-R图是在数据库设计中用来表示(  A )的一种常用方法。

A.概念模型      B.逻辑模型        C.物理模型     D.面向对象模型

3.(  C  )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

 A.外模式      B.内模式        C.模式    D.概念模式

4.(   B   )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。

A.外模式      B.内模式        C.模式    D.概念模式

5.数据库的概念模型独立于( A )。

A.具体的机器和DBMS      B.E-R图        C.信息世界    D.现实世界

6.在数据库中存储的是(  C  )。

A.数据         B.数据库模型          C.数据以及数据之间的联系       D.信息

7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一个属性都是( B )。

A.互不相关的         B.不可分解的        C.长度可变得      D.互相关联的

8.在数据模型中有“型”和“值(或实例)”两个对应的概念。其中数据库的模式是一个( D )的概念,是一个相对(    )的概念,而数据库在某一时刻的状态则是一个(    )的概念,是一个相对(    )的概念。

A.型;变化;值;不变         B.值;不变;型;变化        

C.值;变化;型;不变         D.型;不变;值;变化

9.关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20.

则A与B的笛卡尔积A×B的属性有(  D  )个,元组个数有(    )个。

A.30;200    B.11;30    C.30;30    D.11;200

10.父亲和子女的亲生关系属于(   B  )的关系。

A.1:1    B.1:n    C.m:n    D.不一定

11.在SQL语言中,删除关系表中的一个属性列,要用动词(  D ),删除关系表中的一行或多行元组,要用动词(    )。

A.delete,delete    B.drop,drop    C.delete,drop    D.drop,delete

12.在SQL语言中,为关系模式增加一个属性要用动词( B),为关系表增加一行或多行元组要用动词(     )。

A.insert,insert    B.add,insert    C.insert,add    D.add,add

13.实体完整性约束和SQL语言中的(  A   )相对应。

 A.primary key    B.foreign key    C.check    D.都不是

14.参照完整性约束和SQL语言中的( B    )相对应。

 A.primary key    B.foreign key    C.check    D.都不是

15.在我们的学生-课程数据库中,SC表上建立了两个外码约束,被参照表是Student表和Course表,则最适当的说法是:

A.Student表中的学生号Sno不能随意取值    B.Course表中的课程号Cno不能随意取值

C.SC表中学生号Sno不能随便    D.SC表中学生号Sno、课程号Cno均不能随意取值

16.如果在学生-课程数据库中的SC表上建立了参照完整性约束:

Foreign Key (Sno) References  Student(Sno),

Foreign Key (Cno)References Course(Cno),

则(  D  )操作可能会违背该完整性约束。

A.在Student表上增加一行记录    B.在Course表上增加一行记录 

C.在SC表上删除一行记录        D.更新SC表上的记录

17.关系R(X,Y,Z),函数依赖集FD={Y→Z,XZ→Y},则关系R是( C )。

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

18、表之间一对多关系是指_B_____。

A.一张表与多张表之间的关系                    B.一张表中的一个记录对应另一张表中的多个记录

C.一张表中的一个记录对应多张表中的一个记录    D.一张表中的一个记录对应多张表中的多个记录

19、SQL的SELECT语句中,“HAVING条件表达式”用来筛选满足条件的( D  )

A.列          B.行        C.关系        D.分组

20、SQL语言中INSERT、DELETE、UPDATE实现哪类功能    D  

              A.数据查询     B.数据控制       C.数据定义     D.数据操纵

 

二.填空题(每空1分,共18分):

1.从历史发展看来,数据管理技术经历了人工管理、   文件管理   和  数据库管理    三个阶段。

2.在SQL语言中,用符号  —  代表单个字符,用符号   %  代表0到多个字符。

3.在SQL语言中,为了使查询的结果表中不包含完全相同的两个元组,应在select的后面加上关键词    distinct  

4、在SQL语句中,与表达式“工资 BETWEEN 1210 AND 1240”功能相同的表达式是       工资>=1210 and  工资<=1240                                     

5、在SQL语句中,与表达式“性别 =‘男’or性别 =’女’”功能相同的表达式是          性别in(‘男’,)                               

6.在数据库设计中,若关系模式设计得范式太低,可能会使得数据库存在数据冗余、修改复杂   插入异常   和   删除异常 四个方面的弊端。采取的解决方法就是对该关系模式进行   分解(或规范化)

7.根据关系理论,对一个关系模式的最起码的要求是  满足一范式 

8.如果一个关系模式中不存在  非主属性    码(或候选码)     部分  函数依赖,则该关系模式就达到了二范式。

9、 关系的完整性一般包括实体完整性规则      参照完整性规则  自定义完整性规则

.判断题:(每小题1分,共8分)

1.SQL Server 2005,Access,Oracle等DBMS,都是面向对象的数据库管理系统。(  ×   )

2.在关系数据模型中,只有一种结构——关系。不论是实体还是实体之间的联系都是用关系来表达的。( ∨    )

3.一个数据库只能对应一个应用程序,即一个数据库只能为一个应用程序所用。(  ×  )

4.SQL语言是SQL Server数据库管理系统的专用语言,其它的数据库如Oracle、Sybase等都不支持这种语言。(×   )

5.对于一个基本关系表来说,列的顺序无所谓——即改变属性的排列顺序不会改变该关系的本质结构。( ∨   )

6.对于一个基本关系表来说,行的顺序无所谓——即将一条记录插入在第一行和插入在第五行没有本质上的不同。( ∨  )

7.在开发一个数据库应用系统的时候,无论什么时候,都是设计的数据库范式越高越好。(  × )

8.一个全码的关系模式,其范式一定达到了三范式。(   ∨   )

 

SQL语言完成下面要求的功能:(每小题2分,共44分):

1、设某公司数据库中有关系模式如下:

          职工(职工号,职工名,性别,出生日期)

          公司(公司号,公司名,地址)

工作(职工号,公司号,工资)

1)        设置约束使所有职工的工资不能低于2000元。

2)        删除出生日期在1950年1月1日前的职工记录

3)        超过50岁职工的工资增加200元。

4)        查询每个公司女职工的平均工资。

5)        查询不在“希望”公司工作的所有职工的职工号。

     

1)alter table工作 add constraint C1 check(工资>=2000)

2)delete from职工where  出生日期<’1950-1-1’或  year(出生日期)<1950

3) update 工作 set工资=工资+200  where year(getdate()-year(出生日期))>=50

4) select公司号,公司名 avg(工资) 平均工资 from 职工,公司, 工作

where 职工.工号=工作.工号 and 公司.公司号=工作.公司号 and 性别=‘女’group   by公司号

       5)select 职工号 from 职工,工作,公司

 where工作.职工号=职工.职工号and公司. 公司号=工作. 公司号

and  公司.公司名!=’希望’

 

2、给定一个学生-课程数据库,其中包括学生基本信息表Student(Sno,Sname,Sdept,Ssex,Sage)、课程表Course(Cno,Cname,Cpno,Ccredit)和学生选课表SC(Sno,Cno,Grade),其含义和数据类型如教材中所示,不再赘述。

 

(1)查询计算机系(CS)全体学生的基本信息。

        Select  *  From  Student   Where  Sdept=’CS’

(2)查询C02号课程不及格的学生的学号、考试成绩。

        Select  Sno ,Grade

       From  SC

       Where  Cno=’C02’  And  Grade <60

 

(3)查询选修了数据库原理这门课的学生的学号、姓名、性别、课程号、学分、成绩。查询结果按照成绩降序排列。

 

 Select  Student..Sno, Sname, Ssex,, SC.Cno, Ccredit, Grade

 From  Student,  SC, Course

 Where  Student.Sno=SC.Sno  And  SC.Cno=Course.Cno  And Cname=’ 数据库原理 ’

 

(4)查询课程号为C02的课程的选课人数和平均考试分数。为了使得结果更清晰易懂,请在查询结果表中分别给这两列查询结果起别名“选课人数”和“平均分数”。

 Select  Count(Sno) 选课人数, AVG(Grade)平均分数

 From  SC

 Where  Cno=‘C02’

 

(5)查询每个学生的学号及其对应的选课门数。

     Select  Sno ,Count(Cno)

     From  SC

     Group  By  Sno

 

(6)查询平均考试成绩高于85分的学生的学号、姓名、平均成绩,并将查询结果按照学号升序排列。

 

Select  Student.Sno,  Sname ,  AVG(Grade)

From  Student,  SC

Where Student.Sno=SC.Sno

Group  By Student.Sno, Sname

Having  AVG(Grade)>85

Order  By Student.Sno

 

(7)已知学号由7位字符构成,其中的前5位代表班号,后2位代表学生在本班的学号。请将12345班学生C02号课程的考试成绩增加10%。

  Update  SC

  Set  Grade=Grade * (1+0.1)

  Where  Sno  Like ‘12345%’  And  Cno=’C02’

 

(8)建立SC(Sno,Cno,Grade)表。要求学号Sno由7位字符构成,课程号Cno由5位字符构成,成绩Grade由0-100之间(包括0和100)的整数构成。将(Sno,Cno)设为主码,并建立参照完整性约束,使得Sno和Cno分别参照Student和Course的相应属性取值。

  Create  Table  SC

 ( Sno  Char(7),

  Cno  Char(5),

  Grade  int  Check ( Grade Between 0  and  100 ),

  Primary Key (Sno, Cno),

  Foreign Key (Sno)  References  Student (Sno).,

  Foreign Key (Cno)References Course(Cno)

 

(9)在Student表中插入这样一条新生记录——学号:1234599,姓名:马小立,年龄20岁系别:IS。

   Insert  Into  Student(Sno ,Sname, Sage, Sdept)

   Values  ( ‘1234599’ ,  ‘马小立’ ,20,‘IS’)

 

(10)在Student表中注册的12345班全体学生都要选修学号为C10的课程。请将这一选课信息插入到SC(Sno,Cno,Grade)表中。

   Insert  Into  SC(Sno, Cno)

   Select  Sno ,‘C10’

   From   Student

   Where  Sno  Like  ‘12345%’

 

(11)学号为1234510的学生已经退学。请将Student表中该学生的基本信息删除。

Delete  From  Student

Where  Sno=’1234510’

老师操作:     

2、给定一个学生-课程数据库,其中包括学生基本信息表Student(Sno,Sname,Sdept,Ssex,Sage)、课程表Course(Cno,Cname,Cpno,Ccredit)和学生选课表SC(Sno,Cno,Grade),其含义和数据类型如教材中所示,不再赘述。

(1)查询计算机系(CS)全体学生的基本信息。

     Select * from student where Sdept= ‘CS’

(2)查询C02号课程不及格的学生的学号、考试成绩。

     Select sno 学号,grade考试成绩 from sc where Cno= ‘C02’ and Grade<60

(3)查询选修了数据库原理的学生的学号、姓名、性别、课程号、学分、成绩。查询结果按照成绩降序排列。

Select Student. Sno, Sname, Ssex, Course. Cno, Ccredit, Grade

From Student inner join SC on Student. Sno= SC. Sno

Inner join Course on Course. Cno= SC. Cno

Where Cname=’数据库原理’

Order by Grade desc

 

Select  Student. Sno, Sname, Ssex, Course. Cno, Ccredit, Grade from Student,SC ,Course

Where  Student. Sno= SC. Sno and  Course on Course. Cno= SC. Cno

and Cname=’数据库原理’  Order by Grade desc

 

(4)查询课程号为C02的课程的选课人数和平均考试分数。为了使得结果更清晰易懂,请在查询结果表中分别给这两列查询结果起别名“选课人数”和“平均分数”。

Select count(grade) as 选课人数,avg(grade) as ’平均分数’

From sc

Group by cno

Having cno=’ C02’

(5)查询每个学生的学号及其对应的选课门数。

Select sno, count(sno),count(cno),count(grade)

From sc

Group by sno

(6)查询平均考试成绩高于85分的学生的学号、姓名、平均成绩,并将查询结果按照学号升序排列。

Select student.sno,sname,avg(grade)

From student inner join sc on student.sno= sc.sno

Group by sno

Having avg(grade)>85

Order by sno

(7)已知学号由7位字符构成,其中的前5位代表班号,后2位代表学生在本班的学号。请将12345班学生C02号课程的考试成绩增加10%。

Update  set grade=grade*1.1

From sc

Where sno like ‘12345%’ and cno=’ C02’

     (8)建立SC(Sno,Cno,Grade)表。要求学号Sno由7位字符构成,课程号Cno由5位字符构成,成绩Grade由0-100之间(包括0和100)的整数构成。将(Sno,Cno)设为主码,并建立参照完整性约束,使得Sno和Cno分别参照Student和Course    的相应属性取值。

              Create  Table  SC

             ( Sno  Char(7),

             Cno  Char(5),

              Grade  int  Check ( Grade Between 0  and  100 ),

             Primary Key (Sno, Cno),

              Foreign Key (Sno)  References  Student (Sno).,

              Foreign Key (Cno)References Course(Cno)

 

     (9)在Student表中插入这样一条新生记录——学号:1234599,姓名:马小立,年龄20岁系别:IS。

Insert into student values(1234599, 马小立, 20, IS)

Insert  Into  Student(Sno ,Sname, Sage, Sdept)

   Values  ( ‘1234599’ ,  ‘马小立’ ,20,‘IS’)

 

(10)在Student表中注册的12345班全体学生都要选修学号为C10的课程。请将这一选课信息插入到SC(Sno,Cno,Grade)表中。

             Insert  Into  SC(Sno, Cno)

            Select  Sno ,‘C10’

            From   Student

              Where  Sno  Like  ‘12345%’

 

     (11)学号为1234510的学生已经退学。请将Student表中该学生的基本信息删除。

Delete  From  Student

Where  Sno=’1234510’

 

 

                             网络数据库系统开发

一、填空题

1.SQL Server 2008系统由4部分组成,这4个部分被称为4个服务,分别是_数据库引擎_、分析服务、报表服务和集成服务

2.SQL Server 2008系统提供了两种类型的数据库,即__系统数据库_和用户数据库_。

3.在SQL Server 2008中,主数据未年检的后缀是__.mdf_,事务日志文件的后缀是_.ldf_。辅助文件的后缀 .ndf

4.使用_create_database__语句创建数据库,创建数据库之后,也可以根据需要使用_alter database_ 语句对数据库进行修改。

5.目前,数据库领域常用的数据模型有层次模型、网状模型和__关系_模型

6.在T-SQL中,用_alter__table__语句修改表的结构,用_insert__select_句修改表中的数据。

7.用户自定义函数包括表值函数和__标量值_函数两类,其中表值函数又包括__内联表值__函数和_多语句表值_函数。

8.聚合函数AVG返回一组值的平均值,_count_返回一组值中项目的数量。

9.EXISTS称为存在量词,在WHERE子句中使用EXISTS,表示当子查询的结果_非空_存在时,条件为TRUE。

二、选择题

1.主码可以唯一确定一个元组,关于主码描述正确的是(  C )。

  (A)包含一个属性                    (B)包含两个属性

  (C)包含一个或多个属性              (D)以上都不正确

2.SQL语言按照用途可以分为三类,下面选项中哪一种不是( C  )。

  (A)DML  (B)DCL   (C)DQL   (D)DDL

3.SQL Server提供的单行注释语句是使用(B   )开始的一行内容。

  (A)“/*”  (B)“—”   (C)“{”   (D)“/”

4.在SQL Server 2008中,符号(D   )开头的变量表示局部变量,符号( C  )开头的变量表示局部变量。

  (A)*   (B)#    (C)@@    (D)@

5.在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( B  )。

  (A)*   (B)%   (C)-   (D)?

6.在SELECT语句的下列子句中,需要与HAVING短语配合使用的是( D  )。

  (A)ORDED BY子句       (B)WHERE子句

  (C)GROUP BY子句       (D)均不需要

7.两个关系在没有公共属性时,其自然连接操作表现为( B  )。

  (A)结果为空关系          (B)笛卡尔积操作

  (C)等值连接操作          (D)无意义的操作

8.选取关系中满足某个条件的元组的关系运算称为(  B )。

  (A)选中运算   (B)选择运算   (C)投影运算   (D)搜索运算

9.下列哪些选项在T-SQL语言中使用时不用括在单引号中( D  )。

  (A)单个字符   (B)字符串   (C)通配符   (D)数字

三、判断题

1.微软公司发布的Microsoft SQL Server 2008是一个非关系型数据库管理系统。(  0)

2.在关系数据模型中,二维表的列称为属性,二维表的行称为元组。( 1  )

3.在SQL Server 2008中,一个数据库至少需要有一个数据文件和一个事务日志文件。( 1  )

4.分离数据库时,数据库被从磁盘上删除了。(  0)

5.数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。(1   )

四、综合题

1.根据要求填写空缺处:创建一个标量函数,该函数返回两个参数中的最大值。

______create function___  max2(@par1 real,@par2 real)

_______returns_____________  real

_________as__

BEGIN

      _declare____________@par real

      IF  @par1>@par2

       _set________@par=par1

      ELSE

       SET  @par=par2

      ___return_______(@par)

END

2.设有三个关系:学生关系  S(S#,SNAME,AGE,SEX)

               选课关系  SC(S#,C#,GRADE)

               课程关系  C(C#,CNAME,TEACHER)

按要求写出下列查询的关系表达式。

(1)检索选修课程号为C2的学生学号与成绩。

 

 

(2)检索选修课程号为C2的学生学号与姓名。

 

 

(3)检索选修课程名为MATHS的学生学号与姓名。

 

 

(4)检索选修课程号为C2的学生学号、姓名和授课教师。

 

 

(5)检索选修课程号为C2或C4的学生学号。

 

 

(6)检索“李强”同学没选修课程的课程号。

 

 

(7)检索至少选修两门课程的学生学号。

 

 

(8)检索选修全部课程的学生姓名。

 

 

3.对于教务管理数据库有如下三个基本表:学生表student、课程表course和选课表sc。

 

1)按顺序写出每个表的关系模式

 

   1、s(sno,sname,sex,age,sdept)

   2、c(cno,cname,cdept,tname)

   3、sc(sno,cno,grade)

          

2)用T-SQL语句创建course表(包括建立主键,列取值非空或允许空)

 

                                      Create table course(

                    Cno char(10) primary key,

                      Cname char(10) not null,

                        teachert char(2)                    

                      )

 

3)写出实现以下查询的T-SQL语句。

 (1)查询外语系学生的学号和姓名。

Select sno sname

  From student

   Where sdept=’外语系’

 

 (2)查询选修了课程的学生学号。

Select distinct( sno)

  From sc

   

 

 (3)查询学生姓名以任一字符开头,后面跟“军”字,然后是任意个字符的所有学生姓名。

 

   Select sname

   From student

    Where  sname like’_军%’

 

注:  ‘-’代表单个字符,‘-a’将返回任何名字为两个字符且第二个字符是a的记录。%a%查找出名字红有a的记录。

 

 

 

 (4)检索所有人都没有选修的课程。

Select cname,cno

  From course

    Where not exists(

        Select*

          From student

           Where exists(

                  Select *

                    From sc

                      Where sc.sno=stuent.sno and sc.cno=course.cno)

 

 (5)往基本表Student中插入一个学生元组(‘s003’,‘张晶’,‘女’,21,‘网络系’)

 

Insert into

Student(sno,sname,sex,sage,sdept,)

Values(‘soo3’ ‘张晶’ ‘女’ ‘21’ ‘网络系’)

 

 (6)在基本表SC中删除尚无成绩的选课元组。

 

Delete from sc

 Where grade is null

      

,

 (7)统计各系各门课程的平均成绩。

 

            Select sdept,cno,avg(grade)

              From student,sc

                Group by sdept,cno

 

 

 

 

 (8)把低于总平均成绩的女同学成绩提高4%。

 

             Select grade*(1+0.4)

                   From sc

                    Where sex=’女’ and grade<

                         (select avg(grade)

                           From sc)

 

 (9)查询年龄大于女同学平均年龄的男同学姓名和年龄。

 

                Select sname,sage

                  From student

                   Where sex=’男’and age>

                     ( select avg(age)

                       From student

                        Where sex=’女’

(10)查询至少选修两门课程的学生学号。

 

                 Select distinct x.sno

                   From sc as x, sc as y

                     Where x.sno=y.sno

                       And x.cno!=y.cno

 

(11)查询所有选SQL课程的学生学号,姓名和专业。

 

                  Select student.sno,sname,sdept

                     From student,sc,course

                       Where sc.sno=student.sno and sc.cno=course.cno and sname=’SQL’

                                   

 (12)在student表中查询“Sdept”是‘计算机’的学生的所有信息,并按“Sno”降序排列。

 

                  Select *

From student

  Where sdept=’计算机’

    Order by sno desc

              

 

 (13)删除所有选择数学的同学的选课记录。

                   

                     Delete

                       From sc

                        Where cno in(

                                Select cno

                                      From course

                                       Where cname=’数学’)

 

(14)查询缺少了成绩的学生的学号和课程号。

 

              Select sno,cno

               From sc

                 Where grade is null

 

 (15)列出各系学生的总人数,并按人数进行降序排列。

             

               Select dept,count(*) as total

                  From student

                    Group by dept

                     Order by total desc

 

一、单选题(1*20=20分)

1、DBMS 是 D    

A.数据库     B.操作系统     C.数据库系统      D.数据库管理系统

       2、下述哪一条不在DBA(数据库管理员)职责范围内     D  

    A.监督和控制数据库的运行      B.参与数据库及应用程序设计

    C.设计数据库的存储策略        D.设计数据库管理系统DBMS

       3、模式的逻辑子集通常称为( C  )

A.存储模式        B.内模式    C.外模式          D.模式

4、用二维表结构表示实体以及实体间联系的数据模型称为B

A  层次数据模型             B  关系数据模型 

C  网状数据模型             D  树状数据模型

5、下列哪一条不属于概念模型的特点  D  

  A.对现实世界的真实反映  B.易于交流和理解

  C.易于变动              D.在计算机实现效率高

6、表之间一对多关系是指_B_____。

A.一张表与多张表之间的关系

B.一张表中的一个记录对应另一张表中的多个记录

C.一张表中的一个记录对应多张表中的一个记录

D.一张表中的一个记录对应多张表中的多个记录

7、一辆汽车由多个零部件组成,且相同的零部件可适用于不同型号的汽车,则汽车实体集与零部件实体集之间的联系是(   D  )

A. 1:1           B. 1:M        C. M:1                     D. M:N

8、设计数据库时首先应该设计      C

           A.数据库应用系统结构        B.DBMS结构

           C.数据库的概念结构          D.数据库的控制结构

9、概念设计的主要目标是产生数据库概念结构,该结构主要反映( D    )

A.DBA管理信息的需求                           B.数据库的维护需求

C.应用程序开发的需求                     D.企业的信息需求

10、设属性A是关系R的主属性,则属性A不能取空值,这是    A    

       A.实体完整性规则                   B.参照完整性规则

    C.用户自定义完整性规则     D.表完整性规则

11、设关系R和S分别有m和n个元组,则R×S的元组个数是( D  )

A.m              B.n       C.m+n           D.m×n

12、下面是SQL语言优点的是(D      )

A.语言简练,易学易用          B.高度非过程化

C.数据独立性好                D.能方便地生成报表

13、.取出关系中的某些列,并消去重复的元组的关系运算称为(  B    )。

A.取列运算          B.投影运算          C.联结运算          D.选择运算

14、以下  D      操作不可能破坏实体完整性。

A.INSERT    B.UPDATE      C.DELETE        D.SELECT

15、SQL语言中ALTER TABLE实现哪类功能   B   

              A.数据查询   B.数据定义       C.数据控制       D.数据操纵

16、视图是一个“虚表”,视图的构造基于(C      )

A.基本表              B.视图

C.基本表或视图        D.数据字典

17、在关系数据库中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建 D  

A.另一个表    B.游标    C.索引   D.视图

18、设W=R∞S,且W、R、S的属性个数分别为w,r和s ,那么三者之间应满足(B   )

A.w≦r+s        B.w<r+s     C.w≧r+s         D.w>r+s

19、SQL的SELECT语句中,“HAVING条件表达式”用来筛选满足条件的( D  )

A.列          B.行        C.关系        D.分组

20、SQL语言中INSERT、DELETE、UPDATE实现哪类功能    D  

              A.数据查询     B.数据控制       C.数据定义     D.数据操纵

二、填空题(2*10=20分) 注意:答案直接填写在空中

1、数据库的逻辑数据独立性是由___模式到外模式的映象  ______________映象提供的。

2、 关系的完整性一般包括实体完整性规则      参照完整性规则  自定义完整性规则

3、在数据库设计中,规划存储结构和存取方法属于物理设计  

4、SQL语言是一种介于关系代数和关系演算         之间的关系查询语言。

5.设关系R和S,与R∩S等价的差运算表达式为___  R-(R-S)______。

3    6、SQL语言中,SELECT子句实现关系代数的___投影

______运算。

7、在SQL语句中,与表达式“工资 BETWEEN 1210 AND 1240”功能相同的表达式是       工资>=1210 and  工资<=1240                                     

8、在SQL语句中,与表达式“性别 =‘男’or性别 =’女’”功能相同的表达式是          性别in(‘男’,)                               

三、用关系代数完成下列查询问题。(5*5=25分)

设教学管理数据库中有如下关系模式:

学生(学号,姓名,性别,出生日期,所在系,籍贯);  

课程(课程号,课程名,学分);

    选修(学号,课程号,成绩).   

 

(1)求学生“李小波”所在的系。

(2)求学生“李小波”所选修的全部课程名称。

(3)求没有选修“操作系统”课的学生姓名。

(4)求与“李小波”同乡的学生姓名及所在系。

(5)求英语成绩60分以上的学生姓名、所在系及成绩。

四、根据要求书写SQL语句 (5*5=25分)

设某公司数据库中有关系模式如下:

       职工(职工号,职工名,性别,出生日期)

       公司(公司号,公司名,地址)

工作(职工号,公司号,工资)

1)  设置约束使所有职工的工资不能低于2000元。

2)  删除出生日期在1950年1月1日前的职工记录

3) 超过50岁职工的工资增加200元。

4) 查询每个公司女职工的平均工资。

5) 查询不在“希望”公司工作的所有职工的职工号。

五、简答题 (5*2=10分)

1、  信息管理系统与数据库管理系统有什么关系?

2、  试述关系模型的特点及三个组成部分。

一 、单选题(1*20=20分)

1-10: D D C B D         B D C D A

11-20:D D B D B         C D B D D

二、填空题(2*10=20分)

  1. 模式到外模式的映象     

2.   实体完整性规则      参照完整性规则  自定义完整性规则 

4            物理设计        4.    关系演算5.       R-(R-S)     6.  投影

7.    工资>=1210 and  工资<=1240       8.      性别in(‘男’,)  

三、用关系代数完成下列查询问题。(5*5=25分)

1) π所在系(σ姓名=’李小波’(学生)

2) π课程名(σ姓名=’李小波’(学生∞选课∞课程))

3) π姓名(σ课程名<>’ 操作系统’(学生∞选课∞课程))

4)  π姓名,所在系(π籍贯(σ姓名=’李小波’(学生)∞学生))-π姓名,所在系(σ姓名=’李小波’(学生))

5)  π姓名,所在系,成绩(σ成绩>=60^课程名=‘英语’(学生∞选课∞课程))

四、根据要求书写SQL语句 (5*5=25分)

1)alter table工作 add constraint C1 check(工资>=2000)

2)delete from职工where  出生日期<’1950-1-1’或  year(出生日期)<1950

3) update 工作 set工资=工资+200  where year(getdate()-year(出生日期))>=50

4) select公司号,公司名 avg(工资) 平均工资 from 职工,公司, 工作

where 职工.工号=工作.工号 and 公司.公司号=工作.公司号 and 性别=‘女’

group   by公司号

    5)select 职工号 from 职工,工作,公司

 where工作.职工号=职工.职工号and公司. 公司号=工作. 公司号

and  公司.公司名!=’希望’

五.简答题(2*5’ =10分)

1、  信息管理系统与数据库管理系统有什么关系?

答:数据库管理系统是提供数据库管理的计算机系统软件,它为信息管理系统的设计提供了方法、手段和工具,利用数据库管理系统设计信息管理系统可以达到事半功倍的效果。信息管理系统是实现某种具体事物管理功能的应用软件。信息管理系统的数据存放在数据库中。利用数据库管理系统,信息管理系统可以更快、更好地设计和实施。

2、 试述关系模型的特点及三个组成部分。

答: 关系模型的特点(略)

三个组成部分:关系结构、关系操作、完整性约束

 

模 拟 试 卷 (一)答 案



一、单项选择题(本大题共20小题,每小题1分,共20分)

1. 提供数据库数据描述的集中管理的是 ( D ) 

 A.数据库模式     B.数据库     C.数据库管理系统     D.数据字典 

 

2. 授权和完整性管理器属于DBMS的 ( B )

 A.查询处理器     B.存储管理器     C.事务管理器      D.用户管理器 

 

3. 使用CREATE SCHEMA 语句建立的是 ( A ) 

 A.数据库模式     B.表      C.视图     D.索引 

 

4. 设关系R和S的结构相同,并且各有80个元组,假如这两个关系作交运算, 其运算结果的元组个数为       ( B )    

 A.80     B.小于等于80     C.大于等于160     D.大于等于80,小于等于160 

 

5. 在SQL的授权语句中使用“ALL PRIVILEGES”,表示 ( B ) 

 A.授权所有用户     B.所有的操作权限     C.对所有的数据集合    D.允许再授权 

 

6. 表达业务流程分析结果的图表是 ( B ) 

 A.业务流程图     B.数据流图     C.局部E-R图     D、基本E-R图 

 

7. 对数据库模式进行规范化处理,是在数据库设计的 ( C ) 

 A.需求分析阶段     B.概念设计阶段     C.逻辑设计阶段     D.物理设计阶段 

 

8. 能够消除冗余的键的范式是 ( C ) 

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

 

9. 在下列几种故障中,不破坏数据库内容的是 ( B ) 

 A.计算机病毒发作             B.供电系统故障 

 C.瞬时的强磁场干扰           D.磁盘介质损坏


10. 在数据库技术中,独立于计算机系统的模型是 ( A ) 
 A.E-R模型                    B.层次模型
 C.关系模型                   D.面向对象的模型

11. 五种基本关系代数运算是 ( A )
 A.∪,-,×,π和σ
 B.∪,-,∞,π和σ
 C.∪,∩,×,π和σ
 D.∪,∩,∞,π和σ

12. SQL中,下列涉及空值的操作,不正确的是 ( C )
 A.AGE IS NULL
 B.AGE IS NOT NULL
 C.AGE = NULL
 D.NOT (AGE IS NULL)

13. 单个用户使用的数据视图的描述称为 ( A )
 A.外模式
 B.概念模式
 C.内模式
 D.存储模式  


14. 在删除基本表中某个元组时,将以此表为参照表的关系中外键与主键相同的元组一起删除,应采用的方式是 ( B )

 A.RESTRICT方式                     B.CASCADE方式

 C.SET  NULL方式                     D.CHECK方式


15. 在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是 ( B )

 A.用户界面                      B. 存取结构

 C.数据输入                      D. 报表输出

二、填空题(本大题共20个空,每空1分,共20分) 

 

1. 结构数据模型的组成包括:数据结构,(数据操作)和(数据完整性约束)。
2. 在函数依赖中,平凡的函数依赖根据Armstrong推理规则中的(自反)律就可推出。
3. 标准的数据库三级模式是概念模式、(内)模式和(外)模式。

4. 用有向图结构表示实体类型及实体间联系的数据模型称为(网状)模型。

5. 若用户编写程序时,只需指出做什么,不需指出怎么做,这类DML是(非过程性)DML;关系的DML属于这一类。

6. 在SQL中,用(MODIFY)命令可以修改表中的数据,用(ALTER)命令可以修改表的结构。

7. 在ER图中,菱形框表示(联系)。

8. 物理结构设计是设计DB的物理结构,主要包括DB的(存储结构)和存取方法。

9. 并发控制的主要方法是采用(封锁机制)。

10. 在并行处理中,若干事物相互等待对方释放封锁,称为系统进入(死锁)状态。

11. DDBS的“地址透明性”位于(分片)模式和(分布)模式之间。

 

三、名词解释(本大题共5个小题,每小题3分,共15分)

1. 概念模式

是数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。 概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。 

 

2. X封锁

如果事务T对数据R实现X封锁,那么其他的事务要等T解除X封锁以后,才能对这个数据进行封锁。 只有获准X封锁的事务,才能对被封锁的数据进行修改。 

 

3. 复制透明性

即用户不必关心数据库在网络中各个结点的数据库复制情况,更新操作引起的波及由系统去处理。

4. 主属性

包含在任何一个候选键中的属性。

 

5. 事务的原子性

一个事务对数据库的操作是一个不可分割的操作系列,事务要么完整地被全部执行,要么全部不执行。

四、简答题(本大题共5小题,每小题5分,共25分) 

1. 设有关系R与S

R:

A  B  C
2  3  4
4  5  6
7  8  9

S:

D  E
7  5
4  8

计算 π3,2(R),  σA=D(R×S)

 

π3,2(R):                        σA=D(R×S) :   

 C    B                         A    B    C     D    E

 4   3                           7    8    9    7    5

 6   5                           4    5    6    4    8

 9   8    

 

  2. 设R=ABCD,R上的F={A→C,D→C,BD→A}, 试证明ρ={AB,ACD,BCD}相对于F不是无损联接分解。
   根据算法4.2

 

A

B

C

D

AB

a1

a2

b13

b14

ACD

a1

b22

a3

a4

BCD

b31

a2

a3

a4

 

A

B

C

D

a1

a2

a3

b14

a1

b22

a3

a4

b31

a2

a3

a4

 

(1) 构造表

(2)根据A→C,D→C,BD→A进行处理


   没有一行都是a,所以,ρ相对于F不是无损联接分解。

3. 什么是“运行记录优先原则”?其作用是什么?
    在数据库系统中,写一个修改到数据库中和写一个表示这个修改的登记记录到日志文件中是两个不同的操作,在这两个操作之间有可能发生故障。这时,如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改,那么以后也就无法撤消这个修改。为了安全起见,采用“运行记录优先原则”。它包括两点:
  (1)至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。
  (2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理。

4. 试叙述分布式DBMS的功能。

 主要功能有:
  (1)接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。
  (2)访问网络数据字典,或者至少了解如何请求和使用其中的信息。
  (3)如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。
  (4)通信接口功能,在用户、局部DBMS和其他计算机的DBMS之间进行协调。
  (5)在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在一定差别。

5. 数据独立性与数据联系这两个概念有什么区别?
数据独立性是指应用程序与数据之间相互独立,不受影响。
数据联系是指同一记录内部各字段间的联系,以及记录之间的联系。

五、程序设计题(本大题共4小题,每小题5分,共20分)

 

1.对于教学数据库的三个基本表
     学生 S(S#,SNAME,AGE,SEX)
     学习 SC(S#,C#,GRADE)
     课程 C(C#,CNAME,TEACHER)

试用关系代数表达式和SQL语句表示:检索WANG同学不学的课程号。


(1)πC#(C)-πC#SNAME='WANG'SSC)   或者

    πC#(SC)-πC#SNAME='WANG'SSC)(全部课程号减去WANG同学所学的课程号)
(2)SELECT C# 

     FROM C

     WHERE C# NOT IN

        (SELECT C#

          FROM SC

          WHERE S# IN

              SELECT S# 

              FROM  S

              WHERE SNAME=‘WANG’)

 

2.教学数据库的基本表如上题,有如下关系代数表达式:
πC#,CNAME(C(πS#,C#(SC)÷πS#(S))) 

请写出对应的SQL语句,并指出其汉语含义。

 

汉语含义:检索全部学生都选修的课程的课程号与课程名。
SELECT C#,CNAME
    FROM C
    WHERE NOT EXISTS
     (SELECT *
     FROM S
     WHERE NOT EXISTS
      (SELECT *
      FROM SC
      WHERE SC.S#=S.S# AND SC.C#=C.C#))

3.设销售数据模型如下:

厂家 S (SNO,SNAME,CITY )

产品 P (PNO,PNAME,COLOR,WEIGHT)

销售 SPJ (SNO,PNO,QTY)

用SQL完成以下操作:

试建立一个有关产品“电钻”的产品号和厂家号的视图,其结构如下:View2(ENO, SNO)

 

CREATE VIEW View2(ENO, SNO)

  AS SELECT P.PNO,SNO

    FROM SPJ,P

    WHERE SPJ.PNO=P.PNO AND PNAME="电钻";

 

4.在以上销售数据库表中,用SQL语句完成以下操作:PNO为'00227'的产品数增加100;并检索出其对应的产品名。

 UPDATE SPJ

     SET QTY=QTY+100

     WHERE PNO='00227';

SELECT PNAME 

   FROM  P

WHERE PNO='00227';

六、应用题(本大题10分)
1. 学生运动会模型:

  (1)有若干班级,每个班级包括: 班级号,班级名,专业,人数

  (2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄

  (3)有若干比赛项目,包括:项目号,名称,比赛地点

  (4)每名运动员可参加多项比赛,每个项目可有多人参加

  (5)要求能够公布每个比赛项目的运动员名次与成绩

  (6)要求能够公布各个班级团体总分的名次和成绩

解题要求:

  (1)画出每个实体及其属性关系、实体间实体联系的E-R图.

  (2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并指出每个表的主键和外键。

 

(1)

 

(2)

班级(班级号,班级名,专业,人数)             主键:班级号               

运动员(运动员号,姓名,性别,年龄,班级号)      

                      主键:运动员号     外键: 班级号

项目(项目号,项目名,比赛地点)                     主键:项目号
比赛(运动员号,项目号,成绩,名次,得分)     
       主键:运动员号,项目号     外键: 运动员号;项目号

模 拟 试 卷 (二)



一、单项选择题(本大题共20小题,每小题1分,共20分)

1.下述各项中,属于数据库系统的特点的是 ( C )  

 A.存储量大       B.存取速度快      C.数据独立性     D.操作方便 

 

2. 在关系中,能唯一标识组的属性集称为关系模式的 ( D ) 

 A.候选键         B.主键     C.外键     D.超键


3.在数据操作语言(DML)的基本功能中,不包括的是 ( B ) 

 A.插入新数据                B.描述数据库结构 

 C.对数据库中数据排序         D. 删除数据库中数据 

 
4. 数据库中全体数据的整体逻辑结构描述称为 ( B ) 

 A.存储模式     B.内模式       C.外模式       D.右外模式  

 

5. 对于分布式数据库,可以简单归纳为 ( B ) 

 A.数据逻辑上分散,物理上统一 

 B.数据物理上分散,逻辑上统一  

 C.数据在逻辑上、物理上都是分散的 

 D.数据在逻辑上、物理上都是统一的 

 

6.在关系R与关系S进行自然连接时,只把R中原该舍弃的元组保存到新关系中,这种操作称为 ( C )

 A.外连接     B.内连接     C.左外连接     D.右外连接 

 

7.在SQL中使用FOREIGN KEY 时,与之配合的语句是 ( D ) 

 A.EXISTS        B.EXCEPT        C.TABLE         D.REFERENCES 

 

8.定义片段以及全局关系与片段之间映像的模式是 ( C ) 

 A.外模式     B. 概念模式     C.分片模式     D.分配模式 

 

9.在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是 ( B )

 A.用户界面     B.存取结构     C.数据输入     D.报表输出 


10. 能够消除多值依赖引起的冗余的范式是 ( C ) 

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

 

11. 位于分片视图和分配视图之间的透明性是 ( D ) 

 A.全局数据模型透明性         B.分片透明性 

 C.局部数据模型透明性         D.位置透明性


12. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F ( A )
 A.是无损联接,也保持FD的分解
 B.是无损联接,但不保持FD的分解
 C.不是无损联接,但保持FD的分解
 D.既不是无损联接,也不保持FD的分解

13. DBMS中实现事务持久性的子系统是 ( D )
 A.安全性管理子系统
 B.完整性管理子系统
 C.并发控制子系统
 D.恢复管理子系统


14. ORDBS的含义是 ( C )

 A.面向对象的数据库系统      B.数据库管理系统
 C.对象关系数据库系统        D.对象关系数据库


15. 在SQL中,建立视图用 ( C )
 A.CREATE SCHEMA 命令       B.CREATE TABLE 命令
 C.CREATE VIEW 命令         D.CREATE INDEX 命令

二、填空题(本大题共20个空,每空1分,共20分)
1. 对数据模型的规范化,主要是解决(插入异常)、(删除异常)和数据冗余过大的问题。
2. 数据模型分为(概念)数据模型和(结构)数据模型。
3. 在关系中,内模式是(存储)模式的集合。
4. 当数据库系统的概念模式改变时,(模式/外模式的映象) 要作相应的改变,以保证外模式保不变。
5. 嵌入式SQL需要用(游标机制)把集合操作转换成单记录处理方式。
6. 在SQL中表达完整性约束的规则有多种形式,其主要约束有(主键约束),(外健约束),(属性值约束)和全局约束。
7. 在模式分解时,为保持原模式的特性,要求分解具有(无损失连接)和(保持函数依赖)。
8. 好的模式设计应符合表达性、分离性和(最小冗余性)。
9. 分布式数据库系统是(数据库技术)与(计算机网络)技术结合的产物。
三、名词解释(本大题共5个小题,每小题3分,共15分)

1. DML

数据操纵语言(Data Manipulation Language),由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。 DML分成交互型DML和嵌入型DML两类。依据语言的级别,DML又可分成过程性DML和非过程性DML两种。


2. S封锁

共享型封锁。如果事务T对某数据R加上S封锁,那么其它事务对数据R的X封锁便不能成功, 而对数据R的S封锁请求可以成功。这就保证了其他事务可以读取R但不能修改R,直到事务T释放S封锁。 

 

3. 分布式DBS

是指数据存放在计算机网络的不同场地的计算机中,每一场地都有自治处理能力并完成局部应用;
而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可通过网络通信访问系统中的多个场地的数据。

4.事务
数据库系统的一个操作系列,这些操作或者都做,或者都不做,是一个不可分割的工作单位

5. 丢失更新
当两个或以上的事务同时修改同一数据集合时,由于并发处理,使得某些事务对此数据集合的修改被忽视了.

四、简答题(本大题共5小题,每小题5分,共25分)


1. 简述数据字典的内容和作用.
是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。它的处理功能是存储和检索元数据,并且为数据库管理员提供有关的报告。对数据库设计来说,数据字典是进行详

细的数据收集和数据分析所获得的主要成果。
数据字典包括数据项,数据结构,数据流,数据存储和数据处理过程.


2.有两个关系R(ABC)和S(DBF),元组关系演算表达式是:

{t|(u)(v)(R(u)∧S(v)∧u[3]=v[1]∧t[1]=u[1]∧t[2]=v[3])}

写出域关系演算表达式。

{xyz|(u)(v)(w)(R(xuv)∧S(vwy))}

3.设有关系R与S

R:

A  B  C
2  3  4
4  5  6
7  8  9

S:

D  E
7  5
4  8

(1)计算T:

T={t|(u)(R(t)∧S(u)∧t[3]>u[1])}

 

A     B     C

7     8     9

 

4.试述客户/服务器式DBS的一般结构。此时数据库应用的功能如何划分?

客户/服务器式DBS是在客户/服务器计算机网络上运行的DBS,这个计算机网络中,有一些计算机扮演客户,另一些计算机扮演服务者(即客户机/服务器)。客户/服务体系结构的关键在于功能的分布。一些功能放在客户机(前端机)上运行,另一些功能则放在服务器(后端机)上执行。此时数据库应用的功能分成两部分: 客户机(前端部分):由一些应用程序构成,例如,格式处理、报表输出、数据输入、图形,实现前端处理和用户界面。 服务器(后端部分):包括存取结构、查询优化、并发控制、恢复等系统程序,完成事务处理和数据访问控制。


5.死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?

死锁的发生即是坏是又是好事。
(1)使并发事务不能继续执行下去,造成时间开销却不产生结果。
(2)在某些时候我们要利用它来解决更新操作导致的数据库不一致状态。
解除死锁状态:抽出某个事务作为牺牲品,把它撤消,做回退操作,解除它的所有封锁,并恢复到初始状态。

五、程序设计题(本大题共4小题,每小题5分,共20分)


1. 设有两个基本表R(A,B,C)和S(A,B,C)

   试用SQL查询语句表达下列关系代数表达式:
   (1)R-S  (2)πA,B(R)πB,C(S)

 

(1)     SELECT A,B,C
      FROM R
      WHERE NOT EXISTS
       (SELECT A,B,C
       FROM S
       WHERE R.A=S.A AND R.B=S.B AND R.C=S.C)

(2)   SELECT R.A,R.B,S.C
      FROM R,S
      WHERE R.B=S.B


2.对于教学数据库的三个基本表
     学生 S(S#,SNAME,AGE,SEX)
     学习 SC(S#,C#,GRADE)
     课程 C(C#,CNAME,TEACHER)
试用SQL语句完成:在基本表S中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(S#,SNAME,SEX)。


    INSERT INTO STUDENT(S#,SNAME,SEX)
     SELECT S#,SNAME,SEX
     FROM S WHERE  NOT EXISTS
      (SELECT * FROM SC WHERE
       GRADE<80 AND S.S#=SC.S#)


3.在以上的基本表中,完成以下操作:检索选修课程包含LIU老师所授课的学生学号。    
   SELECT DISTINCT S#
     FROM SC
     WHERE C# IN
      (SELECT C#
      FROM C
      WHERE TEACHER='LIU'))   

4.在以上的基本表中,写出与下列关系代数表达式一致的SQL语句:

πcno(C)-πcnosname='LIU'(SCC))

 

  SELECT CNO

   FROM C

   WHERE CNO NOT IN

    (  SELECT CNO

       FROM S,SC

       WHERE S.SNO=SC.SNO

         AND SNAME='LIU');

六、应用题(本大题10分)

1.已知:R∈3NF,且具有唯一的候选键.
  求证:R∈BCNF
   设R的唯一候选键为Z. 如果关系模式R属于BCNF模式,那么“关系模式R是第一范式,且每个属性都不传递依赖于R的候选键。”
用反证法,假设R不属于BCNF。
    根据定义,关系模式R不属于BCNF,则某个属性传递依赖于R的候选键。 由于R只有唯一的候选键Z,那么,存在属性Y,使Z→X,X→Y( XZ,X不包含Y)成立。


 (1)如果Y是主属性,那么由于只有一个侯选键,因此YZ,

由于X→Y (XZ,X不包含Y),Z'=(Z∪X-Y)→Z,Z'不包含Y;也就是说,Z'肯定包含某个侯选键,该侯选键不包含Y。与前面条件中R有唯一的候选键相矛盾。

(2)如果Y是非主属性,也就是说,不符合3NF“每个非主属性都不传递依赖于R的候选键”,与R∈3NF矛盾。

所以以上假设不成立。

因此 如果R∈3NF,且具有唯一的候选键,则R∈BCNF。

模 拟 试 卷 (三)



一、单项选择题(本大题共15小题,每小题1分,共15分)

1.结构数据模型的三个组成部分是数据结构、数据操作和 ( C )

 A.数据安全性控制         B. 数据一致性规则 

 C.数据完整性约束         D.数据处理逻辑 

 

2.在SQL的算术表达式中,如果其中有空值,则表达式 ( C )
 A.空值按0计算     B.由用户确定空值内容再计算结果 

 C.结果为空值     D.指出运算错误,终止执行

 


3. 当两个关系没有公共属性时,其自然连接操作表现为 ( A )

 A.笛卡儿积操作         B.等值连接操作 

 C.结果为空集           D.错误操作 

 

4. 在数据库与宿主语言之间传递信息是通过 ( B ) 

 A.全局变量  B.共享变量  C.公共数据区  D.系统缓冲区

 


5. 在关系模式R(U,F)中,R中任何非主属性对键完全函数依赖是R∈3NF的 ( B ) 

 A.充分必要条件    B.必要条件     C.充分条件     D.既不充分也不必要条件 

 

6.基本ER图就是数据库的 ( D )

 A.外模式       B.逻辑模式        C.内模式        D. 概念模式 

 

7. 对基本表S,执行操作DROP TABLE S RESTRICT 的作用是 ( C )

 A.删除基本表S中的所有元组    

 B.把基本表S及其生成的一切视图全部删除 

 C.当没有由S中的列产生的视图或约束时将表S删除 

 D.删除表S,将引用表S的视图中一切S的属性置为空值 

 

8. 在多用户共享系统中,并发操作的事务干扰,破坏了事务的 ( C ) 

 A.原子性         B.一致性         C.隔离性         D.持久性 

 

9. 关系R 与关系S只有1个公共属性,T1是R与S等值连接的结果,T2是R与S自然连接的结果,则 ( C ) 

 A.T1的属性个数等于T2的属性个数         

 B.T1的属性个数小于T2的属性个数 

 C.T1的属性个数大于或等于T2的属性个数 

 D.T1的属性个数大于T2的属性个数

10. 当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是( D )
 A.左外联接
 B.右外联接

 C.外部并
 D.外联接


11. 如果事务T获得了数据项Q上的排它锁,则T对Q ( C )
 A.只能读不能写
 B.只能写不能读
 C.既可读又可写
 D.不能读不能写


12. SQL的全局约束是指基于元组的检查子句和 ( C )

 A.非空值约束      B.域约束子句
 C.断言         D.外键子句


13. 表达业务流程分析结果的图表是 ( B )
 A.业务流程图   B.数据流图   C.局部图    D.基本E-R图


14.在数据库技术中,未提交的随后又被撤消的数据称为 ( D )

 A.错误数据    B.冗余数据    C.过期数据    D.脏数据

 


15.选择分布式数据库各片段数据存放场地的模式是 ( D )

 A.外模式    B.概念模式    C.分片模式    D.分配模式

二、填空题(本大题共20个空,每空1分,共20分)

1. 事务的特性包括:(原子性)、一致性、隔离性、和(持久性)。
2. SQL数据库中的表,可以是基本表,也可以是(视图)。
3. 关系数据模型的数据完整性规则包括(实体)完整性、(参照)完整性和用户定义的完整性。
4. 在嵌入式SQL中,为解决主语言与SQL的不同数据结构,采用(游标)机制来进行转换。
5. E-R方法的三要素是:(实体)、(属性)和联系。
6. 分布式数据库系统的三种类型是:异构型、(同构同质)型和(同构异质)型。
7. 分布式数据库系统的特点是数据的(分布性)和整体的(逻辑性)。
8.数据字典的主要内容包括:数据项、数据结构、数据存储、(数据流)和处理过程。
9. 在数据库的物理结构中,数据的基本单位是(存储记录)。
10.关系代数中,连接是由(笛卡儿积)操作与选择操作组合而成的。

三、名词解释(本大题共5个小题,每小题3分,共15分)

1. 实体完整性规则

这条规则要求关系中元组在组成主键的属性上不能有空值。 如果出现空值,那么主键值就起不了唯一标识元组的作用。


2.
数据字典

是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。 它的处理功能是存储和检索元数据,并且为数据库管理员提供有关的报告。 对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。 数据字典主要包括四个部分:数据项、数据结构、数据流、数据存储。

 


3.
事务的隔离性 

在并发事务被执行时,系统应该保证与这些事务先后单独执行时的结果一样,称事务达到了隔离性的要求。  


4.
嵌入式SQL

将SQL语句嵌入高级程序设计语言中使用,发挥高级语言过程化处理 能力强的特点。

 


5.
参照完整性规则

这条规则要求“不引用不存在的实体”。其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中, K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。

四、简答题(本大题共5小题,每小题5分,共25分)

1.简述数据库恢复的几种方法。
1)定期对整个数据库进行复制与转储
2)建立日志文件
3)当故障发生后,使用日志文件对数据库进行恢复

2.在C/S数据库体系结构中,客户机和服务器各完成什么功能?
(1)客户机完成用户应用程序(实现前端处理和用户界面);
(2)服务器完成DBMS的核心功能(或完成事务处理和数据访问)。

3. 设二元关系R(A,B),关系代数表达式是:

π12(σ1=42=3(R×R))

写出与此表达式等价的元组演算表达式。

{U|(v)(R(u)∧R(v)∧u[1]=v[2]∧u[2]=v[1])

 

4.在关系模式R(U,F)中,U=ABCDEF={A→C,AC→B,B→D,C→E,EC→B} 计算(EC)+ 。 

计算过程如下:
第一次:(1) x(0)=φ,x(1)=EC
(2) 由于X(0)≠AB,置X(0)=EC;
(3) 检查函数依赖,置X(1)=EC∪B=ECB
第二次: 置X(0)=ECB, 检查函数依赖,置X(1)=ECB∪D=ECBD
第三次: 置X(0)=ECBD, 检查函数依赖,X(1)=ECBD
第四次:x(0)=x(1),输出x(1)= (EC)+ =ECBD

 

5. 数据库并发操作主要解决哪三个问题,基本方法是什么?
数据库并发操作主要解决以下三个问题:
(1) 丢失更新问题
(2) 数据不一致分析问题
(3) 读“脏”数据问题
解决的基本方法是采用封锁机制。

五、程序设计题(本大题共4小题,每小题5分,共20分)


1.设某工厂数据库中有两个基本表:

车间基本表:DEPT(DNO,DNAME,MGR_NO),其属性分别表示车间编号、车间名和车间主任的职工号。

职工基本表:EMP(ENO,ENAME,SALARY,DNO),其属性分别表示职工号、姓名、工资和所在车间的编号。

试用关系代数表达式写出下列查询:检索“金工车间”的男职工的职工号和姓名。

 

πENO,ENAMEDNAME='金工车间'∧SEX=‘男'(DEPT EMP))

 

SELECT  ENO,ENAME  

FROM   EMP 

WHERE  SEX=‘男’ AND  DNO  IN

        SELECT  DNO

       FROM   DEPT 

       WHERE DNAME = '金工车间'

 

2.在上题的基本表的基础上,给职工基本增加两列:AGE(年龄),性别(SEX)。

写出相应的SQL命令。

ALTER TABLE EMP

    ADD (AGE  SMALLINT,

          SEX  CHAR(2));

 

3.对于教学数据库的三个基本表
     学生 S(S#,SNAME,AGE,SEX)
     学习 SC(S#,C#,GRADE)

     课程 C(C#,CNAME,TEACHER)
 试用SQL语句完成:求选修课程名为"ENGLISH"课程的学生的平均年龄。


    SELECT AVG(AGE)
    FROM S
    WHERE S# IN
     ( SELECT S#
       FROM SC
       WHERE C#  IN

          (  SELECT C#

             FROM C

             WHERE CNAME="ENGLISH"));

              
4.教学数据库的数据模式如上题。

试采用外键子句约束定义下列完整性约束:在关系SC中插入元组时,其S#值和C#值必须分别在S和C中出现


   CREATE  TABLE SC(
   S# CHAR(4),
   C# CHAR(4),
   GRADE SMALLINT,
   FOREIGN key(S#) REFERENCE S(S#),
   FOREIGN key(C#) REFERENCE C(C#)
   )

六、应用题(本大题10分)

1.数据模型分析,关系模型R(U,F)
U=ABCDEG,F={AD→E,AC→E,CB→G,BCD→AG,BD→A,AB→G,A→C}
(1) 求此模型的最小函数依赖集。
(2) 求出关系模式的候选码。
(3) 此关系模型最高属于哪级范式。
(4) 将此模型按照模式分解的要求分解为3NF。


依照题意,得出:
(1)通过4.2.7最小集求法,Fm={A→E,BC→G,BD→A,A→C}

  • 解函数依赖的右部, F={AD→E,AC→E,BC→G,BCD→A,BCD→G,BD→A,AB→G,A→C}
  • 消去左边的冗余属性:F={A→E,A→E,BC→G,BD→A,BC→G,BD→A,AB→G,A→C}
  • 消去冗余的函数依赖:Fm={A→E,BC→G,BD→A,A→C}

                  也可以为:  Fm={A→E,AB→G,BD→A,A→C}

(2)候选码:BD
(3)R中每一个非主属性完全函数依赖于R的候选键BD;但C,G都传递依赖于R的候选键BD,也就是说,R满足2NF的要求,而不满足3NF的要求。此关系模型最高属于2NF。
(4)依据算法4.4(主要目的是消除函数依赖)
      R1:U1=ABD      F1={BD→A}

      R2:U2=BCG      F2={BC→G}

      R3:U3=ACE     F3={A→C,A→E}

模 拟 试 卷 (四)



一、单项选择题(本大题共15小题,每小题1分,共15分)

1.现实世界中事物在某一方面的特性在信息世界中称为 ( C ) 

 A.实体         B.实体值         C.属性         D.信息 

 

2.数据的存储结构与数据逻辑结构之间的独立性称为数据的 ( B ) 

 A.结构独立性     B.物理独立性     C.逻辑独立性      D.分布独立性 

 

3. 应用程序设计的工作开始于数据库设计步骤的 ( D )
 A.需求分析阶段  B.概念设计阶段  C.逻辑设计阶段  D.物理设计阶段

4.在关系R中,代数表达式 σ3<4(R)表示 ( B )

 A.从R中选择值为3的分量小于第4个分量的元组组成的关系  

   B.从R中选择第3个分量值小于第4个分量的元组组成的关系 

 C.从R中选择第3个分量的值小于4的元组组成的关系  

 D.从R中选择所有元组组成的关系


5.对关系模式进行分解时,要使分解具有无损失连接性,在下属范式中最高可以达到 ( D ) 

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

 

6.事务的ACID性质,是指事务具有原子性、一致性和 ( C ) 

 A.隔离性、透明性           B.独立性、透明性         

 C.隔离性、持久性           D.共享性、持久性 

 

7. 各个场地采用同一类型的数据模型,使用不同型号的DBMS,这种分布式数据库系统的类型属于 ( B ) 

 A.同构同质型     B.同构异质型       C.异构同质型      D.异构异质型 

 

8.为解决“丢失更新”问题,事务在更新一个数据集合前,必须获得对它的 ( B ) 

 A.S锁       B.X锁    C.S锁和X锁      D.S锁或X锁 

 

9. 在删除基本表中某个元组时,将以此表为参照表的关系中外键与主键相同的元组一起删除,应采用的方式是             ( B ) 

 A.RESSTRDICT方式     B.CASCADE方式     C.SET NULL方式     D.CHECK方式  

 

10. 在SQL的查询语句中,对应关系代数中“投影”运算的语句是 ( A ) 

 A.SELECT       B.FROM        C.WHERE         D.SET 

 

11. 在关系模式R(U,F)中,X,Y,Z是U中属性,则多值依赖的传递律是 ( D ) 

 A.如果X→→Y,Y→→Z,则X→→Z       

 B.如果X→→Y,Y→→Z,则X→→YZ 

 C.如果X→→Y,Y→→Z,则X→→YZ     

 D.如果X→→Y,Y→→Z,则X→→Z-Y

 

12. 在数据库设计中,将E-R图转换成关系数据模型的过程属于 ( B )
 A.需求分析阶段
 B.逻辑设计阶段
 C.概念设计阶段
 D.物理设计阶段

13. 关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、差、投影、选择和( B ) 
 A.交    B.笛卡尔积    C.自然连接    D.除法

14. SQL语言具有的功能是 ( B )
 A.关系规范化,数据操纵,数据控制 

 B.数据定义,数据操纵,数据控制 

 C.数据定义,关系规范化,数据控制 

 D.数据定义,关系规范化,数据操纵 

 

15. 分布式数据库系统中数据分配的策略是集中式,分割式和 ( C )

 A.分布式,混合式      B.全复制式,关联式  

 C.全复制式,混合式     D.分片式,关联式

二、填空题(本大题共15个空,每空1分,共15分)

1. 事务的特性包括:原子性、(一致性)、(隔离性)、和持久性。
2. 在关系模型中,表的行称为(元组),列称为属性。
3.在SQL中,建立基本表之前必须先建立(模式)。
4. 分布式数据库系统的四个功能子系统是:查询子系统,完整性子系统,(调度) 子系统和(可靠性)子系统。
5. DB并发操作通常会带来三类问题,它们是丢失更新、(不一致)和读脏数据。
6. 在关系中,能唯一标识元组的属性称为(超键)。
7. 在嵌入式SQL中,为解决主语言与SQL的不同数据结构,采用(游标)机制来进行转换。
8. E—R方法的三要素是:实体、属性和(联系)。
9. 关系模型包含外延和内涵,(内涵)是与时间独立的。
10. 当用户建立视图时,在数据字典中存储的是视图的(定义),而不是(数据)。
11. 分布式数据库系统的三种类型是:异构型、(同构同质型)和(同构异质型)。

三、名词解释(本大题共5个小题,每小题3分,共15分)

1. 域和元组

在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域; 记录称为元组。

元组对应表中的一行;表示一个实体。 

 

2. 无损联接

设R是一关系模式,分解成关系模式ρ={R1,R2...,Rk},F是R上的一个函数依赖集。 如果对R中满足F的每一个关系r都有r=πR1(r)πR2(r)... πRk(r)则称这个分解相对于F是"无损联接分解"。


3. 事务的原子性 

一个事务对数据库的操作是一个不可分割的操作系列,事务要么完整地被全部执行,要么全部不执行。 

 

4.分片透明性

分片透明性是最高层次的分布透明性,是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。

 


5
完全函数依赖

在关系R(U,F)中,如果X→ Y,而对于X的任何真子集X',Y 对X'均不存在函数依赖,称Y对X完全依赖。

四、简答题(本大题共5小题,每小题5分,共25分)

 

1.为什么视图被称为虚表?基本表与视图的区别是什么?

因为数据库中只存储有关视图的定义而不存储视图所对应的数据,这些数据仍存放在导出视图的基本表中,所以视图被称为虚表。基本表是实际独立存放在数据库中的表,是实表。

 


2.简述数据库设计过程中输入的主要内容。

1)总体信息需求

2)处理需求

3)DBMS的特征

4)硬件和操作系统的特征

 


3.数据库并发操作主要解决哪三个问题?如何保证并行操作的可串行性。

数据库并发操作主要解决以下三个问题。

1)丢失更新问题

2)数据不一致分析问题

3)读“脏”数据问题

对任何数据集合进行读写操作之前,事务首先应获得对此数据集合的封锁,在释放一个封锁之后,事务不再获得任何其他封锁。

 


4.在关系数据库中能完全消除数据冗余吗?

不能。要实现关系数据库中表与表之间的联系,必须通过公共属性来完成,这些公共属性可能是一个表的主键,也可能是另一个表的外键,有相应的参照完整性规则来保证表之间的联系。所以关系数据库中存在数据冗余,但能控制数据的冗余度。

 


5. 设教学数据库有三个关系:
    学生 S(S#,SNAME,AGE,SEX)
    学习 SC(S#,C#,GRADE)
    课程 C(C#,CNAME,TEACHER)

写出下列代数表达式和元组表达式的汉语含义。

(1){t|(u)(C(u)∧C[3]='LIU'∧t[1]=u[1]∧t[2]=u[2])}

(2)πS#TEACHER='LIU'(SCC))

(1)检索LIU老师所授课程的课程号、课程名。

(2)检索选修课程包含LIU老师所授课程的学生学号。

五、程序设计题(本大题共4小题,每小题5分,共20分)

1.有两个关系模式R(A,B,C)和S(D,E,F),

域关系演算表达式是:T={xy|(u)(v)(W)(R(xuv)∧S(vwy))}

写出使用SQL的操作语句。

SELECT R.A, S.F

FROM R,S

WHERE R.C=S.D

 

2.数据模型如下;

商店S(SNO,SNAME,CITY)

商品P(PNO,PNAME,COLOR)

销售SP(SNO,PNO,DATE,QTY)

用SQL完成查询:销售全部商品的商店名。

SELECT SNAME

FORM S 

WHERE NOT EXISTS

( SELECT *

   FROM P

   WHERE NOT EXISTS

  ( SELECT  *

          FORM P

     WHERE PNO=P.PNO

     AND SNO =S.SNO));

解题提示:

“查出商店名,该商店不存在不销售的商品。”   

“该商店不销售的商品”可以处理为“从P中选择商品,P中不存在前面所查商店销售该商品的记录”

 

3.设某工厂数据库中有两个基本表:

车间基本表:DEPT(DNO,DNAME,MGR_NO),其属性分别表示车间编号、车间名和车间主任的职工号。

职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。

试建立一个有关女车间主任的职工号和姓名的视图,其结构如下:VIEW6(ENO, ENAME)。试写出创建视图VIEW6的SQL语句。

 

CREATE VIEW VIEW6

  AS SELECT ENO,ENAME

    FROM DEPT,EMP

    WHERE MRG_ENO=ENO

        AND SEX=‘女';

 

4.基于上题的基本表,把工资低于800的职工的工资提高10%

UPDATE EMP

SET SALARY=SALARY*1.1

WHERE SALAEY<800


六、应用题(本大题共10分)

1.东方货运公司数据库的样本数据如下。

表名称:卡车

车号

货运站编号

类型

总行程

购入日期

1001

  501

  1

 59002.7

  11/06/90

1002

  502

  2

 54523.8

  11/08/90

1003

  503

  2

 32116.6

  09/29/91

1004

  504

  2

 3256.9

  01/14/92

 表名称:货运站

货运编号

     地址

   电话

  经理

  501

北京市东城区花市大街111号

010—67301234

 何东海

  502

北京市海淀花园路101号

010—64248892

吴明君

 表名称:型号

类型

汽车型号

1

DJS130

2

DLS121

根据数据库的表结构和内容:

a.        指出每个表的主码和外码。如果没有外码,则写“无”。

b.       卡车表存在实体完整性和参照完整性吗?请详细说明。

c.       具体说明卡车表与运货站表之间存在着什么关系?

d.       卡车表中包含多少个实体?

 

答:a.

表名称

主码

外码

卡车

车号

货运站编号,类型

货运站

货运站编号

型号

类型

 b. 卡车表中存在实体完整性和参照完整性。

   实体完整性:在主码车号的这列中不存在空值;

   参照完整性:外码“货运站编号”这列中的值都是货运站表中“货运站编号”这列中的值,外码“类型”这列中的 值都是型号表中“型号”这列中的值。

c.   货运站表和卡车表之间存在着一对多的关系,即每一个货运站可以有多辆车。如,样本数据中货运站501有两辆车:车号为1001和1003;货运站502有两辆车:车号为1002和1004。

d.   卡车表中包括4个实体,即表中每个元组(行)对应一个实体,每个实体就是一辆车。

模 拟 试 卷 (五)



一、单项选择题(本大题共15小题,每小题1分,共15分)

1. 在数据库系统中,数据独立性是指( C ) 

 A.用户与计算机系统的独立性   B.数据库与计算机的独立性

 C.数据与应用程序的独立性    D.用户与数据库的独立性 

 

2. 文件系统与数据库系统相比较,其缺陷主要表现在数据联系弱、数据冗余和 ( C )

 A. 数据存储量低         B.处理速度慢         C.数据不一致         D.操作烦琐 

 

3.设计数据库概念结构时,常用的数据抽象方法是聚集和 ( D ) 

 A.分类         B.继承         C.分析         D.概括 

 

4. 在下列的数据库模式中,独立于计算机系统的模式是 ( A ) 

 A.概念模式       B.逻辑模式         C.内模式       D.外模式 

 

5. 在SQL中使用CREATE ASSERTION 的作用是建立 ( C ) 

 A.数据库         B.基本表         C.完整性规则         D.视图 

 

6. 客户/服务器体系结构的关键在于 ( D )

 A.资源共享      B.数据的分布     C.逻辑上的统一      D.功能的分布 

 

7. 在关系模式R(U,F)中,如果X→Y,如果不存在X的真子集X1,使X1→Y, 称函数依赖X→Y为 ( C )

 A.平凡函数依赖      B. 部分函数依赖     C.完全函数依赖     D.传递函数依赖 

 

8. 要使数据库具有可恢复性,最基本的原则是 ( D ) 

 A.加强机房安全管理     B.安装防病毒设施

 C.经常检修计算机系统    D.数据重复存储

 


9.在关系模式R(U,F)中,F是最小函数依赖集,属性T只在F中诸函数依赖“→”的左端出现,则属性T具有以下性质 ( C )

 A.属性T仅是R的主属性,但不包含于侯选键中 

 B.属性T必是R的非主属性 

 C.属性T必是组成R候选键的主属性 

 D.属性T可能是R的主属性,也可能是R的非主属性 

 

解释:函数依赖是语义范畴的概念,本题可以直接从语义上理解: (1)如果t不包含在任一侯选键中,它至少依赖于候选键,所以它肯定会在F中“→”的右端出现; (2)包含在任何一个候选键中的属性称为主属性。

 

10. 对关系R进行投影运算后,得到关系S,则 ( C ) 

 A.关系R的元组数等于关系S的元组数 

 B.关系R的元组数小于关系S的元组数 

 C.关系R的元组数大于或等于关系S的元组数 

 D.关系R的元组数大于关系S的元组 数

 

11.记载数据库系统运行过程中所有更新操作的文件称为 ( C )

 A.更新文件       B. 后备文件        C.日志文件         D.数据文件 

 

12.在面向对象的模型中,表示实体中的每个属性时,使用 ( C )

 A.两个变量,一个消息             B.两个变量,两个消息 

 C.一个变量,两个消息             D.一个变量,一个消息 

 

13. 在客户/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能中,属于前端的是( B ) 

 A.存取结构        B.用户界面         C.查询优化         D.并发控制 

 

14.SQR中的视图提高了数据库系统的 ( A )

 A.完整性         B.并发控制         C.隔离性         D.安全性 

 

15. 在E-R模型中,如果有6个不同实体集,有7个不同的二元联系,其中2个1:N联系,2个1:1联系, 3个M:N  联系,根据E-R模型转换成关系模型的规则,转换成关系的数目是( B )

 A.6         B.9         C.11         D.13

二、填空题(本大题共15个空,每空1分,共15分)

1. 在数据库的物理结构中,数据的基本单位是(存储记录)。

2. 分布式数据库系统的透明性包括(位置)透明性和(复制)透明性。 

3. 在关系模型中,表的行称为元组,列称为(属性)。 

4. 在SQL查询时,如果需要去掉查询结果中的重复组,应使用(DISTINCT)。 

5. 封锁一般分为两种(排他型封锁,X封锁)和(共享型封锁,S封锁) 

6. 模式/内模式映象为数据库提供了(物理)数据独立性。 

7. 判断一个并发调度是否正确,可以用(可串行化)概念来解决 。
8. 关系数据库的关系演算语言是以(谓词演算)为基础的DML语言。
9. 在函数信赖中,平凡的函数信赖根据Armstrong推理规则中的(自反)律就可推出。
10. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→A,B→C},则分解ρ = {AB,AC}丢失的FD是(B→C)。
11. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和(不相交条件)。
12. 在有泛化/细化联系的对象类型之间,较低层的对象类型称为(子类型)。
13. 用树型结构表示实体类型及实体间联系的数据模型称为(层次模型)。

三、名词解释(本大题共5个小题,每小题3分,共15分)

1. DBMS

即数据库管理系统(Database Management System),是位于用户与操作系统之间的一层数据管理软件, 为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。 DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。 

 

2. 传递依赖 

在关系模式中,如果Y→X,X→A,且XY(X不决定Y), AY(A不属于X),那么称Y→A是传递依赖。

 


3. 两段封锁协议  

(1)在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁; 

(2)在释放一个封锁之后,事务不再获得任何其他封锁。 

 

4. 位置透明性 

位置透明性位于分片视图与分配视图之间。 是指用户或应用程序应当了解分片情况,但不必了解片段的存储场地。 

 

5. 运行记录优先原则 

(1)至少要等相应的运行记录已经写入“日志”文件后,才能允许事务往数据库写数据。 

(2)直到事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理。

四、简答题(本大题共5小题,每小题5分,共25分)

1. 设有关系模型R(A,B,C,D,E),F是R上成立的函数依赖集,F={ABC→DE,BC→D,D→E}, 试问R达到第几范式,并说明理由。

R属于1NF。 由于候选键是ABC。而非主属性D和E部分函数依赖于候选键ABC,因此R不是2NF,只能是1NF。

 


2.简述数据库E—R模式的优化原则。

数据库E—R模式的优化原则为:

1)相关实体类型合并。

2)消除冗余属性。

3)消除冗余联系。

 

 

3.设有关系R与S

R:

A  B  C
2  3  4
4  5  6
7  8  9

S:

D  E
7  5
4  8

计算T
T={xyz|(u)(v)(R(zxu)∧S(yv)∧u>v)}

 

B     D     A

5     7     4

8     7     7

8     4     7

 

4.什么是数据库的恢复?数据库恢复的基本原则是什么?

当数据库系统受到破坏时,通过恢复技术,使数据库恢复到遭到破坏之前的正确状态。数据库恢复的基本原则是重复存储,即“冗余”。

 


5.设有职工关系Employee(职工号,姓名,性别,技能),有关系代数运算表达式:

π1,2,4(Employee)÷π4(σ2='Li'(Employee))

请用汉语句子写出该表达式所表示的查询。

 

检索具备了职工“Li”的所有技能的职工的职工号、姓名和技能。

 

五、程序设计题(本大题共4小题,每小题5分,共20分)

1.设销售数据模型如下:

厂家 S (SNO,SNAME,CITY )

产品 P (PNO,PNAME,COLOR,WEIGHT)

工程 J  (JNO,JNAME,CITY)

销售 SPJ (SNO,PNO,JNO,QTY)

用SQL完成查询:与“长风”在同一城市的厂家名。

 

SELECT S.SNAME

FROM S,S AS X

WHERE X.SNAME=“长风”

AND S.CITY=X.CITY

 

2.在上题的数据模型的基础上,用SQL完成查询:至少使用P1,P2两种产品的工程名:

 SELECT  JNAME

 FROM J

 WHERE  JNO  IN

(SELECT  JNO

  FROM  SPJ

  WHERE  PNO="p1")

AND  JNO  IN

(SELECT JNO

FROM  SPJ

WHERE  PNO="P2")

 

3.设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于1000元的女职工加薪200元,试写出这个操作的SQL语句。

 

UPDATE EMP

SET SALARY=SALARY+200

WHERE SALAEY<1000

    AND SEX='女'

 

4.设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资,所在车间的编号。试写一个断言(断言名为ASSE4),要求每个车间女职工人数不少于20人。

CREAT ASSERTION ASSE4 CHECK

(20>= ALL(SELECT COUNT(ENO)

            FROM EMP

            WHERE SEX='女'

            GROUP BY DNO))

六、应用题(本大题共2个小题,每小题10分,共10分)

 

1.学生与教师教学模型

(1)有若干班级,每个班级包括:班级号、班级名、专业、人数、教室

(2)每个班级有若干学生,学生只能属于一个班,学生包括:学号、姓名、性别、年龄

(3)有若干教师,教师包括:编号、姓名、性别、年龄、职称

(4)开设若干课程,课程包括:课程号、课程名、课时、学分

(5)一门课程可由多名教师任教,一名教师可任多门课程。

(6)一门课程有多名学生选修,每名学生可选多门课,但选同一门课时,只能选其中一名教师。

解题要求:

(1)画出每个实体及其属性关系、实体间实体联系的(E-R)图。

(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性。

 

(1)

 

(2)

班级(班级号,班级名,专业,人数,教室),主键:班级号

学生(学号,姓名,性别,年龄,班级号),主键:学号       外键:班级号

教师(编号,姓名,性别,年龄,职称),主键:编号

课程(课程号,课程名,课时,学分),主键:课程号

选课(课程号,学号,成绩),主键:课程号,学号       外键:课程号;学号

任课(课程号,编号,时间),主键:课程号,编号       外键:课程号;编号

模 拟 试 卷 (六)



一、单项选择题(本大题共20小题,每小题1分,共20分)

1. 位于用户和数据库之间的一层数据管理软件是 ( C )

 A.DBS    B.DB    C.DBMS    D.MIS

2. 一个事务中所有对数据库操作是一个不可分割的操作序列,这称为事务的 ( A )
 A.原子性         B.一致性
 C.隔离性         D.持久性

3. 关系代数的五个基本操作是:并、差、选择、投影和 ( D )
 A.等值连接        B.F连接
 C.自然连接        D.笛卡儿积

4. 在关系数据库中,表与表之间的联系是通过( B )实现的。
 A.实体完整性规则        B.参照完整性规则
 C.用户自定义的完整性规则    D.主键

5. 数据字典产生于数据库设计步骤的 ( A )
 A.需求分析阶段      B.概念设计阶段
 C.逻辑设计阶段      D.物理设计阶段

6. 在数据库技术中,未提交的随后又被撤消的数据称为 ( D )
 A.错误数据        B.冗余数据
 C.过期数据        D.脏数据

7. 在SQL中,建立视图用的命令是 ( C )
 A.CREATE SCHEMA        B.CREATE TABLE
 C.CREATE VIEW         D.CREATE INDEX

8. 分布式数据库系统的透明性主要表现在位置透明性和 ( C )
 A.数据透明性      B.处理透明性
 C.复制透明性      D.映射透明性

9. 在数据库的E-R图中,菱形框表达的是 ( C )
 A. 属性          B.实体
 C.实体之间的联系      D.实体与属性之间的联系

10. 设关系R和S的结构相同,并且各有80个元组,假如这两个关系作并运算, 其运算结果的元组个数为 ( D )
 A .80  B.小于等于80   C.大于等于160  D. 大于等于80,小于等于160

11. 以下操作中,不能用DML实现的是 ( B )
 A.数据查询           B.定义数据库的三级结构
 C.数据插入           D.数据删除

12. 如果关系R和S进行自然连接时,只把S中原该舍弃的元组保存到新关系中,这种操作称为 ( D )
 A.外连接        B.内联接
 C.左连接        D.右外连接

13. 把E-R图转换成关系模型的过程,属于数据库设计的 (  C )
 A.总体结构设计        B.概念结构设计
 C.物理结构设计        D.逻辑结构设计

14. ORDBS的中文意思是 ( C )
 A.面向对象的数据库系统      B.数据库管理系统
 C.对象关系数据库系统       D.关系数据库系统

15. 在较低层上的抽象表达了与之联系的较高层上抽象的特殊情况时,称为较高层上抽象是较低层抽象的 ( D )
 A.概括        B. 聚集
 C.细化        D. 泛化

16. 在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中 (  C )
 A.属性名都不相同        B.去掉了重复的列
 C.行都不相同          D.属性值都不相同

17. 在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在 ( A )
 A.客户机端          B.服务器端
 C.终端            D.系统端

18. 事务日志用于保存 ( D )
 A.程序运行过程         B.数据操作
 C.程序的执行结果        D.对数据的更新操作

19. 在第一个事务以S锁方式读数据A时,第二个事务可以进行的操作是 ( D )
 A.对数据实行X锁并读数据        B.对数据实行S锁并写数据
 C.对数据实行X锁并写数据        D.不加封锁的读数据

20. 概念结构设计的目标是产生DB的概念模型,该模型主要反映( B )
 A.DBA的管理信息需求        B.企业组织的信息需求
 C.应用程序员的编程需求        D.DB的维护需求

二、填空题(本大题共15个空,每空1分,共15分)

1. 在数据库的三级模式结构中,数据是按(内)模式的描述存储在磁盘中,按(外)模式提供给用户的。
2. 在关系中,能唯一标识元组的属性称为(超键)。
3. 分布式数据库系统的特点是数据的(分布)性和整体的(逻辑)性。
4. 在对象关系模型中,属性的符合类型包括:多集类型、数组类型、(结构)类型和(集合)类型。
5. 对于函数依赖x→Y,如果Y是X的子集,此函数称为(平凡)函数依赖。
6. E-R方法的三要素是:实体、属性和(联系)。
7. 假设两个事务同时存取同一个数据集,当第一个事务结束之前,第二个事务更新数据库, 这就违反了事务的(隔离)性,破坏了DB的一致性。
8. 假设一个学生只属于一个班级,则班级和学生之间是(一对多,1:N)联系; 学生可以同时修多门课程,学生和课程之间是(多对多,M:N)联系。
9. 数据完整性约束分为(静态)约束和(动态)约束。
10. 在数据库系统中,所有应用程序都通过(DBMS)访问数据库。

三、名词解释(本大题共5个小题,每小题3分,共15分)

1. 部分函数依赖
关系模式中,如果X→Y, 且X存在真子集X',使X'→Y也成立, 这时称X→Y为部分函数依赖。

2. 外模式
用户与数据库系统的接口,是面向每个用户使用的数据视图的描述。

3. 嵌入式SQL
将SQL语句嵌入高级程序设计语言中使用,发挥高级语言过程化处理能力强的特点。

4. 数据定义语言
由DBMS提供的,用于描述数据库各级模式的结构,相互之间的映像,以及安全性规则,完整性约束等内容的语言。

5. 授权
将对数据库中的某些表、某些字段的操作权限授予指定的用户,这种操作称为"授权"。

四、简答题(本大题共4小题,每小题5分,共20分)

1. 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0。

   T1:    R:=R+5

   T2:    R:=R*3

   T3:    R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?

答:有6种可能的情况

(1)T1-T2-T3: R=2

(2)T1-T3-T2: R=6

(3)T2-T1-T3: R=2

(4)T2-T3-T1: R=7

(5)T3-T1-T2: R=21

(6)T3-T2-T1: R=11
采用封锁,可以解决并行调度的不一致问题。

2. 在关系模式R(U,F)中,U=ABCDEF={A→C,AC→B,B→D,C→E,EC→B} 计算(AB)+

 

(AB)+ =ABCDE

 计算过程如下:
第一次:(1) x(0)=φ,x(1)=AB
(2) 由于X(0)≠AB,置X(0)=AB;
(3) 检查函数依赖,置X(1)=AB∪D∪C=ABCD
第二次: 置X(0)=ABCD, 检查函数依赖,置X(1)=ABCD∪E∪B=ABCDE
第三次: 置X(0)=ABCDE, 检查函数依赖,置X(1)=ABCDE∪B=ABCDE
第四次:x(0)=x(1),输出x(1)= (AB)+ =ABCDE 


3.简述数据库概念模型的主要特点。

1)对现实世界的抽象和概括,能真实,充分的反映现实世界的事物和事物之间的联系

2)简洁、明晰、独立于计算机系统、便于理解

3)易于变动和修改

4)易于向给定的数据库逻辑模式转换。

 


4. 简述在SQL中,DELETE语句与DROP TABLE的区别。
DELETE的作用是删除表中的元组,表的模式依然存在,而DROP TABLE 是将表的结构和元组全部删除,表被删除(DROP)后就不再存在了。

五、程序设计题(本大题共4小题,每小题5分,共20分)

以下各小题题基于教学数据库的三个基本表
     学生 S(S#,SNAME,AGE,SEX)
     学习 SC(S#,C#,GRADE)
     课程 C(C#,CNAME,TEACHER)
  

1. 试用元组表达式和关系代数表达式表示下列查询语句:检索年龄小于23岁的男学生的学号和姓名。
    
关系代数表达式:πS#,SNAMEAGE>'23'∧SEX='男'(S))
元组表达式:{t|(u)(S(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}


2. 试用SQL的查询语句表达下列查询: 检索"王兰"同学不学的课程的课程号。
    SELECT C#
    FROM C
    WHERE C# NOT IN
     (SELECT C#
     FROM SC
     WHERE S# IN
      (SELECT S#
      FROM S
      WHERE SNAME='王兰'))


3. 试用SQL的查询语句表达下列查询: 检索全部学生都选修的课程的课程号与课程名。
    SELECT C#,CNAME
    FROM C
    WHERE NOT EXISTS
     (SELECT *
     FROM S
     WHERE NOT EXISTS
      (SELECT *
      FROM SC
      WHERE SC.S#=S.S# AND SC.C#=C.C#))

4. 试用SQL更新语句表达以下更新操作: 把低于总平均成绩的女同学成绩提高5%。
    UPDATE SC
    SET GRADE=GRADE*1.05
    WHERE GRADE<(SELECT AVG(GRADE) FROM SC) AND S# IN (SELECT S# FROM S WHERE SEX='F')

六、应用题(本大题共1个小题,共10分)

1.有一个应用,包括三个实体集。 实体类型“商店”的属性有:商店编号,店名,店址,店经理。 实体类型“会员”的属性有:会员编号,会员名,地址。 实体类型“职工”的属性有:职工编号,职工名,性别,工资 。 每家商店有若干职工,但每个职工只能服务于一家商店。 每家商店有若干会员,每个会员可以属于多家商店。在联系中应反映出职工参加某商店工作的开始时间,会员的加入时间。  
(1)试画出反映商店、职工、会员实体类型及联系类型的ER图;
(2)将ER图转换成关系模式,并指出每个表的主键和外键;

(3)指出以上关系模式所达到的范式。

(1)

 

(2)

商店模式(商店编号,店名,店址,店经理) 

                主键:商店编号
职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)

                主键:职工编号            外键:商店编号

会员模式(会员编号,会员名,地址)

                主键:会员编号

SM模式(会员编号,商店编号,会员加入时间)

                主键:会员编号,商店编号

          外键:会员编号;商店编号


(3)以上关系模式中,所有属性对侯选键都不存在传递依赖,因此都是BCNF。

 

一、选择题

1.同一个关系模型的任意两个元组值(   )。

  A. 不能全同                       B. 可全同

  C. 必须全同                       D. 以上都不是

2.关系模式R中的属性全部是主属性,则R的最高范式必定是(   )。

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

3.下列哪个不是数据库系统必须提供的数据控制功能(   )。

  A. 安全性   B. 可移植性    C. 完整性      D. 并发控制

4.若关系R的候选码都是由单属性构成的,则R的最高范式必定是(   )。

  A. 1NF               B. 2NF

  C. 3NF               D.无法确定

5.下列哪些运算是关系代数的基本运算(   )。

 A. 交、并、差                     B. 投影、选取、除、联结

C. 联结、自然联结、笛卡尔乘积     D. 投影、选取、笛卡尔乘积、差运算

6.SQL语句的一次查询结果是(   )。

A. 数据项       B. 记录         C. 元组        D. 表

7.在关系R(R#, RN, S#)和 S(S#,SN, SD)中,R的主码是R#, S的主码是S#,则S#在R中称为(   )。

A. 外码              B. 候选码

C. 主码                           D. 超码

8.在DBS中,DBMS和OS之间关系是(   )。

A. 并发运行                      B. 相互调用

C. OS调用DBMS                 D. DBMS调用OS

9.层次模型、网状模型和关系模型的划分根据是(  )。

A. 记录长度                    B. 文件的大小

C. 联系的复杂程度              D. 数据之间的联系

10.下列哪个是单目运算(   )。

A. 差        B. 并         C. 投影       D. 除法

11.采用SQL查询语言对关系进行查询操作,若要求查询结果中不能出现重复元组,可在SELECT子句后增加保留字(   )。

A. DISTINCT       B. UNIQUE        C. NOT NULL     D. SINGLE

12.下列SQL语句中,能够实现“给用户teacher授予查询SC的权限”这一功能的是(   )。

A. GRANT SELECT on SC to teacher

B. REVOKE SELECT on SC to teacher

C. GRANT SELECT on TABLE to teacher

D. REVOKE SELECT on TABLE to teacher

13.设有关系S (SNO,SNAME,DNAME,DADDR),将其规范化到第三范式正确的答案是(  )。

A. S1(SNO,SNAME) S2(DNAME,DADDR)

B. S1 (SNO,NAME,DNAME)    DEPT(DNAME,DADDR)

C. S1(SNO,SNAME,DADDR) S2(SNO,SNAME)

D. 以上都不对

14.下列有关主键和外键之间关系的描述中正确的是(   )。

A. 一个表中最多只能有一个主键,多个外键

B. 一个表中最多只能有一个外键,一个主键

C. 一个表中可以有多个主键,多个外键

D. 一个表中最多只能有一个外键,多个主键

15.数据的存储结构与数据逻辑结构之间的独立性称为数据的(   )。

A. 物理独立性                B. 结构独立性

C. 逻辑独立性                D. 分布独立性

16.关系模式的任何属性(   )。

A. 不可再分                       B. 可再分

C. 命名在该关系模式中可以不唯一   D. 以上都不是

17.数据模型的三要素是(   )。

A. 外模式、模式、内模式        B.关系模型、层次模型、网状模型

C. 实体、联系、属性            D. 数据结构、数据操作、完整性约束

18.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为(   )。

A. 数据定义功能                 B.数据管理功能

C. 数据操纵功能                 D.数据控制功能

19.关系模型中3NF是指(   )。

A. 满足2NF且不存在组合属性  B. 满足2NF且不存在部分依赖现象

C. 满足2NF且不存在非主属性  D. 满足2NF且不存在传递依赖现象

20.建立索引是为了加快 (      )的速度。

A、打开表  B、删除表  C、连接表  D、查询表

21.在SQL语句中,谓词“EXISTS”的含义是(   )。

A. 全称量词                B. 存在量词

C. 自然连接                D. 等值连接

22.现实世界“特征”术语,对应于数据世界的(   )。

A. 属性           B. 联系           C. 记录          D. 数据项

23.关系模型中,一个码是(   )。

A. 可由多个任意属性组成

B. 至多由一个属性组成

C. 可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成

D. 以上都不是

24.客观存在并可相互区别的事物称为(      )

A、属性 B、码   C、实体    D、域

25.在SQL语句中,对输出结果进行排序的语句是(   )。

A. GROUP BY   B. ORDER BY    C. WHERE       D. HAVING

26.关系模型是(   )。

A. 用关系表示实体            B. 用关系表示联系

C. 用关系表示实体及其联系     D. 用关系表示属性

27.数据库系统中,DBA表示(   )。

A. 应用程序设计者                 B. 数据库使用者

C. 数据库管理员                   D. 数据库结构

28.当前数据库应用系统的主流数据模型是(   )。

A. 层次数据模型            B. 网状数据模型

C. 关系数据模型           D. 面向对象数据模型

29.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的(   )。

A. 文件的集合                    B. 数据的集合

C. 命令的集合                    D. 程序的集合

30.关系数据库中的码是指(   )。

A. 能唯一决定关系的字段       B. 不可改动的专用保留字

C. 关键的很重要的字段       D. 能唯一标识元组的属性或属性集合

31.在SQL语句中,需要对分组情况应满足的条件进行判断时,应使用(   )。

A. GROUP BY   B. ORDER BY    C. WHERE       D. HAVING

32.SQL语言是(   )。

A. 高级语言                 B. 结构化查询语言

C. 编程语言                D. 宿主语言

33.在SQL语句中,给用户授权的命令是(   )。

A. GRANT      B. SET          C. REVOKE       D. FROM

34.设计性能较优的关系模式称为规范化,规范化主要的理论依据是(   )。

A. 关系规范化理论              B. 关系运算理论

 C. 关系代数理论         D. 数理逻辑

35.在数据库系统阶段数据由(    )统一管理

A、管理员   B、系统分析员   C、DBMS    D、DB

36.关系模式中,满足2NF的模式(   )。

 A. 可能是1NF   B. 必定是1NF   C. 必定是3NF   D. 必定是BCNF

37.消除了部分函数依赖的1NF的关系模式必定是(   )。

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

38.从表中删除记录的SQL语句是(  )。

A. INSERT    B. DELETE   C. UPDATE     D. DROP

39.关系模型的数据结构是(   )。

A. 树            B. 图           C. 表          D. 二维表

40.数据库系统与文件系统的主要区别是(   )。

A. 数据库系统复杂,而文件系统简单

B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决

C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件

D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量

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

A. 元组         B. 行           C. 记录        D. 属性

42.数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为(   )。

A. 存储视图        B. 概念视图        C. 内部视图        D. 外部视图

 

二、填空题 

1.数据管理技术经历了                        三个阶段。

2.二元实体之间的联系可抽象为三类,它们是                  

3.数据库语言包括                           两大部分,前者负责描述和定义数据库的各种特性,后者说明对数据进行的各种操作。

4.数据独立性又可分为                           

5.关系代数中,从关系中取出所需属性组成新关系的操作称为          

6. 构造E-R模型的三个基本要素是                        

7.数据库系统是由计算机硬件、                             及用户等组成的一个整体。

8.在SQL SERVER 2000创建触发器的方法有                         

              

9. 自然连接运算是由                 操作组合而成的。

10. 在SQL中视图是由            产生的虚表,不能存放      ,只存储视图的      

11. 关系数据库规范化是为解决关系数据库中                        

         问题而引入的。 

12. 数据库模式体系结构中提供了两个映象功能,即              

         映象。

13. 关系模式的规范化是指一个低一级范式的         ,通过            可以转换为若干个高一级范式的关系模式。

7. 数据库管理系统的主要功能有               

以及      等四个方面。

 

三、判断题

(  )1.关系模式的操作异常问题往往是由数据冗余引起的。   

(  )2.一般地,一个数据库系统的外模式只能有一个 。 

(  )3.关系操作的特点是集合操作。  

(  )4.视图是从一个或多个表中导出的表,所以它是一个实表。

(  )5.候选码中的属性称为关键属性。  

(  )6.在数据库中存储的是数据   

(  )7.数据库一般使用3NF以上的关系。  

(  )8.DBMS是位于应用程序和操作系统之间的一层管理软件。  

(  )5.在对数据库的任何操作中,3NF都比1NF效率高。

 

四、简答题

1.试述概念模型的作用。

 

 

 

 

 

 

 

 

 

2.关系与普通表格、文件有什么区别?

 

 

 

 

 

 

 

 

 

3.为什么要进行关系模式的分解?分解的依据是什么?

 

 

 

 

 

 

 

 

4.用SQL语句实现:创建一个COMPANY数据库,该数据库的主数据文件逻辑名称为COMPANY_DATA,物理文件名为COMPANY.MDF,初始大小为10MB,最大尺寸为100M,增长速度为5M;日志文件逻辑名称为COMPANY_LOG,物理文件名为COMPANY.LDF,初始大小为5MB,最大尺寸为20M,增长速度为5%。

 

 

 

 

 

 

 

 

5.关系数据模型有哪些优缺点?

 

 

 

 

 

 

 

6.从模块结构看,DBMS由哪些部分组成?

 

 

 

 

 

 

 

7. 为什么关系中的元组没有先后顺序?

 

 

 

 

 

 

 

 

五、应用题

1.设有三个关系:

 S(S#,SNAME,AGE,SEX)

  C(C#,CNAME,TEACHER)

  SC(S#,C#,GRADE)

试用关系代数表达式表示下列查询语句:(

(1)检索讲授“数据结构”的老师的教师名TEACHER。

(2)检索至少选修“陈军”老师所授全部课程的学生姓名(SNAME)

(3)检索至少选修两门课程的学生学号(S#)。

(4)检索“数据库原理”分数为80分及以上的学生学号(S#)。

(5)检索选修全部课程的学生姓名(SNAME)。

   

 

 

 

 

 

 

 

 

 

 

 

 

 

2.设有如下4个关系模式:

    S(SN,SNAME,CITY)

    P(PN,PNAME,COLOR,WEIGHT)

   J(JN,JNAME,CITY)

    SPJ(SN,PN,JN,QTY)

    其中:S表示供应商,SN为供应商编码,SNAME为供应商名字,CITY为供应商所在城市;P表示零件,PN为零件编码,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量;J表示工程,JN为工程编码,JNAME为工程名字,CITY为工程所在城市;SPJ表示供应关系,QTY表示提供的零件数量。

写出实现以下各题功能的SQL语句:

(1)取出供应商为“清华同方”的供应商编码(SN)。

(2)取出重量最轻的零件编码。

(3)取出由供应商S1提供零件的工程名称。

4)取出为工程J1和J2提供零件的供应商编码。

(5)取出供应数量超过500个的零件的零件名称。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

六、综合题(本大题10分)

设工厂有三个实体集。一是“产品”实体集,属性有产品编号、产品名称、性能参数;二是“零件”实体集,属性有零件号、零件名、规格;三是“材料”实体集,属性有材料编号、材料名。

设产品与零件之间有“组成”联系,每件产品可由多种零件组成,但每种零件也可以组成多个产品,组成要有零件数;零件与材料之间“消耗”联系,每种零件消耗一种材料,一种材料可供多种零件消耗,消耗要有消耗量;

(1)试画出E-R图,并在图上注明属性、联系类型、实体标识符。

(2)将E-R图转换成关系模型,并说明主键和外键。

 

一、单项选择题(每小题1分,共20分)

1. ( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMS         B.DB          C.DBS        D.DBA

2. 目前( A )数据库系统已逐渐淘汰了层次数据库和网状数据库,成为当今最为流行的商用数据库系统。

A.关系         B.面向对象    C.分布        D.并行

3. E-R图是数据库设计的工具之一,它一般适用于建立数据库的( A  )。

A.概念模型         B.结构模型             C.物理模型              D.逻辑模型

4. DB,DBMS,DBS三者之间的关系是(  B  )。

A.DB包括DBMS和DBS           B.DBS包括DB和DBMS

C.DBMS包括DB和DBS           D.DBS与DB和DBMS无关

5. 部门Dept(deptNo, deptName, telephone, manager)和职工Emp(empNo, empName, sex, address, deptNo)实体集,若一个职工只能属于一个部门,部门负责人manager是一个职工。Dept与Emp的关系为(   B  )

A.多对多          B.一对多          C.多对一         D.一对一

6. 在SQL中,建立视图用的命令是 (  C  )。

A.CREATE PROCEDURE        B.CREATE TABLE        C.CREATE VIEW        D.CREATE INDEX

7. 在数据库中,产生数据不一致的根本原因是(  C )

A.数据存储量太大  B.没有严格保护数据  C.未对数据进行完整性控制  D.数据冗余

8. 实现关系代数选择运算的SQL子句是 (   D  ).

A.SELECT             B.ORDER BY              C.FROM             D.WHERE

9. 下述不属于数据库设计的内容的是(  A  )

A. 设计DBMS   B. 设计数据库概念结构  C. 设计数据库逻辑结构       D. 设计数据库物理结构

10. 概念设计的结果是(   B   )。

A.一个与DBMS相关的概念模式       B.一个与DBMS无关的概念模式 

C.数据库系统的公用视图            D.数据库系统的数据字典

11. SQL语言中,删除一个表的命令是(  B  )。

A. DELETE       B. DROP        C. CLEAR      D. REMOVE

12. SQL的视图是从(   C  )中导出的。

A.基表       B. 视图        C. 基表或视图       D. 数据库

13. 关系数据库管理系统应能实现专门的关系运算包括 (B )

A.排序、索引和统计           B.选择、投影和连接

C.关联、更新和排序           D.选择、投影和更新

14. 下面列出的选项,哪项是关系数据库的基本特征? 1.不同的列应有不同的数据类型;2. 不同的列应有不同的列名;3. 与行的次序无关;4. 与列的次序无关。(  C  )

A. 仅1            B.仅2        C. 2、3、4           D. 全部

15. 在分组检索中,要去掉不满足条件的分组和不满足条件的记录,应当 (D )

A.使用WHERE子句                         B.使用HAVING子句

C.先使用HAVING子句,再使用WHERE子句    D.先使用WHERE子句,再使用HAVING子句

16. ( A )是数据库设计的核心人员,他们的水平决定了数据库系统的质量。

A系统分析和数据库设计人员    B.系统分析和程序设计员

C.用户和数据库管理员         D.系统分析和数据库管理员

17. 下面列出的条目中,哪些是数据库技术的主要特点?( A  )

Ⅰ.数据的结构化;Ⅱ.数据的冗余度小;Ⅲ.较高的数据独立性;Ⅳ.程序的标准化

A. Ⅰ、Ⅱ和Ⅲ         B. Ⅰ和Ⅱ         C.Ⅰ、Ⅱ和Ⅳ        D. 都是

18. SQL语言中,删除一个表的命令是(   B   )。

A. DELETE       B. DROP        C. CLEAR      D. REMOVE

19. 语句DELETE FROM Student表明(  A )

A. 删除Student中的全部记录       B. 删除基本表Student

C. 删除基本表Student中的列      D. 删除基本表Student中的部分行

20. SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且(  A   )。

A.包括20岁和30岁              B.不包括20岁和30岁

C.包括20岁但不包括30岁        D.包括30岁但不包括20岁

 

 

二、填空题(每空1分,共15分)

1. 数据库与文件系统的根本区别是_____数据的结构化______________。

2. SQL Server提供了动态的自我管理机制,能够自动增大或缩小数据库所占用的 ___硬盘空间___ 。

3. 集合R与S的并表示为__ R∪S={t|t∈R∨t∈S} __。

4. 数据模型有层次模型、_网状模型__、__关系模型__。当前主流数据库系统采用__关系模型__。

5. 在定义基表时,将年龄属性限制在12~40岁之间的这种约束属于DBMS的_用户自定义完整性_功能。

6.实体完整性是指关系中的    主键   不允许取空值。

7. SQL Server DBMS使用的数据模型是__关系模型___。

8. 在E-R图中,实体用___矩形__表示,属性用__椭圆__表示,实体之间的联系用__菱形__和__数字__表示。

9. SQL是一种非___过程化____、面向__集合___的数据库语言。

三、简答题( 每小题5分,共 10分)

1. 试叙述参照完整性规则, 并举例说明。

答:当表中存在外码时,在表中插入记录时外码对应的字段要么是被参照表中存在的主码要么为空。如Score表中存在sNo和cNo两个外码,在插入数据时,sNo对应的值必须是Student表中存在的值,即该学生是学校的学生学号。

 

 

 

2. 设有关系R(A,B,C)和S(D,E,F),设有关系代数表达式。πA,B(R)-πA,B(σA=D ∧ E="E8"(R×S))。试写出与上述关系代数对应的SQL语句表达。

答:对关系R做投影操作的关系中元组中减去S关系中E属性对应值为E8的元组。

  SQL语句为:SELECT A,B

FROM R WHERE A NOT IN (SELECT D

FROM S

WHERE E="E8")

 

 

 

四、综合题, (共20分)

已知某研究所有多个科室,每个科室有多名职员,每名职员只在一个科室,每名职员参加多项项目的研发,而每项项目的研发可由多名职员参加。根据分析,得到科研项目关系模式为(科室编号,科室名,职员号,职员名,出生日期,项目号,项目名称,项目开始日期,职员参加项目时间,职员退出项目时间)。要求完成:

(1)根据上述语义设计E-R模型,要求标注联系类型。

(2)把该E-R模型转换成关系数据模型,并指出每一个关系的主键和外键(如果存在)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

答:(1)ER图中实体有科室(科室编号,科室名),职员(工号,职员名,出生日期),项目(项目号,项目名称,开始日期)。科室与职员的关系为1:N,职员与项目关系为M:N,且其上有属性加入项目日期、推出项目日期。

(2)数据的逻辑结构为:科室(科室编号,科室名)主码为科室编号,职员(工号,职员名,出生日期,科室编号)主码工号,外码可是编号;项目(项目号,项目名称,开始日期)主码为项目号,参与(员工号,项目号),主码为员工号和项目号,外码有两个:员工号和项目号。

 

 

 

 

 

 

 

 

 

五、SQL操作题(每小题4分,第3、4、7小题4分,共35分)

设有三个关系模式如下:学生Student(sNo, sName, age, sex),各属性的含义为:学号,姓名,年龄,性别;选课成绩Score(sNo, cNo, score),各属性的含义为:学号,课程号,成绩(说明:学生选修了某门课程,则该关系中就会增加相应的一条选课记录);课程Course(cNo, cName, teacher, selectNum, isOpen),各属性的含义为:课程号,课程名,任课教师名,选修该课程的学生数,是否开课(只有在选修该课程的学生数超过20人时才开课)。基于以上关系模式用SQL语言实现:

 

1. 统计每门课程的课程号和选课的学生人数(只用Score表);

SELECT cNo,count(sNo)

FROM Score

GROUP BY cNo

 

2. 查询:检索教师‘张和’所授课程的课程号和课程名;

SELECT cNo,cName

FROM course

WHERE teacher=‘张和’

 

3. 用SQL语句的嵌套子查询实现下列查询:所有没有选修教师‘张和’课程的学生姓名;

SELECT sName

FROM Student

WHERE sNo NOT IN (SELECT sNo

 FROM Score

WHERE cNo IN (SELECT cNo

 FROM Course

WHERE teacher=‘张和’))

 

4. 检索出所有女生的姓名和所选的课程号;

SELECT sName, cNo

FROM Student a, Score b

WHERE a.sNo=b.sNo AND sex=‘女’

 

5 将‘数据库原理’的教师改为‘李画’;

UPDATE Course

SET teacher=‘李画’

WHERE cName=‘数据库原理’

 

 

6. 在课程表中插入记录(‘c06’,’信息系统分析设计’, ‘刘云’,0,’F’);

INSERT INTO Course VALUES(‘c06’, ’信息系统分析设计’, ‘刘云’,0,’F’)

 

7. 创建选修“刘云”老师开设选修课的学生姓名和课程名及成绩的视图vStudentInfo;

CREATE VIEW vStudentInfo

AS

SELECT sName, cName, score

FROM Student s, Course c, Score sc

WHERE s.sNo=sc.sNo AND c.cNo=sc.cNo AND teacher=’刘云’

 

  1. 为选课成绩表Score创建索引idx_cNo(根据cNo创建索引)和idx_sNo (根据sNo创建索引)

CREATE INDEX idx_cNo ON Score (cNo)

CREATE INDEX

posted @ 2016-05-02 23:46  伊甸一点  阅读(36570)  评论(1编辑  收藏  举报