大型数据库系统复习大纲2015资料
教学资源
期末考试方式:
笔试闭卷。
题型:
单选
20%=2*10
填补空缺
20%=2*10
应用问题
45%=9*5
设计问题
15%=15*1
第一章数据库基础和数据库设计
数据库设计的六个阶段,每个阶段的主要工作是什么?
1需求分析
2概念结构设计
3逻辑结构设计
4数据库物理设计
5数据库的实现
6数据库的运行和维护(主要工作见黄书15-20 ) )。
概念设计,绘制E-R图。
将E-R图转换为关系模型的逻辑设计。
课后作业P17实验内容(1) ) 2; 问题思考(一)
第二章服务器的安装配置和使用
SQL Server 2005基本上构成P20-21
1、服务器端组件、客户端组件、通信组件
2、实例组、实例、数据库、基本表
第七章事务和并发控制
事务是什么?
事务是一系列数据库操作,是数据库APP的基本单元,也是并发控制和数据恢复的基本单元。
事务有什么作用?
事务是用户定义的完整工作单元,事务中的所有语句要么作为一个整体执行,要么全部执行,要么全部不执行。 如果发生错误,您可以回退事务,并取消事务中进行的所有更改,以保证数据库中数据的一致性和可恢复性。
事务具有什么特性? 各自的特性分别是什么意思? P119
1原子性2整合性3隔离性4永久性
并发操作中常见的问题是哪个? 四个问题分别是什么意思? P120
1读取丢失或被复盖的2脏数据3不能重复重影读取
有多少常见故障影响事务的正常运行? P121
1事务内部故障2系统故障3介质故障4计算机病毒
SQL SERVER事务模式有三种类型?
显式事务、隐式事务、自动事务
如何使用T-SQL命令创建显式事务,并通过获取错误语句(BEGIN try,BEGIN catch )或测试错误值@@Error来确定是否提交事务? P126例7-2 p128例7-6
如何使用T-SQL命令创建显式事务,为事务设置保存点,并在操作出现错误时部分回滚? P127例7-4
如何使用T-SQL命令显示事务数? P127例7-5
为什么要进行同时控制? 实现并发控制的最常用技术是什么?
数据库是一种共享资源,许多事务正在同时执行。 如果多个事务同时访问数据库,则可能会同时读取和/或修改同一数据。 如果不控制并发操作,则可能会访问和存储非法数据,从而破坏数据库的完整性。 因此,数据库管理系统必须提供并发控制机制。
实现并发控制的最常用技术是块技术
什么是屏蔽技术?
封锁是指在操作有事务t的数据对象,例如表、记录等之前,向系统发出请求,进行锁定。 锁定的事务t控制数据对象。 在事务t解除锁定之前,其他事务无法更新数据对象。 块是实现并发控制的非常重要的技术。
基本的钥匙有几种? 两个基本锁的意思分别是什么?
1共享锁(s锁) 2排他锁(x锁) p132
专用锁有哪些类型?
1更新锁定(u锁定) 2意向锁定(I锁定) 3体系结构锁定) 4大容量更新锁定(BU锁定) )。
如何使用T-SQL命令查询锁? P134例7-8
Exec sp_lock
什么是封杀合同?
使用x锁和s锁锁定数据对象时,需要约定一些规则。 这称为块协议。
一般的三级封号合同是什么? 各级封锁协议分别对读写施加什么锁定? 锁定范围是什么? 可以防止什么样的并发问题? P134
一级封锁协议:事务t在更改数据r之前必须先进行x锁定,直到事务结束并释放。
防止:防止修正丢失
二级封杀协议:一级封杀协议事务处理t在修改数据r之前必须先进行s锁定,阅读完毕后必须立即解除s锁定
防止:防止丢失修改或读取不洁的数据。 不能保证能反复读。
第3级协议:第1级块协议事务t在修改数据r之前必须进行s锁定,直到事务结束才被释放。
防止:丢失修改、阅读不洁数据、不可重复阅读、容易造成比较多的死锁
如何使用T-SQL命令在数据库中对指定的表施加共享锁?
工业和信息化教育
课后作业p138-139(1) )2) )3)、问题思考
实验
第八章T-SQL程序结构
注释符号
-或/* */
局部变量宣言、全局变量宣言语句P143
以全局变量: @@开头,定义了系统,可以直接使用。
局部变量:以@开头,用户定义,局部在批处理中。
变量语句P144
有两种方法可以代入T-SQL变量。
SELECT命令:一个SELECT可以同时向多个变量赋值。
SET命令:一条SET语句只能向一个变量赋值
语法:
SELECT {@变量名=表达式}[, n]
SET @变量名=表达式
变量输出显示语句
结果窗口输出: SELECT命令
消息换行符输出:打印命令
T-SQL数据类型、运算符和表达式。
T-SQL的运算符如下。
1 )算术运算符2 )位运算符3 )连接运算符4 )比较运算符5 )逻辑运算符
T-SQL的公式包含:
1 )数值类型2 )字符串表达式3 )条件表达式
使用一般系统函数:数学函数、字符串函数、日期时间函数、类型转换函数、配置函数(全局变量)含义P145-151
使用进程控制语句: IF、CASE和While语句。 P152-154
跳转语句Break、Continue、GOTO。
等待语句Wait P155
返回语句RETURN P156
课后作业p158-159(1) (2) (3) )、问题思考
第十章光标
什么是光标?
游标是一种从结果集中每次提取一条记录的机制。
光标有什么作用?
游标机制允许用户移动指针,以从游标结果集中一次获取一条相关记录,并在APP会话中处理结果。
使用光标的一般步骤是什么? 每个步骤都使用什么命令?
1游标声明declare
2打开光标
3读取光标数据fetch
4关闭光标关闭
5释放光标deallocate
如何实现使用T-SQL命令声明的常规游标? 可滚动光标? 只读光标? 可以更改光标吗? P182
如何使用T-SQL命令通过游标逐行显示游标数据?
要使用可滚动光标滚动显示光标数据,请告诉我如何使用T-SQL命令。
如何使用T-SQL命令更改由光标位置指定的数据?
如何使用T-SQL命令从光标位置删除指定的数据?
课后作业p195(1)2(3)问题思考
第十一章自定义函数
自定义函数的特征是什么?
1、可复用代码,提高编程开发效率。
2、隐藏SQL详细信息。
3、集中维护。
4、可以直接用另一个SQL语句调用,网络流量少。
5、必须返回值(标量值或表)
自定义函数有以下三种类型? 三种函数分别有什么特点?
1标量型函数
2内联表值类型函数
3多语句表值类型函数P197
自定义函数中的有效语句是什么?
)1)声明函数局部变量和游标的DECLARE语句。
)2)赋值语句。
)3)引用函数中声明、打开、关闭和释放的本地游标的游标操作。 不能使用FETCH语句将数据返回到客户端。 只能使用FETCH语句通过INTO子句为局部变量赋值。
)4)控制流语句。
)5) SELECT语句。
(6)插入、更新和删除语句。
(7)执行语句。
如何使用T-SQL命令创建标量函数,并调用自定义函数查询数据?
如何使用T-SQL命令创建内联表值类型函数,并调用自定义函数查询数据?
如何使用T-SQL命令更改自定义函数
如何使用T-SQL命令删除自定义函数
课后作业p208(1)2)4)、问题思考
第十二章存储过程
什么是存储过程?
存储过程是一组完成特定功能的SQL语句,它们被编译并存储在数据库中。
提高教学质量
存储过程分为哪两类?
系统提供的存储过程
用户定义的存储过程
请告诉我存储过程的特征。 P210
1、存储过程允许标准的基于组件的编程
2、存储过程可以实现高速执行速度
3、存储过程可以减少网络流量
4、存储过程可以作为安全机制使用
5、自动完成需要提前执行的任务
存储过程和函数的区别是什么?
存储过程具有参数和返回值,但与函数不同。 存储过程的返回值只能指示执行是否成功,不能像函数那样直接调用。 这意味着调用存储过程时,在存储过程名称之前必须有EXEC保留字。
如何使用T-SQL命令创建具有输入参数的存储过程并运行该存储过程以查询数据。
如何使用T-SQL命令创建具有输入参数和缺省值的存储过程,并运行该存储过程以查询数据。
如何使用T-SQL命令创建具有输入和输出参数的存储过程,以及如何运行该存储过程以查询数据。
如何使用T-SQL命令创建具有输入和返回状态的存储过程,并执行语句以显示状态值。
如何使用T-SQL命令修改存储过程
如何使用T-SQL命令删除存储过程
如何使用T-SQL命令显示存储过程
如何使用T-SQL命令显示存储过程的定义文本信息
课后作业p226-227(2) (3) (4) (5)、问题思考
实验
第十三章触发原理和使用
触发器的概念和作用、触发器的特征。 P228
触发器概念:可以将触发器视为满足特定条件时自动开始执行的特殊存储过程。
触发器的作用:实现主键和外键锁无法保证的复杂的引用王完整性和数据完整性,还有强化约束、级联执行和存储过程调用。
触发器的种类。 触发器的结构。 P229
1 after触发:后退触发
2 instead of触发器:前触发器(备用触发器) ) )。
创建触发器之前必须考虑的问题。 P230-231
1、Create trigger语句必须是批处理中的第一条语句
2 .缺省情况下,触发器权限分配给表的所有者,并且不能将修改权限安装给其他区域的用户
3、一个触发器只能对应一个表,只能有一个前触发器,多个后出发
4、drop语句不能在触发器中使用
用Create trigger命令创建触发器。 P231
创建触发器触发器名称
On表/视图
For insert/update/delete
As
比根
例如:
create trigger T2
on Student for delete
as
比根
delete from SC
来自sc,deleted d
where SC.Sno=d.Sno
结束
使用触发器强制执行业务规则。 P236
课后作业P246问题思考
触发器与存储过程的区别:
触发器由事件的触发器执行,并直接由存储过程名称调用。
触发原理:触发器实际上是一个可以自动执行的存储过程
第十四章数据库安全与访问控制
SQL Server采用的三种级别的安全控制策略是什么?
登录SQL Server服务器需要认证
2您必须是数据库用户或数据库角色的成员
3您必须具有执行此操作的权限
SQL Server的两种安全认证模式是什么?
1 Windows认证模式
2混合认证模式
创建和删除SQL Server登录帐户(使用系统存储过程)。 P249
登录帐户: exec sp_addlogin '登录名','密码','登录数据库'
示例: exec sp_addlogin 'U1 ','1',' Test '
删除登录用户: exec sp_droplogin '登录名' *在删除登录用户之前,请删除与登录用户对应的用户
exec sp_revokedbaccess 'U4_indb '
exec sp_droplogin 'U4 '
建立和删除数据库访问权限(使用系统存储过程)。 P253
创建和删除用户权限:
建立用户权限:登录用户与用户之间的映射关系
exec sp_grantdbaccess '登录用户名','用户名'
exec sp_grantdbaccess 'U2 ',' U2_indb '
删除用户的权限: exec sp_revokedbaccess '用户名'
exec sp_revokedbaccess 'U4_indb '
角色概念。
您可以创建表示组织中一组员工要执行的工作的角色,并向该角色授予适当的权限。
创建和删除用户定义的角色(使用系统存储过程)。 P257-259
创建: exec sp_addrole '角色名称'
exec sp_addrole 'G1 '
删除: exec sp_droprole '角色名称' *在删除角色之前,必须从角色中删除数据库用户
exec sp_droprolemember 'G1 ',' U7_indb '
exec sp_droprole 'G1 '
添加和删除数据库角色成员(使用系统存储过程)。 P259
添加: exec sp_addrolemember '角色名称','用户名'
exec sp_addrolemember 'G1 ',' U1_indb '
删除: exec sp_droprolemember '角色名称','用户名'
exec sp_droprolemenber 'G1 ',' U1_indb '
数据库权限管理(使用SQL命令授予权限和回收权限) P263-268
授予权限: grantall/tableto用户/登录用户/角色等
示例: grant select,update,insert on Student to G1
grant select on SC to U_Public
grant all on Student to U2_indb,U3_indb
grant select,update(SnO ) on Student to U4_indb
将表SC的INSERT权限授予U5_indb,以便U5_indb可以将此权限重新授予其他用户
grantinsertonsctou5_ indbwithgrantoption
回收权限: revoke all/表from用户/登录用户/角色等
revokeupdate(SnO ) on Student from U4_indb
实验
第十五章数据备份和恢复
备份设备的三种类型是什么?
1、硬盘2、磁带tape 3、命名管道pipe
SQL Server提供的三种备份方法是什么? SQL Server提供的三种恢复模式是什么?
备份方法:
1完整数据库备份-------用于系统数据库
2数据库和事务日志备份
3差异备份
恢复模型:
1轻松恢复模型
2完全恢复模型
三大容量日志记录恢复模型
数据库恢复的基本原理是什么?
数据库恢复也称为数据库恢复。 可以从数据库的完全备份、增量备份、文件或文件组备份以及事务日志文件备份中恢复数据库或数据库文件。
什么是事务日志,事务日志的作用是什么?
事务日志是数据库中发生的所有更改以及每次更改的一组事务的记录。 事务日志记录每个事务的开始。 在每个事务过程中,根据需要记录更改和撤消数据更改所需的足够信息。
创建和删除备份设备(使用系统存储过程)
创建: exec sp_addumpdevice“设备类型”、“设备逻辑名称”和“设备物理名称”
例如,exec sp_addumpdevice 'disk '、'教育管理_full '、' d:\server '
删除: exec sp_dropdevice '设备逻辑名称',' delfile '
例如,exec sp_dropdevice "教育管理"、" delfile "
数据库备份的SQL语句。 数据库恢复的SQL语句。
完整数据库备份: backup数据库名称示例: backup数据库教程管理
to逻辑设备备份名称to教育管理_full
with init
withdifferentialwithdifferential
事务日志备份: backup log数据库名称示例: backup log教程管理
to逻辑设备备份名称to教育管理_log
with init
检查数据库匹配: 1、运行检查点机制2、DBCC