数据库应用期末总结复习2

时间:2024.4.1

数据库应用期末总结复习

一、SQL代码

XS表(学生表)

XS表中的约束如下:主键:sno;姓名不为空;性别取值为‘F’或‘M’;

XS表的数据如下表:

KC表(课程表)

KC表中的约束如下:主键cno;课程名不为空

KC表的数据如下表:

XK表(选课表)

XK表中的约束如下:主键是sno+cno,外键sno,cno

XK表的数据如下表:

1.       查询计算机系姓李的同学的学号、姓名:select sno,sname from xs where dept=‘计算机’ and sname like ‘李%’

2.       查询有先修课程的课程号、学分:select cno, Credit  from kc where Precno is not null

3.       查询无考试成绩的同学的学号:select sno from xk where grade is null

4.       查询c0001这门课程的最高分、最低分、以及平均分:Select  最高分=max(grade),最低分=min(grade),平均分=avg(grade) from xk where cno='c0001'

5.       查询每门课程的最高分、最低分,查询结果按课程号升序排序:select cno,最高分=max(grade),最低分=min(grade)  from xk group by cno order by cno asc

6.       求所有课程的总学分 :select 总学分=sum(Credit)  from kc

7.       选修每门课程的学生人数: select 学生数=count (sno)  from xk group by cno

8.       求选修门数大于等于2门课的学生的学号、平均成绩和选课门数,并按平均成绩升序排列:select sno,avg(grade),count(*) from xk group by sno having count(*)>=2 order by avg(grade)

9.       查询c0002这门课程有多少人选修:select 选修学生数=count(sno) from xk where cno='c0002'

10.   查询平均成绩大于80分同学的学号和平均成绩:select sno,avg(grade) from xk where grade>(select avg(grade) from xk) group by sno

11.   查询学号为S001的同学的基本信息以及他/她选课的情况。

Select *

from xs,xk

where xs.Sno = xk.Sno and xs.Sno='s001'

12.   查询各科成绩都大于80分学生的学号、姓名、选修的课程名、成绩。

select xs.sno,sname,cname,grade

from xs,kc,xk

where xk.sno=xs.sno and xk.cno=kc.cno and grade>=80

13.   查询选修了C0002且姓陈的学生的学号、姓名、成绩。

select xs.sno,sname,grade

from xs,xk

where xk.sno=xs.sno and xk.cno='C0002'and sname like '陈%'

14.   求工商管理系选修课程平均成绩大于等于80分的学生的学号、姓名、选课门数、平均成绩, 并按平均成绩从高到低排序。

select xs.sno,sname,count(*)'选课门数',avg(grade)'平均成绩'

from xs,xk

where xs.sno=xk.sno and dept='工商管理'

group by xs.sno,sname

having avg(grade)>=80

order by avg(grade) desc

15.   查询与陈武心在同一个系学习的学生学号、姓名

select xs.sno,sname

from xs

where dept=(select dept from xs where Sname = '陈武心')

16.   查询选修了课程名为数据库的课程并且成绩大于60 分的学生学号、姓名。

select xs.sno,sname

from xs,kc,xk

where xs.sno=xk.sno and kc.cno=xk.cno and kc.cname='数据库' and grade>60

17.   查询课程编号为c0003且该门课程成绩在80分以上的学生的学号和姓名;

select xs.sno,sname

from xs,kc,xk

where xs.sno=xk.sno and kc.cno=xk.cno and kc.cno='c0003' and grade>80

二、基本概念

1.         关键字ASC 和DESC 分别表示        的含义。 (升序 降序)

2.         在SELECT 语句中,HAVING 子句必须跟在    子句后面。 (GROUP BY)

3.         SELECT 语句进行查询时,如果要列出所查表中的所有列的简便方法是列名表用    表示。 (*) 

4.         在SQL 中一个关系对应于一个    。 (基本表) 

5.         如果在查询结果中不允许出现重复元组,应在SELECT 语句中增加保留字    。 (DISTINCT)

6.         SQL 中表结构的修改命令是     。 (ALTER TABLE)

7.         索引的用途是     。 (快速查询)

8.         SQL 语言的使用方式有两种,一种是     ,另一种是    。 (交互式 嵌入式) 

9.         在数据库方式下的信息处理中,    占据了中心位置。 (数据)

10.     DBMS 是位于        之间的一层数据管理软件。 (用户 OS)

11.     定义数据库的安全性和完整性的工作由    完成。 (DBA)

12.     数据库系统的核心是______。(数据库管理系统DBMS)

13.  数据处理的核心是数据管理。数据管理大致经历了人工管理、文件系统和_________三个阶段。(数据库管理)

14.     数据库系统是指引进数据库技术后的计算机系统,主要包括_______、硬件系统、软件系统、用户等四部分。(数据库)

15.     在SQL中,用______命令可以从表中逻辑删除行。(Delete)

16.  在SQL的SELECT语句进行分组计算查询时,可以使用_______子句来去掉不满足条件的分组(HAVING)

17.  查询设计器的"排序依据"选项卡对应于SQL SELECT语句的______短语。(ORDER BY#order by)

18.  SQL SELECT语句的功能是______。(数据查询#查询)

19.     要在"成绩"表中插入一条记录,应该使用的SQL语句是:______ 成绩(学号,英语,数学,语文) VALUES ("2001100111",9l,78,86)。(INSERT INTO)

20.     下列是数据库管理系统得是(C)

A、Data       B、Database     C、DBMS     D、DBS

21.     下列是字段得是(A)

A、Relition    B、Field        C、Record     D、Data

22.     数据库系统得核心是(A)

A、数据库管理系统  B、数据库  C、数据    D、数据库应用系统

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

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

24.     数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(    A    )。

 A. DBS包括DB和DBMS               B. DBMS包括DB和DBS 

25.     DBMS的主要功能有:(     数据定义功能             )、数据组织存储和管理功能、(         数据操作功能           )、数据库的事务管理和运行功能、 数据库的建立和维护功能。

26.     已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,学生关系的主码是(      学号      ),学生关系的外码是(      系编号      )。

27.     关系的实体完整性规则定义了(      主键字段      )不能取空值。

28.     关系的参照完整性规则定义了(  主键  )和 (  外键  ) 之间的引用规则。

29.     SQL SERVER是以下哪个公司的产品( C )。

A、甲骨文    B、联想    C、微软    D、IBM

30.     在实体R的诸属性中,属性A不是R的主键,却是另一个实体S的主键,则称A为R的( B  )

A、候选键     B、外键     C、非主属性     D、主属性

31.     查询表中的前3条记录使用的关键字是(  D  )

A、up 3      B、down 3       C、pre 3       D、top 3

32.     假定学生关系是S(SNO,SNAME,SEX,SAGE),课程关系是C(CNO,CNAME,CREDIT),学生选课关系是SC(SNO,CNO,CREDIT),要查找选修“数据库”课程的女学生的姓名,将涉及到关系(   D  )

A、 S                B、C,SC             C、 S,SC           D、 S,C,SC


第二篇:数据库系统与应用期末复习题


第一二、三章练习

一、单项选择题 1、DBA是指( B )

A、高级程序员 B、数据库管理员 C、数据库系统 D、数据库管理系统

2、在文件系统中,所具有的数据独立性是

A.系统独立性 C.逻辑独立性

[D ]

B.物理独立性 D.设备独立性

[ B]

3、数据库在磁盘上的基本组织形式是 4.在数据库中存储的是(C )。

A.DB B.文件 C.二维表 D.系统目录

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

5.对现实世界进行第二层抽象的模型是

A.概念数据模型 C.结构数据模型 A.σ

(R?S) B.σ

[C ]

B.用户数据模型 D.物理数据模型 (R?S) D.σ

(R×S)

6.设有关系R(A,B,C)和关系S(B,C,D),那么与R?S等价的关系代数表达式[ B]

1=5

1=5

(R×S) C.σ

1=21=2

7.关系数据库管理系统都是基于(A )理论。

A. Codd的数据关系模型 B. 数据结构 C. 计算机操纵系统 D. 信息管理

8.如果有9个不同的实体集,它们之间存在着12个不同的二元联系(二元联系

是指两个实体集之间的联系),其中4个1:1联系,4个1:N联系,4个M:N联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为

[B ]

[A ]

A.9个 B.13个 C.17个 D.21个 A.数据 B.程序 C.软件 D.磁盘 A. R为关系名,S为属性名 C. R为属性名,S为关系名

B. R和S均为属性名

9.在数据库方式下的信息处理中,占据中心位置的是 10.关系笛卡尔积运算记号R×S,(D )

D. R和S均为关系名

11.单个用户使用的数据视图的描述称为 ( A ) A.外模式 B.概念模式 C.内模式 D.存储模式 12.在有关“弱实体”的叙述中,不正确的是

A.弱实体的存在以父实体的存在为前提

[C ]

B.弱实体依赖于父实体的存在

C.父实体与弱实体的联系可以是1:1、1:N或M:N

D.父实体与弱实体的联系只能是1:1或1:N

13. 子模式DDL用来描述 ( B )

A. 数据库的总体逻辑结构 B. 数据库的局部逻辑结构

C. 数据库的物理存储结构 D. 数据库的概念结构

14. 在DBS中,DBMS和OS之间的关系是 (B )

A. 相互调用 B. DBMS调用OS C. OS调用DBMS D. 并发运行

15. 五种基本关系代数运算是( A )

A. ∪,-,×,π和σ B. ∪,-,∞,π和σ

C. ∪,∩,×,π和σ D. ∪,∩,∞,π和σ

16. SQL Server是一种 ( C ) 数据库管理系统。

A)层次型 B)网络型 C)关系型 D)链状型

17、数据库系统中,逻辑数据独立性是指 (B )。

A)数据之间相互独立

B)应用程序与数据库的结构之间相互独立

C)数据的逻辑结构与物理结构相互独立

D)数据与磁盘之间相互独立

18. 下列四项中,不属于数据库特点的是( C)。

A、数据共享 B、数据完整性 C、数据冗余很高 D、数据独立性高

19. 当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是 (D )

A.左外联接 B.右外联接 C.外部并 D.外联接

20. 下面系统中不属于关系数据库管理系统的是( C )

A Oracle B MS SQL Server C IMS D DB2

21、有一个网络数据库应用系统,其中一台计算机A存有DBMS软件、所有用户数据和应用程序,其余各节点作为终端通过通信线路向A发出数据库应用请求,这种方式属于( A )

A 集中式数据库体系结构 B 主从式数据库体系结构

C 客户机/服务器数据库体系结构 D 分布式数据库体系结构

22、有一个关系:学生(学号,姓名,系别),要求学号的取值唯一且不能为空,

这一约束可用(C ) 实现。

A 实体完整性约束 B 参照完整性约束

C 用户自定义完整性约束 D 关键字完整性约束

23、数据管理技术发展的3个阶段中,( A )阶段没有专门的软件对数据进行

管理。

Ⅰ、人工管理阶段 Ⅱ、文件管理阶段 Ⅲ、数据库阶段

A、只有Ⅰ B、只有Ⅱ C、Ⅰ和Ⅱ D、Ⅱ和Ⅲ

24、数据库中可以创建和删除表、视图、索引等,可以修改表等,这是因为数据库管理系统提供了( A )

A、数据定义功能 B、数据操纵功能 C、数据维护功能 D、数据控制功能

25、数据库管理系统的功能不包括( C )

