数据库复习题

更新时间:2024-06-09 17:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库期末考试复习题

一、选择题。

1.数据库(DB)数据库系统(DBS)数据库管理系统(DBMS)三者之间的关系是(A)

A.DBS包括DB和DBMS B.DBMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB也就是DBMS

2.设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员之间的关系是(B)

A.m:n B.1:m C.m:k D.1:1 3.对于关系的描述正确的是(D) A同一个关系中允许有完全相同的元祖。 B同一个关系中元祖必须按关键字升序存放。

C在一个关系中必须将关键字作为该关系的第一个属性。 D同一个关系中不能出现相同的属性名。 4.E-R图用于描述数据库的(A)

A概念模型 B数据模型 C存储模型 D逻辑模型 5.关系模型的基本结构图是(D)

A树 B图 C环 D二维表(数据库系统概论p17)

6关于关系数据技术,下列描述正确的是(D) A关系数据模型早于层次和网状数据模型问世。

B关系数据的一个格点既可以存储一个基本数据也可以存储另一个关系表。 C关系表的一个属性对应现实世界中的一个客观对象

D关系代数中的并交差乘积运算实际上就是对关系的元组所实行的同名集合运算。

7关于数据模型下列叙述不正确的是(D)

A数据模型提供了一种描述实体及其联系的方法与工具 B数据模型是建立数据模式的工具,数据模式是数据模型在一个具体环境中的应用

C数据模型包含一组描述数据结构,数据操作与数据完整性约束的规则。 D关系表中的列可以再分解

8关系运算“交”可以使用其他基本关系运算替代,A∩B正确的替代表达式是(A)

A.A-(A-B) B.A∪(A-B) C.∏B(A) D.A-(A-B)

9关于规范化,下列叙述正确的是(C)

A规范化是为了保证存储在数在数据库中的数据正确,有效,互相不出现矛盾的一组规则。

B规范化是为了提高数据查询速度的一组规则。

C规范化是为了解决数据库中插入删除修改异常等问题的一组规则。 D4种规范化范式各自描述不同的规范化要求,彼此没有关系。 10.关于E-R图下列叙述不正确的是(B)

AE-R图是建立数据库应用系统的一种概念模型。 BE-R图只能用作建立关系模型。

1

CE-R图是采用矩形、椭圆、与菱形框,分别描述实体的名称、属性、和相互关系。

D现在还没有一种DBMS直接支持E-R模型。 11.下列叙述正确的是(D)

A设A→B是R(A,B,C,D)的一个函数依赖关系,为了节约存储空间,可以在R中不存储属性B。

B某些关系没有候选关键字。

C属性依赖关系A→B是说当B的属性值确定后,A的也随之确定

D若属性组合(A,B)是关系R的候选关键字,则A,B间没有函数依赖关系 (关系数据库基本原理p44)

12.SQL server2005运行平台是(A)

A Windows平台 BUNIX平台 C Linux平台 D NetWare平台

13SQLServer2005企业版不支持的Windows操作系统是(C)

AWindows2000Server B Windows XP C Windows98 D Windows2003Server

14SQL是(B)英文的缩写

A Stand Query language B Structured Query Language C Select Query Language D Some Query Language 15SQl是一种(C)语言

A高级算法 B人工智能 C关系数据库 D函数型

16SQl按其功能可以分为4类,包括查询语言,定义语言,操纵语言,控制语言,其中最重要的,使用最频繁的语言是(B)

A定义语言 B查询语言 C操纵语言 D控制语言 17关于SQLServer2005文件组的叙述正确的事(A)

A 一个数据库文件不能存放在两个或两个以上的文件组中。 B日志文件可以属于某个文件组。

C文件组中可以包含不同的数据库的数据文件。 D一个文件组只能只能放在同一个存储设备中。

18SQLServer2005的物理存储主要包括两类文件(B)

A主数据文件、次要数据文件 B数据文件、事务日志文件 C表文件、索引文件 D事务日志文件、文本文件 19按用途来分表可以分为(D)两大类。

A 数据表和索引表B系统表和关系表C用户表和非用户表D系统表和用户表 20用于存储数据库中表和索引等的数据库对象信息的文件是(A) A数据文件B事务日志文件C文本文件D图像文件 21主数据库文件的拓展名为(C )。

A ndf B db C mdf D ldf(数据库的管理p86)

23表设计器的“允许空”单元格用于设置改字段是否可输入空值,实际上就是创建该字段的(C)约束。

A主键 B外键 C非空 DCHECK

24下列关于主关键字叙述说法正确的是(A) A一个表中可以没有主关键字 B只能将一个字段定义为主关键字

