《关系数据库及SQLServer》习题参考答案解析Word文档下载推荐.docx
- 文档编号:20758518
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:22
- 大小:26.51KB
《关系数据库及SQLServer》习题参考答案解析Word文档下载推荐.docx
《《关系数据库及SQLServer》习题参考答案解析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《关系数据库及SQLServer》习题参考答案解析Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。
主表的"
专业号〔外键"
的取值只能为两种情况:
若取非空值,则它必须是从表中存在的值;
取空值〔null,表明尚未给学生分配专业,null不等于0或空字符串。
6.一个低一级范式的关系模式,通过分解可以转换为若干个高一级范式的关系模式,这种过程称为关系的规范化。
关系的规范化主要目的是解决数据库中数据冗余、插入异常、删除异常和更新异常等数据存储问题。
关系规范化的基本方法是逐步消除关系模式中不合适的数据依赖,使关系模式达到某种程度的分离,也就是说,不要将若干事物混在一起,而要彼此分开,用一个关系表示一事或一物,所以,规范化的过程也被认为是"
单一化"
的过程。
从第一范式至BCNF,它们之间的关系是BCNF
3NF
2NF
1NF。
从第一范式到第二范式,消除了非主属性对码的部分函数依赖;
从第二范式到第三范式,消除了非主属性对码的传递函数依赖;
从第三范式到BCNF,消除了关系中冗余的码。
四、计算题
1.
〔1
A
B
C
D
E
1
2
3
4
5
6
〔2
9
〔3
〔4空
〔5全外连接
7
8
null
左外连接
右外连接
五、设计题
1:
1的E-R图
n的E-R图
m:
2.
3.
公司〔公司代码,公司名,地址
部门〔部门代码,部门名
员工〔员工代码,姓名,性别,年龄,职务
商品〔商品代码,商品名,单价,数量
厂家〔厂家代码,厂家名,地址
拥有〔公司代码,部门代码
属于〔部门代码,员工代码
销售〔员工代码,商品代码,销售量
供货〔商品代码,厂家代码
4.
〔1基本的函数依赖有:
〔商店编号+商品编号→部门编号,〔商店编号+部门编号→负责人,〔商店编号+商品编号→数量
〔2由题意,上面的函数依赖可知商店编号是主属性,商品编号也是主属性,由这两个属性,可以确定关系元组的所有属性,所以R的候选码是:
商店编号+商品编号
〔3R〔商店编号,商品编号,数量,部门编号,负责人最高已达到2NF。
因为负责人是码的传递依赖。
〔4要达到3NF,必须消除非主属性对码的传递依赖。
对R分解后的两个模式如下:
R1〔商店编号,商品编号,数量,部门编号
R2〔部门编号,负责人
第2章SQLServer2008基础
1.一个实例
2.SQLServer配置管理器
3.对象资源管理器
4.Windows身份验证混合模式验证
5.Windows服务配置管理器
6.远程本地
7.SharedMemory
8.TCP/IP
二、简答题
1.对象资源管理器窗口用于管理数据库中的所有对象,在该窗口中,可以完成注册、启动和停止服务器,配置服务器属性,创建数据库以及表、视图、存储过程等数据库对象,生成Transact-SQL对象以创建脚本、创建登录账户、管理数据库对象权限等,配置和管理复制,监视服务器活动,查看系统日志等操作。
2.该窗口用于编写和运行Transact-SQL脚本。
它既可以在连接模式下工作,也可以在断开模式下工作。
SQLServer2008的"
查询编辑器"
支持彩色代码关键字,可视化地显示语法错误,允许开发人员运行和诊断代码等。
3.使用SQLServerProfiler工具可以对MicrosoftSQLServer2008系统的运行过程像摄像机一样进行摄录。
SQLServerProfiler是用于从服务器中捕获SQLServer2008事件的工具。
这些事件可以是连接服务器、登录系统、执行Transact-SQL语句等操作。
这些事件被保存在一个跟踪文件中,以便日后对该文件进行分析或用来重新执行指定的系列步骤,从而有效地发现系统中性能比较差的查询语句等相关问题。
第3章数据库的创建与管理
1.Master数据库Model数据库Msdb数据库Tempdb数据库Resource数据库
2.主数据文件次数据文件事务日志文件
3.可恢复所有未完成的事务,保证数据库操作的一致性和完整性
4.CREATEDATABASE
5.ALTERDATABASE
6.DROPDATABASE
7.sp_helpdb
8.为空删除文件组中的文件
9.主
10.备份
1-5ADAAD
6-8DDB
三、判断题
1-5FFTTF
6-9FFFT
[课外实践]
任务1:
createdatabasetestdb
onprimary
<
name=td1,filename=‘e:
\sql\td1.mdf'
size=5,maxsize=20,filegrowth=10%>
name=td2,filename=‘e:
\sql\td2.ndf'
size=10,maxsize=30,filegrowth=2>
filegroupuser1
name=td3,filename=‘e:
\sql\td3.ndf'
size=5,maxsize=unlimited,filegrowth=2>
logon
name=tlog,filename='
e:
\sql\tlog.ldf'
size=4,maxsize=unlimited,filegrowth=20%>
任务2:
1.
alterdatabasetestdb
addfilegroupu3
2.
alterdatabasetestdb
modifyfilegroupu3name=u2
3.
alterdatabasetestdb
modifyfile
〔name=td2,size=10,maxsize=50,filegrowth=15%>
4.
alterdatabasetestdbmodifyname=gldb
第4章数据表的创建与管理
1.主键约束唯一性约束外键约束检查约束非空约束默认值约束
2.单个列定义所有列定义修改表的方式
3.一多空非空
4.相应的约束
5.外键T2
6.空
7.修改删除
8.域
9.参照
10.identity
1-5BBDAC
1-5FTFTF
6-10FFTFT
第5章数据查询
1.SELECT
2.WHERE
3.连接
4.分组
5.排序
6.ORDERBY
7.Transact-SQL
8.DISTINCT
9.HAVING
10.BETWEEN…AND
11.LIKE
12.ANSI语法SQLServer语法
13.比较
14.ANYALLIN
1-5DCDAD
1-5TFTFF
6-7FF
select课程名,授课教师,开课学期
fromkc
where开课学期=2
select姓名,联系电话,专业名,性别
fromxsqk
where专业名=‘信息安全’and性别=0
select学号,课程号,成绩
fromxs_kc
where成绩>
=90
=90or成绩<
60
5.
select学号,姓名,出生日期
where出生日期notbetween‘1995-11-01’and‘1996-2-29’
6.
select*
where姓名like‘陈_’
7.
where学号like‘%8%’
8.
where联系电话like‘__[69]%’
9.
where开课学期in<
1,3,5>
10.
orderby出生日期
select开课学期,sum<
学分>
as每学期的总学分
groupby开课学期
select学号,count<
*>
as每个学生选修的课程门数
groupby学号
select课程名称,开课学期,学分
computesum<
orderby2
by开课学期
select学号,avg<
成绩>
as学生的平均分
select学号,avg<
havingavg<
between70and80
intotemp_kc
orderby课程号,成绩desc
selectmax<
as101课程的最高分,min<
as101课程的最低分
where课程号=’101’
select开课学期,count<
as每学期开设的课程门数
select专业名,count<
专业名>
as各专业人数
groupby专业名
任务3:
select学号,课程名,授课教师,开课学期,成绩
fromkc,xs_kc
wherekc.学号=xs_kc.学号and成绩<
selectxsqk.学号,姓名,kc.课程号,课程名,成绩
fromxsqk,kc,xs_kc
wherexsqk.学号=xs_kc.学号andkc.课程号=xs_kc.课程号and课程名='
网页设计'
任务4:
select学号,姓名,联系电话
where学号in<
select学号
where课程号=’103’and成绩<
60>
select学号,姓名
where<
selectcount<
课程号>
wherexsqk.学号=xs_kc.学号and成绩>
=60>
=2
fromxs_kca
where成绩=<
fromxs_kcb
wherea.课程号=b.课程号>
selectmin<
wherea.学号=b.学号>
selectdistincta.课程号,人数=
学号>
fromxs_kcbwhereb.课程号=a.课程号>
orderbya.课程号asc
第6章视图与索引
1.标准视图索引视图分区视图
2.WITHENCRYPTION
3.sp_helptext
4.聚集索引非聚集索引
5.数据库
6.基表
7.聚集索引非聚集索引唯一索引复合索引全文索引XML索引
8.创建表
9.主键唯一
10.查询
1-5DCBAA
6-10CCDBC
1-5TFFFF
6-10FFFTT
11-12TT
USExscj
GO
CREATEVIEWv_开课信息
AS
SELECT课程号,课程名,开课学期,学时
FROMkc
WHERE开课学期>
=3
CREATEVIEWv_选课信息
SELECT姓名,课程名
FROMxsqk,kc,xs_kc
WHERExsqk.学号=xs_kc.学号ANDkc.课程号=xs_kc.课程号AND专业名=’多媒体技术’
CREATEINDEXIX_课程名
ONKC<
课程名>
第7章规则与默认值
1.对象数据库
2.CREATERULE
3.DROPRULE
4.DEFAULT
5.sp_bindefault
1-3CBD
1-5FTTTF
6-9TTTF
CREATERULExs_rule
@学分>
=0AND@学分<
=6
EXECsp_bindrule‘xs_rule’,’kc.学分’
CREATEDEFAULTkkxq_defAS1
EXECsp_bindefault‘kkxq_def’,’kc.开课学期’
第8章T-SQL编程
1.GO
2.@@@
3.ab
4.BEGINEND
5.BREAKCONTINUE
6.某一时刻一段时间间隔
7.多一
8.GETDATE<
>
1-5CBBDA
6-7CD
1-5FTFFF
6-8FFT
四、简答题
1.SQL标识符的命名必须遵守以下规则:
标识符的长度可以为1~128个字符。
标识符的第一个字符必须是英文字母、下划线、汉字、@或者#。
默认情况下,标识符内不允许含有空格,也不允许将SQL关键字作为用户定义的标识符。
2.局部变量的声明:
DECLARE@变量名数据类型[,…n]
局部变量的赋值:
①SET@变量名=表达式
②SELECT@变量名=表达式[,…n]
[FROM…]
[WHERE…]
3.全局变量是系统定义的变量,以@@符号开头,用户不能定义全局变量,也不能修改其值,全局变量在相应的上下文中是随时可用的,通常被服务器用来跟踪服务器范围和特定会话期间的信息。
4.RETURN语句用于从查询或过程中无条件退出。
RETURN的执行是即时且完全的,可在任何时候用于从过程、批处理或语句块中退出,在它之后的语句不会被执行。
RETURN与BREAK很相似,不同的是RETURN可以返回一个整数。
declare@xvarchar<
30>
set@x=’WelcometoSQLServer’
printupper<
@x>
printlower<
waitfordelay’00:
00:
30’
usexscj
select*fromkc
waitfortime’11:
30:
select*fromxsqk
go
declare@nint
select@n=count<
fromxsqkwheredatediff<
yy,出生日期,getdate<
>
20
if@n>
=0
print'
年龄大于20的学生人数有:
'
+cast<
@nasvarchar<
5>
else
没有年龄大于20的学生'
declare@sumint
set@sum=<
selectsum<
fromxs_kc>
while@sum<
100
begin
updatexs_kcset学分=学分+1
end
第9章存储过程与触发器
1.参数输入输出
2.EXECUTE
3.DML触发器DDL触发器登录触发器
4.FOR|AFTERINSTEADOF
5.INSERTUPDATEDELETE
1-4BDDC
1-5FFTTT
createprocedurep1
@kchchar<
3>
@kcmvarchar<
20>
@skjsvarchar<
@kcxqtinyint,@xstinyint,@xftinyint
as
insertkcvalues<
@kch,@kcm,@skjs,@kcxq,@xs,@xf>
execp1'
115'
'
数据库基础'
张玲'
2,68,4
createprocp2
updatexs_kcset成绩=60where课程号=@kchand<
=55and成绩<
declare@kchchar<
select@kch='
103'
execp2@kch
select*fromxs_kcwhere课程号=@kch
createprocp3
@xhchar<
10>
@xmvarchar<
output,@xbbitoutput,@zymvarchar<
output,@szxvarchar<
output
select@xm=姓名,@xb=性别,@zym=专业名,@szx=所在系
where学号=@xh
declare@xhchar<
@xbbit,@zymvarchar<
@szxvarchar<
select@xh='
2012130101'
execp3@xh,@xmoutput,@xboutput,@zymoutput,@szxoutput
学号为'
+@xh+'
的信息如下:
姓名:
+@xm
性别:
+convert<
varchar<
2>
@xb>
专业名:
+@zym
所在系:
+@szx
createtriggert4
onkc
forinsert
print‘插入成功!
’
任务5:
createtriggert5
forupdate
updatexs_kc
set课程号=inserted.课程号
where课程号=deleted.课程号
任务6:
createtriggert6
onxsqk
fordelete
select@xh=学号fromdeleted
准备删除xs_kc表'
学生的成绩信息'
deletexs_kcwhere学号=@xh
已经删除xs_kc表'
第10章SQLServer2008安全管理
1.Windows验证混合模式验证
2.sa
3.操作数据库数据库
4.dboguestsys
5.自定义角色预定义角色
6.固定服务器角色
7.三服务器角色
8.固定数据库角色用户自定义角色应用程序角色
9.对象权限语句权限隐式权限
10.GrantRevokeDeny
1.sysadmin角色为需要完全控制整个SQLServer和安装的数据库的用户而设计,其成员能在SQLServer系统中执行任何任务。
所以win_user应添加到sysadmin角色中。
2.db_owner角色用于需要完全控制数据库的所有方面的用户,所以ST_su应该添加到db_owner角色中
第11章SQLServer2008开发工具
一、简答题
1.BusinessIntelligenceDevelopment
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系数据库及SQLServer 关系 数据库 SQLServer 习题 参考答案 解析