A、定义数据库 B、对已定义的数据库进行管理

C、为定义的数据库提供操作系统 D、数据通信

26、在数据库的三级模式结构中,模式有(A )

A、1个 B、2个 C、3个 D、任意个

27、在关系数据库中,视图是三级模式结构中的(D )

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

28、在关系数据库中,表是三级模式结构中的(C )

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

29、在关系数据库中,索引是三级模式结构中的( B )

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

30、下面所列各项,哪些属于数据技术的研究领域(A )

Ⅰ、数据库管理系统软件的研究 Ⅱ、数据库设计

Ⅲ、数据库管理院 Ⅳ、操作系统

A、Ⅰ和Ⅱ B、Ⅰ和Ⅲ C、Ⅰ、Ⅱ和Ⅲ D、全部

31、在关系数据库系统中,当合并两个关系时,用户程序可以不变。这是(C )

A、数据的物理独立性 B、数据的位置独立性

C、数据库的逻辑独立性 D、数据库的存储独立性

32、在下面的数据模型中,( D )是概念数据模型

A、关系模型 B、层次模型 C、网状模型 D、实体-联系模型

33、对于关系数据库中的表,下面的说法哪个是不正确的( D )

A、每一列的分量是同一种数据类型,来自同一个域

B、不同列的数据可以来自相同的域

C、列的次序可以任意交换

D、行的次序不可任意交换

34、在关系中,定义外键是实现哪一类完整性(B )

A、实体完整性 B、参照完整性

C、用户定义完整性 D、参照完整性和用户定义完整性

35、在关系代数中,从两个关系的笛卡尔积中,选取它们属性间满足一定条件的

元组的操作称为( D )。

A、投影 B、选择 C、自然连接 D、θ连接

36、数据库管理系统中,DDL是指(B )。

A、数据库操作语言 B、数据库定义语言 C、交互式语言 D、嵌入式语言

37、(B )是存储在计算机内有结构的数据的集合。

A、数据库系统 B、数据库 C、数据库管理系统 D、数据结构

38、在数据库中存储的是(C )。

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

39、反映信息世界中实体及实体间联系的模型是( D )。

A、关系模型 B、层次模型 C、网状模型 D、E—R模型

40、在数据库系统阶段,数据( D )。

A、具有物理独立性,没有逻辑独立性

B、具有逻辑独立性,没有物理独立性

C、物理独立性和逻辑独立性均没有

D、具有高度的物理独立性和逻辑独立性

41、在数据库的三级模式结构中,描述数据库全局逻辑结构和特性的是(D )。

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

42、关系数据库中的视图属于4个数据抽象级别中的(A )

A 、外模式 B、概念模式 C 、存储模式器 D、 物理模式

43、数据库的概念模型独立于(A )

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

44、在数据库的三级模式间引入二级映象的主要作用是(A )

A、提高数据与程序的独立性 B、提高数据与程序的安全性

C、保持数据与程序的一致性 D、提高数据与程序的可移植性

45、关系运算以关系代数为理论基础,关系代数的最基本操作是并、差、笛卡尔积(B )。

A、投影、连接 B、连接、选择 C、选择、投影 D、交、选择

46、关系模式的任何属性(A )。

A、不可再分 B、可再分 C、命名在该关系模式中可以不推一 D、以上都不是

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

A、元组 B、行 C、记录 D、属性

48、一个学生社团可以接纳多名学生参加,但每个学生只能参加一个学生社团,从学生社团到学生的联系类型是(D )。

A、多对多 B、一对一 C、多对一 D、一对多

49、在关系数据库中,表(table)是三级模式结构中的(B )

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

50、( B )属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次

A、数据模型 B、概念模型 C、对象模型 D、关系模型

51、集合R与S的连接可以用关系代数的5种基本运算表示为(A )

A、R-(R-S) B、σF(R×S) C、R-(S-R) D、S-(R-S)

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

A、元组 B、行 C、记录 D、属性

53、以下(D )不是C/S结构中的服务器。

A、file文件服务器 B、数据库服务器 C、Web服务器 D、浏览器

54、设一个仓库存放多种商品,同一种商品只能放在一个仓库中,仓库与商品之间是(C )

A、一对一的联系 B、多对一的联系 C、一对多的联系 D、多对多的联系

55、在数据库的三级模式结构中,内模式有(A )

A、1个 B、2个 C、三个 D、任意多个

56、对用户存取权限的核查是数据管理系统中(D )模块的功能。

A、数据库定义 B、数据库管理

C、数据库操纵 D、系统运行控制

57、层次数据模型中,一个子结点至多有( A)个父结点。

A、1 B、2 C、3 D、4

58、有关系R和S,R∩S的运算等价于( B )

A、S-(R-S) B、R-(R-S) C、(R-S)∪ D、R∪R-S)

59、下面哪部分不属于C/S中数据库系统的前端部分?(C )

A、格式处理 B、报表打印 C、分布式结构 D、图形界面

60、C/S结构属于(D )

A、集中式结构 B、分散式结构 C、分布式结构 D、以上都不对

61、用户可以对数据库中的数据进行查询、插入、删除和修改,这是因为数据库管理系统提供了(C )功能。

A、数据库定义 B、系统运行控制 C、数据库操纵 D、数据库维护

62、下面关于对象标识的说法不正确的是(C )

A、用于区分不同的对象 B、由系统自动给定

C、与对象的具体属性值相关 D、在整个数据库内惟一

63、在下列关于关系的陈述中,错误的是(B )

A、 表中任意两行的值不能相同 B、 表中任意两列的值不能相同

C、 行在表中的顺序无关紧要 D、 列在表中的顺序无关紧要

64、在数据库中存储的是(C )。

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

65、(B )属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次

A、数据模型 B、概念模型 C、对象模型 D、关系模型

66、集合R与S的连接可以用关系代数的5种基本运算表示为(A )

A、R-(R-S) B、σF(R×S) C、R-(S-R) D、S-(R-S)

67、下列四项中说法不正确的是( C )

A.数据库减少了数据冗余 B.数据库中的数据可以共享

C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性

68、在下列关于关系的陈述中,错误的是(B )

A 表中任意两行的值不能相同 B 表中任意两列的值不能相同

C 行在表中的顺序无关紧要 D 列在表中的顺序无关紧要

69、关系数据库中,实现实体之间的联系是通过表与表之间的( D )

A 公共索引 B 公共存储 C 公共元组 D 公共属性

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

A、元组 B、行 C、记录 D、属性

71、关系数据库管理系统应能实现的专门关系运算包括(B )。

A、排序、索引、统计 B、选择、投影、连接

C、关联、更新、排序 D、显示、打印、制表

72、关系数据模型的三个组成部分中,不包括(D )。

A、完整性规则 B、数据结构 C、数据操作 D、并发控制

73、SQL语言具有两种使用方式,分别称为交互式SQL和(C )。

A、提示式SQL B、多用户SQL C、嵌入式SQL D、解释式SQL

74、等值连接运算与自然连接运算是( D )

A、相同的 B、不相同的 C、等价的 D、有时相同

75、要保证数据库逻辑数据独立性,需要修改的是( C )。

A、模式 B、模式与内模式的映象 C、模式与外模式的映象 D、内模式

76、实体联系模型中的联系可以同( B )实体有关。

A、0个 B、一个或多个 C、1个 D、多个

77、关系数据库三级模式的划分,有利于保持数据库的( D )

A、结构规范化 B、数据安全性 C、操作可行性 D、数据独立性

78、有12个实体类型,并且它们之间存在着15个不同的二元联系,其中4个是

1:1联系类型,5个是1:N联系类型,6个M:N联系类型,那么根据转换规

则,这个ER结构转换成的关系模式有

79、数据库系统一般由哪些成分构成(D ) [B ] A.17个 B.18个 C.23个 D.27个

Ⅰ、数据库 Ⅱ、数据库用户 Ⅲ、数据库管理系统及其工具

Ⅳ、操作系统 Ⅴ、应用系统

A、Ⅰ、Ⅱ和Ⅲ B、Ⅰ、Ⅱ、Ⅲ和 Ⅳ C、Ⅰ、Ⅱ、Ⅲ和Ⅴ D、全部

80、设关系R、S及W各有20个元组,那么这三个关系的自然连接的元组个数为( )。

A、20 B、60 C 8000 D、不确定(与计算结果有关)

81、手工处理阶段是(A) 。

A.计算机数据处理技术发展的初级阶段

B. 计算机数据管理技术发展的初级阶段

C.计算机数据处理技术发展的中级阶段

D. 计算机数据管理技术发展的中级阶段

82、手工管理是指 (B)。

A.数据相对孤立没有管理 B. 数据通过所使用程序管理

C.数据通过文件系统管理 D. 数据通过数据库系统管理

83、下列哪种数据管理技术难以保存数据 (A)。

A.手工管理 B. 独享式文件管理

C. 共享式文件管理 D. 数据库系统管理

84、 下列哪种数据管理技术真正消除了程序与数据间的相互依赖关系

A.自由管理 B. 文件管理 C. 数据库系统管理 D. 以上说法都不对

85、数据库中,属性是指( C) 。

A.客观存在的事物 B. 事物的具体描述

C. 事物的某一特征 D. 某一具体事件

86、下列哪种数据管理技术真正消除了冗余 (D)。

A.手工管理 B. 文件管理 C. 数据库系统管理 D. 以上说法都不对

87、数据库中,实体的一元联系是指( D) 。

A.1: 1、1: m、m: n联系 B. 一个实体与另一个实体的联系

C.两实体间联系 D. 实体集内部的联系

88、文件系统与数据库系统对数据处理方式的主要区别体现在(A) 。

A.数据集成化 B. 数据共享 C. 冗余度 D. 容量

89、数据库系统包括 (D)。

A、DB、DBMS B、 DB、DBMS、DBA、计算机硬件