2

C如果一个表只有一个记录,则主关键字字段可以为空 D以上选项均正确

25使用CREATE TABLE语句创建数据表时(C) A必须在数据表名称中指明表所属的数据库 B必须指明数据表的所有者

C指定的所有者和表名称组合起来在数据库中必须唯一 D省略数据表名称时,则自动创建一个本地临时表 26关于ALTER TABLE语句叙述错误的是(C)

A可以添加字段 B可以删除字段 C可以修改字段名称 D可以修改字段数据类型

27.若要删除数据库中已有的表A则用(C)语句

A.DELETE TABLE A B .DELETE A C .DROP TABLE A D.DROP A (表的管理p109)

28关于查询语句ORDER BY子句使用正确的是(C) A如果未指明排序字段,则默认递增排序 B表的字段可以用于排序

C如果在SELECT子句中使用了DISTINCT关键字,则必须出现在查询结果中 D连接查询不允许使用ORDER BY子句 29.在SQL语句中与表达式“工资BETWEEN1210AND1240”功能相同的表达式是(A) A工资>=1210AND工资<=1240 B工资>1210AND工资<1240 C工资<=1210AND工资>=1240 D工资>=1240OR工资<=1240

30使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当(B) A使用WHERE子句

B在GROUP BY后面使用HAVING子句 C先用WHERE子句在用HAVING子句 D先用HAVING子句在用WHERE子句

31对于某语句的条件WHERE Sdept LIKE’[CS]her%y’将筛选出(B)值。 ACSherry BSHrriey CChers D[CS]Herry

32设两表的记录数分别为3和4对两表执行交叉连接查询,查询结果中最多可获得(C)条记录

A3 B4 C12 D81(数据查询p127) 33参照完整性要求有联系的两个或以上表之间数据的一致性,参照完整性可以通过建立(B)来实现。

A主键约束和唯一性约束 B主键约束和外键约束 C唯一性约束和外键约束 D以上都不是

34.域完整性用于保证字段中数据的有效性,它要求表中指定列的数据具有正确的数据类型,格式和有效的(A)

A 数据值 B数据长度 C取值范围 D以上都不是 35以下关于约束的叙述不正确的是(C)

A规则是数据库中对存储在表中的列或用户定义数据类型中的值的规定和限制。 B规则是单独的存储的独立的数据对象。表或定义对象的删除,修改不会对与之相连的规则产生影响。

C规则和约束不能同时使用。

3

D表的列可以有一个及多个规则

36.创建默认值用Transact-SQL(A)语句

A CREATE DEFAULT B DROP DEFAULT C sp_bindefault D sp_unbindefault

37下列关于唯一性约束叙述中,不正确的是(D)

A唯一性约束指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的值

B唯一性约束指定的列可以有NULL属性

C主键可以强制唯一性,但主键不允许空值故主键约束强度大于唯一性约束 D主键可以设定唯一性约束。 (数据完整性p165) 二、填空题。

1.数据是表示信息的载体/符号,信息是数据所包含的意义。 2.数据库系统是在计算机系统中按照一定的方式组织,存储和应用的相关联的数据集合。

3.支持数据库各种操作系统的软件系统叫DBMS

4.由计算机硬件、操作系统、DBMS、数据库、应用程序及有关人员等组成的一个整体叫DBS

5数据库中常用的逻辑数据模型是层次模型,网状模型,关系模型,SQL sever属于关系模型。(数据库系统概论p17)

6.数据完整性包括实体完整性、参照完整性、用户自定义完整性。

7.设关系模式R(A,B,C,D),(A,B)→C,A→D是R属性依赖函数并且A→C,B→C,A→B,B→A均不成立则R的候选关键属性是(A,B)。为使满足2NF,应将R分解为R1(A,D)和R2(A,B,C).

8关系属性不能进一步分解,这一属性被称为属性的元子特性。 9为实现实体间的关系,建立关系模式是需要使用外键。 10设关系模式R(ABCD)的属性依赖于函数集F={(A,B)→A,A→B,(A,C)→B,A→C,A→D}与F等价的最小函数依赖关系是F1=(A→B,A→C,A→D).

11某同学建立的教师档案数据关系为Teacher(编号,姓名,出生年月,职称,从事专业。研究方向),从教师Teacher中查询该校所有教授的情况应使用选择关系运算。

12Microsoft公司提供了5种版本的SQL Server2005它们的名称分别为企业版,标准版,开发版,工作组版,精简版。(关系数据库基本原理p45)

