数据库原理知识点总结

上传人:E**** 文档编号:59083315 上传时间:2022-03-01 格式:DOC 页数:24 大小:787.50KB
收藏 版权申诉 举报 下载
数据库原理知识点总结_第1页
第1页 / 共24页
数据库原理知识点总结_第2页
第2页 / 共24页
数据库原理知识点总结_第3页
第3页 / 共24页
资源描述:

《数据库原理知识点总结》由会员分享,可在线阅读,更多相关《数据库原理知识点总结(24页珍藏版)》请在装配图网上搜索。

1、.目录未找到目录项。一数据库基础知识(第1、 2 章)一、有关概念1数据2数据库( DB)3数据库管理系统(DBMS)Access桌面 DBMSVFPSQL ServerOracle客户机 /服务器型DBMSMySQLDB24数据库系统(DBS)数据库( DB)数据库管理系统(DBMS)开发工具应用系统二、数据管理技术的发展1数据管理的三个阶段人工管理文件系统数据库系统数据能否保存不能保存可以保存可以保存数据面向的对象某一应用程序某一应用程序整个应用系统无共享,一组共享性差,一个数数据的共享程度数据只能对应一个据文件只能对应一共享性高应用程序。个应用程序。数据的独立性不独立,它是应用独立性差数

2、据库与应用系统程序的一部分。完全分开概念模型一、模型的三个世界1现实世界2信息世界:即根据需求分析画概念模型(即E-R 图), E-R 图与 DBMS 无关。3机器世界:将E-R 图转换为某一种数据模型,数据模型与DBMS 相关。.注意:信息世界又称概念模型,机器世界又称数据模型二、实体及属性1实体:客观存在并可相互区别的事物。2属性:3关键词(码、key ):能唯一标识每个实体又不含多余属性的属性组合。一个表的码可以有多个,但主码只能有一个。例:借书表(学号, ,书号,书名,作者,定价,借期,还期)规定:学生一次可以借多本书,同一种书只能借一本,但可以多次续借。4实体型:即二维表的结构例 s

3、tudent(no , name ,sex, age ,dept)5实体集:即整个二维表三、实体间的联系:1两实体集间实体之间的联系1:1 联系1: n 联系m : n 联系2同一实体集实体之间的联系1:1 联系1: n 联系m : n 联系四、概念模型(常用E-R 图表示)实体型:属性:联系:说明:E-R 图作为用户与开发人员的中间语言。 E-R 图可以等价转换为层次、网状、关系模型。举例:学校有若干个系, 每个系有若干班级和教研室, 每个教研室有若干教员, 其中有的教授和副教授每人各带若干研究生。 每个班有若干学生, 每个学生选修若干课程, 每门课程有若干学生选修。用 E-R 图画出概念模

4、型。.数据模型一、层次模型:用树型结构表示实体之间的联系。 每个结点代表一个实体型。 只能直接处理一对多(含一对一)的实体关系。 查找层次数据库中的记录,速度较慢。二、网状模型:用图结构表示实体之间的联系。 每个结点代表一个实体型。 可以处理多对多的实体关系。 查找网状数据库中的记录,速度最快。三、关系模型:用二维表表示实体之间的联系。1重要术语:关系:一个关系就是一个二维表;元组:二维表的一行,即实体;关系模式:在实体型的基础上,注明主码。关系模型:指一个数据库中全部二维表结构的集合。2特点: 关系模型是建立在严格的数学理论的基础上的; 关系模型的存取路径对用户透明; 查找关系数据库中的记录

