当前位置:首页 > J2EE课后习题题解
习 题 6
一、填空题
1.在Transact-SQL语言中变量分为_________和_________。 2.以_____________符号开头的变量为全局变量。
3.SQL Server聚合函数有最大、最小、求和、平均和计数等,它们分别是MAX、_______、________、AVG和COUNT。
二、简答题
1.SQL语言的数据类型有哪些?分别有什么作用?
2.需要为SQL Server中的变量赋值时,可以用哪两种命令?
3.在循环语句中,BREAK和CONTINUE语句分别起什么作用?
3.了解函数的应用,查阅自己系统中的全局变量以及系统函数有哪些。 4.使用CASE表达式,判断当前月的天数。
参考答案: 一、填空题 1.局部变量 全局变量 2.@@ 3.MIN SUM
二、简答题 1.数字数据
字符数据:存储字符或字符串。 货币数据:存储货币数据。
日期和时间数据:存储日期和时间数据。 二进制字符串:存储二进制型的OLE对象。 其他数据类型:存储其他类型数据。
2.若要对变量赋值,可以使用SELECT语句或SET语句将一个不是NULL的值赋给已声明的变量。一个SELECT语句一次可以初始化多个局部变量;一个SET语句一次只能初始化一个局部变量。当用多个SET语句初始化多个变量时,为每个局部变量使用一个单独的SET语句。 语法格式如下: SELECT @变量名=表达式[,?n] SET @变量名=表达式
3. BREAK:无条件地退出WHILE循环。 CONTINUE:结束本次循环,进入下次循环,忽略CONTINUE后面的任何语句。 4.
DECLARE @TS CHAR(5) SET @TS=CASE
WHEN Month(GETDATE()) IN (1,3,5,7,8,10,12) THEN '31天' WHEN Month(GETDATE()) IN (4,6,9,11) THEN '30天' WHEN Month(GETDATE())=2 THEN '28天' END PRINT @TS
习 题 7
一、填空题
1.视图是一种常用的__________。
2.视图可以看成是从一个或几个__________导出的虚表或存储在数据库中的查询。 3.数据库中只存放视图的____________,而不存放视图对应的___________,数据存放在原来的________中,当基本表中数据发生变化时,从视图中查询出的数据_________________。
二、思考题
1.视图与数据表有何区别? 2.视图有哪些优点?
3.创建视图的方法和注意事项有哪些? 4.如何加密自己创建的视图的定义?
参考答案: 一、填空题 1.数据库对象 2.基本表 3.定义 数据 基本表 也会随之变化(或 是最新数据)
二、思考题
1.数据表中存储基本数据,而视图中只存储查询定义,不存放数据。
2.简化操作、提高数据安全性 、屏蔽数据库的复杂性 、数据即时更新 。 3.创建视图的方法:(1)使用Management Studio。(2)使用Create View语句
注意事项有:
(1)只能在当前数据库中创建视图,在视图中最多只能引1024 列。 (2)不能在规则、默认值、触发器的定义中引用视图。 (3)不能在视图上创建索引;
(4)如果视图引用的表被删除,则当使用该视图时将返回一条错误信息;如果创建具有相同表的结构的新表来替代已删除的表,视图可以使用,否则必须重新创建视图。
(5)如果视图中某一列是函数、数学表达式、常量或来自多个表的列名相同,则必须为列定义名字。 (6)当通过视图查询数据时,SQL Server 不仅要检查视图引用的表是否存在,是否有效,而且还要验证对数据的修改是否违反了数据的完整性约束。
4.在Create View语句中使用“WITH ENCRYPTION”选项加密视图定义。
习 题 8
一、填空题
1.在正式创建一个索引之前,通常需要从________、__________和_________这3个方面进行考虑。 2.在一般情况下,当对数据进行_______时,会产生索引碎片,索引碎片会降低数据库系统的性能,通过__________使用系统函数,可以检测索引中是否存在碎片。 3.在数据表中创建主键约束时,会自动产生_________索引。 4.可以使用_________创建独立于约束的索引。
二、思考题
1.简述索引的优点和缺点。 2.简述索引的使用原则。
3.什么是聚集索引?什么是非聚集索引?比较这两种索引的结构特点。 4.如何使用CREATE INDEX语句创建索引?
参考答案: 一、填空题 1.数据库 查询 索引 2.修改 查询编辑器窗口 3.唯一性的聚集
4.CREATE INDEX语句
二、思考题
1.优点:提高数据检索速度、保证数据记录的唯一性、加速表之间的连接。 缺点:创建索引要花费时间,花费磁盘空间,修改数据时需要更新索引。 2、使用的索引原则 :数据库准则、查询准则 、索引列准则。 一般原则是:
● 主键列上一定要建立索引。 ● 外键列可以建索引。
● 在经常查询的字段上最好建立索引。
● 对于那些查询中很少涉及的列、重复值比较多的列不要建索引。 ● 对于定义为text,Image和Bit数据类型的列上不要建立索引。
3.在聚集索引中,表中的行的物理存储顺序和索引顺序完全相同(类似于图书目录和正文内容之间的关系)。聚集索引对表的物理数据页,按列进行排序,然后再重新存储到磁盘上。 非簇索引具有与表的数据行完全分离的结构,非聚集索引的叶节点存储了组成非聚集索引的关键字值和一个指针,指针指向数据页中的数据行,该行具有与索引键值相同的列值,非聚集索引不改变数据行的物理存储顺序,因而一个表可以有多个非聚集索引。
4.CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED ] /* 索引的类型*/
INDEX 索引名 ON {表名|视图名 } 列名 [ ASC | DESC ] [,...n])
习 题 9
一、填空题
1.存储过程在第一次执行时进行编译,并将结果存储在___________中,用于以后调用。
2.存储过程是SQL Server2005中封装的___________,包括3种类型,分别是___________、__________和____________。
3.存储过程有多种调用方式,其中比较常用的是使用__________语句。 4.可以使用____________语句来加密存储过程,防止未授权用户通过SELECT语句查看改存储过程代码。 5.____________________是已经存储在SQL Server服务器中的一组预编译的Transact-SQL语句。
二、思考题
1.简述存储过程的基本功能和特点。 2.简述存储过程的创建方法和执行方法。
参考答案: 一、填空题
1.数据库服务器
2.Transact-SQL语句 系统存储过程 用户自定义存储过程 扩展存储过程 3.EXECUTE
4.WITH ENCRYPTION 5.(系统)存储过程
二、思考题
1.存储过程(Stored Procedure)是一组完成特定功能的Transact-SQL语句集,经编译后存储在数据库中,用户调用过程名和给出参数来调用它们。 2.创建存储过程的语法格式:
CREATE [ PROC | PROCEDURE] 存储过程名
[ { @参数名称 参数数据类型 } [ = 参数的默认值 ] [ OUTPUT ] ] [ ,...n ]
[ WITH ENCRYPTION] [WITH RECOMPILE ] AS
sql_statement 执行存储过程的语法格式: EXEC[UTE] 存储过程名 [[@参数名=]{参数值 | @变量 [ OUTPUT ] | [默认值]}] [,...n]
共分享92篇相关文档