13.SQL Server2005支持两种登录认证模式一种是Windows另一种是其同模式 14 SQL Server2005系统提供的管理工具主要包括SQL Server管理平台SQL Server商业智能开发平台,分析服务工具,SQL Server配置管理器,数据库引擎顾问和事件侦查器。

15 SQL Server管理平台分为左右两个区域一般已注册服务器窗口,对象资源管理器在左边,文档窗口等以选项卡的形式在右边。

16.SQL绝不仅仅是一个查询工具,它可以独立完成数据的全部操作。按其实现的功能可以将SQL语言划分为为数据查询语言,数据定义语言,数据操纵语言和数据控制语言4类。

17在SQL Server中,数据库是由数据文件和事务日志文件组成的。

4

18在SQL Server2005中系统数据库是master , tempdb , model ,msdb和mssqlsystemresource.

19在SQL Server2005中,文件可以分为3大类,数据文件,事务日志文件和文件组。

20默认情况下安装SQL Server2005后,系统自动建立的5个数据库。

21使用Transact-SQL管理数据库时,创建数据库的语句是create database,修改数据库的语句是alter database database-name,删除数据库的语句是drop database.

(数据库的管理p87)

22整数型的int型的范围是-2 21-221-1,整型的tinyint型数的范围为0-255. 23表中某列为变长字符数据类型varchar(100)其中100表示输入存储字段小于100时按原字段存,大于100时截取100位。字符串为gtym13e5,存储的字符长度为8个字节。

24SQL Server支持4种基本数据类型,字符型和二进制数据类型,日期时间数据类型,逻辑数据类型,数字数据类型,用于各种数据值的存储检索和解释。 25ALTER TABLE不能修改数据表中的字段名称和列。

26Transact-SQL中添加记录使用insert语句,修改语句用update语句,删除记录用truncate语句或delete。(表的管理p109)

27如果要用SELECT语句指定返回条数的记录,则应使用TOP/PERCENT关键字来定输出字段。

28.联合查询指使用UNION运算将多个查询数据/结果集合并到一起。

29.当一个子SELECT的结果作为查询的条件,即在一个SELECT命令的WHERE子句中出现另一个SELECT命令,这种查询成为嵌套查询/子查询。 30连接查询可以分为3类内链接,外连接,和交叉连接。

31.内链接查询可以分为等值连接,不等值连接和自然连接3类。 32.若要把查询结果存放到一个新建的表中,可以使用insert子句。 (数据查询p127)

33实体完整性又称为行的完整性,要求表中有一个主键。

34创建值和默认对象的Transact-SQL语句可以分为create rule和create default,而不能使用SQL Server管理平台工具创建。

35如果要确保一个表中的非主键列输入不重复,应该在该列上定义唯一性(非主键)约束。

36.在一个表中最多只能有一个关键字为(主键)primary key约束,关键字为FOREIGN KEY的约束可以出现多次。

37CHECK约束被称为查询约束,UNIQUE约束被称为唯一性约束。 38.使用一种约束时,可以使用关键字CONSTRANT和标识符CONSTRANT_NAME的选项命名该约束。也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。

(数据完整性P166) 三、名词解释 1数据库(DB):是指数据库系统中按照一定的方式组织的、存储在外部存储设备上的、能为多个用户共享的、与应用程序相互独立的相关数据集合。(p4) 2数据库系统(DBS):它是基于数据库的计算机应用系统。也是由计算机系统数据库及其描述机构,数据管理系统和有关人员组成的具有高度组织性的总

5

体.(p4)

3数据库管理系统(DBMS):它对数据进行统一的控制和管理,把所有的应用程序中使用的相关数据汇集起来按照统一的数据模型、已记录为单位用文件方式存储在数据库中,为各个应用程序提供方便的快捷的查询和使用。(数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。--百科上的解释)(p4)

4数据模型:data model)是现实世界中数据特征的抽象,他表现为一些相关数据组织的集合。包括概念模型,逻辑模型和物理模型。(p8) 5概念模型:(conceptual model)也被称为信息模型,是按用户观点对数据和信息进行建模,描述现实世界的概念化结构。(p8)

6物理模型:用以描述数据在物理存储介质上的组织结构与具体的DBMS操作系统和硬件有关。(p9)

7 E-R图:是用一种直观的图形方式建立现实世界中实体及其联系模型的工具,也是设计数据库的一种基本工具。E-R模型:用矩形表示现实世界中的实体,用椭圆表示实体的属性,用菱形表示实体间的联系,实体名属性名和联系名分别写在相应的框内,并用线段将各框连起来。

