数据库复习题目

loading 分享 2026-7-17 下载文档

一、选择题

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

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

2. 目前( A )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行

的商用数据库系统。 A.关系 B.面向对象 C.分布 D. 层次 3.为数据表创建索引的目的是( A )。

A.提高查询的检索性能 B.创建唯一索引 C.创建主键 D.归类 4.以下关于主键的描述正确的是( A )。

A.标识表中唯一的实体 B.创建唯一的索引,允许空值 C.只允许以表中第一字段建立 D.表中允许有多个主键

5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职

员,从职员到部门的联系类型是( C ) A、多对多 B、一对一 C、多对一 D、一对多

6.查询员工工资信息时,结果按工资降序排列,正确的是( B )

A、ORDER BY 工资 B、ORDER BY 工资 desc C、ORDER BY 工资 asc D、ORDER BY 工资 dictinct 7.实现分组查询的子句是( C )

A.JOIN子句 B.ORDER BY子句 C.GROUP BY 子句 D.以上都不是

8. Select 职工号 FROM 职工 WHERE 工资>1250 命令的功能是( D )。

A.查询工资大于1250的纪录 B.查询1250号记录后的记录 C.检索所有的职工号 D.从[职工]关系中检索工资大于1250的职工号 9. 在SQL中,建立表用的命令是 ( B )。

A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX

10.对于数据库的管理,SQL Server的授权系统将用户分成四类,其中权限最大的用户是 ( B )

A、一般用户 B、系统管理员 C、数据库拥有者 D、数据库对象拥有者 二、判断题

( N )1.数据的完整性主要防范的对象是非法用户。 ( N )2.一个表可以创建多个主键。 ( Y )3.在SQL Server系统中,数据信息和日志信息不能放在同一个操作系统文件中。 ( Y )4.存储过程是存储在服务器上的一组预编译的Transcat-SQL语句。 ( N )5.规则必须使用一次就必须定义一次。 ( Y )6.缺省情况下,所创建的索引是非聚集索引。

( Y )7.自定义函数在对任何表的查询中都可以使用。 ( Y )8.触发器是可在程序中被调用执行。

( N )9.在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统会

自动为该行标识列赋值。

( Y )10.sa能创建和删除数据库角色。

三、填空题

1. SQL SERVER2005中有______ DML触发器_______和 _____ DLL触发器_______两类触发器。

2. 索引的类型主要有________聚集索引_________和_________非聚集索引_________。 3. SQL Server 2000局部变量名字必须以____认证____开头,而全局变量名字必须以__访问许可____开头。

4. SQL Server 的安全性管理有______系统登录名_______和_____sa登陆____两种机制。 5. SQL Server聚合函数有最大、最小、求和、平均和计数等,它们分别是__ MAX ____、___MIN____、___SUM____、___AVG___和__COUNT____ .

6.SQL Server 2005提供的数据库备份方法有____完整___数据库备份和___差异_____数据库备份、______事务日志______备份和文件和文件组备份。

7.已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。分析以下SQL语句: SELECT SNO FROM SC

WHERE SCORE = (SELECT MAX(SCORE) FROM SC WHERE CNO=’002’) 简述上述语句完成的查询操作是_________检索有与课程号为“002”的课程的最高成绩相等的同学的学号__________________________。

8. 关系数据模型的逻辑结构是_____二维表_____,关系中的列称为____属性____,行称为___元组_____。

四、简答题

1、简述视图及其作用。

第一点:使用视图,可以定制用户数据,聚焦特定的数据。 第二点:使用视图,可以简化数据操作。

第三点:使用视图,基表中的数据就有了一定的安全性 第四点:可以合并分离的数据,创建分区视图

2、建立索引的一般原则是什么?

唯一值,数据量大的时候,并且该字段较常用语查询判断,建立索引加快了查询的速度