C、DB、DBA D、DB、DBMS、DBA、OS、计算机硬件 C)。 (

90、在数据库结构中,保证数据库独立性的关键因素是( D) 。

A.数据库的逻辑结构 B. 数据库的逻辑结构、物理结构

C.数据库的三级结构 D. 数据库的三级结构和两级映射。

91、数据库管理系统的职能是 ( C)。

A、维护数据库,实现管理系统各程序间的共享

B、维护数据库,尽量减少用户程序文件的冗余度

C、维护数据库,接受和完成用户程序或命令请求

D、是程序、数据、用户的有机统一体

91、( B )属于第一代数据模型。

A.关系模型 B. 网络模型 C. 面向对象模型 D. 人工智能模型

92、( A )属于第二代数据模型。

A.关系模型 B. 网络模型 C. 面向对象模型 D. 人工智能模型。

93、( C)属于第三代数据模型。

A.关系模型 B. 网络模型 C. 面向对象模型 D. 人工智能模型。

二、填空题

1.关系模型和层次、网状模型最大差别是用_关键码 而不是用__指针_导航数据。

2.MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Server的图形化工具称为SQL服务管理器(或SQL Service Manager)。

3.DBS具有较高的数据独立性,其原因是_三级结构之间存在着两级映象 。

4. 实体间的联系分为:1:1 、 1:N 和 M:N 三种类型。

5. 构成数据模型的三大要素是__数据结构 、数据操作和数据完整性约束。

6. 每个SQL Server实例有四个系统数据库,它们是:Master 数据库、tempdb数据库、model数据库和msdb数据库。

7、数据库处理技术经历了人工管理、文件系统 、__数据库系统 以及分布式数据库管理等四个发展阶段。

8、任一种数据模型都有__型 __和__值___的区别。

9、专门的关系运算包括_选择___、__ 投影__、连接和除四种。

10、数据库分为三层模式: 外(子)模式 、 概念模式(模式)和内(物理)模式

11、 数据 是反映客观世界的事实,并可以区分其特征的符号。信息 是经加工提炼而成的、用于决定行为、计划或具有一定语义的数据。

12、 根据数据模型的用途和面向的对象不同,把广泛使用的数据模型主要划分为语义数据模型和结构化数据模型,其中语义数据模型 着重表示数据的语义,而不注重数据的组织结构。

13、用树形结构来表示实体及实体之间联系的数据模型称为层次数据模型;用网

络结构来表示实体之间联系的数据模型称为 网络数据模型 。

14、关系数据库表中可以惟一确定一个元组的某个属性(组),称该属性组为侯选码

15、 关系数据库中的完整性约束分为实体完整性、引用完整性、用户自定义的

完整性 和域完整型四类

三、简答题

1、简述E-R模型图的描述方法。

简述E-R模型图的描述方法。

答:(1) 矩形框表示实体集,双线矩形框表示弱实体集。

(2) 菱形表示联系集。

(3) 椭圆框表示属性。

(4) 用直线将属性连接到实体集,用带有短线的直线表示实体集的主码属性。

(5)用连线表示实体集之间的联系。每条连线上附加一对数表示联系类型。

2、简述实体之间的联系类型。

实体之间的联系有一对一、一对多和多对多三种类型。

(1)一对一联系(1:1):如果对于实体集A中的每个实体,实体集B中至多有一个(可以没有)与之相对应,反之亦然,则称实体集A与B具有一对一联系,记作:1:1。

(2)一对多联系(1:n):如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之相对应,反过来,实体集B中的每个实体,实体集A中至多只有一个实体与之联系, 则称实体集A与实体集B具有一对多联系。记作:1:n。

(3)多对多联系(m:n):如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之相对应,反过来,实体集B中的每个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记作:m:n。

3、请简述关系数据模型中关系的性质

答:关系的性质:

(1)每一列中的分量是同一类型的数据,来自同一个域。

(2)不同的列可以具有相同的域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

(3)列的次序可以任意交换。

(4)任意两个元组不能完全相同。

(5)行的次序可以任意交换。

(6)分量必须取原子值,即每一个分量都必须是不可分的数据项。

4、一个数据库管理系统应该具备哪些功能?

答:一个数据库管理系统应该具备以下功能:

(1) 数据库定义功能:可以定义数据库的结构和数据库的存储结构,可以定义

数据库中数据之间的联系,可以定义数据的完整性约束条件和完整性的触发机制等。

(2) 数据库操纵功能:可以完成插入、删除和修改等对数据的操纵,可以完成

数据库的备份和恢复等操作

(3) 数据库控制功能:可以完成对数据库的安全性、完整性、并发控制等方面

的控制。

(4) 数据库查询功能:可以以各种方式提供灵活的查询功能。

数据库通信功能:在分布式数据库中提供的数据之间的通信。

5、请简述关系的四种完整性约束。

答:关系模型中四种完整性约束是:实体完整性、域性完整、参照完整性和用户定义完整性。

(1)实体完整性规则:若属性A是关系R的主属性,则属性A不能取空值(Null)。

(2)参照完整性规则:如果属性(或属性组)F是关系R外部分关键字,它与关系S的主关键字K相对应,则对于R中的每个元组在属性(或属性组)F的值必须:或者是空值,或者等于S中某个元组的主关键字的值。

(3)用户定义完整性规则:用户按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件,它反映的是某一具体应用所涉及的数据必须要满足的条件。

(4)域性完整:指列的值域的完整性。如数据类型、格式、值域范围、是否允许空值等

6、请简述在进行插入、删除、更新操作时需要进行哪些完整性检查。

(1)答:执行插入操作时:首先检查实体完整性规则,接着再检查参照完整性规则,最后检查用户定义完整性规则

(2)执行删除操作时:如果删除的是参照关系的元组,则不需要进行完整性检查,可以执行删除操作。如果删除的是被参照关系的元组,则检查被删除元组的主关键字属性的值是否被参照关系中某个元组的外部关键字引用,如果未被引用则可以执行删除操作;否则可能有拒绝删除、可以删除和级联删除三种方式处理。

(3)执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。

四、判断题

1、关系中不同的属性可以出自相同的一个域,也可以具有相同的属性名。(× )

2、关系操作的特点是集合操作(√)

3、关系代数中五种基本运算是并、差、选择、投影、连接(×)

4、数据库的逻辑结构分为外模式、概念模式和存储模式三级。其中概念模式是用户看到的和使用的数据的描述,是用户与数据库的接口(× )

5、外模式是数据库中全部数据的整体逻辑结构的描述。(×)

6、选择运算是对关系的垂直分解。(× )

7、 弱实体的存在以父实体的存在为前提(√)

8、关系数据模型的三个组成部分是数据结构、数据操作和并发控制(×)

9、信息是经加工提炼而成的、用于决定行为、计划或具有一定语义的数据(√)

10、数据库中除了存放数据本身外,还要存放数据之间的联系。(√)

11、在手工管理阶段,一组数据只能面向一个应用程序,不能实现多个程序的共享数据。(√)

12、IBM在19xx年研制出的 IMS系统是关系数据库系统的代表产品(× )

13、查询分析器只能在客户端运行(× )

14、概念模式既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、开发工具无关。(√)

15、存储模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。(√)

16、层次数据模型中,结点之间的联系必须是一对多的联系。(√)

17、关系数据模型中,实体类型之间的M:N联系也可以用属性来表示。(× )

18、关系数据模型不可以直接处理多对多的关系。(× )

19、E.F.codd19xx年开始发表的一系论文,真正系统、严格地提出了数据库的关系模型。(√)

20、关系的操作以集合的方式进行,操作的对象是元组的集合,操作的结果也是元组的集合。(√)

21、对参照关系执行删除操作时,不需要进行完整性检查(√)。

五、解答题

1、假定一个部门的数据库包括以下信息:

职工:职工号、姓名、住址、所在部门 ; 部门:所有职工、经理和销售的产品;

产品:产品名、制造商、价格、型号、内部编号;

制造商:制造商名称、地址、生产的产品名和价格;

其中:一个职工只能在一个部门工作,一个部门有多个职工; 一个部分可以销售多种产品,一种产品可以在多个部分销售;一个产品可以由多个制造商生产,一个制造商可以生产多种产品。

(1)

(2)

数据库系统与应用期末复习题

请画出该数据库的E—R图 将该E——R图转换为关系模型结构 (1)E—R图为:

数据库系统与应用期末复习题

2、在商店管理系统中,商店有商店编号、商店名、地址、电话等属性,顾客有顾客编号、姓名、地址、年龄、性别等属性,商品有商品编号、商品名、生产厂家等属性。管理方式是:一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。一个商店销售多种商品,一种商品可以多个商店销售,每个商店对每种商品有一个销售价格。

? (1)画出E-R图,并注明属性和联系类型。

? (2)将该E-R图转换

成关系模型。

? 关系模型(用“”表示主码,用“”表示外码。):

?

? 顾客(顾客编号、姓名、地址、年龄、性别)

? 商品(商品编号、商品名、生产厂家)

? 销售(商店编号,商品编号,价格)

3、设某汽车运输公司有三个实体集。一是“车队”实体集,属性有车队号和车队名等;二是‘车辆”实体集,属性有牌照号、厂家和出厂日期等;三是“司机”实体集,属性有司机编号、姓名和电话等。

设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每个车辆只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两属性,每个司机可使用多辆汽车,每辆汽车被多个司机使用。

(1)画出E-R图,并注明属性和联系类型。

(2)将该E-R图转换成关系模型。

答:1)E-R图:

(2)关系模型

为:

说明:下

划线表示候选

关键字,虚线

表示外部关键

车队(车队编号,车队名称)(1分) 司机(司机编号,姓名,电话,车队编号,聘期)(1分)

使用(司机编号,车辆编号,使用日期,公里数)(1分) 车辆(车辆编号,牌照号,厂家,生产日期,车队编号)(1分)

4

数据库系统与应用期末复习题

、设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、

仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。

设仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每

种商品存储在若干仓库中,每个仓库每存储一种商品有个日期及存储量;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。

(1)试画出ER图,并在图上注明属性、联系类型、实体标识符;

(2)将ER图转换成关系模型,并说明主键和外键。

解:(1)

(1)ER

数据库系统与应用期末复习题

仓库(仓库号,仓库名,地址)

商品(商品号,商品名,单价)

商店(商店号,商店名,地址)

库存(仓库号,商品号,日期,库存量)

销售(商店号,商品号,月份,月销售量)

(2)据转换规则,图2的ER图可转换成6个关系模式:

第四章 练习题

一、选择题

1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句

SELECT A,B FROM R WHERE B NOT IN(SELECT B FROM S WHERE C='C56'); (σ

A,B等价的关系代数表达式是 [ C] A.πA,BC≠'C56'(R?S)) B.π

B] A,B(R ? S) A,BC.R-π

(σC= 'C56'(R?S)) D.R-π(σC≠'C56'C≠'C56' (R?S)) 2、嵌入式SQL的预处理方式,是指[ A.识别出SQL语句,加上前缀标识和结束标志

B.把嵌入的SQL语句处理成函数调用形式

C.对源程序进行格式化处理

D.把嵌入的SQL语句编译成目标程序

3、SQL中,“DELETE FROM 表名”表示 [ A]

A.从基本表中删除所有元组 B.从基本表中删除所有属性 D.从基本表中删除重复元组 B.计算属性的个数 C.从数据库中撤消这个基本表 A.计算元组个数 4、SQL中,聚合函数COUNT(列名)用于 [ C]

C.对一列中的非空值计算个数

上为 [ B]

A.数组 B.列表 C.包 D.集合

A. 数据依赖 B. 视图 C. 索引 D. 数据压缩

7、语句 delete from sc 表明( A )

A. 删除sc中的全部记录 B. 删除基本表sc

C. 删除基本表sc中的列数据 D. 删除基本表sc中的部分行

8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过哪种技术实现( B )

A. 指针 B. 游标 C. 数组 D. 栈

9、在下列基本表的定义中,数值5表示( C )

CREATE TABLE student (Sno char(5) not null unique,Sname char(2));

A. 表中有5条记录 B. 表中有5列

C. 表中字符串Sno 的长度 D. 表格的大小

10、 在视图上不能完成的操作是( C ) 6、在数据库中,能提高查询速度的是(C ) D.对一列中的非空值和空值计算个数 5、在传统SQL技术中,使用“ORDER BY”子句的SELECT语句查询的结果,实际

A. 更新视图 B. 查询 C. 在视图上定义新的基本表 D. 在视图上定义新视图

11、下列聚合函数中不忽略空值 (null) 的是 (C)

A、SUM (列名) B、MAX (列名) C、COUNT ( * ) D、AVG (列名)

12、SQL中,下列涉及空值的操作,不正确的是 ( C )

A、AGE IS NULL B、AGE IS NOT NULL

C、AGE = NULL D、NOT (AGE IS NULL)

13、Transact-SQL对标准SQL的扩展主要表现为( A )。

A. 加入了程序控制结构和变量 B. 加入了建库和建表语句

C. 提供了分组(Group By)查询功能 D. 提供了Min、Max待统计函数

14、以下哪种情况应尽量创建索引( A )。

A. 在Where子句中出现频率较高的列 B. 具有很多NULL值的列

C. 记录较少的基本表 D. 需要更新频繁的基本表

15、下列SQL Server语句中出现语法错误的是( D )。

A. DECLARE @Myvar INT B. SELECT * FROM [AAA]

C. CREATE DATABASE AAA D. DELETE * FROM AAA

16、属于事务控制的语句是( A )。

A. Begin Tran、Commit、RollBack B. Begin、Continue、End

C. Create Tran、Commit、RollBack D. Begin Tran、Continue、End

17、在SQL语言的SELECT语句中,实现投影操作的是哪个子句?(A )

A)select