5、,速度最慢。小结:数据有三种类型,DBMS 就有三种类型,DB 亦有三种类型。数据库系统结构一、 数据库系统的 体系结构 单机结构:DBMS、数据库、开发工具、应用系统安装在一台计算机上。 C/S 结构:局域网结构.客户机:装开发工具、应用系统服务器:装DBMS、数据库 B/S 结构: Internet 结构服务器:装DBMS、数据库、开发工具、应用系统客户机:装IE 即可三、 数据库系统的模式结构1三级模式 模式:是数据库中全体数据的逻辑结构和特征的描述。模式只涉及数据库的结构;模式既不涉及应用程序,又不涉及数据库结构的存储; 外模式:是模式的一个子集,是与某一个应用程序有关的逻辑表示。特点

6、: 一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。 模式:描述数据库结构的存储,但不涉及物理记录。2两级映象 外模式 / 模式映象:保证数据库的逻辑独立性; 模式 / 模式映象:保证数据库的物理独立性;3两级映象的意义 使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。 数据的存取完全由DBMS 管理,用户不必考虑存取路径。数据库管理系统1 DBMS 的功能:负责对数据库进行统一的管理与控制。 数据定义:即定义数据库中各对象的结构 数据操纵:包括对数据库进行查询、插入、删除、修改等操作。 数据控制:包括安全性控制、完整性控制、并发控制、数据库恢复。2 DBMS

7、的组成:DDL 语言DML 语言DCL 语言实用程序注意: SQL 集 DDL,DML , DCL 功能于一体; 所有应用程序通过 SQL 语句才能访问数据库一、基本概念1码:能唯一标识元组的属性集。2候选码:一个属性集既能唯一标识元组,且又不含有多余属性,一个关系模式可以有多个候选码。3主码:任选候选码中的一个。.4主属性:主码中包含的各个属性。5非主属性:不包含在主码中的各个属性。6外码:设F 是关系 R 的一个属性,不是R 的主码,但却是另一个关系S 的主码,则称 F 是关系 R 的外码。例: student ( sno, sname, ssex, sage, sdept)Sc ( sn

8、o,o, grade)Sc 的主码为:( sno,cno );外码为: sno二数据库设计(第 3 章)一、数据库设计的步骤 需求分析:了解分析用户的需要、要求。 概念结构设计:根据需求分析的结果画概念模型(即E-R 图)。 逻辑结构设计:将E-R 图转换为某一种数据模型,并优化。 物理结构设计 数据库实施 数据库运行与恢复概念结构设计一、局部 E-R 图设计1确定局部围通常把系统涉及的各个部门或各个主要功能作为局部。2确定实体与属性 属性是不能再分的数据项; 联系只发生在两实体之间; 原则上,能够作为属性,就不要作为实体。二、合并成总体E-R 图1消除各局部E-R 图的冲突问题。2按公共实体

9、名合并,生成初步E-R 图。3消除冗余的属性和冗余的联系,生成总体E-R 图。.逻辑结构设计一、联系的属性和主码( 1)联系的属性:必须包含相关联的各实体型的主码。( 2)联系的主码1: 1 联系:可以是相关联的任一实体型的主码。1: n 联系:必须是n 方实体型的主码。m: n 联系:必须是相关联的各实体型的主码之和。二、 E-R 图向关系模型的转换( 1)把每个实体型转换为一个关系模式。( 2) 1: 1 联系:可以消化到相关联的任一实体型对应的关系模式中。XMXHNL班长1BHXH管理1班级BHRS班长 ( XH, XM, NL, BH)班级( BH, RS)( 3) 1: n 联系:可

