sql数据库练习题参考答案文档格式.docx
- 文档编号:19980997
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:44
- 大小:126.55KB
sql数据库练习题参考答案文档格式.docx
《sql数据库练习题参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《sql数据库练习题参考答案文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
1.答:
2.答:
1
N
M
3.答:
(1)关系R是2NF。
因为R的候选码为课程名,而课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。
又因为不存在非主属性对候选码的部分函数依赖,所以R是2NF。
(2)关系R存在删除异常。
当删除某门课程时会删除不该删除的教师的有关信息。
(3)分解为高一级范式如下:
R1
课程名
教师名
数据库
刘辉
程序设计基础
赵兰
软件工程
陈信
计算机基础
R2
教师地址
Add1
Add2
分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师的信息。
4.答:
(1)R不属于3NF,它是2NF。
(2)因为R的候选码为职工号和职工名,而:
职工号→单位号,单位号→单位名,所以职工号→单位名,即存在非主属性“单位名”对候选码“职工号”的传递函数依赖。
因此不是3NF。
规范化后的关系子模式为如下所示的关系R1与R2。
职工号
职工名
年龄
性别
单位号
01
赵高
20
男
D3
02
高军
25
D1
03
董林
38
04
林梅
女
单位名
计算机
土木工程
5.答:
(1)关系Stock是1NF,分析如下:
●关系Stock的码为(counter,goods),counter、goods为主属性,price为非主属性。
●存在的函数依赖有:
(counter,goods)→pricegoods→price
●因此可以看出,非主属性price不完全函数依赖于码,不符合2NF的定义。
●得出结论:
关系Stock是1NF
(2)存在异常:
●删除异常:
例如,如果删除柜台2的元组,则丢失了货物名称Envelop及其价格1。
●插入异常:
例如,如果知道了商品Lamp的价格20,则不能马上将该商品插入到Stock中,直到有一个柜台进了该货物才行。
(3)规范化:
将以上关系分解为两个关系如下。
关系Counter-Goods关系Goods-Price
Counter
Goods
Price
Pen
55
Ink
4
Envelop
Bag
40
2
3
pen
第2章SQLServer简介
1.B2.C3.D4.B5.C
6.D7.C8.C9.B10.A
11.B12.B
二、简答题
客户-服务器结构把整个任务划分为客户机上的任务和服务器上的任务。
客户机上的任务只要有:
●建立和断开与服务器的连接。
●提交数据访问请求。
●等待服务通告、接受请求结果或错误。
●处理数据库访问结果或错误、包括重发请求和终止请求。
●提供应用程序的友好用户界面。
●数据输入输出及验证。
服务器上的任务主要有:
●为多用户管理一个独立的数据库。
●管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。
●管理用户帐号、控制数据库访问权限和其他安全性。
●维护数据库,包括数据库备份和恢复。
保证数据库数据的完整或为客户提供完整性控制手段。
(1)两层结构
在两层结构中,SQLServer2000安装在一个中心服务器上,数据库存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。
众多的客户机通过网络直接访问数据库服务器。
客户机运行处理业务的程序和显示处理结果的程序。
两层结构比较适合于用户量较少的情况,当用户量较大时,数据库服务器的性能会显著下降。
(2)三层结构
在三层结构中引入了一层应用服务器。
客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。
三层结构适用于客户量较大的情况。
SQLServer2000的四个系统数据库是master、model、msdb和tempdb数据库。
(1)master数据库是SQLServer系统最重要的数据库,它记录了SQLServer系统的所有系统信息,包括所有的登录帐户信息、系统配置信息、SQLServer的初始化信息和其它系统及用户数据库的相关信息。
(2)model数据库是所有用户数据库和tempdb数据库的模板数据库,它含有master数据库所有系统表的子集,这些系统表是每个用户定义数据库所需要的。
(3)msdb数据库是代理服务数据库,用于为调度警报、作业和记录操作员的信息提供存储空间。
(4)tempdb数据库用于为所有的临时表、临时存储过程提供存储空间,它还用于任何其它的临时存储要求,例如存储SQLServer生成的工作表。
tempdb数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。
tempdb数据库在SQLServer每次启动时都重新创建,因此该数据库在系统启动时总是干净的,临时表和存储过程在连接断开时自动除去。
SQLServer2000包含的对象如:
表、视图、存储过程、索引、触发器。
(1)表:
在数据库中,所有的数据存放在表中,表由行(记录)和列(字段)组成,一个数据库可以包含多个表。
(2)视图:
视图是由查询数据表产生的结果,是一种虚构的表。
视图把表中的部分数据映射出来供用户使用,这样可以防止所有的用户直接对表进行操作而导致系统的性能和安全性的下降。
(3)存储过程:
一个存储过程实际上是由一组SQL语句组成的完成特定功能的程序。
存储过程在服务器端被编译后可以反复执行。
(4)索引:
索引是对表中的一个或多个列的值进行排序的结构。
可以利用索引提高对数据库表中的特定信息的访问速度。
(5)触发器:
触发器由一组SQL语句组成,当对表或视图进行某种操作(添加、删除或修改)时,这组命令会在一定情况下自动执行。
三、上机练习题(略)
第3章服务器与客户端配置
一、填空题
1.服务器组,服务器组
2.使用Windows身份验证,使用SQLServer身份验证
3.start
4.连接
5.通讯
6.命名管道,TCP/IP
7.Net-Library
8.DSN
二、选择题
1.C2.C3.A4.B5.C
三、判断题
1.A2.B3.B4.A5.A
四、问答题
使用netstart命令启动Windows的服务;
使用netpause命令暂停Windows服务;
使用netcontinue命令继续被暂停的Windows服务;
使用netstop命令停止Windows服务。
在企业管理器中右键单击指定的服务器,在弹出菜单中选择“属性”,打开“SQLServer属性(配置)”对话框。
在“常规”选项卡中,选中“自动启动SQLServer”复选框,就可以实现在每次计算机启动时自动运行SQLServer。
要在客户端访问远程的SQLServer服务器,必须在客户计算机和服务器计算机上安装一对匹配的SQLServerNet-Library以支持特定的网络协议。
Net-Library是一种SQLServer通讯组件,它将SQLServer客户端软件和数据库引擎与网络API隔离。
SQLServer客户端软件和数据库引擎向Net-Library发送常规网络请求,Net-Library将请求转换为用户所选协议的特定网络命令。
Net-Library支持多种网络协议,包括命名管道、TCP/IP、多协议、NWLinkIPX/SPX、AppleTalk、BanyanVines和VIA等。
在安装SQLServer时,命名管道和TCP/IP被默认启用。
SQLServer2000客户端配置完成后,在企业管理器中测试配置是否有效。
方法很简单,只要新建一个SQLServer注册,在注册的过程中,选择远端的服务器作为数据库服务器。
如果能够注册成功,则说明客户端和服务器之间的通信是畅通的,客户端配置成功。
此时在企业管理器中,可以查看和管理远端服务器。
五、上机练习题(略)
第4章Transact-SQL语言基础
一、选择题
1.B;
C2.C;
D;
F;
G;
H3.B4.A;
D5.D
6.A7.B;
D8.D9.B10.A;
B;
C
1.a.b.d.c
2.常规;
分隔;
双引号;
方括号
3.在其中定义局部变量的批处理、存储过程或语句块的内部;
任何程序;
4.@;
@@
5.DECLARE@MyvarCHAR(5);
SET@Myvar='
Hello'
6.NULL
7.%e%aaa;
%e%aaa
8.FALSE;
TRUE
9.math>
0ANDmath<
100
10.行集函数;
聚合函数;
标量函数
11.SELECTSTR(YEAR('
11/25/2006'
),4)+'
年'
+STR(MONTH('
),2)+'
月'
+STR(DAY('
日'
12.CAST(GETDATE()ASchar)
13.CONVERT(char,GETDATE(),105)
14.CONVERT函数的参数比CAST函数的参数多了一个“样式”,该参数用于指定以不同的格式显示日期和时间。
15.--(双连字符);
/*...*/(正斜杠-星号对)
1.StructuredQueryLanguage结构化查询语言
2.DataDefinitionLanguage数据定义语言
3.DataManipulationLanguage数据操纵语言
4.DataControlLanguage数据控制语言
四、上机练习题
1.答:
(1)titles表:
表4-17titles表
字段名称
title_id
title
type
pub_id
price
字段类型
tid(6)
varchar(80)
char(12)
char(4)
money(8)
中文含义
图书标识
书名
图书分类
出版社标识
价格
(续表4-17)
advance
royalty
ytd_sales
notes
pubdate
int(4)
varchar(200)
datetime(8)
预付款
版税
当年销量
评论
出版日期
(2)authors表:
表4-18authors表
au_id
au_lname
au_fname
phone
address
id(11)
varchar(40)
varchar(20)
作者标识
作者姓
作者名
电话
地址
(续表4-18)
city
state
zip
contract
char
(2)
char(5)
bit
(1)
城市
州
邮政编码
签约情况
(3)titleauthor表:
表4-19titleauthor表
au_ord
royaltyper
tinyint
(1)
作者序号
作者对版税的分担情况
(4)publishers表:
表4-20publishers表
pub_name
country
varchar(30)
出版社名称
出版社所在城市
国家
(5)pub_info表:
表4-21pub_info表
logo
pr_info
image(16)
text(16)
出版社徽标
出版社简介
(6)discounts表:
表4-22discounts表
discounttype
stor_id
lowqty
highqty
discount
smallint
(2)
decimal5(4,2)
折扣类型
书店标识
最底数量
最高数量
折扣
(7)sales表:
表4-23sales表
ord_num
ord_date
qty
payterms
varchar(12)
定单号
订购日期
数量
付款期限
(8)stores表:
表4-24stores表
stor_name
stor_address
书店名称
书店地址
书店所在城市
(9)employee表:
表4-25employee表
emp_id
fname
minit
lname
empid(9)
char
(1)
雇员标识
雇员姓名
(续表4-25)
job_id
job_lvl
hire_date
工作标识
工作级别
雇员所在出版社标识
雇用日期
(10)jobs表:
表4-26jobs表
job_desc
min_lvl
max_lvl
varchar(50)
工作名称
工作级别范围
(11)roysched表:
表4-27roysched表
lorange
hirange
书名标识
销量范围
以上各表包含的用户自定义数据类型有:
empid;
id;
tid
实现语句为:
usepubs
declare@Abinary,@Bbinary
set@A=100
set@B=200
print@A
print@B
打印结果为:
0X64
0XC8
DECLARE@iint,@sumint
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章数据库管理
A;
C;
B2.B;
C3.A;
C4.C5.B
6.D7.A8.A
1.主数据库;
次数据库;
事务日志
2.主数据库;
3.逻辑文件名;
物理文件名
4.未指定组的其他
5.创建数据库的用户
6.物理设备名称;
逻辑设备名称
7.sp_addumpdevice;
sp_dropdevice
8.差异
9.WITHNORECOVERY;
WITHRECOVERY
10.REPLACE
三、简答题
事务日志文件用于存储数据库的更新情况等事务日志信息。
例如,使用INSERT、UPDATE、DELETE等对数据库进行更改的操作都会记录在事务日志文件中,当数据库损坏时,可以使用事务日志文件恢复数据库。
“文件自动增长”表示用户可以指定数据文件自动按下列选项所指定的大小增长。
●按兆字节:
指定数据文件增长所基于的兆字节数。
●按百分比:
指定希望数据文件自动增长所基于的百分比。
●文件增长不受限制:
指定数据文件增长不受限制。
●将文件增长限制为(MB):
指定数据文件可以增长到的大小(MB)。
“自动收缩”表示允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%。
当文件大小没有超过其建立时的初始大小时,不会缩减文件,缩减后的文件也必须大于或等于其初始大小。
“文件关闭”选项代表当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。
(1)完全数据库备份
完全数据库备份是备份数据库的所有表的数据及模式,以及对应的文件结构,包括对事务日志中的事务进行备份。
它可以用作系统出现故障时恢复数据库的基础,也可用于在另外一台计算机上生成数据库的副本。
(2)差异数据库备份
差异数据库备份只记录自上次完全数据库备份后发生变化的数据。
差异备份的数据量比完全备份的数据量小而且备份速度快,因此可以更经常地备份。
(3)事务日志备份
事务日志包含了自上次进行完全数据库备份、差异数据库备份或事务日志备份以来所完成的事务。
可以使用事务日志备份将数据库恢复到特定的即时点或恢复到故障点。
(4)数据库文件和文件组备份
只备份特定的文件或文件组,常用于超大型数据库的备份。
CREATEDATABASEmydb1--数据库名称
ONPRIMARY
(NAME=f1,--主数据文件逻辑名称
FILENAME='
D:
\sql_data\f1.mdf'
SIZE=2,--初始大小为2MB
MAXSIZE=unlimited,--最大尺寸为无限大
FILEGROWTH=5%),--增长速度为5%
(NAME=f2,--次数据文件逻辑名称
FILENAME='
\sql_data\f2.ndf'
SIZE=3,--初始大小为3MB
MAXSIZE=200,--最大尺寸200MB
FILEGROWTH=2)--增长速度为2MB
LOGON
(NAME=lg1,--事务日志逻辑名文件
\sql_log\lg1.ldf'
SIZE=1,
MAXSIZE=10,
FILEGROWTH=1)
(1)
ALTERDATABASEmydb1
ADDFILE
(NAME=f3,
\sql_data\f3.ndf'
SIZE=2,MAXSIZE=5,FILEGROWTH=1)
(2)
ALTERDATABASEmydb1
MODIFYFILE
(NAME=f3,
SIZE=3MB,MAXSIZE=10MB)
(3)
ALTERDATABASEmydb1MODIFYNAME=mydb2
execsp_addumpdevice'
disk'
'
mycopy2'
'
d:
\mybackup2\mydb2.bak'
BACKUPDATABASEmydb1TOmycopy1
(4)
RESTOREDATABASEmydb3
FROMmycopy1
WITH
MOVE'
f1'
TO'
\sql_data\mydb3-f1.mdf'
f2'
\sql_data\mydb3-f2.mdf'
f3'
\sql_data\mydb3-f3.m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 数据库 练习题 参考答案