8 1NF:当关系R的所有属性都不能再分解为更基本的数据元素时,即R的所有属性均满足原子特征时,称为第一范式。简记为1NF。

9 2NF:如果关系模式R满足第一范式,并且R的所有非主属性都完全依赖于R的每一个候选关键属性称R满足第2范式,简记为2NF

10 3NF:设R是一个满足1NF的关系模式,X是R的任意属性组,如果X非传递依赖于R的任意一个候选关键字,称R满足第3范式,简记为3NF。(p30) 11实体:是现实世界中任何可区分可识别的事物。 12实体属性:实体的特征成为属性(p9)。区别于关系属性:二维表的每一列在关系中称为属性(p22)。

13关键字:关系中能够唯一区分确定不同元组的单个属性或属性组合称为该关系的一个关键字。又被称为键或码(key)(P22)

14外部关键字:如果关系中某个属性或属性组合并非本关系中的关键字但却是另一个关系中的关键字,这样的属性或属性组合被称为本关系中的外部关键字或外键(FOREIGN KEY,FK)(P22)

15关系模型:采用二维表描述实体的静态特征及其相互联系。用表的行描述实体对象用元素描述对象的相应属性。有关系运算规则和完整性约束规则来限制。 16数据约束:是SQL Server提供的自动保持数据库中数据完整性的一种机制它定义了可输入表或表的单个列中的数据限制条件。(p20)

17数据操作:对数据创建管理维护包括对数据的插入删除更新等的操作使数据信息的使用完整方便快捷(作者自己的定义)。

18属性间函数的依赖:设X、Y、Z是关系模式R的不同属性集,若X→Y(并且Y→X不成立)Y→Z,称X传递决定Z或称Z传递函数依赖于X。(p29) 三、问答题。

1什么是数据库、数据库管理系统、以及数据库系统?它们之间有什么联系? 答:数据库是指数据库系统中按照一定的方式组织的,存储在外部存储设备上的能为多个用户共享的、与应用程序和互相独立的相关数据集合。数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。

6

数据库系统是基于数据库的计算机应用系统。也是由计算机系统数据库及其描述机构,数据管理系统和有关人员组成的具有高度组织性的总体.(p4)

联系:数据库系统包括数据库管理系统,和数据,数据库管理系统是数据库系统的核心软件之一。

2实体间的联系有哪几种?分别举例说明。

答:一对一联系1:1,一对多联系1:m,多对多联系m:n。 例子:1:1一个厂只有一个厂长,一个厂长只在一个厂任职。 1:m一个公司只有多个职员,一个职员只能在一个公司就职。

m:n一个读者可以读多种图书,任何一种图书可以为多个读者借阅。

3什么是数据模型?目前数据的逻辑模型主要有哪几种?它们各有什么特点? 答:数据模型是对现实世界中数据的抽象,它表现为一些关系数据组织的集合。种类:概念模型,逻辑模型,物理模型。

特点,概念模型:按用户观点对数据和信息进行建模,描述现实的概念化结构;逻辑模型按计算机观点对数据进行建模服务于DBMS的应用实现;物理模型数据库在物理存储介质上的组织结构。 4简述下列3条语句的异同

(1)Drop table order(2)Delete orders(3)Truncate orders 答:共同点:在数据库中都是用以删除数据的语句。

不同点:(1)用以删除表即删除行,可以删除数据库,删除时组成该数据的所有磁盘文件将被同时删除;(2)用以删除所有列,删除一次在事务日志中记录一次;(3)用以删除列,每次删除都不记录事务日志只记录删除释放,(3)比(2)删除的速度快。

5在Sales数据库的Sell_order表中cost(费用)列允许为空。当一个NULL值和一个货币类型被填入到某两行的cost列后,试比较这两个cost值的大小。 答:不能比较大小,因为NULL是未定值不是没有值,而货币类型是一个实际数据,故不能比较大小。

6主键约束和唯一性约束的异同点是? 答:相同点:均是为数据添加约束。 区别:唯一性约束用于非主键的一列或列的组合;一个表可以定义多个唯一性约束,而只能定义一个主键约束;唯一性约束可用于定义允许为空的列,而主键约束不能用于定义允许为空的列。

四、应用题P128(必考题型)

1.使用语句创建学生基本信息表,student

(s_on,s_name,s_sex,birthday,polity)和学生成绩表

sco(s_on,c_no,score),针对这两个表利用select语句实现以下六个操作: use students go

create table student1 (

s_no char(6) not null primary key, s_name varchar(20) not null, s_sex char(2) not null,

7

birthday datetime, polity char(10) )

