华南师范大学大型数据库系统复习.docx
- 文档编号:12152967
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:10
- 大小:20.93KB
华南师范大学大型数据库系统复习.docx
《华南师范大学大型数据库系统复习.docx》由会员分享,可在线阅读,更多相关《华南师范大学大型数据库系统复习.docx(10页珍藏版)》请在冰豆网上搜索。
华南师范大学大型数据库系统复习
第一章数据库与SQLserver2008简介
1、熟记SQLSERVER2008主要由哪些部分(服务)组成?
每个部分的大致功能。
数据库引擎DatabaseEngine:
数据的存储、处理和安全管理。
AnalysisServices:
联机分析处理,包括多维分析和数据挖掘。
ReportingServices:
制作和发布报表。
IntegrationServices:
把不同来源的数据集成在一起。
2、系统数据库有哪些,作用是什么?
master数据库存放登录名、系统配置、系统存储过程等核心信息。
model数据库是新建用户数据库的模版。
tempdb数据库是存放临时信息(临时表,查询中间结果)。
msdb数据库存储周期作业(比如自动周期备份)的信息,供SQLServerAgent服务调用。
3、有哪些数据库对象?
数据库关系图、表、视图、存储过程、函数、触发器、规则、默认值、...。
4、SQLServer2008有哪些版本,以及特点?
企业版功能最齐全,开发版用于开发测试,移动版面向移动终端,Express版本免费和面向桌面应用程序。
5、常用管理工具及作用。
SSMS:
?
。
配置管理器:
服务的启停、管理网络协议。
数据库引擎优化顾问:
提供优化数据库的建议。
第二章数据库的建立和维护
1、数据库由哪些类型的文件构成?
文件个数?
文件后缀名?
至少一个数据文件+至少一个日志文件。
第一个数据文件.mdf,即主数据文件;第二个及以后的数据文件.ndf,辅助数据文件;日志文件.ldf。
注意主数据文件中指明了其它文件的位置,它是整个数据库的起点。
2、有关文件组的常识
①文件组是一个逻辑概念,由多个物理文件组成,好处是扩展容量和提高存储速度。
②第一个文件组是primary,就是.mdf所在的文件组。
③日志文件不分组。
3、数据页面和簇
①数据页面是(记录等)数据的存储单位,大小是8KB,8192字节。
②簇是分配和扩展存储空间的单位,由8个物理连续的页面组成。
4、创建、修改、删除数据库的命令(见课件和实验)。
①新建数据库命令中,文件参数name,filename,size,maxsize,filegrowth的准确含义。
②修改数据库命令中,ADDFILE,ADDLOGFILE,REMOVEFILE,MODIFYFILE,ADDFILEGROUP,REMOVEFILEGROUP选项的含义。
5、分离和附加
这两个步骤合起来,可以移动数据库到另外一台机器上。
第三章表的建立与维护
1、表的4种类型。
普通表,分区表,临时表,系统表。
注意分区表是针对超大型的表。
临时表放在tempdb中。
系统表存放了系统信息,比如每个数据对象的名称、结构等。
2、常见数据类型。
①带n和不带n的字符型区别(是否Unicode)。
②char和varchar的区别(是否变长)。
③varchar(max)和varchar(1000)的区别(前者是非常长的字符串,后者的长度不超过一个页面大小)。
④一般用bit来表示布尔类型,money来表示和钱有关的类型比如价格、存款。
⑤datetime2(3)中的(3)表示秒后面的小数位。
⑥binary是二进制类型,用于存储图片、视频等文件数据。
3、identity字段有两个相关参数:
种子seed和增量increment。
注意用户不能输入identity字段的值,由系统自动生成。
4、在SSMS中,设计表的字段、主键、检查约束等,选择“设计”弹出菜单。
编辑表的记录,选择“编辑”弹出菜单。
5、新建、修改、删除表的命令(见课件和实验)。
①新建表的命令中,声明字段、主键、外键、唯一性约束、检查约束
②修改表的命令中,ADD,ALTERCOLUMN,DROPCOLUMN,ADDCONSTRAINT,DROPCONTSRAINT等选项的含义。
第四章表数据操作
1、Insert,Update,Delete语句(见课件和实验)。
2、可以直接对两种类型的文件导入导出数据:
txt文本文件和Excel文件。
第五章安全与权限
1、两步连接。
①以登录名连接SQLSERVER服务器②连接数据库时映射登录名为该数据库下的某个数据库用户。
2、两种身份验证模式
①WINDOWS身份验证模式:
即以某个Windows账户连接SQLServer服务器,无需再提供用户名、密码。
典型用户名是域名\Administrator或其它管理员账户。
②SQLServer身份验证模式:
即以SQLServer的某个内部账号连接SQLServer服务器,需要提供用户名密码。
典型用户名是sa。
3、关于登录名
①登录名都有一个默认数据库,即登录后首次连接的数据库。
新建登录名后不作任何设置时,默认是master。
②禁用登录名的考虑:
当某个账户在一段时间内不再使用。
5、登录名怎样映射数据库用户?
①sa等管理员、创建数据库的用户、数据库所有者,映射为dbo;
②其他用户按照预先指定的进行映射;
③如果没有预先指定,映射为guest来访问数据库;guest没有启用时,则无法访问。
6、创建登录名,和映射登录名为数据库用户的命令(见课件和实验)。
7、关于服务器角色
①服务器角色sysadmin有服务器范围内(包括所有数据库)的最高权限。
②服务器角色的个数用户不能自己增减。
8、关于数据库角色
①db_owner数据库角色有该数据库的所有权限。
②public数据库角色分配给所有数据库用户。
③将一个角色分配给用户时,用户会有角色的所有权限(包括负权限deny)
9、常见权限(见课件)。
特别是control和references。
10、授权、回收、禁止权限的命令(见课件和实验)。
注意:
①可通过多种途径(直接授权,间接通过角色授权),对用户grant同一权限
②有一个途径deny这个权限,用户就被禁止不能再使用。
③在一个途径收回权限,将取消上次的授权(grant)或禁止(deny)的效果。
例如,想授一个权限给辅导员小王(有角色:
辅导员),可以①grant...to辅导员小王②grant...to辅导员③grant...topublic。
下次想禁止这个权限,可以④deny...to辅导员。
再接下来想解除禁止,可以⑤revoke...to辅导员
11、有关架构
①每个数据对象都放在一个架构下(多数情况是dbo,注意和数据库用户dbo区分开来)
②不同架构下可以有同名的数据对象(表等)。
③架构有所有者。
所有者可以是一个用户,表示此用户拥有此架构和架构下所有对象的权限。
所有者也可以是一个角色,意味着所有属于这个角色的用户拥有此架构和架构下所有对象的权限。
一个用户可以是很多个架构的所有者(拥有这些架构)。
④每个用户都有一个默认架构(无设置是dbo),但不一定是这个默认架构的所有者。
⑤用户指定一个数据对象的名称,如果没有说明架构名前缀时,在该用户的默认架构下查找,找不到再去dbo架构下面查找。
⑥指定一个数据库对象比如表,全名是:
[服务器名.][数据库名.][架构名.]对象名。
第六章T-SQL语言基础
1、熟记SQL语言的特点,包括这些特点的解释说明(见课件)。
2、注释符
单行注释符:
--多行注释符:
/**/
3、变量和标识符
@@开头表示全局变量,@开头表示局部变量(或参数),#开头表示临时表。
其它标识符要求不能以数字0-9开头,但可以_和字母开头。
4、常量
十六进制常量例子:
0xA8B。
货币常量例子:
$2.92。
Unicode字符串常量的例子:
N'abc'。
注意前缀。
5、空值的运算规则(见课件)
6、使用变量的各种语句(见课件和实验)。
包括声明(declare),赋值(set,select),显示输出(select,print)。
注意所有变量在声明后初始值一律是NULL。
8、各种流程控制语句(见课件及实验)。
注意case语句其实是一个表达式:
when条件成立时,返回then
8、waitfor语句
两种格式:
waitfordelay'时间'——等待多久时间;waitfortime'时刻'——等到什么时刻
9、常用函数(见课件及实验)。
特别是convert,dateadd,datediff,getdate。
因为考试时写程序可能要用到。
第七章查询和视图
1、selecttop的用法
selecttopn...——返回头n条记录。
selecttopn%...——返回头n%的记录
2、LIKE运算的用法。
通配符%、_的含义。
[ABCD],[^0-9]的含义
3、判断空值isnull
4、Select..Into的用法
可以快速复制一个表(how?
)。
5、创建、修改视图的命令(见课件和实验)。
第八章索引
1、新建和删除索引的命令(见课件与实验)。
2、聚簇和非聚集索引的区别。
①聚集索引影响表记录的物理顺序,按照关键字(索引字段)排序。
非聚集索引不影响。
②一个表最多只能有一个聚集索引,但可以有多个非聚集索引。
③聚集和非聚集索引的结构都是B树。
3、全文索引的作用
快速查找包含一段文本的记录。
4、唯一索引的作用
实现唯一约束,即不允许有记录在索引项(关键字)上取值重复。
第九章数据库完整性
1、实现数据库完整性的方法。
①各种约束(主键、外键、检查、默认值、非空)②规则和默认值对象③触发器。
2、有关规则对象。
①规则对象是一个关于字段取值(@value)的条件表达式。
②绑定到字段后,限制字段后来的取值(之前取值不限制)。
③删除了所绑定的全部字段后,才能删除一个规则对象。
3、默认值对象不考。
第十章存储过程、触发器和用户自定义函数
1、存储过程的创建(createprocedure)、修改(alterprocedure)、和调用(execute)命令(见课件和实验)。
注意不管是声明还是调用存储过程,输出参数后面都带output。
2、系统存储过程的特征是sp_开头。
3、掌握DML触发器的编写(见课件和实验)。
DDL触发器的命令不要求。
4、DML和DDL触发器的区别
①触发命令不同②能否使用inserted和deleted表。
5、DML触发器的不同类型和区别
①after/for类型,在语句(insert,update,delete)成功执行,插入、更新、删除后才激活。
②insteadof类型,实际不会执行插入、更新、删除,而是转去执行insteadof触发器。
③视图上只能定义insteadof触发器。
6、用户自定义函数的创建、修改、和调用(见课件和实验)。
①三种类型函数的创建方法各不相同,包括标量值函数、两种表值函数。
②调用表值函数函数时,是当成一个表,在select/update/insert/delete等语句中使用。
例如:
select*fromdbo.函数名(参数)
③调用标量值函数时,是当成一个值,在表达式里使用。
例如:
dbo.函数名(参数)*2+1。
④调用函数时,要说明架构名前缀,如上面的dbo.
第十一章数据备份和恢复
1、备份的不同类型。
①理解什么是完整备份、差异备份、部分备份、事务日志备份(见课件)。
②还原一个差异备份时,必须联合上一次的完整备份进行。
注意如果上一次不是完整备份(例如也是做差异备份),会跳过去找“上一次的完整备份”
③还原一个事务日志备份时,必须结合上一次的备份进行。
不管上次到底是完整/差异/事务日志备份。
2、备份设备
两种备份设备:
①磁带②磁盘(一个文件)
3、不同的恢复模式
①简单模式:
不可以备份事务日志,所以不能恢复到故障发生的那一时刻,只能恢复到前一次备份(完整备份/差异备份)的时刻。
②完整模式:
与上面相反。
③大容量日志模式:
和完整模式基本相同,针对大容量数据操作作了优化。
4、备份和恢复数据库的命令(见课件和实验)。
5、自动周期备份。
①可以通过“维护计划向导”进行设置。
②要使设置生效(自动周期备份如期进行),确保SQLServerAgent服务处于运行中。
第十二章SQL的高级应用
1、熟记事务的ACID性质。
包括名称、解释、英文单词。
2、关于事务
①开始事务StartTrasaction;结束事务:
Commit(提交)/Rollback(回滚)(见课件和实验)
②一个事务可以是单独的一条SQL语句(没有开始和结束)
③一个事务也可以由开始(starttransaction)、结束(commit/rollback)、以及之间的多条连续SQL语句构成。
4、关于用户与事务
①一个用户连接到数据库服务器后,在一个时间点上只能运行一个事务,但运行完一个事务后又可以开始下一个事务。
②对数据库而言,同时运行的事务数(除开一些以系统身份启动的系统事务),就是同时访问数据库的并发用户数。
5、关于隔离性级别
①四种常用隔离性级别(从低到高):
readuncommitted,readcommitted,repeateableread,serializable。
它们分别解决了哪些问题?
(见课件)
②隔离性级别越高,数据库的(一致性)错误减少,但性能下降,并发度也下降。
6、关于死锁
SQLServer不会预防死锁的发生。
而是主动检测,发现死锁时,牺牲一个代价最小的事务来解除死锁僵局。
8、关于游标
①使用流程(见课件和实验)。
注意到open时才真正执行查询语句,返回记录集。
②游标类型:
static类型的游标,不能实时反映原来表记录的变化。
dynamic类型的可以。
keyset类型的可以查看非主键字段的变化,主键字段的不可以。
③全局变量@@CURSOR_ROWS,和@@FETCH_STATUS的作用。
它们取什么值表示什么含义?
(见课件)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华南师范大学 大型 数据库 系统 复习