《网络数据库管理与开发》练习题
一、单选题
1.不属于数据库管理系统三个要素组成的是( D )。
A. 数据结构 B. 数据操作 C. 完整性约束
D. 数据分析
2.删除表中数据的语句是( D )。
A. DROP B. ALTER C. UPDATE
D. DELETE 3.输入到列的值的范围,应使用( D )约束。
A. CHECK B. PRIMARY KEY C. FOREIGN KEY
D. UNIQUE
4. 触发器可引用视图或临时表,并产生两个特殊的表是( A A.Deleted、Inserted B. Delete、Insert C. View、Table
D. View1、table1
5.使用索引下列哪个说法是正确的( B )。
A. 节省磁盘空间 B. 缩短查询时间
C. 在执行插入、修改、删除时节省时间 D. 与表无关
6.关于视图下列哪一个说法是错误的( B )。
A. 视图是一种虚拟表 B. 视图中也存有数据
)。* *
C. 视图也可由视图派生出来
D. 视图是保存在数据库中的SELECT查询 7. 下列四项中,不属于数据库特点的是( C )。
A.数据共享 C.数据冗余很高
B.数据完整性 D.数据性高
8. 下列四项中,不属于SQL2000实用程序的是( D )。
A.企业管理器 C.服务管理器
B.查询分析器 D.媒体播放器
9. SQL Server安装程序创建4个系统数据库,下列哪个不是( C )系统数据库。
A.master C.pub
B.model D.msdb
10.( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS C.DBS 11.
B.DB D.DBA
在SQL中,建立表用的命令是 ( B )。 A.CREATE SCHEMA C.CREATE VIEW
B.CREATE TABLE D.CREATE INDEX
12.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( A )。
A.包括15岁和35岁 B.不包括15岁和35岁
C.包括15岁但不包括35岁 D.包括35岁但不包括15岁
13.下列四项中,不正确的提法是( C )。
A.SQL语言是关系数据库的国际标准语言 B.SQL语言具有数据定义、查询、操纵和控制功能 C.SQL语言可以自动实现关系数据库的规范化 D.SQL语言称为结构查询语言
14.在MS SQL Server中,用来显示数据库信息的系统存储过程是( A. sp_dbhelp B. sp_db C. sp_help
D. sp_helpdb
15.SQL语言中,删除表中数据的命令是( A )。
A. DELETE B. DROP C. CLEAR
D. REMOVE
16.SQL的视图是从( C )中导出的。
A. 基本表 B. 视图 C. 基本表或视图 D. 数据库
二、名词解释
1、视图
视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表2、索引
索引就是表中数据和相应存储位置的列表。
* *
)。
D * *
3、存储过程
存储过程是存储在服务器上的一组预编译的Transact-SQL语句。 4、游标
游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自己
的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。 5、备份
备份是指将数据库复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据的介
质上,作为副本。一旦数据库因意外而遭损坏,这些备份可用来恢复数据库。
三、判断题
1、 安装Microsoft SQL Server 2000 企业版对操作系统的最低要求可以是Microsoft
Windows 2000 Professional。N
2、 每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务
器。Y
3、 验证模式是在安装SQL Server过程中选择的。系统安装之后,可以重新修改SQL Server
系统的验证模式。Y
4、 固定数据库角色:db_datarader 的成员不能修改本数据库内表中的数据。Y 5、 当用户定义的数据类型正在被某个表的定义引用时,这些数据类型不能被删除。Y 6、 在使用子查询时,必须使用括号把子查询括起来,以便区分外查询和子查询。Y 7、 索引越多越好。N
8、 视图本身不保存数据,因为视图是一个虚拟的表。Y
9、 创建触发器的时候可以不是表的所有者或数据库的所有者。N 10、select 16%4, 的执行结果是: 4 吗?N
* *
11.在SQL Server中用户不能建立全局变量。Y 12.备份时只能对数据文件进行备份。N
13.自定义函数在对任何表的查询中都可以使用。Y 14.触发器是通过事件进行触发而被执行的。Y 15.主键字段允许为空。N
16.SQL Server 自动为primary key约束的列建立一个索引。Y
三、填空题
1、SQL Server登录身份验证模式类型有____ Windows认证模式_____ 和____混合模式
_____ 两种。
2、数据库对象就是存储和管理数据库的结构形式,这些数据库对象包括数据库图表、表、
函数、视图、___存储过程______ 、____触发器_____ 、缺省、规则等。
3、表是由行和列组成的,行有时也称为_____记录____,列有时也称为___字段______或域。 4、数据库操作语句就是指insert、____ update _____、____ delete _____和select语句。 5、创建索引的方法可以分为_____直接方法____和___间接方法______。
6、在Microsoft SQL Server系统中,支持3种类型的备份介质:_____硬盘文件____、磁带
和____ Named Pipe(或命名管道)_____。
7、触发器有3种类型,即insert类型、_____ update ____和___ delete ______。
8、Transact-SQL语言有4部分元素组成,分别是:数据定义语言、______数据控制语言
__________、_____数据操作语言_________ 和一些附加的语言元素。 9、事务的4个属性:原子性、一致性、_______性和____持久___性。
10. 选择运算是根据某些条件对关系做____水平__分割;投影是根据某些条件对关系做___
* *
垂直___分割。
11.____关系完整性____是为保证数据库中数据的正确性和相容性,对关系模型提出的某
种约束条件或规则。
12.数据完整性的类型有___实体_____完整性、___域_____完整性、_____参照___完整性和
用户自定义完整性。
13.视图是由一个或多个___数据表___或视图导出的__虚拟表____或查询表。 14.____角色__是指服务器管理、数据库管理和数据库访问特定的权限的集合。 15.SQL Server的安全性分为两类:____数据访问___安全性和____数据运行___安全性。 16.___存储过程____是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL
语句。
17.当__表____被删除时与它关联的触发器也一同被删除
四、简述题
1. 在SQL Server 2000中,使用视图的好处是什么? (1) 为用户集中需要的数据,简化了数据的用户操作; (2) 对用户隐藏了数据库设计的复杂性; (3) 简化用户权限的管理。
2. 在SQL Server 2000数据完整性类型及其实现技术有哪些?
(1)域完整性:DEFAULT(默认值)、DEFAULT(默认技术)、CHECK(检查)、RULE(规则技术)
(2)实体完整性:PRIMARY KEY(主键)、UNIQUE(唯一键)、IDENTITY(标识列) (3)参照完整性:FOREIGN KEY(外键) 3. 简述使用游标的步骤。
* *
(1) 声明游标:declare 游标名 cursor for select语句; (2) 打开游标:open 游标名; (3) 处理数据: fetch delete update (4) 关闭游标:close 游标名; (5) 释放游标:deallocate 游标名; 4、简述SQL Server 2000的安全机制(6级)。 1. 计算机的连接
2. SQL Server登录(账户、固定服务器角色) 3. 库的访问(用户/角色:固定/自定义角色) 4. 表/视图的权限(select insert update delete) 5. 存储过程、内嵌表值函数的权限(execute select) 6. 表(视图)中列的权限(select update) 5、创建数据库的3种方法
在Microsoft SQL Server系统中,有3种创建数据库的方法: (1) 使用CREATE DATABASE语句 (2) 使用创建数据库向导 (3) 使用企业管理器
6、自定义内嵌表值函数与视图的使用有什么不同?
内嵌标值函数可用于实现参数化视图的功能。这种类型的函数在使用参数和扩展索引视图方面提供了比视图更多的灵活性。 7、什么是数据库备份和恢复?
备份是指将当前的数据库系统、数据文件或日志文件复制到一个专门的备份服务器、活
* *
动磁盘或者其他能长期存储数据的介质上,作为副本。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。一旦数据库因意外而遭损坏,这些备份文件可用来恢复数据库。
恢复是与备份相对应的数据库管理工作,系统进行数据库恢复的过程中,自动执行安全性检查,然后根据数据库备份自动创建数据库结构,并且恢复数据库中的数据。 8、什么是视图?它和表有什么区别?
视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
视图是虚表。所谓虚表,就是说视图不是表。因为视图只储存了她的定义(select语句),而
没有储存视图对应的数据,这些数据仍存放在原来的数据表(基表),数据与基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
9、自定义函数与存储过程的区别是什么?
自定义函数在被调用的位置上返回数据值,存储过程既不能在被调用的位置上返回数据,
也不能被引用在语句当中。
五、设计题
(一)
有一个[学生课程]数据库,数据库中包括三个表:
学生表由学号、姓名、性别、年龄、所在系五个属性组成,
可记为:学生表(学号,姓名,性别,年龄,所在系) [学号]为关键字。 课程表由课程号、课程名、先修课号、学分四个属性组成,
可记为:课程表(课程号,课程名,先修课号,学分) 课程表为关键字。
* *
学生选课表由学号、课程号、成绩三个属性组成,
可记为: 成绩表(学号,课程号,成绩) (学号、课程号)为关键字。 编写用SQL语言实现下列功能的sql语句代码:
1、建立一个[学生表],其中学号属性不能为空,并且其值是唯一的。 建立一个学生表。
CREATE TABLE 学生表
(学号 CHAR(5) NOT NULL UNIQUE, 姓名CHAR(20), 性别 CHAR(2), 年龄 INT,
所在系 CHAR(15)) 2、查询全体学生的详细记录。 SELECT * FROM 学生表
3、查询年龄在20至23岁之间的学生的姓名、系别、和年龄。 SELECT 姓名, 所在系, 年龄 FROM 学生表
WHERE 年龄 BETWEEN 20 AND 23 4、计算1号课程的学生平均成绩。 SELECT AVG(成绩) FROM 成绩表 WHERE 课程号='1'
5、将计算机科学系全体学生的成绩置零。 UPDATE 成绩表 SET 成绩=0 WHERE 学号 in
( SELECT 学号 FROM 学生表 WHERE Sdept ='计算机科学系') (二)
现有关系数据库如下: 数据库名:学生成绩数据库
* *
学生表(班级编号,学号,姓名,性别,民族,身份证号,出生日期) 课程表(课程号,课程名) 成绩表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码:
1.在[学生成绩数据库]的[学生表]中查询年龄为20岁或22岁的学生。 在学生成绩数据库的学生表中查询年龄为20岁或22岁的学生
use 教学成绩管理数据库
select 姓名, 性别, 年龄=datediff(year,出生日期,getdate()) from 学生表
where (datediff(year,出生日期,getdate())=20) or (datediff(year,出生日
期,getdate())=22)
2.在[学生成绩数据库]中查询每个学生的班级编号、学号、姓名、平均分,结果按平均分
降序排列,均分相同者按班级排列。 use 教学成绩管理数据库
select 班级编号,a.学号,a.姓名, avg(分数) 平均分 from 学生表 as a join成绩表 as b on a.学号 = b.学号
group by 班级编号, a.学号,a.姓名 order by avg(分数) desc, 班级编号 asc
3.编写一个自定义函数,根据[学生表]中的[出生日期]列,计算年龄。
CREATE FUNCTION dbo.计算年龄(@vardate datetime,@Curdate datetime) RETURNS tinyint AS BEGIN
* *
return datediff(yyyy, @vardate, @Curdate) END
4.创建一个视图[教学成绩表视图]显示学生的学号、姓名、课程名、分数。
CREATE VIEW [教学成绩表视图] AS
SELECT 学号, 姓名, 课程名, 分数 FROM 学生表, 成绩表 WHERE 学生表.学号=成绩表.学号
5.编写一个存储过程,输入学号,从[教学成绩表视图]显示该学生的姓名、课程名、分数。
CREATE PROCEDURE [成绩1] @xh char(6) as
select 姓名,课程名称,分数 from 教学成绩表视图 where 学号=@xh
* *
网络数据库管理与开发 练习题 参
一、单项选择题:
1 2 3 4 5 6 7 8 9 10 D D D A 11 B 12 A 13 C 14 B 15 B 16 C C D C A D A
一、 名词解释
1、视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。 2、索引就是表中数据和相应存储位置的列表。
3、存储过程是存储在服务器上的一组预编译的Transact-SQL语句。
4、游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自
己的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。
5、备份是指将数据库复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据
的介质上,作为副本。一旦数据库因意外而遭损坏,这些备份可用来恢复数据库。
二、 判断题
1. N 2.Y 3.Y 4.Y 5.Y 6.Y 7. N 8.Y 9.N 10.N 11.Y 12.N 13.Y 14.Y 15.N 16Y
* *
三、 填空题
1、Windows认证模式、混合模式 2、存储过程、触发器 3、记录、字段 4、update、delete 5、直接方法、间接方法
6、硬盘文件、Named Pipe(或命名管道) 7、update、delete
8、数据控制语言、数据操作语言 9、、持久 10、水平、垂直 11、关系完整性 12、实体、域、参照 13、数据表、虚拟表 14、角色
15、数据访问、数据运行 16、存储过程 17、表
四、 简答题
1. 在SQL Server 2000中,使用视图的好处是什么? (1) 为用户集中需要的数据,简化了数据的用户操作;
* *
(2) 对用户隐藏了数据库设计的复杂性; (3) 简化用户权限的管理。
2. 在SQL Server 2000数据完整性类型及其实现技术有哪些?
(1)域完整性:DEFAULT(默认值)、DEFAULT(默认技术)、CHECK(检查)、RULE(规则技术)
(2)实体完整性:PRIMARY KEY(主键)、UNIQUE(唯一键)、IDENTITY(标识列) (3)参照完整性:FOREIGN KEY(外键) (4)自定义完整性:自定义函数、触发器 3. 简述使用游标的步骤。
(1) 声明游标:declare 游标名 cursor for select语句; (2) 打开游标:open 游标名; (3) 处理数据: fetch delete update (4) 关闭游标:close 游标名; (5) 释放游标:deallocate 游标名; 4、简述SQL Server 2000的安全机制(6级)。 1. 计算机的连接
2. SQL Server登录(账户、固定服务器角色) 3. 库的访问(用户/角色:固定/自定义角色) 4. 表/视图的权限(select insert update delete) 5. 存储过程、内嵌表值函数的权限(execute select) 6. 表(视图)中列的权限(select update) 5、创建数据库的3种方法
* *
在Microsoft SQL Server系统中,有3种创建数据库的方法: (1) 使用CREATE DATABASE语句 (2) 使用创建数据库向导 (3) 使用企业管理器
6、自定义内嵌表值函数与视图的使用有什么不同?
内嵌标值函数可用于实现参数化视图的功能。这种类型的函数在使用参数和扩展索引视图方面提供了比视图更多的灵活性。 7、什么是数据库备份和恢复?
备份是指将当前的数据库系统、数据文件或日志文件复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据的介质上,作为副本。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。一旦数据库因意外而遭损坏,这些备份文件可用来恢复数据库。
恢复是与备份相对应的数据库管理工作,系统进行数据库恢复的过程中,自动执行安全性检查,然后根据数据库备份自动创建数据库结构,并且恢复数据库中的数据。 8、什么是视图?它和表有什么区别?
视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
视图是虚表。所谓虚表,就是说视图不是表。因为视图只储存了她的定义(select语句),而没有储存视图对应的数据,这些数据仍存放在原来的数据表(基表),数据与基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
9、 自定义函数在被调用的位置上返回数据值,存储过程既不能在被调用的位置上返回数
* *
据,也不能被引用在语句当中。
五、设计题
(一)
1、建立一个学生表。
CREATE TABLE 学生表
(学号 CHAR(5) NOT NULL UNIQUE, 姓名CHAR(20), 性别 CHAR(2), 年龄 INT,
所在系 CHAR(15)) 2、查询全体学生的详细记录 SELECT * FROM 学生表
3、查询年龄在20至23岁之间的学生的姓名、系别、和年龄 SELECT 姓名, 所在系, 年龄 FROM 学生表
WHERE 年龄 BETWEEN 20 AND 23 4、计算1号课程的学生平均成绩 SELECT AVG(成绩) FROM 成绩表
WHERE 课程号='1'
5、将计算机科学系全体学生的成绩置零 UPDATE 成绩表 SET 成绩=0 WHERE 学号 in
( SELECT 学号 FROM 学生表 WHERE Sdept ='计算机科学系') (二)
1.在学生成绩数据库的学生表中查询年龄为20岁或22岁的学生
use 教学成绩管理数据库
select 姓名, 性别, 年龄=datediff(year,出生日期,getdate()) from 学生表
* *
where (datediff(year,出生日期,getdate())=20) or (datediff(year,出生日期,getdate())=22)
2.在学生成绩数据库中查询每个学生的班级编号、学号、姓名、平均分,结果按平均分
降序排列,均分相同者按班级排列 use 教学成绩管理数据库
select 班级编号,a.学号,a.姓名, avg(分数) 平均分 from 学生表 as a join成绩表 as b on a.学号 = b.学号
group by 班级编号, a.学号,a.姓名 order by avg(分数) desc, 班级编号 asc
3.编写一个自定义函数,根据[学生表]中的[出生日期]列,计算年龄。
CREATE FUNCTION dbo.计算年龄(@vardate datetime,@Curdate datetime) RETURNS tinyint AS BEGIN
return datediff(yyyy, @vardate, @Curdate) END
4.创建一个视图“教学成绩表视图” 显示学生的学号、姓名、课程名、分数。
CREATE VIEW [教学成绩表视图] AS
SELECT 学号, 姓名, 课程名, 分数 FROM 学生表, 成绩表
* *
WHERE 学生表.学号=成绩表.学号
5.编写一个存储过程,输入学号,从“教学成绩表视图” 显示该学生的姓名、课程名、
分数。
CREATE PROCEDURE [成绩1] @xh char(6) as
select 姓名,课程名称,分数 from 教学成绩表视图 where 学号=@xh
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务