J2EE课后习题题解.docx
《J2EE课后习题题解.docx》由会员分享,可在线阅读,更多相关《J2EE课后习题题解.docx(21页珍藏版)》请在冰豆网上搜索。
J2EE课后习题题解
《SQLServer2005数据库应用技术》习题参考答案
习题1
一、选择题
1.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的()。
A.命令的集合B.数据的集合C.程序的集合D.文件的集合
2.支持数据库的各种操作的软件系统是()。
A.数据库系统B.文件系统C.操作系统D.数据库管理系统
3.()由计算机硬件、操作系统、数据库、数据库管理系统以及开发工具和各种人员(如数据库管理员、用户等)构成。
A.数据库管理系统B.文件系统C.数据库系统D.软件系统
4.在现实世界中客观存在并能相互区别的事物称为()。
A.实体B.实体集C.字段D.记录
5.在数据库设计的需求阶段中,业务流图一般采用()表示。
A.程序结构图B.数据流图C.程序框架D.E-R图
6.在数据库设计的()阶段中,用E-R图来描述信息结构。
A.需求分析B.概念结构设计C.逻辑结构设计D.物理结构设计
二、思考题
1、简述数据与信息之间的联系与区别。
2、简述数据库系统的设计流程。
3、社么是E-R图?
E-R图由哪些要素构成?
4、逻辑结构设计有哪些步骤?
5、物理结构设计有哪些步骤?
6、数据库的维护包括哪些工作?
参考答案:
一、选择题
1-B2-D3-C4-A5-B6-B
二、思考题
1、描述事物的符号称为数据,信息是就指对结果进行加工处理,并对人类社会实践和生产活动产生决策影响的数据。
数据是物理的,信息是观念性的,数据和信息密切相关,信息可以数据化,数据代表信息,两者既有联系又有区别。
2、数据库设计的流程包括六个阶段:
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。
3、E-R图是用来描述实体-联系的模型图。
E-R图的组成要素:
表示实体的“矩形”、表示实体属性的“椭圆”、表示实体间联系的“菱形”。
4、逻辑结构设计步骤:
(1)概念模型转化为关系模型。
(2)将关系模型转化为特定数据管理系统下的数据模型。
(3)数据模型进行优化(通常采用规范化理论),以提高数据库应用系统的性能。
5、物理结构设计步骤:
(1)确定数据库的物理结构(存储结构、存储位置)。
(2)确定数据库的存取方法。
(3)对物理结构进行评价,评价的重点为时间和空间效率。
6、数据库的维护工作:
对数据库的监测、分析和性能的改善;数据库转存和故障恢复;数据库的安全性、完整性控制;数据库的重组和重构造。
习题2
一、选择题
1.SQLServer2005的操作中心是()。
A.ManagementStudioB.EnterpriseManagementC.VisualStudio.NET2005D.查询编辑器窗口
2.注册至某服务器,表示该服务器()。
A.已启动但未连接B.已启动并且已连接C.还未启动D.还未连接
3.对于大型企业而言,应该采用()版本的SQLServer2005。
A.企业版B.工作组版C.开发者版D.精简版
二、思考题
1、简述安装SQLServer2005所需的软硬件环境。
2、简述SQLServer2005各版本与操作系统之间的关系。
3、如何在SQLServer2005ManagementStudio中增加一个数据库?
4、如何创建一个查询,并保存脚本文件?
参考答案:
一、选择题
1-A2-B3-A
二、思考题
1、硬件环境:
版本
CPU
内存
磁盘空间
企业版
类型:
PentiumIII兼容处理器或更高速度的处理器
速度:
最低600MHz或1GHz或更高
最小:
512MB
建议:
1GB或更大
最少350MB或更多
标准版
开发版
工作组版
精简版
最小:
192MB建议:
512MB或更高
软件环境:
操作系统
企业版
标准版
开发版
工作组版
精简版
Windows2000ProfessionalEditionSP4
否
是
是
是
是
Windows2000ServerSP4
是
是
是
是
是
Windows2000AdvancedServerSP4
是
是
是
是
是
Windows2000DatacenterEditionSP4
是
是
是
是
是
WindowsXPHomeEditionSP2
否
是
否
否
是
WindowsXPProfessionalEditionSP2
否
是
是
是
是
Windows2003ServerSP1
是
是
是
是
是
Windows2003EnterpriseEditionSP1
是
是
是
是
是
Windows2003DatacenterEditionSP1
是
是
是
是
是
Windows2003WebEditionSP1
否
否
否
否
是
2、参考上表
3、可利用“附加”数据库功能:
(1)在【对象资源管理器】窗口中,右击【数据库】选项,弹出快捷菜单,选择【附加】选项,出现【附加数据库】对话框。
(2)单击【添加】按钮,出现【定位数据库文件】对话框。
从中选择要附加的数据库的主要数据文件,单击【确定】按钮,返回【附加数据库】对话框。
(3)单击【确定】按钮,即可把所选的数据库附加到当前SQLServer实例上
4、
(1)打开查询编辑器窗口。
在查询编辑器窗口中键入脚本,单击工具栏上的分析按钮,分析脚本语法,使其正确。
(2)按F5,或者单击工具栏上的执行按钮,执行脚本,或者也可以在菜单栏上的【查询】|【执行】。
(3)选择“文件”菜单中的【保存】命令,或单击工具栏的【保存】按钮,在打开的保存对话框转播中,选择存储位置,输入脚本文件名,单击“保存”即可保存脚本文件。
习题3
一、选择题
1.一个数据库至少有()个文件。
A.2B.3C.4D.5
2.若要使用多个文件,为了便于管理,可以使用()。
A.文件夹B.文件组C.复制数据库D.数据库脱机
3.在SQLServer中,用来显示数据库信息的系统存储过程是()。
A.sp_dbhelpB.sp_dbC.sp_helpD.sp_helpdb
4.在SQLServer中,下列关于数据库的说法正确的是()。
A.一个数据库可以不包含事务日志文件
B.一个数据库可以只包含一个事务日志文件和一个数据库文件
C.一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件
D.一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件
二、思考题
1、在SQLServer2005安装成功后,有哪些系统数据库?
其用途分别是什么?
2、数据库文件有哪些类型?
其作用分别是什么?
3、数据库如何扩容?
有几种方法?
3、SQLServer2005提供了哪两种创建数据库的方法?
5、如何实现数据库的移植?
有哪几种方法?
参考答案:
一、选择题
1-A2-B3-D4-B
二、思考题
1、系统数据库:
master数据库:
是SQLServer系统最重要的数据库。
记录SQLServer系统的所有系统级信息。
model数据库:
作为用户创建新数据库的模板。
msdb数据库:
是代理服务器数据库。
它为报警、任务调度和记录操作员的操作提供存储空间。
tempdb数据库:
记录了所有的临时表、临时数据和临时创建的存储过程等保存临时对象的一个工作空间。
2、数据库文件类型:
(1)主要数据文件:
包含数据库的启动信息,并指向数据库中的其他文件。
主要数据文件的文件扩展名是.mdf。
(2)次要数据文件:
是可选的,由用户定义并存储用户数据。
次要数据文件的文件扩展名是.ndf。
(3)事务日志文件:
用于记录所有事务以及每个事务对数据库所做的修改。
3、可用通过修改现有数据库中数据文件的容量,或者增加数据文件扩容数据库。
有两种方法:
一种是用ManagementStudio修改数据库属性修改数据文件的容量。
另一种是利用AlterDatabase语句修改数据库扩容。
4、可以利用“分离/附加”数据库,或利用“脱机”数据库移植数据库。
方法一:
在ManagementStudio中,分离数据库——(复制)移植数据库文件——附加数据库
方法二:
在ManagementStudio中,设置数据库为“脱机”状态——(复制)移植数据库文件——附加数据库
习题4
一、选择题
1.在Transact-SQL语句中,删除表中数据的命令是()。
A.DELETEB.DROPC.CLEARD.REMOVE
2.在SQLServer2005中,更新表中数据的命令是()。
A.USEB.SELECTC.UPDATED.DROP
3.以下关于外键和相应的主键之间的关系的说法中,正确的是()。
A.外键不一定要与相应的主键同名
B.外键一定要与相应的主键同名
C.外键一定要与相应的主键同名而且唯一
D.外键一定要与相应的主键同名,但并一定唯一
4.在Transact-SQL语句中,修改表结构时应使用的命令是()。
A.UPDATEB.INSERTC.ALTERD.MODIFY
5.要限制输入到列中的值范围,应使用()约束。
A.CHECKB.PRIMARYKEYC.FOREIGNKEYD.UNIQUE
二、思考题
1.什么是数据的完整性?
数据完整性有哪些分类?
2.数据约束有哪几种?
分别实现何种数据完整性?
3.默认值对象和默认约束有何区别?
4.规则是什么?
规则的作用是什么?
5.什么是NULL值?
它与0有何区别?
6.如何删除默认值对象?
参考答案:
一、选择题
1-A2-C3-A4-C5-A
二、思考题
1.数据的完整性是指数据的精确性和可靠性,主要用于保证数据库中数据的质量。
它是为防止数据库中存在不符合语义规定的数据和防止因错误信息的输入/输出造成无效操作或报错而提出的。
2.
约束类型
实现数据的完整性
Default(默认值约束)
域完整性
Check(检查约束)
PrimaryKey(主键约束)
实体完整性
Unique(唯一性约束)
ForeignKey(外键约束)
参照完整性
3.默认值对象是一种数据库对象,在数据库中创建默认值对象后,可以将其绑定到多个数据表的一个或多个列的应用;默认值约束只能用于约束一个表中的列。
4.规则(Rule)就是对存储在表中列或用户自定义数据类型的取值范围的规定或限制。
作用:
规则类似于CHECK约束,是用来限制数据字段的输入值的范围,实现强制数据的域完整性。
5.NULL是一个特殊值,表示没有值或值不确定。
实际上,空字符和0都不是NULL,空字符是一个有效的字符,0是一个有效的数字。
6.第一步:
解绑默认值:
对于不需要再利用默认的列,可以利用系统存储过程对其解绑。
其语法格式如下:
[EXECUTE]sp_unbindefault'表名.字段名'|'自定义数据类型名'
第二步:
在查询分析器中使用DROP语句删除默认值。
其语法格式如下:
DROPDEFAULTdefault_name[,…n]
习题5
一、选择题
1.在Transact-SQL语句中,条件“年龄BETWEEN15AND35”表示年龄在15岁至35岁之间,且()。
A.包括15岁和35岁B.不包括15岁和35岁
C.包括15岁但不包括35岁D.包括35岁但不包括15岁
2.下列聚合函数中正确的是()。
A.SUM(*)B.MAX(*)C.COUNT(*)D.AVG(*)
3.查询员工工资信息时,结果按工资降序排列,下列语句中正确的是()。
A.ORDERBY工资B.ORDERBY工资DESC
C.ORDERBY工资ASCD.ORDERBY工资DISTINCT
4.在SQLServer2005中,下列关于通配符的操作中,范围最大的是()。
A.snameLIKE‘abc#’B.snameLIKE‘abc_d%’C.snameLIKE‘abc%’D.snameLIKE‘%abc%’
5.“SELECT工号FROM员工表WHERE工资>1250”的功能是()
A.查询工资大于1250元的记录
B.查询1250号记录后的记录
C.检索所有的职工号
D.从“职工”关系中检索工资大于1250元的职工号
二、思考题:
1.在SELECT语句中可以存在哪几个子句?
他们的作用分别是什么?
2.在表与表之间可以使用哪几种连接方式?
它们各自有何特点?
3.LIKE匹配字符有哪几个?
4.有几种连接表的方法?
它们之间有什么区别?
5.GROUPBY子句的作用是什么?
HAVING子句和WHERE子句中的条件有什么不同?
6.嵌套查询与相关子查询有何区别?
参考答案:
一、选择题
1A2-C3-B4-D5-D
二、思考题
1.SELECT语句中可以存在以下子句
(1)SELECT子句:
指定查询返回的列。
(2)INTO子句:
将检索结果存储到新表或视图中。
(3)FROM子句:
用于指定查询列所在的表和视图。
(4)WHERE子句:
指定用于限制返回的行的搜索条件。
(4)GROUPBY子句:
指定用来放置输出行的组。
并且如果SELECT子句中包含聚合函数,则计算每组的汇总值。
(5)HAVING子句:
指定组或聚合的搜索条件。
HAVING通常与GROUPBY子句一起使用。
(6)ORDERBY子句:
指定结果集的排序。
2.
(1)交叉连接:
又称笛卡儿积,返回两个表的乘积。
(2)内连接:
把两个表中的数据,通过相同的列,连接生成第3个表,仅包含那些满足连接条件的数据行。
内连接分为等值连接、非等值连接和自然连接。
(3)外连接:
分类:
左外连接、右外连接和全外连接。
左向外连接:
只包括左表的所有行,不包括右表的不匹配行的外连接;
右向外连接:
只包括右表的所有行,不包括左表的不匹配行的外连接。
完整外部连接:
既包括左表不匹配的行,也包括右表的不匹配的行的连接
3.LIKE匹配字符(通配符):
%(百分号):
表示0~n个任意字符。
_(下划线):
表示单个任意字符。
[](封闭方括号):
表示方括号内列出的任意字符。
[^]:
表示未在方括号内列出的恶人一字符。
4.参考第2题
5.GROUPBY子句指定用来放置输出行的组,如果需要按某一列数据的值进行分类,在分类的基础上再进行查询,就要使用GROUPBY子句。
HAVING子句指定组或聚合的搜索条件。
HAVING只能与SELECT语句一起使用。
HAVING通常在GROUPBY子句中使用。
如果不使用GROUPBY子句,则HAVING的行为与WHERE子句一样。
WHERE子句是从表格的数据集中(未分组)过滤出符合条件的行。
6.在SQL中,将一条SELECT语句作为另一条SELECT语句的一部分称为嵌套查询。
外层的SELECT语句被称为外部查询或父查询,内层的SELECT语句成为内部查询或子查询。
相关子查询不同嵌套子查询,相关子查询的查询条件依赖于外层查询的某个值。
习题6
一、填空题
1.在Transact-SQL语言中变量分为_________和_________。
2.以_____________符号开头的变量为全局变量。
3.SQLServer聚合函数有最大、最小、求和、平均和计数等,它们分别是MAX、_______、________、AVG和COUNT。
二、简答题
1.SQL语言的数据类型有哪些?
分别有什么作用?
2.需要为SQLServer中的变量赋值时,可以用哪两种命令?
3.在循环语句中,BREAK和CONTINUE语句分别起什么作用?
3.了解函数的应用,查阅自己系统中的全局变量以及系统函数有哪些。
4.使用CASE表达式,判断当前月的天数。
参考答案:
一、填空题
1.局部变量全局变量
2.@@
3.MINSUM
二、简答题
1.数字数据
字符数据:
存储字符或字符串。
货币数据:
存储货币数据。
日期和时间数据:
存储日期和时间数据。
二进制字符串:
存储二进制型的OLE对象。
其他数据类型:
存储其他类型数据。
2.若要对变量赋值,可以使用SELECT语句或SET语句将一个不是NULL的值赋给已声明的变量。
一个SELECT语句一次可以初始化多个局部变量;一个SET语句一次只能初始化一个局部变量。
当用多个SET语句初始化多个变量时,为每个局部变量使用一个单独的SET语句。
语法格式如下:
SELECT@变量名=表达式[,…n]
SET@变量名=表达式
3.BREAK:
无条件地退出WHILE循环。
CONTINUE:
结束本次循环,进入下次循环,忽略CONTINUE后面的任何语句。
4.
DECLARE@TSCHAR(5)
SET@TS=CASE
WHENMonth(GETDATE())IN(1,3,5,7,8,10,12)THEN'31天'
WHENMonth(GETDATE())IN(4,6,9,11)THEN'30天'
WHENMonth(GETDATE())=2THEN'28天'
END
PRINT@TS
习题7
一、填空题
1.视图是一种常用的__________。
2.视图可以看成是从一个或几个__________导出的虚表或存储在数据库中的查询。
3.数据库中只存放视图的____________,而不存放视图对应的___________,数据存放在原来的________中,当基本表中数据发生变化时,从视图中查询出的数据_________________。
二、思考题
1.视图与数据表有何区别?
2.视图有哪些优点?
3.创建视图的方法和注意事项有哪些?
4.如何加密自己创建的视图的定义?
参考答案:
一、填空题
1.数据库对象
2.基本表
3.定义数据基本表也会随之变化(或是最新数据)
二、思考题
1.数据表中存储基本数据,而视图中只存储查询定义,不存放数据。
2.简化操作、提高数据安全性、屏蔽数据库的复杂性、数据即时更新。
3.创建视图的方法:
(1)使用ManagementStudio。
(2)使用CreateView语句
注意事项有:
(1)只能在当前数据库中创建视图,在视图中最多只能引1024列。
(2)不能在规则、默认值、触发器的定义中引用视图。
(3)不能在视图上创建索引;
(4)如果视图引用的表被删除,则当使用该视图时将返回一条错误信息;如果创建具有相同表的结构的新表来替代已删除的表,视图可以使用,否则必须重新创建视图。
(5)如果视图中某一列是函数、数学表达式、常量或来自多个表的列名相同,则必须为列定义名字。
(6)当通过视图查询数据时,SQLServer不仅要检查视图引用的表是否存在,是否有效,而且还要验证对数据的修改是否违反了数据的完整性约束。
4.在CreateView语句中使用“WITHENCRYPTION”选项加密视图定义。
习题8
一、填空题
1.在正式创建一个索引之前,通常需要从________、__________和_________这3个方面进行考虑。
2.在一般情况下,当对数据进行_______时,会产生索引碎片,索引碎片会降低数据库系统的性能,通过__________使用系统函数,可以检测索引中是否存在碎片。
3.在数据表中创建主键约束时,会自动产生_________索引。
4.可以使用_________创建独立于约束的索引。
二、思考题
1.简述索引的优点和缺点。
2.简述索引的使用原则。
3.什么是聚集索引?
什么是非聚集索引?
比较这两种索引的结构特点。
4.如何使用CREATEINDEX语句创建索引?
参考答案:
一、填空题
1.数据库查询索引
2.修改查询编辑器窗口
3.唯一性的聚集
4.CREATEINDEX语句
二、思考题
1.优点:
提高数据检索速度、保证数据记录的唯一性、加速表之间的连接。
缺点:
创建索引要花费时间,花费磁盘空间,修改数据时需要更新索引。
2、使用的索引原则:
数据库准则、查询准则、索引列准则。
一般原则是:
●主键列上一定要建立索引。
●外键列可以建索引。
●在经常查询的字段上最好建立索引。
●对于那些查询中很少涉及的列、重复值比较多的列不要建索引。
●对于定义为text,Image和Bit数据类型的列上不要建立索引。
3.在聚集索引中,表中的行的物理存储顺序和索引顺序完全相同(类似于图书目录和正文内容之间的关系)。
聚集索引对表的物理数据页,按列进行排序,然后再重新存储到磁盘上。
非簇索引具有与表的数据行完全分离的结构,非聚集索引的叶节点存储了组成非聚集索引的关键字值和一个指针,指针指向数据页中的数据行,该行具有与索引键值相同的列值,非聚集索引不改变数据行的物理存储顺序,因而一个表可以有多个非聚集索引。
4.CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]/*索引的类型*/
INDEX索引名ON{表名|视图名}列名[ASC|DESC][,...n])
习题9
一、填空题
1.存储过程在第一次执行时进行编译,并将结果存储在___________中,用于以后调用。
2.存储过程是SQLServer2005中封装的___________,包括3种类型,分别是___________、__________和____________。
3.存储过程有多种调用方式,其中比较常用的是使用__________语句。
4.可以使用____________语句来加密存储过程,防止未授权用户通过SELECT语句查看改存储过程代码。
5.____________________是已经存储在SQLServer服务器中的一组预编译的Transact-SQL语句。
二、思考题
1.简述存储过程的基本功能和特点。
2.简述存储过程的创建方法和执行方法。
参考答案:
一、填空题
1.数据库服务器
2.Transact-SQL语句系统存储过程用户自定义存储过程扩展存储过程
3.EXECUTE
4.WITHENCRYPTION
5.(系统)存储过程
二、思考题
1.存储过程(StoredProcedure)是一组完成特定功能的Transact-SQL语句集,经编译后存储在数据库中,用户调用过程名和给出参数来调用它们。
2.创建存储过程的语法格式:
CREATE[PROC|P