您的当前位置:首页正文

数据库复习

2023-03-07 来源:榕意旅游网
数据库原理期末考试复习题

一、单选题

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

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

2.现有一个“教师”表,其中一个字段是教师的住址(字符型,20位长),如果不希望此字段包含空值,即某位教师现没有住址,则希望此字段自动填入“还没有”,应该( C )。 A. 为此列创建一个check约束 B. 为此列创建一个foreign key约束 C. 为此列创建一个default约束 D. 为此列创建一个primary key约束 3.数据库系统包括( D )。 A. DB、DBMS B. DB、DBA C. DB、DBMS、DBA、计算机硬件 D. DB、DBMS、DBA、OS、计算机硬件

4.假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是(D )。

A. SELECT 产品名称,AVG(单价) FROM 产品 GROUP BY 单价 B. SELECT 产品名称,AVG(单价) FROM 产品 ORDER BY 单价 C. SELECT 产品名称,AVG(单价) FROM 产品 ORDER BY 产品名称 D. SELECT 产品名称,AVG(单价) FROM 产品 GROUP BY 产品名称 5.数据库中,数据的物理独立性是指( C )。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立

C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立

6.关系数据库规范化是为解决关系数据库中(B )问题而引入的。 A. 提高查询速度 B. 保证数据的安全性和完整性 C. 减少数据操作的复杂性 D. 插入异常、删除异常和数据冗余 7.当前数据库应用系统的主流数据模型是(C )。 A. 层次数据模型 B. 网状数据模型

C. 关系数据模型 D. 面向对象数据模型 8.如果两个实体集之间的联系是m:n,转换为关系时( B )。 A. 联系本身不必单独转换为一个关系 B. 联系本身必须单独转换为一个关系 C. 联系本身也可以不单独转换为一个关系 D. 将两个实体集合并为一个实体集 9.候选码中的属性可以有( C )。

A. 0个 B. 1个 C. 1个或多个 D. 多个 10.下列关于关系性质的描述中正确的是( B )。 A. 关系中行的值可以相同 B. 关系中列的值可以相同 C. 关系中行的次序不可以交换 D. 关系中列的次序不可以交换 11.在 SQL 语句中,与 X BETWEEN 20 AND 30 等价的表达式是(B )。 A. X>20 AND X<30 B. X>=20 AND X<=30 C. X>20 AND X<=30 D. X>=20 AND X<30

12.数据库系统具有许多特点,使其很快成为数据处理的主要工具,下列哪个特点不是数据库系统的特点( B )。

A. 具有复杂的数据结构 B. 不存在数据冗余

C. 有效地实现数据共享 D. 具有较高的独立性

13.在下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字:

职工(职工号,职工名,部门号,职务,工资) 设备(设备号,职工号,设备名,数量) 两个关系的属性中,存在一个外码为( C )。 A. 职工关系的“职工号” B. 职工关系的“设备号” C. 设备关系的“职工号” D. 设备关系的“设备号” 14.数据库三级体系结构中,内模式是对( B )。 A. 内存数据组织的描述 B. 外存数据组织的描述 C. 逻辑数据组织的描述 D. 用户数据组织的描述

15.根据参照完整性规则,若属性F是关系S的主属性,同时又是关系R的外关键字,则关系R中F的值( B )。 A. 必须取空值 B. 必须取非空值 C. 可以取空值 D. 以上说法都不对

16.当B属性函数依赖于A属性时,属性A与B的联系是( A )。 A. 1对多 B. 多对1 C. 多对多 D. 以上都不是

17.一个工人可以加工多种零件,每一种零件可以由不同的工人来加工,工人和零件之间为 ( C )的联系。

A. 1对多 B. 多对1 C. 多对多 D. 以上都不是

18.关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的条件,这些规范条件中最基本的一条就是( A )。

A. 每一个分量是一个不可分的数据项,即不允许表中有表结构 B. 二维表中各列的宽度必须完全相等 C. 二维表中各行和各列的顺序不能交换

D. 属性名要么完全使用汉字,要么全部使用字母 19.关系数据模型的三个组成部分中,不包括( C )。 (A)完整性规则 (B)数据结构 (C)恢复 (D)数据操作

20.1NF、2NF、3NF、BCNF、4NF之间的关系是( B )。

(A)1NF≥2NF≥3NF≥BCNF≥4NF (B) 1NF2NF3NFBCNF4NF (C)1NF2NFBCNF3NF4NF (D)1NF2NF3NFBCNF4NF 21.现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期)的主码是(B)。 (A)宿舍编号 (B)学号 (C)宿舍地址,姓名 (D)宿舍编号,学号 22.如果在一个关系中,存在某个属性(或属性组),虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的(C)。 (A)候选码 (B)主码 (C)外码 (D)连接码 23.SQL语言具有(B)功能。