A)网状模型 B)from C)where D)grou by 18、 用二维表结构表示实体以及实体间联系的数据模型称为(C ) B)层次模型 C)关系模型 D)面向对象模型

第(19)至(21)题是基于如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号

EMP

DEPT

数据库系统与应用期末复习题

数据库系统与应用期末复习题

19、 若执行下面列出的操作,哪个操作不能成功执行?(D )

A) 从EMP中删除行(‘010’,‘王宏达’,‘01’,1200)

B) 在EMP中插入行(‘102’,‘赵敏’,‘01’,1500)

C) 将EMP中雇员号=‘056’的工资改为1600元

D) 将EMP中雇员号=‘101’的部门号改为‘05’

20、若执行下面列出的操作,哪个操作不能成功执行?(C )

A) 从DEPT 中删除部门号=‘03’的行

B)在DEPT中插入行(‘06’,‘计划部’,‘6号楼’)

C) 将DEPT中部门号=‘02’的部门号改为‘10’

D) 将DEPT中部门号=‘01’的地址改为‘5号楼’

21、在雇员信息表关系EMP中,哪个属性是外键(foreign key)?(C )

A) 雇员号 B) 雇员名 C) 部门号 D) 工资

22、设关系R和关系S的元数分别是3和4,关系T是R与S的广义笛卡尔积,

即:T=R×S,则关系T的元数是(A )

A) 7 B) 9 C) 12 D) 1

23、设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是(A )

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

C) 用户定义完整性规则 D) 域完整性规则

24、 下面列出的关于“视图(View)”的条目中,哪一条是不正确的?( B)

A) 视图是外模式 B)使用视图可以加快查询语句的执行速度

C) 视图是虚表 D) 使用视图可以简化查询语句的编写

25、 SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句

INSERT、DELETE、UPDATE实现哪类功能?(B )

A) 数据查询 B) 数据操纵

C) 数据定义 D) 数据控制 26、在数据库管理系统中,下面哪个模块不是数据库存取的功能模块?( A) A) 事务管理程序模块 C) 交互式程序查询模块 B) 数据更新程序模块 D) 查询处理程序模块

27、SQL查询语句中,用于测试子查询是否为空的谓词是(A)。

A、EXISTS B、UNIQUE C、SOME D、ALL

28、下列SQL语句中,插入数据的是(D )。

A、CREATE B、ALTER C、UPDATE D、INSERT

29、 在下面所列出的条目中,哪些是数据库管理系统的基本功能?(D ) Ⅰ.数据库定义

Ⅲ.数据库存取

A) Ⅰ和Ⅱ Ⅱ.数据库的建立和维护 Ⅳ.数据库和网络中其他软件系统的通信 D) 都是 B) Ⅰ、Ⅱ和Ⅲ C) Ⅱ和Ⅲ

30、当修改基本数据时,下列关系视图的说法正确的是(B )

A、需要重建 B、查以看到修改结果

C、无法看到修改结果式 D、不许修改带视图的基表

31、 在数据库管理系统的层次结构中,由高级到低级的层次排列顺序为(D )

A) 应用层、数据存取层、数据存储层、语言翻译处理层

B) 应用层、数据存储层、数据存取层、语言翻译处理层

C) 应用层、数据存储层、语言翻译处理层、数据存取层

D) 应用层、语言翻译处理层、数据存取层、数据存储层

32、当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的

操作是【D 】

A. 左外联接 B. 右外联接 C. 外部并 D. 外联接

33、SQL中,“AGE IN(20,22)”的语义是( D )。

A)AGE<=22 AND AGE >=20 B)AGE <22 AND AGE >20

C)AGE =20 AND AGE =22 D)AGE =20 OR AGE =22

34 SQL中,聚合函数COUNT(列名)用于( C )

A.计算元组个数 B.计算属性的个数

C.对一列中的非空值计算个数 D.对一列中的非空值和空值计算个数

35、Transact-SQL对标准SQL的扩展主要表现为(A )。

A. 加入了程序控制结构和变量 B. 加入了建库和建表语句

C. 提供了分组(Group By)查询功能 D. 提供了Min、Max统计函数

36、已知关系:厂商(厂商号,厂名) PK=厂商号

产品(产品号,颜色,厂商号) PK=产品号,FK=厂商号

假设两个关系中已经存在如图所示元组:

厂商 产品

数据库系统与应用期末复习题

数据库系统与应用期末复习题

若再往产品关系中插入如下元组:

I(P03,红,C02) II(P01,蓝,C01)

III(P04,白,C04) IV(P05,黑,null)

能够插入的元组是( D )

A I,II,IV B I,III C I,II D I,IV

37、设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME LIKE ( B )

A ‘_ _ W _ %’ B ‘_ % W _ _’ C ‘_ W _ _’ D ‘_ W _ %’

38、下列SQL语句中,修改表结构的是(D )。

A、CREATE B、INSERT C、UPDATE D、ALTER

39、SQL语句通常称为( A)。

A、结构化查询语言 B、结构化控制语言

C、结构化定义语言 D、结构化操纵语言

40、SQL语言的一体化特点主要是与( B)相比较而言的。

A、操作系统命令 B、非关系模型的数据语言 C、高级语言 D、自然语言

41、SQL语言中,删除一个表的命令是( B )

A、 DELETE table B、DROP table C、 CLEAR table D、 REMORE table

42、在基表S中查询所有姓名中有“国”的学生,在WHERE子句中应使用( A)通配符。

A. LIKE ’%国%’ B. LIKE ‘%国_’ C. LIKE ’_国%’ D. LIKE ‘_国_’

43、下列哪个不属于数据库对象(B )

A、默认 B、SELECT语句 C、存储过程 D、视图

44、下列那一个不属于SQL SERVER工具(A )

A数据库管理器 B、事件探查器 C、导入和导出数据 D、查询分析器

45、 下列那一个不属于企业管理器的功能(D )

A、注册服务器 B、配置本地和远程服务器

C、引入和导出数据 D、为WINDOWS创建操作系统用户

46、关于SQL Server文件组的叙述正确的是:( A )。

A、一个数据库文件不能存在于两个或两个以上的文件组里

B、日志文件可以属于某个文件组

C、文件组可以包含不同数据库的数据文件

D、一个文件组只能放在同一个存储设备中

47、下面关于外码的描述中,不正确的是(C )。

A. 外码体现了关系间的联系手段 B. 外码是某个关系的码

C. 外码不是任何关系的码

D. 外码是一个关系的码同时是另一个关系的属性

48、在SQL Server 中关于索引叙述正确的是:( B )。

A、每个数据库表可以建立多个聚集索引 B、每个表可以定义多个非聚集索引

C、索引的数据保存在同一个表中 D、索引不会改变表中的数据

49、关于索引描述错误的是以下的哪一个?( A)

A、表中的任何数据列都可以添加索引

B、创建索引的列最好不要含有许多重复的值

C、一般不给很少使用的列添加索引

D、并不是数据库中聚集索引越多搜索效率就越高

50、关于存储过程的描述正确的一项是:( C )。

A、存储过程的存在独立于表,它存放在客户端,供客户使用

B、存储过程只是一些T-SQL语句的集合,不能看作SQL Server的对象

C、存储过程可以使用控制流语句和变量,大大增强了SQL的功能

D、存储过程在调用时会自动编译,因此使用方便

51、关于触发器叙述正确的是:( A )。

A、触发器是自动执行的,可以在一定条件下触发

B、触发器不可以同步数据库的相关表进行级联更改

C、SQL Server 不支持DDL触发器

D、触发器不属于存储过程

52、在基表S中删除电话号码(PHONE)属性使用( B) 命令。

A. ALTER S DROP PHONE B. ALTER TABLE S DROP PHONE

C. UPDATE TABLE S PHONE D. DROP TABLE S PHONE

54、描述事物性质的最小数据单位是( C )。

A. 记录 B. 文件 C. 数据项 D. 数据库

55.在SQL数据库中,视图(view)是从一个或几个基表(或视图)导出的表,它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍然存放在对应的基表中。因此视图( B )。

A. 也是一个表 B. 是一个虚表 C. 是一个数据库 D. 是一个文件

56. 当前DBMS所支持的数据模型的主流是(C)。

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

57. 能唯一地标识实体属性的( C)称为主码。

A. 组和 B. 排列 C. 集合 D. 元组

58 下述关于数据库系统的正确叙述是( B)。

A. 数据库中只存在数据项之间的联系

B. 数据库的数据项之间和记录之间都存在联系

C. 数据库的数据项之间无联系,记录之间存在联系

D. 数据库的数据项之间和记录之间都不存在联系

59. 授权定义经过编译和存储在( D)中。

A. DBMD B. 视图 C. 基表 D. 数据库

60.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),