10、以消化到 n 方实体名对应的关系模式中。例:一个班级有多名学生,每名学生只能属于一个班级。每一个班级有一名班长, 他是学生中的一员。XHXMNL学生1n班 长组成XHBH11班级BHRS.学生( XH, XM, NL, BH)班级( BH, RS, XH)班长的学号( 4) m: n 联系:必须转换为一个关系模式,并且不能消化。例:snamessexsagesdeptsno学生msnograde选 修ncno课程cnocreditcname学生 (sno, sname , ssex, sage, sdept)课程( cno , ame , credit )选修( sno , o , grade

11、 )( 5)多元联系:不能消化例:供应商m供应nk产品零件物理结构设计与数据库实施1物理结构设计在逻辑设计的基础上,为每个关系模式选择合适的存储结构与存储方式。选择存储结构:即决定每个表的记录顺序。.选择存取方式: 即决定为哪些属性建立非聚集索引,以便加快查找速度。一般把经常查询的属性名指定为非聚集索引。2数据库实施主要工作:定义数据库结构;组织数据入库;编写应用程序;数据库试运行;三关系数据库(第 4 章)一、域 ( domain)1定义:域是一组具有相同类型的值的集合。2域的基数:域中所含数据的个数。二、笛卡尔积1定义:给定一组域D1,D2,D3 ,则 D1D2 D3 称为笛卡尔积。2笛卡

12、尔积D1 D2 D3 对应一个二维表,所含元组的个数等于各个域的基数之积。三、关系1定义:笛卡儿积的一部分元组称为关系。2关系的目(或度) :一个关系所含属性的个数。3关系的性质任意两个元组不能完全相同,同一关系的属性名不允许重复。四、关系的完整性1实体完整性:指关系的所有主属性都不能取空值。.注意:实体完整性不仅仅是主码整体不能取空值。2参照完整性:指一个关系外码的取值必须是相关关系中主码的有效值或空值。例:班级 ( 班名 ,人数 )学生 (学号 ,性别 ,密码 ,班名 )在学生表中,班名的取值必须是班级表班名 的值或空值。关系代数一、传统的集合运算设关系 R、 S 的结构完全相同,则:R

13、S:由属于R 或属于 S 的元组组成。R S:由既属于R 又属于 S 的元组组成。R S:由属于R 而不属于S 的元组组成。思考:( R S)( RS) = ?RS:设 R 有 m 个属性, K1 个元组; S 有 n 个属性, K2 个元组,则RS 含有 (m+n) 个属性, (K1K2)个元组。二、专门的关系运算1选择:从关系R 中选择满足条件的元组。记为:F (R)2投影:从关系R 中选择若干属性组成新的关系,并把新关系的重复元组去掉。记为:( R)A3条件连接:将两关系按一定条件连接成一个新关系,记为:RFSF(R S)说明:条件连接:两关系可以没有公共属性,若有公共属性,则新关系含有

14、重复属性。4自然连接: 将两关系按公共属性连接成一个新的关系,并把新关系的重复属性去掉。记为:R S说明:自然连接:两关系至少有一个公共属性。 对于 R 的每个元组, S 都从第一个元组开始判断,若两元组的公共属性值相同,则产生一个新元组添加到新关系中,最后把新关系中的重复属性去掉。等值连接?5除:给定关系R(x,y)和 S( y, z),则 RS=P( x),其中 x, y, z 为属性组。求解过程:求 R 中 x 可以取哪些值,并求各值的象集。求 S 在属性组y 上的投影K。检查每个象集是否包含K.注:除不是一个必须的运算,可以由其它运算符代替。例:设有关系R, S如下图,求RS。RABC

15、SBCDa1b1c2b1c2d1a2b3c7b2c1d1a3b4c6b2c3d2a1b2c3a4b6c6a2b2c3a1b2c1解:在关系 R 中, A 可以取四个值,a1, a2, a3, a4。a1的象集为 ( b1, c2),(b2 , c3),( b2, c1) a2的象集为 ( b3, c7),(b2 , c3) a3的象集为 ( b4, c6) a4的象集为 ( b6, c6) S 在( B, C)上的投影K 为 ( b1, c2),( b2, c3),(b2 , c1) 显然只有 a1 的象集包含K,故 RS=a1结论:如何写关系代数表达式?答:查询涉及多个关系时,一般使用。 查

