最新四级数据库重难点.docx
- 文档编号:18098020
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:32
- 大小:34.22KB
最新四级数据库重难点.docx
《最新四级数据库重难点.docx》由会员分享,可在线阅读,更多相关《最新四级数据库重难点.docx(32页珍藏版)》请在冰点文库上搜索。
最新四级数据库重难点
四级数据库重难点
四级数据库重难点
第6章存储技术与数据库物理设计
6.1物理设计是在具体的硬件环境、OS、DBMS约束下,基于逻辑设计,设计具体数据存储结构和存取方式。
目的:
占用空间少、访问效率高、维护代价低。
主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估。
6.2索引技术(Indexing)是一种快速文件访问技术,它将文件记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。
索引文件是一种利用索引技术支持快速文件访问的文件组织和存取方法。
索引加快了查询记录却减慢了数据更新速度,本身还占用一定的存储空间。
6.3文件组织:
如何将关系数据库中的关系映射为操作系统中的数据库文件,及管理文件。
文件结构:
如何将DB文件中的逻辑记录映射到物理文件的中磁盘块。
文件存取:
针对某种结构的DB文件,如何查、添删改其中的逻辑记录
6.4数据字典:
数据库各类对象的描述信息、数据库管理系统的控制信息。
包括关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息。
作用:
DBA用来监视DBMS的使用情况并协助完成管理工作;一般用户可用于查阅部分数据库结构信息;DBS运行时各子系统频繁使用以完成相应的存储和查询处理功能。
6.5DBMS的三种完整性控制机制:
CHECK子句、断言、触发器
断言语句:
Createassertion断言约束名check(…)
6.6堆文件:
数据量少且操作频繁;批量加载数据(先选为堆文件再调整文件结构)
顺序文件:
查询条件定义在查找码上;快速的二分查找
散列文件:
基于散列域值的等值匹配,特别是访问顺序是随机的。
非精确查询;非散列域
B-树和B+-树:
大数据量基本表;聚焦文件:
多表连接操作
6.7有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系。
索引文件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。
当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数据记录在数据文件中的物理地址.根据这个地址访问数据记录。
6.8散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系。
当需要访问数据文件中查找码值为si的某个或某些文件记录时,将si作为散列函数h的输入计算得出的散列函数输出值h(si)就是文件记录在数据文件中的物理地址。
6.9权限:
允许用户对一给定的数据库对象可执行的操作(查询、添删改、新建、备份等)。
第7章数据库应用系统功能设计
7.1软件体系结构:
软件架构={构件,连接件,约束}
7.2软件设计包括系统的总体结构设计、系统的过程设计、系统的数据设计三方面内容(+人机界面设计),从工程管理的角度,分为概要设计、详细设计
7.3应用软件分为数据库事务和应用程序。
后者一方面可以与数据库事务协调合作,另一方面还可实现与数据库访问无关的功能,如通信、人机交互。
7.4事务:
具有逻辑独立功能的一系列操作的集合,实现了某些特定的业务规则。
7.5事务概要设计的核心是辨识和设计事务自身的事务处理逻辑,采用面向数据流的程序设计方法设计事务内部的数据处理流程和结构。
7.6C/S结构特点:
数据管理和数据处理被分在客户端和服务器上;服务器可支持多个客户端;客户端也可访问多个服务器;客户端=人机交互+数据处理
B/S结构特点:
表示层,WEB浏览器;功能层,WEB应用服务器;数据层,DBMS服务
优点:
实现人面交互、应用业务逻辑处理、数据管理三层分离,提高了系统的可维护性;用WEB浏览器可访问多个异构应用平台,解决了跨平台数据管理问题。
第9章事务高度与并发控制
9.1调度:
定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这些操作的执行顺序;冲突操作:
事务Ti的操作Ii与事务Tj的操作Ij是冲突的,当且仅当Ii和Ij访问数据库中同一个数据项Q,并且Ii和Ij中至少有一个是写操作write(Q);冲突可串行:
一个并发调度冲突等价于某个串行调度(判断一个并行调度是否正确)
死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且将一直等待下去的一种系统状态。
9.2ACID:
Atomicity原子性;Consistency一致性;Isolation隔离性;Durability持久性
9.31级加锁协议要求事务T在修改数据项Q之前必须先对Q加X锁,直到事务结束才释放该锁。
事务结束包括正常结束(commit)和非正常结束(rollback)。
但事务如果是只读Q而不对其进行修改,是不需要对Q加锁的。
2级加锁协议是在1级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁。
3级加锁协议则是在1级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,但是需要等到事务结束时才释放该S锁。
9.42阶段锁协议将每个事务的执行过程分为加锁阶段和解锁阶段。
在加锁阶段,事务可以申请获得数据项上的任何类型的锁,但不允许释放任何锁。
在解锁阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁。
每个事务开始执行后就进入了加锁阶段。
当第一次释放锁后,即转入解锁阶段。
9.5解决死锁主要采用死锁预防和死锁检测与恢复两类方法。
死锁预防利用死锁预防协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态。
一次性加锁法;顺序加锁法
死锁检测与恢复则是允许系统进入死锁状态,并且定期检查系统是否发生死锁。
当发现系统发生死锁后,采取相应的恢复机制使系统摆脱死锁状态。
9.6活锁产生的原因是在系统非死锁状态下,某些事务由于始终无法获得对所需访问的数据项的控制权而长期等待下去,无法继续执行。
9.7锁粒度大:
被加锁数据项少、事务并发执行度低、系统开销小;锁粒度小则反之
9.8基于锁的并发控制技术的原理P166
第10章数据库的实施、运行和维护
10.1试运行:
功能测试;性能测试
10.2数据库维护:
数据库的转储和恢复;数据库的安全性、完整性控制;数据库性能的检测和改善;数据库的重组和重构
10.3数据库安全:
行政手段制定规范;权限管理、口令等;维护多个数据副本;防及除毒
10.4数据库重组:
按照系统设计要求对数据库存储空间进行全面调整;数据库重构:
业务小范围变化需对数据库逻辑结构作必要改变。
10.5数据库监控分析:
DBA借助相应工具监测数据库系统的运行情况,对监测数据进行分析,评估整个系统的运行状态,为系统的安全运行和性能优化提供依据。
10.6数据库空间管理:
数据量增加和碎片使性能降低;空间溢出会带来灾难性停机故障。
包括:
创建修改删除数据库空间、新建移动关联数据文件等。
10.7数据库参数调整:
外部调整:
CPU、网络;调整内存分配(改善程度大);调整磁盘I/O(I/O时间是响应时间的最大组成部分);调整竞争
10.8数据库查询优化:
合理使用索引;避免或简化排序(Orderby、Groupby,磁盘排序比内存排序开销大速度慢);避免相关子查询、外连接(左右连接比内连接消耗大);存储过程
10.9属于Oracle但不属于SQLServer的逻辑和物理空间结构:
表空间、段、区
第11章故障管理
11.1故障种类:
事务内部故障(事务回滚撤消修改)、系统故障(影响事务不坏数据)、介质故障(软件容错、硬件容错)、病毒
11.2系统故障对策:
重启,撤消(UNDO)未提交的事务,重做(REDO)已提交的事务
11.3软件容错:
备份、日志文件,利用恢复技术;硬件容错:
双物理存储设备
11.4恢复基本原理:
冗余,即所有数据均可通过存储在别处的冗余数据来重建。
11.5对于经常进行数据操作的数据库:
完全转储+差异转储
11.6以记录为单位的日志文件:
开始标记(TiBEGINTRANSACTION)、结束标记(TiCOMMIT或者TiROLLBACK)、每个事务的所有操作(Ti,A,50,80)
11.7以数据块为单位的日志文件:
存放更新前和更新后的整个数据块。
只有事务标识和被更新的数据块,没有操作类型和操作对象。
11.8日志的作用:
用来进行业务故障和系统故障恢复;协助后备副本进行介质故障恢复(动态转储必用);记录操作监视行为分析问题
登记原则:
登记次序严格按并行事务执行次序;必须先写日志文件再写数据库
11.9检查点:
最大限度减少数据库完全恢复时所必须执行的日志部分(针对系统故障)。
11.10数据库镜像:
提高数据库可用性的解决方案(比如介质故障,两台服务器相互备份)
优点:
提供完整或几近完整的数据冗余,增强数据保护;发生介质故障时,数据不会丢失且服务不会中断,提高数据库可用性;提高镜像数据库在升级期间的可用性。
双机互备援模式(均为主);双机热备份模式(一主一备份机)。
数据库镜像可用于并发操作。
11.11RAID廉价冗余磁盘阵列:
(镜像冗余、)校验冗余:
对成员磁盘上的数据执行异或(XOR)操作得到其校验值并存放在另外的校验磁盘上。
当某个磁盘发生故障时,只须计算其他磁盘上的校验数据和数据的异或便可重新得到该磁盘的值。
第12章SQLServer2000数据库管理系统
12.1四个服务:
SQLServer核心服务;
SQLServerAgent:
代理服务,代理定期进行的管理工作;
DTC:
DistributedTransactionCoordinator,分布式事务协调器,同一事务访问多个服务器
MicrosoftSearch:
全文检索服务
12.2四个版本:
企业版(全部功能、大型数据库)、标准版(小部门)、开发版(同企业版,作开发测试系统用,不作生产服务用)个人版(移动环境、本地数据)
12.3服务帐户:
使用本地系统帐户:
自动取当前登录到Windows的用户,没有Windows的网络访问权限,适用于非网络服务器操作系统(如XP);使用域用户帐户:
使用Windows身份验证设置连接到SQLServer,用户必是Windows系统管理员,适用于网络服务器OS
12.4网络库:
在SQLS客户端和服务器间传递网络数据包。
服务器可一次监听多个网络库
12.5SQLServer的两大类数据库:
系统数据库:
DBMS自动创建及维护,存放维护系统正常运行的信息,master(系统级信息)、msdb(支持自动执行任务)、model(所有用户数据库的公共信息)、tempdb(临时数据库),示例Pubs、Northwind;用户数据库
12.6估算存储空间:
SQLServer数据存储单位为页(Page),一个数据页是一块8KB的连续磁盘空间,行不能跨页存储,一行数据的大小不能超过一页的大小。
一个表10000行数据,每行3000字节,则需要(10000/2)*8KB=40MB的空间。
12.7主数据文件:
扩展名为.mdf,包含数据库系统信息并可存放用户数据库数据,每个数据库只有一个主数据文件。
辅助数据文件:
扩展名为.ndf,数据量很大时使用,可存放在不同的磁盘驱动器上,以便得利用多个磁盘上的存储空间并提高数据存取的并发性。
12.8每个数据文件及日志文件(.ldf)初始大小均不得小于512KB,主数据文件大小不得小于model数据库主数据文件,日志文件最好不小于1MB
12.9创建数据库:
CREATDATABASEjessymin
ON――表示数据库按下面参数创建
(NAME=jessymin,――逻辑文件名
FILENAME=‘…\MSSQL\Data\jessymin_Data.mdf’,――OS下的物理文件名
SIZE=10,――文件初始大小,单位默认为MB,下同
MAXSIZE=30,――文件最大大小
FILEGROWTH=5,――文件增量,为0表示不自动增长,默认按当前10%增长)
LOGON――表示该数据库日志文件按下面参数创建
(……..同上,只是物理文件名为jessymin.LDF)
12.10删除数据库:
DROPDATABASEjessymin。
删除六种数据库对象均用DROP
12.11Transact-SQL:
非过程化高级语言,全司变量@@,局部变量@,局部变量可以是自定义类型但不能是text或image类型。
12.12Transact-SQL示例:
计算1+2+3+…+100的和:
DECLARE@iint,@sumint
SET@i=1,@sum=0--SET可换为SELECT
WHILE@i<=100
BEGIN
SET@sum=@sum+@i
SET@i=@i+1
END
PRINT@sum
12.13DTS(DataTransformationService)数据转换服务。
注意区别DTC(分布式事务协调器)。
导出数据时用户必须是要连接的数据库服务器的合法用户,且对要导出的表具有查询权限
第13章数据库对象
13.1存储过程的:
SQL语句和控制流语句的预编译集合,应用程序可通过调用方法来执行
优点:
模块化程序设计;提高性能;减少网络流量;可作为安全机制使用
13.2带有多个参数并有默认值及输出参数的存储过程示例:
CREATEPROCEDUREp_Example
@areavarchar(20)=‘武汉大学’,@Pricemoney,@Sumintoutput
AS
SELECT/UPDATE/INSERT/DELETE……
SET@Sum=…..
应用程序中执行的SQL语句:
Declare@resint
EXECUTEp_Example‘武汉大学信息学部’,1000,@resoutput
或者EXECUTEp_Example@Price=1000,@resoutput
13.3用户自定义函数:
标量函数(返回单值,非text、Image类型,任何允许出现表达式的地方)、内嵌表值函数(返回一个表,放在查询语句的From子句中)、多语句表值函数(返回一个可自定义的表,也放在查询语句的From子句中,视图和存储过程的结合)
13.4标量函数救示例:
根据指定的商品类别查询该类的商品个数。
CREATFUNCTIONdbo.f_GoodsCount(@classvarchar(10))
RETURNSint
AS
BEGIN
DECLARE@xint
SELECT@x=count(*)FromT_GoodsClassaJIONT_Goodsb
ONa.GoodClassID=b.GoodClassID
WHEREGoodClassName=@class
RETURN@x
END
调用:
SELECTdbo.f_GoodsCount(‘服装’)或者
SELECTGoodsNameAS商品名,dbo.f_GoodsCount(‘服装’)AS种类数From….
13.5内嵌表值函数的不同之处在于RETURNS后只能是table,RETURN后面只能是单个的SELECT语句,没有相关联的返回变量也没有函数体。
调用时放在查询语句的FROM子句中。
13.6触发器是一种不需要由用户来调用的存储过程,当用户对表进行UPDATE、INSERT或DELETE操作时自动触发执行。
作用:
保证业务规则和数据完整性。
优点:
用编程方法来实现复杂的处理逻辑和业务规则,增强数据完整性约束。
13.7触发器适用场合:
比CHECK语句更复杂的数据约束(可引用其他表中的列);为保证数据库性能而维护的非规范化数据(如增加统计总值的列);实现复杂的业务规则
13.8AFTER/FOR:
后触发型触发器,可在同一操作上建立多个;INSTEADOF:
前触发型,在同一操作上只能建立一个。
所有的涉及对数据库对象操作的语句均不允许出现在触发器中。
13.9DELETED表:
存储UPDATE和DELETED操作语句所影响行的更新前的旧数据;
INSERTED表:
存储UPDATE和INSERT操作语句所影响行的更新后的新数据。
13.10维护数据操作完整性的后触发器示例:
销售量大于库存量则撤销当前销售,小于时则在插入销售单据明细时同时修改库存量。
CreateTriggerOperatonCon
ONT_SaleDetailFORINSERT
AS
IFEXISTS(Select*FrominsertedaJionT_Goodsb
ONa.GoodsID=b.GoodsIDWHEREa.Quanity>b.TotalCharge)
BEGIN
ROLLBACK
PRINT‘此商品库存量小于此次销售数量’
END
ELSE
UPDATET_GoodsSETTotalCharge=TotalCharge–
(SELECTQuanityFrominserted)
13.11维护不同列之间取值完整性的后触发器示例:
保证商品表中的单价与价格变动表中一致
CREATETRIGGERPriceConstraint
ONT_PriceHistoryFORINSERT,UPDATE
AS
DECLARE@newpricemoney
SELECT@newprice=SalePriceFrominserted
UPDATET_GoodsSETSaleUnitPrice=@newprice
WHEREGoodsIDIN(SELECTGoodIDFrominserted)
13.12前触发器指定执行触发器而不执行引发触发器的SQL语句,因此,如果数据操作满足完整性约束则在触发器中必须重新执行这些数据操作语句。
前触发器示例:
保证销售单据中的会员卡是有效日期内的会员卡:
CREATETRIGGERCardValid
ONT_SaleDetailINSTEADOFINSERT,UPDATE
AS
IFNOTEXISTS(SElETCT*FrominsertedaJOINT_CardbONa.CardID=b.CardID
WHEREa.SalDateNOTBETWEENb.StartDateANDb.EndDate)
INSERTINTOT_SaleDetailSELECT*Frominserted(若满足条件此语句重新执行)
13.13用SQL语句修改存储过程、用户自定义函数、触发器的语法与创建基本一致,只是将CREATE改为了ALTER。
(查询分析器中实现)
第14章安全管理
14.1数据库的安全控制:
在DBMS的不同层次提供对有意和无意损害行为的安全防范。
有意的非法活动:
加密存、取数据;有意的非法操作:
用户身份验证、限制操作权;
无意的损坏:
提高系统的可靠性和数据备份
14.2数据库权限的种类:
对DBMS进行维护的权限;对数据库对象和数据进行操作的权限
SQLServer权限种类(与数据库用户分类对应):
隐含权限(预定义的内置权限);语句权限(DDL语句权限,创建删除数据库对象);对象权限(DML语句权限,操作数据库对象)
14.3数据库用户的分类:
数据库系统管理员(SA,全部权限);数据库对象拥有者(创建数据库对象的用户,对所拥有的对象具有一切权限);普通用户:
只具有对数据的编辑查询功能
14.4三个认证过程:
身份认证,只认证用户是否有连接到数据库服务器的“连接权”;合法用户,验证是否是数据库的合法用户;权限认证,验证用户是否具有要进行的操作的操作权限
14.5系统内置的登录账户:
BUILTIN\Administrator;SA;域名\Administrator,均DBMS管理员
14.6创建SQLServer身份认证的登录账户:
EXECUTEsp_addlogin‘user3’,’123’,’jessymin’
User3为登录账户,123为密码,jessymin为默认数据库;WINDOWS认证:
sp_grantlogin
14.7删除登录账户存储过程:
EXECdroplogin‘user3’(SQLServer身份验证);EXECrevokelogin‘Server1\nt_user’(WINDOWS身份验证)
14.8登录账户可以连接到SQLServer服务器上但并不具有访问任何数据库的能力,必须再成为数据库的合法用户。
一个登录账户可以映射为多个数据库用户,管理数据库用户的过程实际上就是建立登录账户与数据库用户之间的映射关系的过程。
新建的数据默认只有一个用户:
dbo,它是数据库的拥有者。
14.9创建数据库用户:
EXECsp_adduser‘U2’,’U2’,’user_role’,用户名与登录账户一致,并让其成为“user_role”角色的成员。
删除:
EXECsp_dropuser‘U2’
14.10合法用户除了对所属数据库系统表具有一些查询权限外并不对数据库中的用户数据和对象具有任何权限,还得得到对数据库数据和对象的操作权限
14.11收回权限:
不允许用户或角色具有某种操作权,或者收回曾经授予的权限,置空标记;
拒绝访问:
拒绝某用户或角色具有某种操作权,即使由于继承获得的权限也无效,叉叉标记
14.12用Transact-SQL语句管理对象权限入管理语句权限:
P245
14.13角色:
数据库中具有相同权限的一组用户。
系统预定义的固定角色;自定义用户角色
14.14固定的服务器角色:
*amdin+dbcreator,权限最重要最高的是sysadmin,角色成员源均为系统的登录账户:
EXECsp_addsrvrolemember‘Server1\nt_user’,‘sysadmin’
14.15固定的数据库角色:
db_*+public,权限最高的是db_owner:
EXECsp_addrolemember‘db_owner’,’user3’(注意用户和用色的顺序)
14.16public角色:
每个用户均自动为其成员,不具任何权限但可赋予权限。
如果想让所有数据库用户均具有某个特定权限则可将该权限授予public
14.17用户自定义的用户角色:
EXECsp_addrole‘myrole’
14.18只要权限没有被拒绝过,角色中成员权限是角色的权限加上成员自己的权限。
第15章备份和恢复数据库
15.1备份的两种方式:
先创建备份设备(备份数据库的场所),再将数据库备份到备份设备上(永久备份设备);直接将数据库备份到物理文件上(临时备份设备)
15.2创建磁盘备份设备:
EXECsp_addumpdevice‘disk’,’mydiskdump’,’..\mydump.bak’
15.3常用备份策略:
完全备份加差异备份加日志备份,备份和恢复速度都比较快,而且当系统出现故障时丢失的数据较少。
15.4Transact-SQL语句:
BACKUPDATABASE\LOGjessyminTOmydiskdumpWITHINIT
WITHINIT表示覆盖掉原有内容,相当于“重写现有媒体”
15.5恢复的一般顺序:
先恢复最近的完全数据库备份;再恢复完全备份之后的最近的差异备份;最后按日志备份的先后顺序恢复自最近的完全备份或差异备份之后的所有日志备份。
15.6Transact-SQL语句恢复过程示例:
1)首先恢复完全备份
RESTOREDATABASEjessyminFROMmydiskdumpWITHFILE=1,NORECOVERY
2)然后恢复差异备份(如果有的话)
RESTOREDATABASEjessyminFROMmydiskdumpWITHFILE=2,NORECOVERY
3)最后恢复日志文件
RESTORELOGjessyminFROMmydiskdump
Norecovery表示对数据库的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 级数 据库重 难点