版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全书总结数据库学科体系基础知识
系统数据库设计使用管理设计理论方法技术应用研究范畴学习深度与广度新技术关系数据库学科内容丰富,研究领域宽泛多层次多类型多视角的立体化的学科体系:理论、技术、系统、应用不同的专业和不同类型的学生应该有不同的内容和要求
数据库学科体系模型是主线:数据模型是主线模型的3个要素(P3)重点是关系模型系统是核心:数据库管理系统是核心存储管理与优化查询语言(语言功能、查询优化)事务处理与数据保护应用是动力:数据库应用是学科发展的动力关系模型数据结构-DDL数据操作-QUERY+DML数据约束-DDL,DCL关系数据理论数据库应用数据库设计方法数据库设计理论数据库设计工具第1章绪论数据、信息的概念
数据处理与数据管理
数据管理的三个阶段数据库系统的组成数据库系统外部体系结构
参见《计算机系统结构》数据库管理系统DBMS提供的数据控制功能DBMS的工作模式4个数据模型
DBMS数据库核心数据库系统内部体系结构
三级模式两级映象数据库管理系统DBMS的组成数据库技术的产生和发展人工管理阶段数据不保存,不共享,无独立性,无专用软件管理数据文件系统阶段数据以文件形式长期保存,由文件系统管理数据,程序与数据间有一定独立性数据库系统阶段数据结构化,共享性高、冗余度低,独立性高,有统一的数据控制功能DBMS
数据的安全性控制数据的完整性控制并发控制数据恢复6典型数据库系统的组成用户1用户2用户n…用户应用系统应用开发工具DBMS操作系统OS数据库数据库管理员软件系统应用程序员数据库系统的内部体系结构
——模式结构数据库系统的三级模式结构数据库系统的二级映象与数据独立性8数据库系统的三级模式结构应用1应用2应用n外模式1…外模式m…外模式/模式映象模式模式/内模式映象内模式数据库用户级概念级物理级数据库系统的二级映象与数据独立性DBMS在三级模式之间提供了两级映象功能,保证了数据库系统中的数据能够具有较高的逻辑独立性与物理独立性。外模式/模式映象模式/内模式映象保证了数据与程序间的逻辑独立性确保了数据的物理独立性10数据库管理系统(DBMS)DBMS的主要功能数据定义功能数据操作功能数据库运行管理功能数据库的建立和维护功能数据通信接口数据的组织、存储和管理11DBSDBMS核心数据定义查询更新各种控制DBMS组成访问DBMS数据库分类DBMS的数据存取的过程应用程序数据库DBMS数据请求处理结果低层指令结果DBMS的工作方式应用程序应用程序DBMS操作系统外模式模式内模式数据库数据库系统的特点数据结构化数据共享性高,冗余小,易扩充数据独立性高有统一的数据控制功能数据模型数据模型的定义现实世界、信息世界和计算机世界的概念数据模型的分类概念模型E-R图逻辑模型(也称数据模型)层次模型、网状模型、关系模型、面向对象模型物理模型17数据模型的组成要素数据结构数据操作数据的完整性约束层次结构网状结构关系结构查询插入删除修改更新正确有效相容18四种典型的数据模型层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(Object-orientedModel)19关系模型关系模型的数据结构及有关概念20小型数据库系统:Foxpro、Access大型数据库系统:Oracle、SQLServer、Informix、Sybase关系二维表SNO学号SN姓名SEX性别AGE年龄DEPT系别S1赵亦女17计算机S2钱尔男18信息S3孙珊女20信息S4李思男21自动化S5周武男19计算机S6吴丽女20自动化元组属性域:属性的取值范围,(男,女)北京林业大学软件教研室关系模型的数据操纵与完整性约束关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。关系模型把对数据的存取路径隐蔽起来,用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户操作效率。关系模型的优缺点21有严格的数学理论根据用关系描述实体间的联系具有更高的数据独立性、更好的安全保密性优点有时,查询效率不如非关系模型缺点数据库系统的发展
22关系数据模型格式化数据模型(层次数据模型和网状数据模型)
面向对象的数据模型支持三级模式的体系结构;用存取路径来表示数据之间的联系;独立的数据定义语言;导航的数据操纵语言。概念单一,实体以及实体之间的联系都用关系来表示;以关系代数为基础,形式化基础好;数据独立性强,数据的物理存取路径对用户隐蔽;关系数据库语言是非过程化的,大大降低了用户编程的难度。支持面向对象的数据模型;保持或继承第二代数据库系统的优点;具有开放性。第一代第二代第三代传统数据库缺点:面向机器的语法数据模型;数据类型简单、固定;结构与行为完全分离;被动响应;事务处理能力较差。数据库技术与其他技术的结合
23第2章关系数据库基础25关系数据结构关系操作关系完整性约束查询更新插入删除修改关系模型26关系模型的数据结构及其形式化定义关系的形式化定义及其有关概念域、笛卡尔积、关系关系的性质每个元素是不可分的数据项,不能“表中套表”每列分量来自同一域,数据类型必须相同不同列名字必须不同,不同列数据域可相同。列的顺序可任意交换行的顺序可任意交换关系模式、关系数据库与关系数据库模式2023/7/627关系的键与关系的完整性候选键、主关系键、主属性、非主属性、全码、外部关系键关系的完整性完整性约束实体完整性参照完整性用户自定义完整性必须满足体现具体领域中的语义约束28关系代数及其运算符关系代数是一种抽象的查询语言
关系代数的运算对象与运算结果都是关系关系代数运算符∪-∩
×∏∞*÷>,≥<,≤=,≠∧∨┐集合运算符
关系运算符
比较运算符逻辑运算符2023/7/629选取(Selection)F(R)={t|t∈R∧F(t)='真'}[例2-5]查询计算机系的全体学生
Dept='计算机'(S)从行的角度进行的运算F为选取的条件SNOSNSexAgeDeptS1赵亦女17计算机S2钱尔男18信息S3孙珊女20信息S4李思男21自动化S5周武男19计算机S6吴丽女20自动化S(学生关系)2023/7/630投影(Projection)
ΠA(R)={t[A]|t∈R}[例2-7]查询教师的姓名、教师号及其职称。ΠTN,TNo,Prof(T)A为R中的属性列从列的角度进行的运算TNOTNSexAgeProfSalCommDeptT1李力男47教授15003000计算机T2王平女28讲师8001200信息T3刘伟男30讲师9001200计算机T4张雪女51教授16003000自动化T5张兰女39副教授13002000信息T(教师关系)2023/7/631连接(Join)
={t
r⌒ts|tr∈R∧ts∈S∧tr[X]ts[Y]为真}为算术比较运算符
自然连接:在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉,记为:R*S
=等值连接<小于连接>大于连接2023/7/632 [例]设有如图(a)、(b)所示的两个关系R与S,(c)为R和S的大于连接(C>D),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。(a)(b)2023/7/633(c)
(d)(f)
(e)
2023/7/634除法(Division)R÷S={tr[X]|tr∈R∧Πy(S)Yx}除法运算同时从行和列的角度进行运算,适合于包含“全部”之类的短语的查询。
Yx为x在R中的象集,x=tr[X][例2-13]查询选修了全部课程的学生学号和姓名。
ΠSNo,CNo(SC)÷ΠCNo(C)*ΠSNo,SN(S)[例2-14]查询至少选修了C1课程和C3课程的学生学号。
ΠSNo,CNo(SC)÷ΠCNo(CNo='C1'∨CNo='C3'(C))只有S4同学的象集至少包含了C1和C3课程,因此,查询结果为S4。检索选修课程包含“程军”老师所授课程之一的学生学号(S#)检索学生“刘丽”所学课程中有不及格课程的课程号、课程名称和分数检索选修了“程军”老师所授所有课程的学生学号(S#)πC.C#,C.CNAME,SC.GRADE(σS.SNAME=‘刘丽’(S)σGRADE〈60(SC)C)πS#,C#(SC)÷πC#(σTEACHER=’程军’(C))36第3、4章
SQL的数据定义和完整性约束、SQL的数据查询SQLServer数据库管理系统平台数据定义数据操纵数据控制SQL语言、企业管理器、查询分析器数据库、数据表、索引、视图、角色与权限创建、修改、删除、查看SQLServer数据库管理系统的主要功能381SQL语言的基本概念与特点SQL语言的发展及标准化SQL语言的基本概念基本表、视图SQL语言的主要特点类似于英语的自然语言,简洁易用一种非过程的、面向集合的语言既是自含式语言,又是嵌入式语言数据查询、数据定义、数据操纵和数据控制39
SQL语言支持的关系数据库的三级模式结构
402了解SQLServerSQLServer是一个关系数据库管理系统
企业版(EnterpriseEdition)
标准版(StandardEdition)
个人版(PersonalEdition)
开发者版(DeveloperEdition)SQLServer的系统和实例数据库系统数据库:master、model、msdb、tempdb实例数据库:pubs、Northwind41423创建与使用数据库用EnterpriseManager和SQL语句两种方法创建数据库修改数据库删除数据库查看数据库4创建与使用数据表SQLServer数据类型整数、精确数值、近似浮点数、精确数值、近似浮点数、日期时间、字符串、Unicode字符串、二进制、货币、标记创建、修改、删除、查看数据表定义数据表的约束数据的完整性:正确性、有效性、相容性SQLServer数据完整性机制约束(Constraint)、默认(Default)、规则(Rule)445创建与使用索引索引的作用索引的分类聚集索引与非聚集索引唯一索引复合索引创建、修改、删除、查看索引456数据查询SELECT命令的格式与基本使用条件查询=,>,<,>=,<=,!=,<>AND,OR,NOTBETWEEN,AND,IN,LIKE,ISNULL常用库函数:AVG、SUM、MAX、MIN、COUNTGROUPBY分组查询ORDERBY查询排序连接查询(JOIN)、子查询、合并查询将查询结果存储到表中
467数据操纵添加数据:INSERTINTO修改数据:UPDATE删除数据:DELETE
478视图
视图是虚表,其数据不进行存储,其记录来自基本表,只在数据库中存储其定义。创建视图、修改视图、删除视图、更新视图
489数据控制权限与角色权限:系统权限、对象权限角色的概念和使用权限与角色的授予与收回2023/7/649第5章关系数据库
编程基础2023/7/6501Transact-SQL程序设计在标准SQL的基础上进行扩充得到的SQLServer专用的结构化SQL主要的用途是设计服务器端的能够在后台执行的程序块与一般的高级语言的语法要素基本一致,主要有注释、变量与常量、运算符、函数与表达式、流程控制语句、批处理等也提供了一些常用的命令(backup、execute、checkpoint等)和库函数(sum,avg等)
存储过程、触发器等2023/7/6
512存储过程系统存储过程扩展存储过程用户自定义存储过程存储过程是一组为了完成特定功能的SQL语句集。存储过程的优点:存储过程的分类:
模块化的程序设计高效率的执行减少网络流量可以作为安全机制使用2023/7/652查看存储过程重新命名存储过程
删除存储过程执行存储过程修改存储过程sp_helptext存储过程名称sp_rename原存储过程名,新存储过程名DROPPROCEDURE{procedure}}[,…n]ALTERPROCEDUREprocedure_nameEXECprocedure_name2023/7/6
533触发器触发器的概念、分类与作用触发器是一种特殊类型的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。触发器有4个要素:名称、定义的目标、触发条件、触发逻辑触发器的种类:AFTER、INSTEADOF触发器的作用强化约束跟踪变化存储过程的调用级联运行2023/7/654查看触发器重新命名触发器
删除触发器修改触发器sp_helptext触发器名称sp_rename原触发器名,新触发器名DROPTRIGGER{trigger}}[,…n]ALTERTRIGGERtrigger_name关系型数据库编程基础总结嵌入式SQL的实现方式、使用规定及使用技术,面向对象应用程序访问数据库的常用接口及使用方法,面向对象应用程序一般都通过API接口实现嵌入式SQL的功能,这种方法不需要专用的SQL预编译程序。DAOODBCJDBCOLEDBADOADO.NETT-SQL基本语法SQLServer的存储过程SQLServer的触发器。重点掌握基本概念、方法和设计思想,并能运用这些方法解决实际问题。2023/7/656第6章关系数据及其
规范化理论2023/7/657规范化问题的提出57
教学管理数据库SCD(SNo,SN,Age,Dept,MN,CNo,Score)57SNoSNAgeDeptMNCNoScoreS1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C7…数据冗余插入异常
删除异常
更新异常
根本原因:属性间存在着数据依赖关系
包罗万象
不合理的关系模式存在的存储异常问题2023/7/658函数依赖函数依赖平凡函数依赖、非平凡的函数依赖完全函数依赖与部分函数依赖传递函数依赖2023/7/659关系模式的范式及关系规范化规范化的基本思想消除关系模式中的数据冗余消除数据依赖中的不合适的部分解决数据插入、删除时发生异常现象范式(NormalForm)的概念1NF、2NF、3NF、BCNF4NF2023/7/660关系模式的规范化关系规范化的定义关系模式规范化的目的和原则使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。基本原则就是遵循“一事一地”的原则关系规范化的原则保证分解后的关系模式与原关系模式是等价的无损连接性、函数依赖保持2023/7/661一个好的关系模式应该具备以下四个条件:(1)尽可能少的数据冗余;(2)没有插入异常;(3)没有删除异常;(4)没有更新异常。SCD(SNo,SN,Age,Dept,MN,CNo,Score)S(SNo,SN,Age,Dept)SC(SNo,CNo,Score)D(Dept,MN)关系模式分解:2023/7/662关系模式规范化的步骤规范化过程
2023/7/663第7章数据库设计1数据库设计概述2系统需求分析3概念结构设计4逻辑结构设计5物理结构设计6数据库实施7数据库运行和维护2023/7/664主要步骤数据库设计的任务、内容和特点任务:根据用户需求研制数据库结构的过程。内容:特点:结构与行为设计相结合,反复探寻,逐步求精设计方法:直观设计、计算机辅助设计法、规范设计法、自动化设计法2023/7/6651数据库设计概述结构设计行为设计概念设计、逻辑设计和物理设计应用程序的设计基于E-R模型的数据库设计方法基于3NF的数据库设计方法基于视图的数据库设计方法2023/7/666数据库设计的步骤按规范设计法可将数据库设计分为六个阶段1.系统需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段4.物理结构设计阶段5.数据库实施阶段6.数据库运行与维护阶段2023/7/6672系统需求分析任务方法:自顶向下、自底向上数据流图:数据字典:调查分析用户活动收集和分析需求数据,确定系统边界编写系统分析报告数据流数据流数据存储数据来源处理数据输出处理需求信息需求数据项数据结构数据流数据存储处理过程
最终形成的数据流图和数据字典为系统分析报告的主要内容,这是下一步进行概念结构设计的基础。2023/7/6683概念结构设计将需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型的特点E-R模型是最著名、最实用的一种概念模型概念结构设计的方法语义表达能力丰富易于交流和理解易于修改和扩充易于向各种数据模型转换局部E-R模型全局E-R模型抽象集成自顶向下自底向上逐步扩张混合策略2023/7/669需求分析DFD,DD数据抽象,局部视图设计视图集成逻辑结构设计局部E-R图全局E-R图征求用户意见2023/7/670全局E-R模型设计视图集成的方法有两种:①多元集成法,一次性将多个局部E-R图合并为一个全局E-R图。②二元集成法,首先集成两个重要的局部E-R图,以后用累加的方法逐步将一个新的E-R图集成进来。局部E-R图合并(消除冲突)优化(消除不必要的冗余)基本E-R图初步E-R图分析规范化理论2023/7/6714逻辑结构设计初始关系模式设计概念结构设计关系模式规范化模式评价是否修正以DBMS语法描述模式修正物理设计是否转换原则将E-R图转换为关系模型实际上就是将实体、属性和联系转换成关系模式。在转换中要遵循以下原则:(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。(2)一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。该关系的键有三种情况:如果联系为1:1,则每个实体的键都是关系的候选键如果联系为1:n,则n端实体的键是关系的键如果联系为n:m,则各实体键的组合是关系的键2023/7/672初始关系模式设计2023/7/673关系模式规范化确定范式级别实施规范化处理需求分析阶段概念结构设计阶段逻辑结构设计阶段
用数据依赖概念分析和表示各个数据项之间的联系
以规范化理论为指导,确定关系键,消除初步E-R图中冗余的联系
从E-R图向数据模型转换过程中,用模式合并与分解方法达到规范化级别模式评价功能评价功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。性能评价对实际性能进行估计,包括逻辑记录的存取数、传送量以及物理结构设计算法的模型等。模式改进2023/7/674模式评价与改进合并分解2023/7/6755物理结构设计数据库的物理结构设计可分为两步:确定物理结构,在关系数据库中主要指存取方法和存储结构;评价物理结构,评价的重点是时间和空间效率。确定物理结构存储记录结构的设计聚集索引2023/7/676访问方法的设计访问方法是为存储在物理设备(通常指辅存)上的数据提供存储和检索能力的方法。访问路径的设计分成主访问路径与辅访问路径的设计。数据存放位置的设计为了提高系统性能,应该根据应用情况将数据的易变部分、稳定部分、经常存取部分和存取频率较低部分分开存放。系统配置的设计DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。系统为这些变量设定了初始值,但是这些值不一定适合每一种应用环境,在物理结构设计阶段,要根据实际情况重新对这些变量赋值,以满足新的要求。2023/7/6776数据库实施数据库实施是指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。建立实际数据库结构装入数据应用程序编码与调试数据库试运行整理文档2023/7/6787数据库运行和维护数据库运行和维护阶段的主要任务包括以下三项内容:(1)维护数据库的安全性与完整性;(2)监测并改善数据库性能;(3)重新组织和构造数据库。只要数据库系统在运行,就需要不断地进行修改、调整和维护。一旦应用变化太大,数据库重新组织也无济于事,这就表明数据库应用系统的生命周期结束,应该建立新系统,重新设计数据库。2023/7/6
79
备份和还原备份和还原的含义备份内容:数据库结构和数据备份对象:用户数据库+系统数据库备份设备是指备份内容的存储介质disk(硬盘文件)——最常用tape(磁带)pipe(命名管道)备份方法:使用SQL或企业管理器2023/7/680备份的类型数据库备份事务日志备份差异备份文件和文件组备份数据库备份是指对所有的数据以及数据库对象备份事务日志备份是指对数据库发生的事务进行备份差异备份是指将最近一次数据库备份以来发生的数据变化备份起来文件或文件组备份是指对数据库文件或文件组进行备份只有进行了完全备份后才能进行差异备份以及事务日志备份2023/7/681数据库的还原将数据库的备份加载到系统中,是与备份相对应的操作。备份是还原的基础,没有备份就无法还原。还原的类型
简单还原:在进行数据库还原时仅使用数据库备份或差异备份,而不涉及事务日志备份。
完全还原:通过使用数据库备份和事务日志备份将数据库还原到发生失败的时刻。大容量日志记录还原:在性能上要优于简单还原和完全还原模型,能尽量减少批操作所需的存储空间。还原方法:使用SQL或企业管理器2023/7/6821数据库的安全性控制(防止非法访问)2完整性控制(防止错误的数据进入数据库)3数据库的恢复(挽救措施)第8章
数据库安全性本章要点安全性的概念数据库系统的安全机制存取控制自主存取控制(DAC)GRANT语句REVOKE语句强制存取控制(MAC)基于角色的访问控制本章要点其它安全控制方法视图机制审计数据加密统计数据库安全性数据库安全机制的设计目标试图破坏安全的人所花费的代价>>得到的利益SQLServer和Oracle的安全控制2023/7/6851数据库的安全性数据库安全性的含义指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。安全性控制的一般方法
安全性控制是指要尽可能地杜绝所有可能的数据库非法访问。用户标识和鉴定、用户存取权限控制、数据加密、审计等。图
安全控制模型
2023/7/6北京林业大学软件教研室86SQLServer2000的数据安全性机制为了实现安全性,SQLServer2000对用户的访问进行两个阶段的检验身份验证阶段(Authentication):决定了用户能否连接(或登录)到SQLServer2000服务器。权限许可确认阶段(PermissionValidation):决定了经过了身份验证后的用户连接到SQLServer2000服务器可以执行的具体操作,包括服务器上的操作和具体的数据库上的操作。数据库SQLServer2000服务器客户机网络身份验证权限许可在SQLServer中,登录服务器的登录账号(LoginName);查看服务器的登录账号
使用EnterpriseManager使用存储过程SQLServer的登录账号和服务器角色(第一道屏障)
EXECsp_helplogins创建服务器的登录账号利用EnterpriseManage利用存储过程[例5-1]建立了一个名称为Mike的登录账号。EXECsp_addlogin'Mike','m1934','Teach',NULLEXECsp_addlogin'登录账号名称','密码','默认数据库名','使用的语言'更改登录账号的属性
利用EnterpriseManage使用存储过程sp_password可改变登录账号的密码[例5-3]将Mike账号的密码由原来的m1934改为mike1934。EXECsp_password'm1934','mike1934','Mike'使用存储过程sp_addsrvrolemember可以将登录账号加入服务器的角色中[例5-4]将登录账号Mike加入到dbcreator服务器角色中。EXECsp_addsrvrolemember'Mike','dbcreator'EXECsp_password'旧密码','新密码','登录账号名称'EXECsp_addsrvrolemember'登录账号','服务器角色名称'删除登录账号
使用EnterpriseManager使用存储过程[例5-5]从数据库Teach中删除Mike登录账号。EXECsp_droplogin'Mike'SQLServer的服务器角色角色(Role)是对权限集中管理的一种机制,将不同的权限组合在一起就形成了一种角色。服务器角色是执行服务器级管理操作的用户权限的集合。sp_droplogin'登录账号'SQLServer在安装过程中默认创建的服务器角色及其权限角色名称中文名称权限sysadmin系统管理员全称为SystemAdministrators,可以在SQLServer中执行任何活动serveradmin服务器管理员全称为ServerAdministrators,可以设置服务器范围的配置选项,关闭服务器setupadmin安装管理员全称为SetupAdministrators,可以管理链接服务器和启动过程securityadmin安全管理员全称为SecurityAdministrators,可以管理登录和创建数据库的权限,还可以读取错误日志和更改密码processadmin进程管理员全称为ProcessAdministrators,可以管理在SQLServer中运行的进程diskadmin磁盘管理员全称为DiskAdministrators,可以管理磁盘文件dbcreator数据库创建者全称为DatabaseCreators,可以创建、更改和删除数据库bulkadmin批量管理员全称为BulkInsertAdministrators,可以执行BULKINSERT(大容量插入)语句数据库的用户账号当一个数据库的用户创建时,必须关联一个登录账号。每个登录账号在一个数据库中只能有一个用户账号,但每个登录账号可以在不同的数据库中各有一个用户账号。SQLServer的数据库用户账号和数据库角色(第二道屏障)查看数据库的用户账号
使用EnterpriseManagersp_helpuser创建数据库的用户账号
使用EnterpriseManagersp_adduser'登录账号','用户账号','所属的数据库角色'设置数据库用户账号的权限对数据库对象的操作,具体含义如下SELECT:对表或者视图进行查询。INSERT:在表或者视图中插入记录。UPDATE:对表或者视图中的数据进行修改。DELETE:删除表或者视图中的数据。EXEC:执行存储过程。DRI:可对表的外键加以限制,以完成表的参照完整性。删除数据库用户账号使用EnterpriseManager sp_dropuser'用户账号'[例5-8]从数据库中删除ZHANGSAN用户账号。EXECsp_dropuser'ZHANGSAN‘数据库角色
数据库角色是对数据库对象操作的权限的集合。数据库角色可分为两种:固定的标准数据库角色(系统创建的)应用程序角色角色名称权限public最基本的数据库角色db_accessadmin可以添加或删除用户标识db_backupoperator可以发出DBCC、CHECKPOINT和BACKUP语句db_datareader可以选择(取)数据库内任何用户表中的所有数据db_datawriter可以更改数据库内任何用户表中的所有数据db_ddladmin可以发出所有DDL语句,但不能发出GRANT(授权)、REVOKE或DENY语句db_denydatareader不能选择(取)数据库内任何用户表中的任何数据db_denydatawriter不能更改数据库内任何用户表中的任何数据db_owner在数据库中有全部权限db_securityadmin可以管理全部权限、对象所有权、角色和角色成员资格SQLServer固定的数据库角色查看数据库角色创建新的数据库角色 sp_addrole'角色名','拥有者'删除数据库角色sp_droprole'角色名'创建数据库应用程序角色sp_setapprole'应用程序角色名','密码'用户和角色的权限问题用户权限继承角色的权限用户分属不同角色EXECsp_addrole'Myrole','dbo'EXECsp_droprole'Myrole'EXECsp_setapprole'Approle','11111'2023/7/6982完整性控制数据库完整性的含义保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作防止合法用户使用数据库时向数据库中加入不符合语义的数据完整性规则的组成触发条件、约束条件、违约响应立即执行约束、延迟执行约束2023/7/699完整性约束的分类从约束条件使用的对象分值的约束和结构的约束对数据类型、数据格式、取值范围和空值等进行规定结构的约束即对数据之间联系的约束函数依赖约束实体完整性约束参照完整性约束统计约束静态约束和动态约束关系的两个不变性从约束对象的状态分声明式数据完整性将数据所需符合的条件融入到对象定义中,这样SQLServer会自动确保数据符合事先制定的条件。特点可使声明式数据完整性成为数据定义的一部分。使用约束、默认值与规则实施声明式数据完整性。程序化数据完整性通过编程保障数据完整性特点:程序化数据完整性可通过程序语言及工具在客户端或服务器端实施。SQLServer可以使用存储过程或触发器实施程序化数据完整性。
2023/7/6100数据完整性的实施2023/7/61013数据库的恢复数据库恢复的含义基本原理:利用冗余数据来恢复方法:登记日志、数据转储三类故障的恢复方法事务故障及恢复、系统故障及恢复和介质故障及恢复第9章数据恢复技术和并发控制本章要点事务基本概念定义事务的SQL语句性质数据库恢复恢复的定义、原则和方法故障的种类及恢复方法具有检查点的恢复技术数据库镜像本章要点并发控制并发操作带来的数据不一致性封锁活锁和死锁并发调度的可串行性两段锁协议封锁的粒度ACID特性原子性一致性隔离性持续性(Atomicity)(Consistency)(Isolation)(Durability)ACID登记日志文件的原则登记的次序严格按并行事务执行的时间次序必须先写日志文件,后写数据库写日志文件操作:把表示这个修改的日志记录写到日志文件写数据库操作:把对数据的修改写到数据库中基本封锁类型排它锁又称为写锁(Exclusivelock,简记为X锁)若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。共享锁又称为读锁(Sharelock,简记为S锁)若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。封锁协议在事务并发操作对数据对象加锁时,还需要约定一些规则,即何时申请X锁或S锁、持锁时间、何时释放等,称这些规则为封锁协议。对封锁方式规定不同的规则,就形成了各种不同的封锁协议。2023/7/6109并发控制与封锁数据库并发的含义事务的含义及事务的ACID特性并发操作导致的数据不一致性丢失数据、读脏数据、不可重读锁:排他锁(X锁)、共享锁(S锁)三级封锁协议死锁和活锁死锁的预防及消除封锁、封锁类型及其含义封锁就是事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁,这样事务T就对这个数据对象有了一定的控制,其他事务就不能更新此数据,直到事务T释放它的锁为止。基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。若事务T对数据A加上S锁,则其他事务只有再对A加S锁,而不能加X锁,直到T释放A上的锁。2023/7/6111数据库的恢复数据库恢复的含义基本原理:利用冗余数据来恢复方法:登记日志、数据转储三类故障的恢复方法事务故障及恢复、系统故障及恢复和介质故障及恢复小结如果数据库只包含成功事务提交的结果,就说数据库处于一致性状态。保证数据一致性是对数据库的最基本的要求。事务是数据库的逻辑工作单位DBMS保证系统中一切事务的原子性、一致性、隔离性和持续性恢复中最经常使用的技术:数据库转储和登记日志文件恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库提高恢复效率的技术检查点技术可以提高系统故障的恢复效率可以在一定程度上提高利用动态转储备份进行介质故障恢复的效率镜像技术镜像技术可以改善介质故障的恢复效率小结数据库的并发控制以事务为单位数据库的并发控制通常使用封锁机制两类最常用的封
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育心理学模考模拟试题(全优)
- 2024年度山西省高校教师资格证之高等教育法规考前冲刺模拟试卷A卷含答案
- 2023年标胶投资申请报告
- 广东开放大学2024年秋《大学英语2(专)》形考测验1参考答案
- 第七章 社会主义改革和对外开放课件
- 二年级数学计算题专项练习1000题汇编集锦
- 2024年输电设备建设承包协议
- 2024年工程承包商协议条款及细则
- 道德与法治八上八上9.2《维护国家安全》教学设计
- 2024年饮食店全职员工聘用协议
- 一年级下册英语教学设计-Unit 4 food Lesson1- 人教新起点
- 5000头奶牛养殖场新建项目环境评估报告书
- IATF16949-过程审核检查表-(含审核记录)-
- 建设美丽中国通用课件
- 花卉园艺师国家职业资格二级理论知识试卷
- 光伏项目概算计算表
- 植物检疫学复习题及答案(详细)
- 散文阅读精练(100篇优秀散文每篇均附能力训练)-现代文精练
- 《万疆》歌词全篇
- 小学六年级数学上册电子教案(全)
- 2023江西教师聘请面试《植物体的结构层次》说课稿
评论
0/150
提交评论