16、询涉及“否定”时,一般用差运算。 查询涉及“全部”时,一般用除运算。 查询涉及“至少”时,一般用.四关系数据库标准语言SQL (第 5 章)T-SQL一、 SQL 语言的特点SQL 语言集数据定义、数据查询、数据操纵、数据控制的功能于一体。动词数据定义Create 、 drop数据查询select数据操纵Insert、 delete 、 update数据控制Grant、 revoke所有的 DBMS 都支持 SQL 语言。SQL 基础一、创建和使用数据库1创建数据库create database数据库名2使用数据库Use 数据库名3删除数据库drop database数据库名二、定义表1创建表

17、create table表名(属性名类型,属性名类型)指定标识字段:identity( 标识种子,标识增量)指定公式字段:属性名as 表达式例: create table student(no int identity(1,1),name char(6),chi smallint,mat smallint,score as chi+mat)2删除表drop table表名 , 表名.三、 select 语句select */ 表达式表into新表 from表名 ,表名where条件 group by属性名 having条件 order by属性名 Asc/Desc1 Select子句 * 代表

18、所有属性名 若一个属性名来自多个表,则属性名前须冠以表名,格式为:表名. 属性名 设置表达式的别名:表达式As 别名 限制查询结果的记录行数:all返回全部记录top n返回前面n 号记录distinct表示取消重复行说明: top n 只能放在关键字select 的后面;all、 distinct 只能放在关键字select 或聚合函数的后面。2 Where子句 in 的格式:属性名in (常量,常量 ) like 的格式:属性名 like 通配字符串通配符有:% 表示 0 个或多个字符- 表示 1 个字符 在 Where子句中指定连接:Where表名 1. 属性名 = 表名 2. 属性名3

19、 Order by子句order by属性名 1Asc/Desc,属性名 2Asc/Desc4聚合函数 sum( 属性名 ):纵向求数值型属性之和。 avg( 属性名 ) count(*)返回表的记录行数(含重复行)。count( 属性名 ) 返回指定列中取非NULL 值的单元格数目。count(distinct属性名 ) 返回指定列中取非NULL 值、非重复的单元格数目。. max( 属性名 ) min( 属性名 ) 5 Group by 子句使用 Group by 子句时, Select 子句只能使用分组项字段和聚合函数例:以性别为分组项,求每一组的平均年龄。Selectssex, avg

20、(sage) as 平均年龄From studentGroup by ssex6 Having 子句 Having 子句只能跟在Group by 子句之后,且只能使用聚合函数和分组项字段。 where 子句放在Group by 子句之前, 甚至可以没有Group by 子句;且不能包含聚合函数。例:以系别为分组项,查询学生平均年龄大于19 岁的系的系名,平均年龄。Selectsdept,avg(sage) as 平均年龄From studentGroup by sdeptHaving avg(sdept)197 into 子句功能:将查询结果保存到新的基表中。一、 查询的分类单表查询连接查询嵌

21、套查询1连接查询:在where 子句中指定连接where表名 1.属性名 = 表名 2.属性名2嵌套查询 嵌套查询的特点每级查询的 from 子句一般只包含一个表名。一个嵌套查询总可以分解为若干个单表查询,总可以改写成连接查询。若查询结果显示的属性名来自一个表,才可以写成嵌套查询。子查询不能使用 order by 子句, order by 只能用于最顶层的查询。 在 where 子句中指定子查询.where属性名not in (子查询):子查询返回一列多行。where属性名 = (子查询):子查询返回一列一行。wherenot exists (子查询):子查询返回多列多行。五、数据操纵1 in

22、sert 语句(1 )每次插入一条记录insert into表名 (属性名表 ) values( 表达式表 )(2 )插入子查询的结果insert into表名 (属性名表 )子查询例: insert into studentselect * from student12 update 语句update 表名 set 属性名 = 值, ,属性名 = 值 where 条件 缺省 where 子句,默认为更新全部记录。3 delete 语句delete from表名where条件 五关系数据库规化理论(第7 章)函数依赖一、有关概念:1函数依赖:任给 R(U),U 为属性集, x、y 为 U 的子