学生选课关系是SC(S#,C#,GRADE),要查找选修“COMPUTER”课程的女学生的姓名,将涉及到关系(D)。

A. S B. SC,C C. S.SC D. S,C,SC

61.数据库技术的奠基人之一,E.F.Codd于19xx年发表过多篇论文,主要论述

的是(C) 。

A. 层次数据模型 B. 网络数据模型

C. 关系数据模型 D. 面向对象数据模型

62.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( D)。

A. 可靠性

63、

64、

65、

66、 B. 一致性 C. 完整性 D. 安全性 SQL语言的GRANT和REVOKE语句主要用来维护数据库的(A )。 在关系数据库中,实现“表中任意二行不能相同”的约束是靠(C ) 。 对表进行垂直方向的分割用的运算是(B )。 关系数据库中,实现表与表之间的联系是通过_(B)。 A. 安全性 B. 完整性 C. 可靠性 D. 一致性 A. 外码 B. 属性 C. 主码 D. 列 A. 交 B. 投影 C. 选择 D. 连接

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

C. 用户自定义完整性 D. 值域

67、 关系数据库中,实现主码标识元组的作用是通过(A) 。

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

C. 用户自定义完整性 D. 属性的值域

二、填空题

1、在SQL查询语句中,用于测试子查询是否为空的谓词是_ EXISTS __。

2、在查询操作结果中不出现重复元组,应在Select子句中使用_ DISTINCT_保留字。

3、.SQL的SELECT语句在未使用分组子句但在SELECT子句中使用了聚合函数。此时SELECT子句的语句就不是投影的意思了,而是对查询结果执行聚合操作。

4、数据库系统的权限控制方法分为 自主存取控制和 强制存取控制方法两种

5、在SQL Server 中,文件分为三大类,它们是主数据文件_、次要数据文件(辅助数据文件)__和_ 事务日志文件___;

6、SQL的数据更新功能主要包括INSERT、__UPDATE__和__DELETE_三个语句。

7、在字符匹配查询中,通配符“%”代表_任意多个字符___,“_”代表__任意单个字符。

8、触发器是一种特殊的存储过程,它可以在对一个表上进行__插入__、_删除_和___修改__操作中的任一种或几种操作时被自动调用执行。

三、判断题

1、视图是一张虚表,所有的视图中不含有数据(× )

2、用户不允许使用视图修改表数据(× )

3、数据库中的视图只能使用所属数据库的表,不能访问其它数据库的表(× )

4、视图既可以通过表得到,也可以通过其它视图得到(√)

5、规则在创建后,并不能直接使用,必须绑定到表中某一列或者用户定义的数据类

型上。( √)

6、创建规则对象后,必须把它绑定到一个列或用户定义的数据类型上才能起作用。(√)

7、触发器就其本质而言是一种特殊的存储过程。存储过程和触发器在数据库的开发中,在维护数据库实体完整性等方面具有不可替代的作用。(×)

8、现实世界的对象在数据库中用实体描述 (╳ )

9、游标是系统为用户的查询结果开辟的数据缓冲区,存放SELECT语句的查询结果。(√)

10、 在数据库系统中,核心的部分是应用程序。(√ )

11、候选码可以选作主码,但一个主码不总是候选码. (√ )

12、存储过程是存放在服务器上的预先定义与编译好的SQL语句的命名集合(√)

13.视图、表是一样的,都可以进行更新操作的。 ( ╳ )

14、触发器操作与约束有冲突时,触发器仍会执行。( ╳ )

15、删除触发表时,触发器被随之删除。(√)

16、Order by子句仅对检索数据的显示有影响,并不改变表中行的内部顺序。(√)

17、从一个表中删除元组时,delete和drop table命令可以起到同样的效果。(×)

18、与主键不同,惟一性可以是null值。(√)

19、使用having子句是为了限制group by子句返回的行的个数。(√)

20、在数据表定义时设置Primary key是数据库的实体完整性控制。 ( √ )

21、在数据表定义时设置主键(Primary key)则不允许插入全为空的记录。(√ )

22、数据库一旦建立,就没有办法重命名了,所以命名数据库要慎重。(× )

23、触发器就其本质而言是一种特殊的存储过程。存储过程和触发器在数据库的开发中,在维护数据库实体完整性等方面具有不可替代的作用。(× )

24、一般情况下 ,一个简单的数据库可以只有一个主数据文件和一个事务日志文件。如果数据库很大,则可以设置多个次要数据文件和事务日志文件,并将它们放在不同的磁盘上。(√ )

25、数据库一旦建立,就没有办法重命名了,所以命名数据库要慎重。(× )

26、与默认对象一样,规则在创建后,并不能直接使用,必须绑定到表中某一列或者用户定义的数据类型上。( √)

27、SQL SERVER 中的索引可分为索引优化与索引组合,其中索引组合不改变表中数据行的物理存储顺序,数据与索引分开存储。(× )

四、综合题

1、设某商业集团关于商店销售商品的数据库中有三个基本表:

商店 销售 商品 SHOP(S#,SNAME,AREA,MGR_NAME) 其属性是商店编号,商店名称,区域名,经理姓名。 SALE(S#,G#, QUANTITY) 其属性是商店编号,商品编号,销售数量。 GOODS(G#,GNAME,PRICE) 其属性是商品编号,商品名称,单价。

(1)试写出检索销售“冰箱”的商店的编号和商店名称的SELECT语句表达形式。

(2)试写出下列操作的SQL语句:

从SALE表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。

(3)试写出下列操作的SQL语句:

1、答:解:(1)SELECT语句如下:

SELECT A.S#,SNAME FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱'; (2)解:DELETE FROM SALE WHERE S# IN(SELECT S# FROM SHOP WHERE SNAME='开开商店') FROM GOODS WHERE PRICE>1000);

PRICE*SUM(QUANTITY)AS SUM_VALUE

FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' GROUP BY C.G#,GNAME; (3)解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY, 统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。 要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值。 AND G# IN(SELECT G# (注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)

2、设数据库中有两个基本表:

职工表 EMP(E#,ENAME,AGE,SALARY,D#),

其属性分别表示职工工号、姓名、年龄、工资和工作部门的编号。

部门表 DEPT(D#,DNAME,MGR#),

其属性分别表示部门编号、部门名称和部门经理的职工工号。

(1)试指出每个表的主键和外键。并写出每个表创建语句中的外键子句。

(2)写出下列查询的关系代数表达式和SQL语句:

检索每个部门经理的工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资。

(3) 建一个年龄大于50岁的职工视图,属性为(D#,DNAME,E#,ENAME,

AGE,SALARY)。

答:(1)EMP表的主键为E#,外键为D#。

DEPT表的主键为D#,外键为MGR# 在EMP表的创建语句中,可写一个外键子句: FOREIGN KEY D# REFERENCES DEPT(D#); FOREIGN KEY MGR# REFERENCES EMP(E#); DEPT.D#,DNAME,MGR#,ENAME,SALARY在DEPT表的创建语句中,可写一个外键子句: (DEPT ? EMP) MGR#=E# (2)关系表达式为:π SELECT语句为: FROM DEPT,EMP WHERE MGR#=E#; SELECT DEPT.D#,DNAME,MGR#,ENAME,SALARY (3)CREATE VIEW VIEW5 AS SELECT DEPT.D#,DNAME,E#,ENAME,AGE,SALARY FROM DEPT,EMP WHERE DEPT.D#=EMP.D# AND AGE>50;

3、 有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母)为:

学生(学号,姓名,系别,专业) 主码为:学号

图书B(图书编号,图书名,出版日期,出版社) 主码为:图书编号 借阅 R(学号,图书编号,借阅日期) 主码为:(学号,图书编号)

外码有:学号 、图书编号

请写出完成下列操作的SQL语句

(1)创建借阅R表,要求指定其主码和外码

Create table 借阅(学号 char(10) foreign key references 学生,

图书编号 char(10) foreign key references 图书,

借阅日期 datetime ,primary key(学号, 图书编号)

(2)向借阅表增加记录(’20030101‘,‘tp201.01’, ‘2006/06/12‘)。

Insert into 借阅 values (’20030101’, ‘tp201.01’, ‘2006/06/12‘)

(3)将图书表的查询权授给user用户,并允许其转授给其他人

Grant select on 图书 to uset with grant option

(4)、查询借阅了“数据库原理”一书的学生信息。

Select * from 学生 where学号 in (select学号 from 借阅

Where 图书编号 in select 图书编号 from 图书

where 图书名=’数据库原理’

(5)、 查询借阅了关于数据库方面书籍的学生的学号、图书名称和出版社。 Select 学号,图书名,出版社 from 借阅 A, 图书 B

where A. 学号=B. 学号 and 图书名 like ‘%数据库%’

(6)查询20xx年5月1日到20xx年6月1日期间,图书的借阅情况

Select * from 借阅 where 借阅日期

between ‘2006/05/01’ and ‘2006/06/01’

4、设教学数据库中有四个关系:

教师(教师编号,教师姓名,联系电话)

课程(课程号,课程名,教师编号)

学生(学号,学生姓名,年龄,性别,专业)

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

(1)创建学生表和选课表,要求:指定每个表的主关键字、外部关键字和check约束。

(2)将所有学生的“高等数学”课程的成绩增加10分。

Update选课 set成绩=成绩+10 where课程号in (

select课程号 from 课程 where课程名=’高等数学’

(3)将课程表的查询和修改权限授给teacher用户,同时允许转授给其它用户。 Grant select,update on 课程 to teacher with grant option

(4)查询男生所学课程的课程号和课程名。

Selec 课程号,课程名 FROM 学生,选课,课程

Where学生.学号=选课.学号 and 选课.课程号=课程.课程号

and 性别=’男’

或Selec 课程号,课程名 FROM 课程 where课程号 in (

Select 课程号 from 选课 where 学号 in (

Select学号 from 学生 where 性别=’男’))

(5)查询所有姓王的教师所授课程的课程号和成绩(按课程号排序)。

Select 选课.课程号, 成绩 from 教师,课程,选课 where 教师姓名like ‘王%’

And 教师.教师编号=课程.教师编号 and 课程.课程号=选课.课程号 order by 课程号

(6)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人

数,查询结果按人数降序排列。

Select 课程号 ,count(学号) 人数 from 选课

group by课程号 having count(*)>10 order by 人数 desc

(7) 检索所有姓“李”的学生的姓名和年龄

Select 学生姓名,年龄 from 学生 where 学生姓名 like ‘李%’

(8)求男生的最高成绩

Select max(成绩) from 选课 where 学号 in (select 学号 from 学生 Where 性别=’男’)

5、已知有关系:仓库(仓库号,城市,面积)

职工(仓库号,职工号,工资)

订购单(职工号,供应商号,订购单号,订购日期) 供应商(供应商号,供应商名,地址)

(1)创建订购单表,要求:数据类型及长度自定义,并指定其主码和外码 Create table 订购单表(职工号 char(10) foreign key references职工,供应商号 char(10) foreign key references供应商,

订购单号 char(10) primary key,

订购日期 datetime)

(2)修改职工表,增加一个职工名(可变长字符型,最长为20)字段 Alter 职工表 add 职工名 varchar(20)

(3)向订购单表中增加一条记录,记录值为:

(’ZG0001’,‘GY0001’, ‘DD0001’,‘2006/06/12’)

Insert into 订购单表 values (’ZG0001‘,‘GY0001’, ‘DD0001’,‘2006/06/12’)

(4)给低于所有职工平均工资的职工提高10%的工资。

UPDATE 职工 SET 工资=工资*1.1 WHERE 工资< (SELECT AVG(工资) FROM 职工)

(5)删除所有目前没有任何订购单的供应商。

DELETE FROM 供应商 WHERE 供应商号 NOT IN

(SELECT 供应商号 FROM 订购单)

(6)将职工表的查询权授给USER用户,并允许其转授给其他人

Grant select on职工表 to USER with grant option

(7)检索出向供应商S3发过订购单的职工的职工号和仓库号。

SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN

( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S3’ )

(8)检索出目前没有任何订购单的供应商信息。

SELECT * FROM 供应商 WHERE NOT EXISTS

( SELECT * FROM 订购单 WHERE 供应商号=供应商.供应商号 )

(9)检索出和职工E1、E3都有联系的北京的供应商信息。

SELECT * FROM 供应商 WHERE 供应商号 IN

( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E1’ ) AND 供应商号 IN

( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E3’ )

(10)检索出目前和华通电子公司有业务联系的每个职工的工资。

SELECT 职工号,工资 FROM 职工 WHERE 职工号 IN

(SELECT 职工号 FROM 订购单 WHERE 供应商号 IN

(SELECT 供应商号 FROM 供应商 WHERE 供应商名=’华通电子公司’))

(11)检索出与工资在1220元以下的职工没有联系的供应商的名称。

SELECT 供应商名 FROM 供应商 WHERE 供应商号 IN

(SELECT 供应商号 FROM 订购单 WHERE 职工号 NOT IN

(SELECT 职工号 FROM 职工 WHERE 工资 < 1220))

(12)检索出向S4供应商发出订购单的仓库所在的城市。

SELECT 城市 FROM 仓库 WHERE 仓库号 IN

(SELECT 仓库号 FROM 职工 WHERE 职工号 IN

(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S4’))

(13)检索出在上海工作并且向S6供应商发出了订购单的职工号。 SELECT 职工号 FROM 职工 WHERE 仓库号 IN

(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’) AND 职工号 IN (SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’))

(14)检索出在广州工作并且只向S6供应商发出了订购单的职工号。 SELECT 职工号 FROM 职工 WHERE 仓库号 IN

(SELECT 仓库号 FROM 仓库 WHERE 城市=’广州’) AND 职工号 IN

(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’) AND 职工号

NOT IN (SELECT 职工号 FROM 订购单 WHERE 供应商号!=’S6’)

(15)检索出由工资多于1230元的职工向北京的供应商发出的订购单号。 SELECT 订购单号 FROM 订购单 WHERE 职工号 IN

(SELECT 职工号 FROM 职工 WHERE 工资>1230) AND 供应商号 IN

(SELECT 供应商号 FROM 供应商 WHERE 地址=’北京’)

(16)检索出有最大面积的仓库信息。

SELECT * FROM 仓库 WHERE 面积=(SELECT MAX(面积) FROM 仓库)

(17)检索出向S4供应商发出订购单的那些仓库的平均面积。

SELECT AVG(面积) FROM 仓库 WHERE 仓库号 IN

(SELECT 仓库号 FROM 职工 WHERE 职工号 IN

(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S4’))

(18)检索出每个城市的供应商个数。

SELECT 地址,COUNT(*) FROM 供应商 GROUP BY 地址

(19)检索出和面积最小的仓库有联系的供应商的个数。

SELECT COUNT(*) FROM 供应商 WHERE 供应商号 IN

(SELECT 供应商号 FROM 订购单 WHERE 职工号 IN

(SELECT 职工号 FROM 职工 WHERE 仓库号 IN

(SELECT 仓库号 FROM 仓库 WHERE 面积=

(SELECT MIN(面积) FROM 仓库))))

(20)插入一个新的供应商元组(S9,智通公司,沈阳)。

INSERT INTO 供应商 VALUES(‘S9’,’智通公司’,’沈阳’)

(21)删除由在上海仓库工作的职工发出的所有订购单。

DELETE FROM 订购单 WHERE 职工号 IN

(SELECT 职工号 FROM 职工 WHERE 仓库号 IN

(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’))

(22)为职工表编写一个触发器实现:当插入或修改职工表时,检查仓库号是否满足参照完整性,如果不满足则回滚所作操作

CREATE TRIGGER ord_ins_trigger ON 职工表 FOR INSERT,update AS

IF (SELECT COUNT(*) FROM 仓库 e,INSERTED i WHERE e.仓库号=i.仓库号)=0

BEGIN

RAISERROR ('非法仓库号', 1, 1)

ROLLBACK TRANSACTION

END

(23)编写一个存储过程:给指定城市的所有仓库增加x m2的面积。

CREATE PROCEDURE upd_wh_area

(@city char(10),@area numeric)

AS

UPDATE 仓库 SET 面积=面积 + @area WHERE 城市=@city IF @@ERROR = 0

RETURN 0

ELSE

RETURN -1

第 五、六章练习题

一、 选择题

1、在关系数据库设计中,子模式设计是在__________阶段进行。

2、设有关系R(A,B,C)的值如下:

A B C

2 2 3 2 3 4 3 3 5 (B)

B.函数依赖BC→A在上述关系中成立

D.函数依赖A→BC在上述关系中成立 [ B] A.物理设计 B.逻辑设计 C.概念设计 D.程序设计 下列叙述正确的是 A.函数依赖A→B在上述关系中成立 C.函数依赖B→A在上述关系中成立

3、数据库设计阶段分为( D )

A. 物理设计阶段、逻辑设计阶段、编程和调试阶段

B. 模型设计阶段、程序设计阶段和运行阶段

C. 方案设计阶段、总体设计阶段、个别设计和编程阶段

D. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段

4、下列说法中不正确的是(C)。

A. 任何一个包含两个属性的关系模式一定满足3NF

B. 任何一个包含两个属性的关系模式一定满足BCNF

C. 任何一个包含三个属性的关系模式一定满足3NF

D. 任何一个关系模式都一定有码

5、设有关系模式R(A,B,C,D),F是R上成立的函数依赖集,F={B→C,C→D},则属性C的闭包C+为( C )

A.BCD B.BD C.CD D.BC

6、在数据库设计中,将ER图转换成关系数据模型的过程属于 ( B )

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

7、下述哪一条不是由于关系模式设计不当而引起的?( B)

A) 数据冗余 B) 丢失修改 C) 插入异常 D) 更新异常

8、 下面关于函数依赖的叙述中,不正确的是( B)

A) 若X→Y,X→Z,则X→YZ