3、什么是数据完整性?SQL SERVER2005提供了哪些机制来强制列中数据的完整性? 数据完整性.是指数据的精确性.和可靠性.它是应防止数据库中存在不符合语义规定的数

据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性、域完整性、参照完整性、用户定义的完整性。

数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好

地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。

五、阅读程序题

设有学生选修课程数据库中的数据表:

学生表(学号,姓名,年龄,性别,所在系,地址,出生日期) 选课表(学号,课程号,成绩)

课程表(课程号,课程名称,教师姓名) 阅读下面sql语句,写出该语句实现的功能: (1) create database [学生选修课程数据库] go

use [学生选修课程数据库] go

创建数据库[学生选修课程数据库]。 设置当前数据库为[学生选修课程数据库]

(2)create table课程表

([课程号] char(6) primary key, [课程名称] char(40) not null [教师姓名] char(8) )

创建[课程表]代码

要求使用:主键(课号)、非空(名称)

(3)select 课程名称 from 课程表 where 课程号 in

(select 选课表.课程号 from 选课表,学生表

where (选课表.学号=学生表.学号) and (学生表.姓名='刘静娴'))

“刘静娴”所选修的全部课程名称。

(4)select 学生表.学号, 学生表.姓名

from 学生表, 选课表, 课程表

where (选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号) and (教师姓名<>'李老师')

没有选修李老师所讲课程的学生。

(5)select 学生表.学号, 姓名, 所在系

from 学生表, 选课表, 课程表

where (选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号) and (课程名称 = '操作系统') order by 成绩 desc

选修“操作系统”课程的学生学号、姓名、所在系,按成绩降序排列。

六、程序设计题

现有关系数据库如下: 数据库名:班级同学数据库

同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号) 宿舍表(宿舍号 char(6),宿舍电话)

用SQL语言实现下列功能的sql语句代码: 1. 创建数据库[班级同学数据库]代码。

create database [我班同学数据库] go use [我班同学数据库] go

2.创建数据表[宿舍表]代码;

宿舍表(宿舍号 char(6),宿舍电话)

要求使用:主键(宿舍号)、宿舍电话:以848开头的8位电话号码

create table 宿舍表

([宿舍号] char(6) primary key,

[宿舍电话] char(8) check([宿舍电话] like '848[0-9][0-9][0-9][0-9]'))

3.创建数据表[同学表]代码;

同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)

要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)

create table 同学表

(学号 char(6) primary key, 姓名 nchar(4) not null, 性别 nchar(1) check(性别 in ('男', '女')),

年龄 int , 民族 nchar(8) default '汉族' not null, 身份证号 char(18) unique,

宿舍号 char(6) references 宿舍表(宿舍号) )

4.将下列宿舍信息添加到宿舍表的代码 宿舍号 宿舍电话 101 84811157 102 84811777

修改 宿舍号为101的 宿舍电话:84811158 删除 宿舍号为102的 宿舍信息

insert 宿舍表 values('101', '84811157') insert 宿舍表 values('102', '84811777')

update 宿舍表 set 宿舍电话='84811158' where 宿舍号='101' delete 宿舍表 where 宿舍号='102'

5.创建视图[同学表视图]代码

同学表视图(学号, 姓名, 性别, 年龄, 民族, 身份证号, 宿舍号, 宿舍电话)

create view [同学表视图] as

select 学号, 姓名, 性别, 年龄, 民族, 身份证号, 同学表.宿舍号, 宿舍电话 from 同学表,宿舍表

where 同学表.宿舍号=宿舍表.宿舍号

6.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。

select 姓名, 性别, 宿舍电话 from 同学表视图 where 姓名 like '张%' and 性别='女'

7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。

select 最大年龄 = max(年龄), 最小年龄 = min(年龄), 平均年龄 = avg(年龄) from 同学表 where 性别='女'


数据库复习题目.doc 将本文的Word文档下载到电脑
搜索更多关于: 数据库复习题目 的文档
相关推荐
相关阅读