23、集,如果对于 x 的每个值, y 有唯一确定的值与之对应,则称 x 决定 y,或 y 函数依赖于 x。记为: x y。2. 完全函数依赖:若 x y,且对于 x 的所有真子集x,都有 xy,则称 x 完全决定 y,或 y 完全函数依赖于 x。记为: xfy 。.结论: 若 x y,且 x 只包含一个属性,则 xfy 。3部分函数依赖:若 x y,且存在 x 的一个真子集x,满足 xy,则称 x 部分决定 y,或 y 部分函数依赖于 x。记为: xpy 。4传递函数依赖:若 x y,y z,但y x,则 xtz二、平凡函数依赖与非平凡函数依赖设 x y,如果 y 是 x 的子集,则该依赖是平凡的

24、。如:Sno,sname sno如果 y 中至少有一个属性不在x 中,则该依赖是非平凡的。如:Sno,sname sname,sdept如果 y 中没有一个属性在x 中,则该依赖为完全非平凡的。三、函数依赖的推理规则设有关系 R, x、 y、 z 为 R 的一个属性集,则有:自反律:若yx ,则 x y。增广律:若xy,则 xz yz。传递律:若xy,y z,则 x z。注意传递律与传递函数依赖的区别。合并律:若xy,x z,则 x yz。分解律:若xyz,则 x y, x z。关系模式的规化一、问题提出R 表XHKHKMXMDZCJ961C1OS高明D170962C2DBS高飞D272962

25、C4AI高飞D280962C1OS高明D175963C1OS高明D190.答:存在问题 数据冗余大; 修改麻烦; 插入异常:应该插入到DB 中的数据插不进去。如:新开课程没有学生选修时,新开课程的课程号、课程名插不进去。 删除异常:不应该删除的数据被删掉。如选修某门课的学生毕业了,在删除学生信息的同时,把课程信息也删除掉。结论:一个好的关系模式应满足: 冗余应尽可能少; 应尽可能避免插入、删除异常; 消去关系中不合适的属性依赖关系。二、式 什么叫式?指一个关系的非主属性函数依赖于主码的程度。 什么叫关系规化?指一个关系从低级式向高级式的转换过程。1NF2NF3NFBCNF4 NF5NF 应用:

26、关系规化理论应用在逻辑结构设计阶段。三、关系模式的规化1第一式( 1NF ) 定义:若关系R 的所有属性不能再分,则R1NF2第二式( 2NF ) 定义:若关系R 1NF,且它的每个非主属性都完全依赖于主码,则称R 2NF。 存在问题:冗余大:R1 必要冗余, R2 冗余可以修改。修改麻烦插入异常:如新来的教师没有上课,则该教师的信息就没办法插入R2 表中。删除异常:若某位教师只授一门课,当该门课不开时,该教师的信息亦被删除。 原因:存在非主属性对主码的传递依赖。KH XM, XM DZ,但 XMKH KHtDZ传递依赖必须有两个非主属性 解决办法:将R2 一分为二R21 表R22 表KHKM

27、XMXMDZ.C1OS高明高明D1C2DBS高飞高飞D2C4AI高飞R21 主码: KHR22 主码: XM3第三式( 3NF ) 定义:若关系R 2NF,且它的每个非主属性都不传递依赖于主码,则称R 3NF。 规化过程非规关系使每个属性都不能再分1NF消去非主属性对主码的部分依赖2NF消去非主属性对主码的传递依赖3NFBCNF:关系模式R 中,如每一个决定因素都包含码,则R 是式。如果 R 属于 BCNF 那么 R 一定属于3NF,反之未必。3NF消去主属性对主码的部分依赖和传递依赖BCNF4结论 若 R 1NF ,且主码只含一个属性,则R 一定为 2NF。 若 R 2NF ,且只有 01