B) 若XY→Z,则X→Z,Y→Z

C) 若X→Y,Y→Z,则X→Z

D) 若X→Y,Y′? Y,则X→Y′

9、 设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多

值依赖的叙述中,不正确的是(C)

A) 若X→→Y,则X→→Z

B) 若X→Y,则X→→Y

C) 若X→→Y,且Y′? Y,则X→→Y′

D) 若Z=Φ,则X→→Y

第(10)至(12)题基于以下的叙述:有关系模式A(C,T,H,R,S),基中各属性的含义是:

R}

10、关系模式A的码是(D)

A) C

A) 1NF B) (H,R) B) 2NF C)(H,T) D)(H,S) 11、 关系模式A的规范化程度最高达到(B) C) 3NF D) BCNF

12、现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1

的规范化程度达到(D)

A) 1NF B) 2NF C) 3NF

D) BCNF 13、 下述哪一条不属于概念模型应具备的性质?(D) A) 有丰富的语义表达能力 C) 易于变动 B) 易于交流和理解 D) 在计算机中实现的效率高 C:课程 T:教员 H:上课时间 R:教室 S:学生 根据语义有如下函数依赖集: F={C→T,(H,R)→C,(H,T)→R,(H,S)→

14、 在下面列出的条目中,哪个(些)是当前应用开发工具的发展趋势?(D) Ⅰ.采用三层或多层Client/Server结构

Ⅱ.支持Web应用

Ⅲ.支持开放的、构件式的分布式计算环境

A) Ⅰ和Ⅱ B) 只有Ⅱ

C) 只有Ⅲ B) Delphi D) 都是 15、 下面所列的工具中,不能用于数据库应用系统界面开发的工具是(C) A) Visual Basic C) PowerDesigner D) PowerBuilder

16、设关系模式R{A,B,C,D,E},其上函数依赖集F={AB→C,DC→E,D→B},则可导出的函数依赖是(A)。

A.AD→E B.BC→E C.DC→AB D.DB→A

17、在关系模式R(A,B,C)中,有函数依赖集F={AB→C,BC→A},则R最高达到

(D )。

A.第一范式 B.第二范式 C.第三范式 D.BC范式

18、下列属于逻辑结构设计阶段任务的是(C )。

A.生成数据字典 B.集成局部E-R图

C.将E-R图转换为一组关系模式 D.确定数据存取方法

19、关系模式R中的属性全部是主属性,则R至少是( C )范式的关系模式

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

20、在数据库设计中,将ER图转换成关系数据模型的过程属于(B)

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

21、ODBC中的“数据源”概念是( C )

A、代表一个DBS的命名 B、代表一个数据库的命名

C、代表驱动器和DBMS连接命名 D、代表一个磁盘的命名

22、将局部E-R图集成为全局E-R图时,可能存在3类冲突,下面对这些冲突的描述中,不属于这3类冲突的是( D )

A、属性冲突 B、结构冲突 C、命名冲突 D、模式冲突

23、ODBC技术中,数据源分为除了( B )以外的三种。

A、用户数据源 B、网络数据源 C、系统数据源 D、文件数据源

24、ODBC是指( C )

A、对象数据为约束 B、面向数据库约束

C、开放式数据互联 C、开放式数据库约束

25、在数据库设计中,将E—R图转换成关系数据模型的过程属于(A )

A、逻辑设计阶段 B、需求分析阶段

C、概念设计阶段 D、 物理设计阶段

26、当关系模式R(A,B)已属于3NF,下列说法中(C )是正确的。

A、它一定消除了插入和删除异常 B、一定属于BCNF

C、仍存在一定的插入和删除异常 D、A和B都是

27、在关系模式中,如果属性A和B存在1对1的联系,则说(C )

A、A→B B、B→A C、A←→B D、以上都不是

28、关系数据库规范化是为解决关系数据库中(D )

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

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

29、对于关系数据库,任何二元关系模式都可以达到(A )

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

30、概念结构设计阶段得到的结果是( B )

A、数据字典描述的数据需求 B、E—R图表示的概念模型

C、某个DBMS所支持的数据模型 D、包括存储结构和存取方法的物理结构

二、填空题

1、在关系数据库中,规范化关系是指_满足1NF(或属性值不可分解)

2、 在设计分E-R图时,由于各个子系统分别面向不同的应用,所以各个分E-R

图之间难免存在冲突,这些冲突主要包括命名冲突、_属性冲突和_结构冲突三类。

3、如果关系模式R满足第一范式,且它的任何一个非主属性都完全函数依赖于任一个候选码,则R满足第二范式。如果关系模式R满足2NF,并且它的任何一个非主属性都不传递函数依赖于任何候选码,则称R是第三范式3NF

4、将E-R图中的实体和联系转换为关系模型中的关系,这是数据库设计过程中

逻辑结构 或 逻辑设计阶段的任务。

5、关系模式规范化过程中,若要求分解保持函数依赖,那么模式分解一定可以

达到3NF,但不一定能达到BCNF。

6、一个不好的关系模式会存在_插入异常_、_删除异常_和___数据冗余及修改异常等弊端。

7、对关系模式进行模式分解,消除1NF中非主属性对码的 就得到2NF。消除2NF中非主属性对码的 就得到3NF。

部分函数依赖、传递函数依赖

三、判断题(20分)

1、一个满足BCNF的关系模中,每一个决定属性集(因素)都包含(候选)码。(√)

2、规范化理论研究的是关系模式中属性之间的相互依赖关系及其对关系模式性能的影响。(√)

3、函数依赖是关系模式上某个关系实例均要满足的约束条件。(×)

4、当关系模式R(A,B)已属于3NF,它一定消除了插入和删除异常。(×)

5、在数据库设计中,将E—R图转换成关系数据模型的过程属于需求分析阶段的任务(× )

6、使用各种接口访问数据库的速度是一样的。(×)

7、ADO是微软一种战略性的、高层次的、独立于编程语言的、能访问所有种类企业信息的数据访问接口。(√)

8、使用ODBC开发的同一个源程序,不用修改就可以在不同的DBMS上运行,提高了代码的重用性。(√)

9、ADO是一个面向OLE DB的基于应用程序层的COM接口。(√)

10、一个1:n联系只能转换为一个独立的新关系模。(× )

11、一个m:n联系只能转换为一个独立的新关系模。(√ )

12、数据库的逻辑设计,就是将概念设计中所得到的E-R图转换成等价的关系

模式。(√ )

四、简答题(15分)

1.设关系模式R(A,B,C,D,E),F是R上成立的FD集,F={ AB→C,BC→A,

AC→B,D→E },试写出R的候选键,并说明理由。

答:模式R有三个候选键:ABD、BCD、ACD三个。推导过程如下:

① 从AB→C和D→E,可推出ABD→ABCDE。

② 从BC→A和D→E,可推出BCD→ABCDE。