(A)关系规范化、数据操纵、数据(B)数据定义、数据操纵、数据控制 控制

(C)关系规范化、数据定义、数据(D)关系规范化、数据操纵、数据定义

控制

24.数据库的(B)是指数据的正确性和相容性。 (A)安全性 (B)完整性 (C)并发控制 (D)恢复

25.在SQL语言的SELECT语句中,用于对分组的结果进行筛选的是(B)子句

(A)GROUP BY (B)HAVING (C)ORDER BY (D)WHERE 26.在SQL语言中,子查询是( D)。 (A)返回单表中数据子集的查询语(B)选取多表中字段子集的查询语句 言 (C)选取单表中字段子集的查询语(D)嵌入到另一个查询语句之中的查询句 语句

27.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是__A__阶段。 (A)数据库系统 (B)文件系统 (C)人工管理 (D)数据项管理

28.关系运算中花费时间可能最长的运算是__C__。

(A)投影 (B)选择 (C)笛卡儿积 (D)除

29.关系规范化中的删除操作异常是指__A______。 (A)不该删除的数据被删除 (B) 不该插入的数据被插入 (C)应该删除的数据未被删除 (D)应该插入的数据未被插入 30.在关系数据库设计中,设计关系模式是__C__的任务。 (A)需求分析阶段 (B) 概念设计阶段 (C)逻辑设计阶段 (D)物理设计阶段 31.下列关于关系数据模型的术语中,(D)术语所表达的概念与二维表中的“行”的概念最接近。 (A)属性 (B)关系 (C)域 (D)元组 32.在SQL中,能够直接进行查询的是(C) (A)基本表 (B)视图 (C) 基本表和视图 (D)基本表和索引

33.在SQL语言的SELECT语句中,用于对结果元组进行排序的是(C)子句。

(A)GROUP BY (B)HAVING (C)ORDER BY (D)WHERE

34.设有关系SC(SNO,CNO,GRADE),主码是(SNO,CNO)。遵照实体完整性规则,下面(D)选项是正确的。 (A)只有SNO不能取空值 (B)只有CNO不能取空值 (C)只有GRADE不能取空值 (D)SNO与CNO都不能取空值 35.下面(C )操作是受限制的。 (A)视图定义 (B)视图查询

(C)视图更新 (D)视图授权

36.下面(B )操作是正确的。 (A)G=Null (B)G is Null (C)G<>Null (D)G!=Null

37.在SQL中,使用(A )可以实现实体完整性。 (A)PRIMARY KEY (B)FOREIGN KEY (C)NOT NULL (D)UNIQUE

38.已知SELECT语句的WHERE子句中包含“like %李_”,则(B)不包含在查询结果中。 (A)陈李广 (B)李晓 (C)张田李 (D)赵李杰

39.关系模式的候选码有1个或多个,而主码有(B)。 (A)0个 (B) 1个 (C)1个或多个 (D)多个

40.数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上建什么样的索引”这一设计内容应该属于(B)设计阶段。 (A)概念设计 (B)逻辑设计 (C)物理设计 (D)需求分析 二、判断题

×1.数据独立性是指数据之间彼此独立。错

2.数据库安全控制的目的是防止非法对数据库的使用和对数据库的恶意破坏。 对 ×3.数据管理经历了文件管理和数据库管理两个阶段。错 ×4.一个基本表最多只能有一个索引。错

5.已知学生关系student(学号, 姓名, 系别),如果规定学号的值域必须是7个数字组成的字符串,则这一个规则属于用户自定义完整性约束。对

6.存储过程独立于表,它只能存放在客户端,不能看成是数据库对象。对

7.若希望某数据库中的全体用户都具有某个权限,较好的做法是创建一个角色并将此权限授给该角色。对

8.日志文件是用于数据库恢复的重要文件。对

9.为了保证数据的完整性,事务必须具有原子性、一致性、隔离性和持久性。对 10.飞机的座位与乘客之间的联系是一对一联系。对 11.数据库系统的数据独立性体现在不会因为数据存储结构与数据逻辑结构的变化而影响应用程序( 对 )。

12.对关系模型来说,范式级别越高,实际应用效果越好。(对) 13.面向集合的操作方式是SQL语言的特点之一。(对)

14.视图是关系数据库系统提供给用户以多种角度观察数据库中的数据的重要机制。(对) 15.日志文件是记录用户对数据库所做的操作。(对)

16.对一个客观事物,可以用多种数据模型来描述( 对 )。