28、个非主属性,则R 一定为 3NF。 3NF 一般控制了数据冗余,一般避免了操作异常。 式并非越高越好,适可而止。.六数据库保护技术(第8 章)安全管理一、两种身份验证模式:仅 windows 模式:用户只能使用 windows 登录名登录 SQL Server混合模式:用户可以使用windows 登录名或SQL Server 登录名登录SQL Server二、两种身份验证:用户登录到SQL Server 时,必须使用特定的登录名和密码标识自己。Windows 身份验证:用户登录到SQL Server 时,使用操作系统当前的登录名和密码。SQL Server 身份验证:用户登录到SQL Serv

29、er 时,必须显式提供登录名和密码。常用安全性控制方法:用户标识和控制、存取控制、视图、审计、数据加密数据库完整性一、在创建表时指定约束1主键约束constraint约束名 Primary key Clustered/Nonclustered (属性名, ,属性名)说明: 每个约束都有一个约束名,约束名通常由系统自动给出。 列级约束:只牵涉到一个属性的约束,它放在相关属性的后面,且省略属性名表。表级约束:牵涉到多个属性的约束。 创建主键约束、唯一性约束时可以指定聚集(clustered )或非聚集 (nonclustered) 。 主键约束默认为聚集的,唯一性约束默认为非聚集的。 一个表最多只

30、能创建一个约束是聚集的,聚集约束会影响数据表的记录号顺序。2外键约束constraint约束名 Foreign key( 属性名, ,属性名)References 主键表名 (属性名, ,属性名 )注意:两表关联的方式:临时关联:where 表名 1 属性名 = 表名 2属性名.永久关联:创建外键约束3唯一性约束constraint 约束名 Unique Clustered/Nonclustered (属性名, ,属性名)主键约束与唯一约束的区别: 在一个表中只能定义一个主键约束,但可定义多个唯一性约束; 指定为主键约束的字段不能取null 值,但指定为唯一性约束的字段允许取null 值。4检

31、查约束constraint约束名 Check ( 条件表达式 )5. 缺省约束constraint约束名 Default常量二、删除表中的约束altertable表名drop constraint约束名 ,.,约束名注意: alter 语句后面只能跟着一个子句。三、向表添加约束alter table表名add constraint约束名约束定义 ,.,constraint约束名约束定义约束定义指:Primary key Clustered/Nonclustered (属性组 )Foreign key( 属性组 ) references主键表名 (属性组 )Unique Clustered/No

32、nclustered (属性组 )Check(条件表达式 )Default常量for属性名默认对象默认对象与默认约束的功能类似。默认对象以单独的对象创建,可以绑定到数据库的所有表中。默认约束只能绑定到一个表中。.规则规则与check 约束的功能类似。则以单独的对象创建,可以绑定到数据库的所有表中。check 约束只能绑定到一个表中。索引一、索引的概念:索引使用户能快速访问数据表的特定信息。 索引必须依附于某个基本表,不能单独存在。二、索引的类型:聚集索引:影响数据表的记录顺序非聚集索引:不会影响数据表的记录顺序注:一个表只能建立一个聚集索引,但可以建立若干个非聚集索引。三、创建索引1自动创建索

33、引:。如果在数据表的某个属性设置主键约束或唯一约束,则系统将在这些属性上自动创建唯一索引。自动创建的索引随约束的存在而存在,随约束的消失而消失。2使用 SQL 语句创建索引Create unique clustered/nonclustered index索引名On 表名(属性名 asc/desc,属性名 asc/desc )注:若未指定clustered ,则创建非聚集索引;若未指定排序方式,则为ASC; text,ntext 类型的字段不能指定为索引字段。四、删除索引:Drop index索引名, ,索引名思考题:创建主键时,如果使主键字段值不影响数据表的记录顺序?视图一、视图的特点:.视

