1、 1 第 1 章 数据库基础 一、单项选择题 1 C 2 A 3 C 4 D 5 D 6 B 7 A 8 B 9 B 10 D 11 C 12 A 13 C 14 B 15 A 16 B 17 A 18 D 19 B 20 B 21 A; D 22 A 23 C 24 D 25 B 26 B 27 B 28 D 29 B 30 B 二、填空题 1概念;数据 2属性 3码 4 一对一联系;一对多(或多对一)联系;多对多联系 5候选码 6候选码 7 关系名(属性 1,属性 2,属性 n) 8 关系数据结构;关系操作集合;关系完整性约束 9实体;参照;用户定义的;实体;参照 10空植 11 需求分析
2、阶段;概念结构设计阶段;逻 辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段 12准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的基础。 13 将需求分析得到的用户需求抽象为信息结构即概念模型。 14将概念结构进一步转化为某一 DBMS 支持的数据模型,并对其进行优化。 15为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。 三、指出以下 各缩写的英文意思和中文意思 1 DB: DataBase 2
3、 DBMS: Database Management System 3 RDBMS: 4 DBS: DataBase System 5 DBA: Relational Database Management System 6 NF: Normal Form 7 DDL: Data Definition Language 四、按题目要求回答问题 2 1答: 2答: 参加 代表团 住所 团编号 地区 成员 运动员 编号 年龄 姓名 性别 1 N 比赛类别 主管 类别编号 类别名称 属于 比赛项目 项目编号 级别 项目名称 1 N 比赛时间 得分 N 1 1 N 公司编号号 公司名 公司 姓名 地址
4、 职工编号 职工 性别 聘期XIAOSHOU 聘用 隶属 仓库 地址 仓库编号 仓库名 工资XIAOSHOU 3 3 答 : ( 1) 关系 R是 2NF。 因为 R的候选码为课程名,而课程 名教师名,教师名教师地址,所以课程名教师地址,即存在非主属性 教师地址 对候选码 课程名 的传递函数依赖,因此 R不是 3NF。 又因为不存在非主属性对候选码的部分函数依赖, 所以 R是 2NF。 ( 2) 关系 R存在删除异常。当删除某门课程时会删除不该删除的教师的有关信息。 ( 3) 分解为高一级范式如下: R1 课程名 教师名 数据库 刘辉 程序设计基础 赵兰 软件工程 陈信 计算机基础 刘辉 R2
5、 教师名 教师地址 刘辉 Add1 赵兰 Add2 陈信 Add1 分解后,若删除课程数据时,仅对关系 R1操 作,教师地址信息在关系 R2中仍然保留,不会丢失教师方面的信息。 4答: ( 1) R不属于 3NF,它是 2NF。 ( 2) 因为 R的候选码为职工号和职工名,而: 职工号单位号,单位号单位名 ,所以 职工号 单位名,即存在非主属性“单位名”对候选码“职工号”的传递函数依赖。因此不是 3NF。 规范化后的关系子模式为如下所示的关系 R1与 R2。 R1 职工号 职工名 年龄 性别 单位号 01 赵高 20 男 D3 02 高军 25 男 D1 03 董林 38 男 D3 04 林梅
6、 25 女 D3 R2 单位号 单位名 D3 计算机 D1 土木工程 5答: ( 1)关系 Stock是 1NF,分析如下: 4 关系 Stock的码为( counter, goods), counter、 goods为主属性, price为非主属性。 存在的函数依赖有:( counter, goods) price goods price 因此可以看出,非主属性 price不完全函数依赖于码,不符合 2NF的定义。 得出结论:关系 Stock是 1NF ( 2)存在异常: 删除异常:例如,如果删除柜台 2的元组,则丢失了货物名称 Envelop及其价格 1。 插入异常:例如,如果知道了商品
7、Lamp的价格 20,则不能马上将该商品插入到 Stock中,直到有一个柜台进了该货物才行。 ( 3)规范化:将以上关系分解为两个关系如下。 关系 Counter-Goods 关系 Goods-Price Counter Goods 1 Pen 1 Ink 2 Envelop 3 Bag 3 pen 第 2 章 SQL Server 简介 一、单项选择题 1 B 2 C 3 D 4 B 5 C 6 D 7 A 8 B 二、简答题 1答: 客户机 /服务器结构把整个任务划分为客户机上的任务和服务器上的任务。客户机上的任务主要如下。 建立和断开与服务器的连接。 提交数据访问请求。 等待服务通告,接
8、受请求结果或错误。 处理数据库访问结果或错误,包括重发请求和终止请求。 提供应用程序的友好用户界面。 Goods Price Pen 55 Ink 4 Envelop 1 Bag 40 5 数据输入 /输出及验证。 服务器上的任务主要如下。 为多用户管理一个独立的数据库。 管理和 处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。 管理用户账号、控制数据库访问权限和其他安全性。 维护数据库,包括数据库备份和恢复。 保证数据库数据的完整或为客户提供完整性控制手段。 2答: ( 1)两层结构 在两层结构中, SQL Server 安装在一个中心服务器上,数据库
9、存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。众多的客户机通过网络直接访问数据库服务器。客户机运行处理业务的程序和显示处理结果的程序。两层结构比较适合于用户量较少的情 况,当用户量较大时,数据库服务器的性能会显著下降。 ( 2)三层结构 在三层结构中引入了一层应用服务器。客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。三层结构适用于客户量较大的情况。 3答: SQL Server 的四个系统数据库是 master
10、、 model、 msdb 和 tempdb 数据库。 ( 1) master 数据库是 SQL Server 系统最重要的 数据库,它记录了 SQL Server 系统的所有系统信息,包括所有的登录帐户信息、系统配置信息、 SQL Server 的初始化信息和其它系统及用户数据库的相关信息。 ( 2) model 数据库是所有用户数据库和 tempdb 数据库的模板数据库,它含有 master数据库所有系统表的子集,这些系统表是每个用户定义数据库所需要的。 ( 3) msdb 数据库是代理服务数据库,用于为调度警报、作业和记录操作员的信息提供存储空间。 ( 4) tempdb 数据库用于为所
11、有的临时表、临时存储过程提供存储空间,它还用于任何其它的临时存储要求, 例如存储 SQL Server 生成的工作表。 tempdb 数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。 tempdb数据库在 SQL Server每次启动时都重新创建,因此该数据库在系统启动时总是干净的,临时表和存储过程在连接断开时自动除去。 4 答: SQL Server 包含的对象如:表、视图、存储过程、索引、触发器。 ( 1)表:在数据库中,所有的数据存放在表中,表由行 (记录 )和列 (字段 )组成,一个数据库可以包含多个表。 ( 2)视图:视图是由查询数据表产生的结果,是一种虚
12、构的表。视 图把表中的部分数6 据映射出来供用户使用,这样可以防止所有的用户直接对表进行操作而导致系统的性能和安全性的下降。 ( 3)存储过程:一个存储过程实际上是由一组 SQL 语句组成的完成特定功能的程序。存储过程在服务器端被编译后可以反复执行。 ( 4)索引:索引是对表中的一个或多个列的值进行排序的结构。可以利用索引提高对数据库表中的特定信息的访问速度。 ( 5)触发器:触发器由一组 SQL 语句组成,当对表或视图进行某种操作(添加、删除或修改)时,这组命令会在一定情况下自动执行。 第 3 章 服务器与客户端配置 一、 填空题 1 使 用 Windows 身份验证,使用 SQL Serv
13、er 身份验证 2 Start, pause, continue 3 SQL Server 配置管理器 4 sp_configure 5 DSN 二、选择题 1 C 2 C 3 C 4 A 5 C 三、判断题 1 A 2 B 3 B 4 B 5 A 四、 问答 题 1答: 使用 net start 命令启动 Windows 的服务 ; 使用 net pause 命令 暂停 Windows 服务 ; 使用 net continue 命令继续被暂停的 Windows 服务;使用 net stop 命令停止 Windows 服务。 2答: SQL Server 2008 支持的网络协议包括 Shar
14、ed Memory、 Named Pipes、 TCP/IP 和 VIA 等。 3答: 参照 表 3-1。 五、上机练习题(略) 第 4 章 Transact-SQL 语言基础 一、选择题 7 1 B;C 2 C;D;F;G;H 3 B 4 A;D 5 D 6 A 7 B;D 8 D 9 B 10 A;B;C 二、填空题 1.a.b.d.c 2.常规;分隔;双引号;方括号 3在其中定义局部变量的批处理、存储过程或语句块的内部;任何程序; 4 ; 5 DECLARE Myvar CHAR(5) ; SET Myvar=Hello 6 NULL 7 %e% aaa ; %e%aaa 8 FALSE
15、; TRUE 9 math0 AND math100 10行集函数;聚合函数;标量 函数 11 SELECT STR(YEAR(03/25/2012),4)+年 +STR(MONTH(03/25/2012),2)+ 月+STR(DAY(03/25/2012),2)+日 12 CAST(GETDATE() AS char) 13 CONVERT(char,GETDATE(),105) 14 CONVERT 函数的参数比 CAST 函数的参数多了一个“样式”,该参数用于指定以不同的格式显示日期和时间。 15 -(双连字符); /* . */(正斜杠 -星号对) 16. 解析;编 译;执行 三、指出
16、以下各缩写的英文意思和中文意思 1 Structured Query Language 结构化查询语言 2 Data Definition Language 数据定义语言 3 Data Manipulation Language 数据操纵语言 4 Data Control Language 数据控制语言 四、上机练习题 1.答: PRINT GETDATE() - GETDATE()获得当前日期, PRINT 将其打印出来 2答: DECLARE VarDate datetime SET VarDate = GETDATE() - 今天的日期 PRINT DATEADD(day, 12, Va
17、rDate) - 12 天后的日期 3答: 实现语句为: use pubs declare A binary,B binary set A=100 set B=200 print A 8 print B 打印结果为: 0X64 0XC8 4答: DECLARE i int,sum int SET i=1 SET sum=0 WHILE i=1000 BEGIN SET sum=sum+i SET i=i+2 END PRINT 1+3+5+7+ +999 的值为: +str(sum) 第 5 章 数据库管理 一、选择题 1 B;A;C;B 2 B;A;C 3 A;C 4 C 5 A 6 B 二
18、、填空题 1 主数据库;次数据库;事务日志 2 主数据库; 次数据库;事务日志 3 逻辑文件名;物理文件名 4 未指定组的其他 5 创建数据库的用户 6 ATTACH 7 DROP DATABASE 8 sp_detach_db 三、简答题 1答: 事务日志文件用于存储数据库的更新情况等事务日志信息。例如,使用 INSERT、 UPDATE、DELETE 等对数据库进行更改的操作都会记录在事务日志文件中,当数据库损坏时,可以使用事务日志文件恢复数据库。 2答: “文件自动增长”表示用户可以指定数据文件自动按下列选项所指定的大小增长。 按兆字节:指定数据文件增长所基于的兆字节数。 按 百分比:指
19、定希望数据文件自动增长所基于的百分比。 9 不限制文件增长:指定数据文件增长不受限制。 限制文件增长( MB):指定数据文件可以增长到的大小( MB)。 “自动收缩”表示 允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的 25%时,系统将会自动缩减文件使其未用空间等于 25%。当文件大小没有超过其建立时的初始大小时,不会缩减文件,缩减后的文件也必须大于或等于其初始大小。 3答: ( 1)执行下面的语句,将数据库设置为离线状态。 ALTER DATABASE 数据库名 SET OFFLINE ( 2)将文件移动到其他位置。 ( 3)执行 ALTER DATABASE 数据库
20、名 MODIFY FILE 语句,修改数据库文件的位置。 ( 4)运行下面的语句,将数据库设置为在线状态。 ALTER DATABASE 数据库名 SET ONLINE 四、上机练习题 1答: CREATE DATABASE mydb1 -数据库名称 ON PRIMARY (NAME =f1, -主数据文件逻辑名称 FILENAME =D:sql_dataf1.mdf, SIZE =2, -初始大小为 2MB MAXSIZE =unlimited, -最大尺寸为无限大 FILEGROWTH =5%), -增长速度为 5% (NAME=f2, -次数据文件逻辑名称 FILENAME=D:sql_
21、dataf2.ndf, SIZE=3, - 初始大小为 3MB MAXSIZE=200, -最大尺寸 200MB FILEGROWTH=2) - 增长速度为 2MB LOG ON (NAME=lg1, -事务日志逻辑名文件 FILENAME=D:sql_loglg1.ldf, SIZE=1, MAXSIZE=10, FILEGROWTH=1) 3答: ( 1) ALTER DATABASE mydb1 ADD FILE (NAME=f3, FILENAME=D:sql_data f3.ndf, SIZE=2, MAXSIZE=5, FILEGROWTH=1) ( 2) ALTER DATABA
22、SE mydb1 10 MODIFY FILE (NAME = f3, SIZE = 3MB,MAXSIZE=10MB) ( 3) ALTER DATABASE mydb1 MODIFY NAME = mydb2 4答: exec sp_addumpdevice disk, mycopy2,d:mybackup2mydb2.bak 5答: USE master GO CREATE DATABASE mydb1 ON ( FILENAME = C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAmydb1.mdf ), (
23、 FILENAME = C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAmydb1_log.ldf ) FOR ATTACH GO 6答: ( 3) ALTER DATABASE Archive SET OFFLINE ( 5) ALTER DATABASE Archive MODIFY FILE (NAME=arch, FILENAME=d:DataFilearchdat.mdf) ( 6) ALTER DATABASE Archive SET ONLINE 第 6 章 表的管理 6.9 练习题 一、填空题 1行;列 2永久 表;临时表;永久表;临时表 3 CREATE TABLE 4主键约束; 唯一 性约束;检查约束;默认约束;外键约束 5外键 6 sp_bindrule 7 TRUNCATE TABLE 8 GROUP BY