17.视图是虚表,属于外模式。视图机制提高了数据库系统的完整性。(对) ×18.数据库事务的原子性是指事物在执行过程中不能出现中断。 (错 ) 19. 实体完整性规则是对主属性取值的约束,参照完整性规则是对外码涉及的属性取值的约束。( 对 );

×20. 如果事务T获得了数据项Q上的排它锁,则T对Q只能读不能写。( 错 );

21.在SQL Server 2005中利用SELECT语句进行数据查询时,既可以用字段名作查询结果的标题,也可以指定查询结果的标题。( 对 )

×22.在定义表间关系时,应设立一些准则,这些准则将有助于维护数据的完整性。参照完整性就是在输入、删除或更新记录时,为维持表之间已经定义的关系而必须遵循的规则。(错 )

×23.关系模型中有三类完整性约束,并且关系模型必须满足这三类完整性约束条件。( 错 ) 24.视图能够简化用户的操作。 (对 )

25.索引有助于提高数据检索的速度,因此建立索引的数量越多越好。( 错)

26.Windows身份验证模式登录SQL Server服务器时不需要输入登录名和密码。( 对 ) 27.触发器可用于保证数据的完整性。( 对 )

×28.当一个表的各记录中某列的字符长度不固定时常将该列定义为CHAR类型。 ( 错 ) 29.在SELECT语句的WHERE子句中,完全可以用IN子查询来代替OR逻辑表达式。 (对 )

30.对表进行规范化的一个目的是减少数据冗余。 (对)

三、填空题

1、数据模型通常都是由数据结构、数据操作 和 数据约束 三个要素组成。 2.用二维表结构表示实体以及实体间联系的数据模型称为___关系模型___ 3、关系模型由 关系数据结构 、 关系操作集合 和 关系完整性约束 三部分组成 .

4.数据库设计一般分为如下六个阶段: 需求分析 、 概念结构设计、 逻辑结构设计 、 物理结构设计 、数据库实施、数据库运行与维护。 5、SQL语言中,实现数据检索的语句是____select from__。 6、数据依赖主要包括函数依赖、多值依赖和 连接 依赖。

7、将两个关系中满足一定条件的元组连接到一起构成新表的操作称为___θ-连接 _操作。

8、在SQL中如果希望将查询结果排序,应在Select语句中使用__ ORDER BY __子句。

9、视图是从_____基本表或视图___导出的表。它相当于三级结构中的 外模式 。 10、规范化过程,是通过投影分解,把___一个范式级别较低的__的关系模式“分解”为___若干个范式级别较高___的关系模式。 11、数据库系统的结构的三级模式是_外模式 、 概念模式 、 内模式 。 12、我们通常用__E-R__图来表示概念模型. 14、SQL Server权限的种类包括语句权限,_ 对象权限 _,固定角色隐含权限;对权限的管理则包括_授予_,拒绝,废除三种。 15、SQL是一种非过程化、面向_集合的操作方式_的数据库语言。

17、关系型数据库通过_外键___来实现数据库中数据的连接。 19、SQL的索引类型有___聚集索引__和____非聚集索引________。

20、外部关键字是表中的一个或多个字段,其_外部关键字的值_与相关表的__主关键字_相匹配。

四、简答题

1、 关系数据库的完整性规则有哪些?请简要说明。 1) 触发条件:规定系统什么时候使用规则检查数据

2) 约束条件:规定系统检查用户发出去的操作请求违背了什么样的完整性

约束条件

3) 违约响应:规定系统如果发现用户的操作请求违背了完整性约束条件,

应该采取一定的来保护数据的完整性,即违约时要做的事情。

2、 什么是封锁?封锁的基本类型有哪几种?其含义是什么?

封锁:就是当一个事务在对某个数据对象(可以是数据项、记录、数据集、以及整个数据

库)进行操作之前,必须获得相应的锁,以保证数据操作的正确性和

一致性。

基本类型:排它锁和共享锁

排它锁含义:简称X锁,禁止并发操作

共享锁含义:简称S锁,允许其他用户对同一数据对象进行查询,但不能对

数据对象进行修改。

3、 数据库设计分为哪几个了阶段?每个阶段的主要工作是什么?

1需求分析:分析用户的需求,包括数据、功能和性能需求; 2概念结构设计:主要采用E-R模型进行设计,包括画E-R图; 3逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换; 4数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径; 5数据库的实施:包括编程、测试和试运行;

6数据库运行与维护:系统的运行与数据库的日常维护 4、 试述数据模型的概念、数据模型的作用和数据模型的三要素。

数据模型的概念:数据库系统中用于提供信息表示和操作手段的形式构架,

是现实世界的模拟和抽象。