③ 从AC→B和D→E,可推出ACD→ABCDE。

2、设教学管理数据库中有一关系模式R如下

R(学号,课程号,成绩,任课教师,教师所在系)

如果规定:(1)学号和课程号分别与其代表的学生和课程一一对应;

(2)一个学生所修的每门课程都有一个成绩;

(3)每门课程只有一位任课教师,但每位教师可以有多门课程。

(4)教师没有重名,每个教师只属于一个系。

试回答下列问题:

(1) 根据上述规定,写出关系模式R的基本函数依赖;

(2)试问关系模式R最高已经达到第几范式?为什么?

答:函数依赖有:

(学号,课程号)→成绩 课程号→任课教师 任课教师→教师所在系(3分)

(2)该关系模式R是1NF。因为该关系模式的候选关键字为(学号、课程号),

则非主属性有成绩、任课教师和教师所在系,存在着非主属性对候选关键字的部

分依赖(即:课程号→任课教师),根据定义可知它属于1NF。(2分)

3、设有关系模式R(A,B,C,D),F是R上成立的FD集,F={ AB→C,D→B },

试求属性集AD的闭包(AD)+

答:从已知D→B可知AD→AB;再据已知AB→C和推理规则可推出AD→ABCD。

所以 (AD)+=ABCD。

4、设有关系模式

R(职工名,项目名,工资,部门名,部门经理)

如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部

门管理;每个部门只有一个经理。

试写出关系模式R的基本FD和关键码。说明R不是2NF模式的理由

答:解:⑴ R的基本FD有三个:

(职工名,项目名)?工资

项目名 ?部门名

部门名 ?部门经理

关键码为(职工名,项目名)。

⑵ 根据⑴,R中存在下列两个FD:

(职工名,项目名)?(部门名,部门经理)

项目名 ?(部门名,部门经理)

其中前一个FD是一个局部依赖,因此R不是2NF模式。

5、某汽车运输公司数据库中有一个记录司机运输里程的关系模式: R(司机编号,汽车牌照,行驶公里,车队编号,车队主管)

此处每个汽车牌照对应一辆汽车。“行驶公里”为某司机驾驶某辆汽车行驶的总公里数。如果规定每个司机属于一个车队,每个车队只有一个主管。

(1)试写出关系模式R的基本FD和关键码。

(2)说明R不是2NF模式的理由,并指出数据冗余之所在。

解:(1)根据已知条件,可写出基本的FD有三个:

司机编号 → 车队编号 车队编号 → 车队主管

(司机编号,汽车牌照)→ 行驶公里

从上述三个FD,可知R的关键码为(司机编号,汽车牌照)。

(2)从上述三个FD,可推出下列FD成立:

(司机编号,汽车牌照)→(车队编号,车队主管)

这是一个局部FD。因此R不是2NF模式。

此时在R的关系中,每个司机只属于一个车队及主管人员,但要记载某司机驾驶过10辆汽车的行驶公里数,在R的关系中要出现10个元组。也就是这10个元组的司机相同,其车队编号和车队主管要重复出现10次,这就是数据冗余

6、假设某商业集团数据库中有一关系模式R(商店编号,商品编号,数量,部门编号,负责人)。如果规定:①每个商店的每种商品只能在一个部门销售;②每个商店只有一个负责人;③每个商店的每种商品只有一个库存数量。

试回答以下问题:

(1) 根据上述规定,写出关系模式R的基本函数依赖;

(2)设(商店编号,商品编号)是R的候选码,则关系模式R最高已经达到第几范式:为什么?

答:(1)有3个函数依赖:(商店编号,商品编号)→部门编号、商店编号→负责人、(商店编号,商品编号)→数量

(2)答:因为R中存在着非主属性“负责人”对候选码的部部分分依赖,所以R属于1NF(2分)。

7、设关系模式R(A,B,C,D),C为候选关键字,R的函数依赖集F={C→B,B

→A},则R是否是3NF?请说明理由。

答:R不是3NF(2分)。因为:在该关系模式的函数依赖集中存在着非主属性对主属性的传递依赖

8、已知关系模式R<U,F>,其中:U={A,B,C,D,E};

F={AB→C,B→D,C→E,EC→B,AC→B};求(AB)F 。

答: 设X(0)=AB;

(1)计算X(1): 逐一的扫描F集合中各个函数依赖, 找左部为A,B或AB的函数依赖。得到两个: AB→C,B→D。

于是X(1)=AB∪CD=ABCD

(2)因为X(0)≠ X(1) ,再找出左部为ABCD子集的那些函数依赖

得到AB→C,B→D, C→E,AC→B

于是X(2)=X(1)∪BCDE=ABCDE

(3)因为X(2)=U,算法终止

所以(AB)F+ =ABCDE

9、一个不好的函数依赖存在哪些问题?

答:(1) 数据冗余:供应商名称、供应商地址 和电话对每种供货名称都要重复输入。

(2)更新异常:更新供应商地址时,要修改多条记录。

(3) 插入异常:目前没有供货的供应商名称、供应商地址和电话无法保存在数据库中。

(4)删除异常:如果一个供应商供应的货物被删除,该供应商名称、供应商地址和电话等信息也被丢失。 +

第七、八练习题

一、选择题

1、DBMS的并发控制子系统,保证了事务( C )的实现

A.原子性 B.一致性 C.隔离性 D.持久性 A.一对一的 B.一对多的 C.多对一的 D.多对多的

A.报废的数据 B.过时的数据 C.撤消的数据 D.脏数据

4、在面向对象数据库中,包含其他对象的对象,称为( C )

A.强对象 B.超对象 C.复合对象 D.持久对象

数据传输量大的主要原因是( C )

A.场地间距离过大

B.数据库的数据量大 D.在CPU上处理通信的代价高 B.网络结构越复杂 D.应用程序编写越复杂 C.不同场地间的联接操作 A.网络结构越简单 5、在分布式数据库系统中,数据传输量是衡量查询时间的一个主要指标,导致2、分布式数据库系统中,全局关系与其片段之间的映象是 (B) 3、在DB技术,读到的未提交的且随后被撤消了的数据,称为 ( D) 6、分布式数据库系统中,透明性层次越高 ( C) C.应用程序编写越简单

11. 如果事务T获得了数据项Q上的排它锁,则T对Q (C )

A.只能读不能写 B.只能写不能读 C.既可读又可写 D.不能读不能写

12. DBMS中实现事务持久性的子系统是 ( D)

A.安全性管理子系统 B.完整性管理子系统

C.并发控制子系统 D.恢复管理子系统

13、 数据库系统发生故障时,可以基于日志进行恢复。下面列出的条目中,哪

些是日志记录的内容?(D)

Ⅰ.事务开始信息

Ⅲ.提交信息 Ⅱ.更新信息 Ⅳ.事务中止信息

A) Ⅰ、Ⅱ和Ⅳ B) Ⅰ、Ⅲ和Ⅳ C) Ⅱ、Ⅲ和Ⅳ D) 都是

14、下面关于数据库系统基于日志的恢复的叙述中,哪一个是正确的?(B)

A) 利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改前值

可以进行REDO

B) 利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改后值

可以进行REDO

C) 利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改前值

可以进行REDO

D) 利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改后值

可以进行REDO

15、下面列出的条目中,哪些是事务并发执行中可能出现的主要问题?(D) Ⅰ.丢失更新

Ⅱ.对未提交更新的依赖

Ⅲ.不一致的分析

A) Ⅰ和Ⅱ B) Ⅱ和Ⅲ C) Ⅰ和Ⅲ D) 都是

16、下面关于WHERE语句和HAVING语句的描述正确的是(C )。

A、WHERE和HAVING语句都引导搜索条件,它们是等价的。

B、WHERE语句和HAVING语句不能同时使用在一个查询操作中。

C、HAVING语句用于组或聚合函数的搜索条件,它常用于GROUP BY 子句后。

D、一般说,WHERE语句的效率要高于HAVING语句,所以更好使用WHERE引导搜索条件

17、关于登录和用户,下列各项表述不正确的是:( C )。

A、登录是在服务器级创建的,用户是在数据库级创建的

B、创建用户时必须存在该用户的登录

C、用户和登录必须同名

D、一个登录可以对应多个用户

18、关于SQL Server 2005的数据库角色叙述正确的是:( D )。

A、用户可以自定义固定服务器角色 B、每个用户能拥有一个角色

C、数据库角色是系统自带的,用户一般不可以自定义

D、角色用来简化将很多权限分配给很多用户这个复杂任务的管理

19、下列关于数据库备份的叙述错误的是:(A )。

A、如果数据库很稳定就不需要经常做备份,反之要经常做备份以防数据库损坏

B、数据库备份是一项很复杂的任务,应该由专业的管理人员来完成

C、数据库备份也受到数据库恢复模式的制约

D、数据库备份策略的选择应该综合考虑各方面因素,并不是备份做得越多越全就越好

20、事物的持久性是指( B)。

A、事物中包括的所有操作要么都做,要么都不做

B、事物一旦提交,对数据库的改变是永久的

C、一个事物内部的操作及使用的数据对并发的其他事物是隔离的

D、 事物必须是使数据库从一个一致性状态变到另一个一致状态

21、数据库中的封锁机制是( C)的主要方法.

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

22、关系数据库规范化是为解决关系数据库中( D)

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

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

23、日志文件是用于记录( C )

A、程序运行过程 B、数据操作 C、对数据的所有更新操作 D、程序执行的结果

24、数据库中数据在任何时刻都必须满足的完整性约束条件是(A )

A、静态约束条件 B、动态约束条件 C、元组约束条件 D、属性约束条件

25、判断一个系统是否是分布式数据库系统的方法是( C )

A、数据分布存储在多个地方 B、采用C/S结构

C、支持全局应用 D、数据独立性高

26、分布式数据库与集中式数据库的最大区别是( D )

A、DBMS的复杂度 B、数据的共享程度

C、数据独立性 D、数据分布存储在多个地方

27、事务有多个性质,其中不包括( A )。

A、唯一性 B、一致性 C、原子性 D、隔离性

28、数据库中的封锁机制是(C )的主要方法。

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

29、下列不属于分布式数据库系统特点的是( D )

A、物理分布性 B、场地自治性 C、逻辑整体性 D、全局并行性

30、存在一个等待事务集{T0,T1,?,Tn},其中T0正等待被T1锁住的数据项,

T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的数据项,且Tn正等待被T0锁住的数据项,则系统的工作状态处于(D )

A 、并发处理 B、封锁 C、循环 D、死锁

31、下列关于分布式数据库中数据冗余的说法中错误的是( A)

A、在分布式数据库系统中,应尽量减少数据冗余

B、数据冗余有利于提高系统的可用性

C、数据冗余有利于介质故障后的恢复

D、数据冗余增加了系统维护库中数据一致性的开销

32、下列关于数据分片的说法中错误的是( B )

A、对关系型DDBS而言,数据分片就是要对库中的全局关系进行切分

B、分片时最好将经常一起访问的数据划至不同的数据片段

C、对数据进行分片时可同时采用水平分片和垂直分片方法

D、数据分片粒度不宜过小,否则会增加查询时的连接代价

33、对数据库并发操作有可能带来的问题包括(A)。

A、读出“脏数据” B、带来数据的冗余

C、未被授权的用户非法存取数据 D、破坏数据独立性

36、在数据系统中,对存取权限的定义称为( )。

A、命令 B、定义 C、授权 D、审计