34、图只有结构,没有记录,是虚表;一个视图总对应着一个select 语句;对视图的查询、更新,实际上是对基本表的查询、更新。二、定义视图:1创建视图:Create view视图名(属性名, ,属性名)As 子查询with check option说明:视图的属性个数必须与子查询中select 子句的表达式个数相同。2删除视图:Drop view视图名, ,视图名三、查询视图:select */ 表达式表from视图名 ,视图名where条件 group by属性名 order by属性名 Asc/Desc四、操纵视图:1向视图插入一条记录insert into视图名 (属性名表 ) values(

35、 表达式表 )2修改视图中的数据update 视图名 set 属性名 = 值, ,属性名 = 值 where条件 3删除视图中的记录delete from视图名where条件 存储过程1什么叫存储过程?将一组 SQL 语句,以一个名称存储在数据库中,就形成存储过程。2创建存储过程Create proc 存储过程名 形参名类型 = 常量 outputAs SQL 语句序列说明: = 常量 :用于指定形参的默认值;output 用来指定该形参值是可以返回的。.触发器一、维护数据完整性的措施:创建约束基于一个表创建创建触发器创建规则:以单独的对象创建,可以绑定到数据库的所有表中。事务处理与并发控制1

36、什么叫事务?事务是用户定义的一组操作序列。事务是并发控制的基本单位。一个事务包含的诸操作要么都执行,要么都不执行。1 事务的属性原子性:指事务中包含的诸操作要么都执行,要么都不执行。一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。持久性数据的锁定一、并发操作与数据不一致性1数据不一致性包括三类丢失修改 :指事务1 与事务 2 从数据库中读入同一数据并修改,事务2 的提交结果破坏事务 1 提交的结果,导致事务1 的修改被丢失。不可重复读 :指事务1 读取数据后,事务2 执行更新操作,使事务1 无法再现前一次读取结果。读脏数据: 指事务 1

37、修改某一数据后,事务2 读取该数据,事务1 由于某种原因被撤销,这时数据又恢复到原值,事务2 读到的数据与数据库中的数据不一致,称为“脏”数据。2产生数据不一致性的原因并发操作破坏了事务的隔离性。二、并发控制的目标、方法1目标:确保DB 中的数据一致性。2并发事务正确性的原则几个事务的并发执行是正确的,当且仅当其结果与任何一个串行执行的结果相同。2 并发控制的方法DBMS 一般采用“封锁”技术,保证并发操作的可串行化。.一、封锁( Locking )1 什么叫封锁?SQL Server 自动强制封锁,并且会将封锁粒度控制在合适的级别,用户不必考虑封锁问题。2 封锁类型排它锁( X 锁):事务

38、T 对数据 A 加 X 锁,其它事务不能再对A 加锁,即其它事务不能读取和修改A 。共享锁( S 锁):事务 T 对数据 A 加 S 锁,其它事务只能再对A 加 S 锁,即其它事务只能读 A,不能修改A。3 封锁粒度封锁对象可以是属性列、元组、关系、整个数据库。封锁对象的大小称为封锁粒度。封锁粒度越小,并发度越高,但并发控制的开销越大。4 封锁协议 事务 T 在修改数据A 之前,必须对其加X 锁,直到事务结束才释放。 事务 T 在读取数据A 之前,必须对其加S 锁,直到事务结束才释放。遵循封锁协议,可以解决三种数据不一致性问题:丢失修改不可重复读读“脏”数据四、死锁和活锁封锁技术可以解决并发操作的不一致性问题,但也带来新的问题,即死锁和活锁。1 死锁: 定义:两个事务已经各自锁定一个数据,但是又要访问被对方锁定的数据,造成了循环等待,称为死锁。 避免死锁的方法:顺序封锁法:若规定封锁顺序为A,B,则 T1, T2 只能先封锁A,再封锁 B。2活锁: 定义:若多个事务请求封锁同一个数据时,其中的某个事务总处于等待状态,则称为活锁。 避免活锁的方法:先来先服务事务可串行化调度:两段锁协议.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!