数据模型的作用:它能实现对现实世界特征的抽象和表示,借助它能实现全

面数据管理。

数据模型的三要素:数据结构,数据操作,数据完整性约束

五、综合题

(一)已知员工考勤数据库YGKQ包含JBQK(职工基本情况)数据表和QQLX(缺勤信息)数据表,表结构如表 1和表2所示:

表 1 JBQK(职工基本情况表结构) 字段名 zgh xm sj ts lx 字段类型 CHAR CHAR DATETIME INT CHAR 字段宽度 4 8 4 说明 职工号,主码 姓名 缺勤时间 缺勤天数 缺勤类型,外码

表 2 QQLX(缺勤类型信息表结构) 字段名 lx mc ms

请用SQL语句完成以下操作:

字段类型 CHAR CHAR VARCHAR 字段宽度 4 8 60 说明 缺勤类型,主码 缺勤名称 缺勤描述 1.查询每个职工的职工号、姓名、缺勤时间、缺勤天数和缺勤类型信息。

select * from JBQK

2.查询职工号为001的职工的姓名和缺勤天数。

select xm,ts from JBQK where zgh='001'

3.查询所有姓“张”的职工的职工号、缺勤天数。

select zgh,ts from JBQK where xm like '张%'

4.找出所有缺勤天数在2~3天的职工号和缺勤名称。

select zgh,mc from JBQK,QQLX where JBQK.lx=QQLX.lx

and ts between 2 and 3

5.查询缺勤名称为“病假”的职工的职工号和姓名。 select zgh,xm from JBQK where lx='病假'

6.查询缺勤天数超过平均缺勤天数的职工的职工号和姓名。

select zgh,xm from JBQK where ts>(select avg(ts)

from JBQK)

7.求各缺勤类别的人数。

select count(*) from JBQK group by lx

8.查询在职工基本情况表中没有出现过的缺勤类型及缺勤名称。 select

QQLX.lx,mc

from

JBQK,QQLX

where

JBQK.lx=QQLX.lx and not in(select lx,mc from JBQK) 9.使用SQL语句将“旷工”人员的缺勤天数增加一天。 update JBQK set ts=ts+1 where lx='旷工'

10.使用SQL语句创建一个名为zgqq(职工缺勤)的视图,要求能够使用该视图查询缺勤2天以上的职工的职工号、姓名、缺勤天数和缺勤名称。 create view zgqq as

select zgh,xm,ts,mc from JBQK,QQLX

where JBQK.lx=QQLX.lx and ts>2

(二)某大学的运动会比赛项目管理数据库包括如下三张表: Student(xh,xm,xb,nl,szx)

各属性分别表示学生的(学号、姓名、性别、年龄、所在系)。

Sports(xmh,xmm,dw)

各属性分别表示(运动项目的编号、名称、项目的计分单位)。 SS(xh,xmh,cj)

各属性分别表示(学号、运动项目的编号、成绩)。 根据上述情况,完成如下操作:

1. 使用SQL语言,创建student表,并定义xh为主键。 create table student( xh char(4) primary key, xm char(6), xb char(2), nl int, szx char(8))

2. 在Student表xh属性列上建立名称为xh的聚簇索引。 create cluster index Student_xh on student(xh);

3. 使用SQL语言 从表Student中删除学生“张三”的记录。 delete from student where xm=' 张三'

4. 使用SQL语言为SS表添加一条记录:学号为“xh001”的学生参与了编号为“xm001”的运动项目,但还没成绩。 insert into ss(xh,xmh) values('xh001','xm001') 5. 使用SQL语言,将Student表学号为“xh001”的学生的姓名改为“李明”。

update student set xm='李明' where xh='xh001' 6. 查询“计算机”系的学生参加了哪些运动项目,只把运动项目名称列出,去除重复记录。 select distinct xmm from student,sports,ss

where student.xh=ss.xh and sports.xmh=ss.xmh and szx='计算机'

7. 查询各个系的学生的“跳高”项目比赛的平均成绩 (不要求输出比赛项目的计分单位) 。 select avg(cj) from student,sports,ss

where student.xh=ss.xh and sports.xmh=ss.xmh and xmm='跳高'

group by szx;

8. 统计各个系的总成绩情况,并根据总成绩按降序排序。 select count(cj) 总成绩 from student,ss where student.xh=ss.xh group by szx order by 总成绩

9. 建立“计算机”系所有男学生的信息视图JSJ_M_Student。 create view JSJ_M_Student

as

select * from Student

where szx='计算机' and xb='男' 10.

回收用户“李明”对Sports表的查询权限。

revoke select on table Sports from 李明

因篇幅问题不能全部显示,请点此查看更多更全内容