create table sco (

s_no char(6) not null

foreign key (s_no) references student1(s_no) on delete no action on update cascade, c_no char(6) not null, score float null )

insert student1

values('450005','ae','女','1994-5-4','团员')

insert sco

values('450005','03',94)

/*增加列的唯一性约束*/ alter table sco

add constraint u_s_no unique(s_no) /*增加表的主键约束*/ alter table sco

add constraint pk_s_c primary key(s_no,c_no)

使用SQL语句创建学生基本信息表,(student(s_no,s_name,s_sex,

birthday,polity),学生成绩表sco(s_no,c_no,score))利用这两个表实现以下语句:

--(1)所有学生的基本信息,并按学号排序 select * from student1 order by s_no

--(2)所有女生的信息和女生的人数 select * from student1 where s_sex = '女'

select count(*) as '女生人数' from student1 where s_sex = '女'

select *

from student1

where s_sex = '女'

8

order by s_sex

compute count(s_no) by s_sex

--(2)所有男生的姓名、出生日期、年龄

select s_name,birthday,year(getdate())-year(birthday) as age from student1

where s_sex = '男'

--(4)所有学生的姓名、出生日期、年龄、选修的课程和成绩。 select s_name,birthday,year(getdate())-year(birthday) as age,c_no,score

from student1 s inner join sco c on s.s_no = c.s_no

--(5)某个指定姓名学生的成绩。 select s_name,score

from student1 s join sco c on s.s_no = c.s_no where s_name = 'ae'

--(6)不及格学生的姓名。 select s_name,score

from student1 s join sco c on s.s_no = c.s_no where score < 60

--(7)按性别进行分组查询,查询男女生的平均成绩。 select s_sex,avg(score) as average from student1 s join sco c on s.s_no = c.s_no

--where c.c_no = 1 --查询指定课程的平均成绩 group by s_sex /* 2. 使用如下个表,写出操作语句。 部门:部门号,部门名,负责人,电话

职工:部门号,职工号,姓名,性别,出生日期 工资:职工号,基本工资,津贴,奖金,扣除 (1) 查询职工的实发工资。 (2) 查询年月日出生的职工信息。 (3) 查询每个部门年龄最长者的信息,要求显示部门名称和最长者的出生日期。 (4) 查询所有目前年龄在岁以上(不含岁)的职工姓名、性别和年龄。 (5) 查询有名以上(含名)职工的部门名称和职工人数,并按职工人数降序排

9

序。 */

create database test use test go

create table 部门 (

部门号char(2) not null, 部门名char(40) not null, 负责人char(10) not null, 电话char(11) )

create table 职工 (

部门号char(2) not null, 职工号char(6) not null, 姓名char(10) not null, 性别char(2) not null, 出生年月datetime )

create table 工资 (

职工号char(6) not null, 基本工资float not null, 津贴float not null, 奖金float, 扣除float )

--(1)查询职工的实发工资。

select 职工号,基本工资+津贴+奖金-扣除as 实发工资 from 工资

--(2)查询年月日出生的职工信息。 select * from 职工

where 出生年月='1962-10-27'

--(3)查询每个部门年龄最长者的信息,要求显示部门名称和最长者的出生日期。

select 部门名,min(出生年月) as 最长者出生日期 from 职工zg join 部门bm on zg.部门号=bm.部门号 group by 部门名

--(4)查询所有目前年龄在岁以上(不含岁)的职工姓名、性别和年龄。

10

select 姓名,性别,year(getdate())-year(出生年月) as 年龄 from 职工

where year(getdate())-year(出生年月)>35

--(5)查询有名以上(含名)职工的部门名称和职工人数,并按职工人数降序排序

select 部门号,count(部门号) from 职工

group by 部门号

having count(部门号)>1

order by count(部门号) desc

select 部门名,count(zg.部门号) as 人数 from 职工zg join 部门bm on zg.部门号=bm.部门号 group by 部门名

having count(zg.部门号)>1

order by count(zg.部门号) desc

11

select 姓名,性别,year(getdate())-year(出生年月) as 年龄 from 职工

where year(getdate())-year(出生年月)>35

--(5)查询有名以上(含名)职工的部门名称和职工人数,并按职工人数降序排序

select 部门号,count(部门号) from 职工

group by 部门号

having count(部门号)>1

order by count(部门号) desc

select 部门名,count(zg.部门号) as 人数 from 职工zg join 部门bm on zg.部门号=bm.部门号 group by 部门名

having count(zg.部门号)>1

order by count(zg.部门号) desc

11

本文来源:https://www.bwwdw.com/article/hzw6.html

Top