37、为了防止一个用户的工作不适当地影响另一个用户,应该采取( C)

A 、完整性控制 B、 安全性控制 C、 并发控制 D、 访问控制

二、填空题

1、数据库设计中,E—R模型设计是在概念设计__阶段进行的,子模式的设计是

在_逻辑设计__阶段进行的

2、并发操作带来数据不一致性包括:丢失修改、不可重复读和读“脏”数据。

3、事务必须具有的四个性质是:原子性、一致性、分离性和持久性。

4、在数据库并发控制中,两个或更多的事务同时处于相互等待状态,称为 死锁 。

5、SQL Server登录验证有两种模式,他们分别是_Windows 身份验证模式__和___混合身份验证模式_。

6、SQL Server的事务模式可分为显式事务、隐式事务和自动事务模式 三种。

7、在数据库的转储时,静态转储是系统中无运行事务时进行的转储操作; 动态转储是转储期间不中断数据库的操作的转储操作。

事务对数据对象拥有的控制由封锁类型决定,锁的类型有独占锁和共享锁。

8、预防死锁的常用方法是一次封锁法和 顺序封锁法。

9、封锁数据单元的大小称为封锁粒度 。

14、

15、被命名的一组与数据库操作相关的权限称为 角色 。

16、SQL Server中能够在服务器上执行所有操作的固定服务器角色是sysadmin,拥有数据库最高权限的固定数据库角色是db_owner 。

17、分布式数据库是物理上分布在不同的地点,但在逻辑上是一个整体的数据库。

18、数据库系统故障分为事务故障、系统故障和磁盘介质故障三类

三、判断题

1、Delete可以有选择地删除记录,使用rollback语句可以取消这个命令的执

行。(√)

2、关系数据库已经是最好的了,现在的应用都能得到满足 ( ╳)

3、数据库备份的类型只有两种,分别是数据库备份、事务日志备份;恢复模式

只有三种:简单恢复、完全恢复、批日志恢复。( ×)

4、数据复制是SQL SERVER的主要功能之一。复制有三种类型,其中对于复制不

经常更改的数据,或不要求保持数据最新值(低滞后时间)的情况,合并复制是

一种最好的数据复制方法。( ×)

5、在建立用户的登录帐号信息时,SQL SERVER会提示用户选择默认的数据库,以后用户每次连接上服务器之后,都会自动转到默认的数据库。( √ )

6、SQL SERVER 在服务器和数据库级的安全级别上都设置了角色,其中角色是用户分配权限的单位。SQL SERVER 允许用户在服务器级别上创建角色,但是为数据库安全,不允许在数据库级上建立新的角色。(× )

7、一个事务只能有一条SQL语句。(× )

8、并发执行的事务不应该交叉影响。(√ )

9、持久性通过事务日志、数据库备份和恢复来保证。(√ )

10、批中某个语句存在语法错误,SQL Server将取消这个批中所有语句的执行。(√ )

11、批语句的组合发生在执行时刻。(× )

12、若事务T对数据对象A加上S锁,则其它事务还能对A加加X锁。(× )

13、若事务T对数据对象A加上X锁,则其它事务还能对A加加S锁,但不能加X锁。(× )

14、有两个或多个事务处于相互等待的状态,则可能发生了死锁。(√ )

15、采用一次性封锁法解决死锁问题,降低了系统并发度。(√ )

16、封锁的粒度越大,数据库所能够封锁的数据单元就越少,并发度越高。(× )

17、SQL Server提供了多粒度锁。(√ )

18、日志文件是记录对数据库更新活动的文件。(√ )

19、进行动态转储时,转储和用户事务可以并发执行,但份过程中数据库系统的性能将受到很大影响。(√ )

20、采用Windows身份认证方式时,用户通过windows的身份验证后,不必提供SQL Server的Login账号和口令就自动进行SQL Server身份验证。(√ )

21、虽然数据库的所有用户自动属于public角色,但可以根据需要从public角色中删除。(× )

22、面向对象数据库支持复杂的数据类型。(√ )

23、区分一个系统是若干集中式数据库的简单连网还是分布式数据库系统,其关键在于系统是否支持全局应用。(√ )

24、与集中式数据库系统不同的是,分布式数据库系统中希望增加冗余数据,可以在不同的场地存储同一数据的多个副本,以提高系统的可靠和可用性。(√ )

2、在建立用户的登录帐号信息时,SQL SERVER会提示用户选择默认的数据库,以后用户每次连接上服务器之后,都会自动转到默认的数据库。( √ )

3、SQL SERVER 在服务器和数据库级的安全级别上都设置了角色,其中角色是用户分配权限的单位。SQL SERVER 允许用户在服务器级别上创建角色,但是为

数据库安全,不允许在数据库级上建立新的角色。(× )

8、

9、数据库备份的类型只有两种,分别是数据库备份、事务日志备份;恢复模式只有三种:简单恢复、完全恢复和日志恢复。( ×)

10、数据复制是SQL SERVER的主要功能之一。复制有三种类型,其中对于复制不经常更改的数据,或不要求保持数据最新值(低滞后时间)的情况,合并复制是一种最好的数据复制方法。( ×)

四、问答题

1、什么是“脏数据”?如何避免读取“脏数据”?

答:在数据库运行时,把未提交随后又被撤消的数据称为“脏数据”。

为避免读取“脏数据”,事务可以对数据实行加S锁的方法,以防止其他事务对该数据进行修改。

2、什么叫死锁?简述预防的方法

答:1)两个或多个事务都已封锁了一些数据对象,然后又都请求对已被其他事务封锁的数据对象加锁,出现永久循环等待其它事务释放资源的现象称为死锁。

(2)预防死锁:破坏产生死锁的条件,预防死锁的发生,常用方法有一次封锁法和顺序封锁法。

一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。存在的问题:降低系统并发度;难于事先精确确定封锁对象。

顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。存在的问题是维护成本大 ; 难以实现;。

3、简述排它锁。

答:排它锁又称为写锁。如果事务T对数据对象X加上排它锁,则只允许事务T

读取和修改数据项X,其他任何事务都不能对X加任何类型的锁,直到T释放X上的锁。从而保证其他事务在T释放X上的锁之前不能再读取和修改X

4、数据库系统为什么要有并发控制?简述数据的并发控制。

答:(1)数据库是一个共享资源,它允许多个用户同时并行地存取数据,若系统对并行操作不加控制,就会存取不正确的数据,破坏数据库的完整性。并的控制的目的就是要以正确的方式调度并发操作,避免造成各种不一致性,使一个事务的执行不受另一个事务的干扰。

(2)并发控制的主要方法是采用封锁机制。封锁是事务T在对某个数据对象操作之前,先向系统发出请求对其加锁

5、什么是事务?简述事务的特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。

(1) 原子性(Atomicity)- 事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。

(2) 一致性(Consistency)- 在一个事务执行之前和执行之后数据库都必须处于一致性状态。

(3) 分离性(Isolation)-并发执行的事务不应该交叉影响。即一个事务内部的操作及正在操作的数据不被其它企图进行修改的事务看到。

(4) 持久性(Durability)- 一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,经得住任何系统故障。

6、数据库的并发控制、可靠性、完整性和安全性各解决什么问题?

答:这四个方面是一个有机的整体,不可偏废某一方面。DBMS的这四个方面的

功能一起保证数据库系统的正常运行。

(1)数据库的数据是高度共享的,存在多个用户同一时刻访问同一数据的现象,

数据库的并发控制是为了避免数据库中数据并发操作时发生用户数据错误。(1分)

(2)由于数据库在运行过程中,可能会因为软件故障或硬件故障造成数据库中

数据的丢失,可靠性可防止数据被丢失或数据发生错误时可尽量恢复数据。(1分)

(3)数据完整性是为了保证数据是正确的,避免非法更新。(1分)

(4)数据的安全性是为防止非法用户不合法使用数据,以免数据的泄露、非法

更改和破坏。(1分)

更多相关推荐:
大学有机化学期末复习总结

有机化学复习资料有机化学期末复习总结一、有机化合物的命名命名是学习有机化学的“语言”,因此,要求学习者必须掌握。有机合物的命名包括俗名、习惯命名、系统命名等方法,要求能对常见有机化合物写出正确的名称或根据名称写…

Bxzrlq大学有机化学期末复习总结

秋风清,秋月明,落叶聚还散,寒鸦栖复惊。有机化学期末复习总结本课程的学习即将结束,现将全书的重点内容按命名、结构理论、基本反应、化合物转化及合成方法、鉴别等几个专题进行总结归纳,供同学们复习时参考。一、有机化合…

大学有机化学期末复习总结

有机化学复习资料公共基础学院一楼文印室提供价格实惠欢迎您光临!有机化学复习总结一、有机化合物的命名命名是学习有机化学的“语言”,因此,要求学习者必须掌握。有机合物的命名包括俗名、习惯命名、系统命名等方法,要求能…

Auuzqo大学有机化学期末复习总结

生活需要游戏,但不能游戏人生;生活需要歌舞,但不需醉生梦死;生活需要艺术,但不能投机取巧;生活需要勇气,但不能鲁莽蛮干;生活需要重复,但不能重蹈覆辙。-----无名有机化学期末复习总结本课程的学习即将结束,现将…

大学有机化学期末复习总结

有机化学复习资料公共基础学院一楼文印室提供价格实惠欢迎您光临!一、有机化合物的命名命名是学习有机化学的“语言”,因此,要求学习者必须掌握。有机合物的命名包括俗名、习惯命名、系统命名等方法,要求能对常见有机化合物…

外研版高一第一学期英语期末复习总结

辨析(10组)1approach\means\way\methodApproachto(doing)sthBymeansofWaytodo\ofdoingMethodof\forAtthemeetingthey…

高等数学期末复习总结与计划

高等数学期末总复习总结与计划两个重要极限:常用的8个等价无穷小公式:①当x→0时sinx~xtanx~xarcsinx~xarctanx~x1-cosx~1/2*(x^2)(e^x)-1~xln(1+x)~x[…

数据库期末考试复习知识点总结

物流一班数据库结课考试知识点小结第一章111四个基本概念及关系1数据描述数据是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类数字字符串日期文字图形图像声音数据的特点数据与语义是不可分的2数据库是存...

四年级期末复习重点归纳

四年级上册语文每一单元词语盘点都要读熟会听写1735587795116138156页日积月累都要会背诵默写193860617998119141158页1第一二单元要求背诵的内容第1课34段第3课781213段第...

材料力学期末复习总结刘鸿文版

材料力学期末复习总结刘鸿文第一章绪论第五版构件需满足的三个条件1强度要求构件有足够的抵抗破坏的能力2刚度要求构件有足够的抵抗变形的能力3稳定性要求构件有足够的保持原有平衡的能力材料力学的任务在满足强度刚度和稳定...

pep三上 英语期末复习资料总结

PEP小学英语三年级上册三年级上册英语期末复习听读资料姓名班级一26个字母五个元音字母AaEeIiOoUu自我检测读一读辨一辨认真读并区分下列读音相近的字母1BbCcDdEeGgPpTtVvZz2AaJjGg二...

微机原理期末复习总结

一基本知识1微机的三总线是什么答它们是地址总线数据总线控制总线28086CPU启动时对RESET要求80868088CPU复位时有何操作答复位信号维高电平有效80868088要求复位信号至少维持4个时钟周期的高...

期末复习总结(125篇)