分享
分销 收藏 举报 申诉 / 21
播放页_导航下方通栏广告

类型郑州大学数据库原理终极总结版.doc

  • 上传人:天****
  • 文档编号:2228516
  • 上传时间:2024-05-23
  • 格式:DOC
  • 页数:21
  • 大小:358.35KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    郑州大学 数据库 原理 终极 总结
    资源描述:
    第一章 数据库系统基本概念 数据库(Database,简称DB),是一个有结构的、集成的、可共享的、统一管理的数据集合。 数据库管理系统(DataBase Management System,DBMS)是用来管理数据库的一种商品化软件。 l 所有访问数据库的请求都由DBMS来完成的。 l DBMS提供了操作数据库的许多命令(语言),即SQL语言。 DBMS 的主要功能: l 数据定义的功能。DBMS提供数据定义语言(Data Definition Language,DDL)。通过DDL,可以方便地定义数据库中的各种对象。如定义Students表结构。 l 数据操纵的功能。DBMS提供数据操纵语言(Data Manipulation Language,DML)。通过DML,实现数据库中数据的基本操作。如向Students表中插入一行数据。 l 安全控制和并发控制的功能。如控制非法用户访问数据库。 l 数据库备份与恢复的功能。对数据库进行定义备份,以便数据库遭遇意外时,能恢复。 数据库系统 数据库系统的组成:数据库由若干张相互关联的表格组成。 数据库系统各个部件之间的关系 l 用户与数据库应用(即应用程序)交互; l 应用程序与DBMS交互; l DBMS访问数据库中的数据,返回给应用程序; l 应用程序按用户的习惯显示得到的数据。 数据库系统管理数据特点: l 数据是集成的、共享的。--数据库系统中所有的数据都集中存储在一个数据库中。 l 数据重复小。 l 数据独立性好。--应用程序不依赖任何数据的结构与访问技术。 l 数据结构化,易于按用户的视图表示。 模式:就是数据的一种抽象描述。 数据库的三级模式:外模式、概念模式、内模式。 1. 内模式是数据库中数据的存储结构、存储方法、存取策略等的描述,也称物理模式、存储模式。 2. 概念模式是数据库中数据的逻辑结构的描述,也称模式、概念结构。 3. 外模式是单个用户用到的数据逻辑结构的描述,通常也称视图、子模式。 Ø 一个数据库只有一个内模式,一个概念模式,但可以有多个外模式。 Ø 实际的物理数据库与内模式对应,用户使用外模式。 二级映射 1)外模式到概念模式的转换,表示为“外模式/概念模式”映射。 2)概念模式到内模式的转换,表示为“概念模式/内模式”映射。 Ø 数据库管理系统(DBMS),不仅提供三级模式的定义语言,而且还提供了三级模式之间相互转换的机制,即二级映射机制。 外模式/概念模式映象的用途: l 保证数据的逻辑独立性 Ø 当概念模式改变时,数据库管理员修改有关的外模式/概念模式映象,使外模式保持不变 Ø 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 概念模式/内模式映象的用途: l 保证数据的物理独立性 Ø 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改概念模式/内模式映象,使概念模式保持不变 Ø 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。 数据独立性的定义与内容 数据独立性是指应用程序不因物理存储的改变而改变。数据独立性包含逻辑独立性和物理独立性。 逻辑独立性是指概念模式改变时,外模式保持不变,从而使应用程序保持不变。当数据库的概念模式改变时,DBMS只要改变外模式到模式的映射,就可保持外模式不变。从而使应用程序保持不变。 物理独立性是指内模式改变时,概念模式保持不变。因为当内模式改变(如数据库的存储设备或存储结构改变)时,DBMS只要通过改变概念模式到内模式映射,从而使概念模式保持不变,实现了数据的物理独立性。 第二章 关系数据库 2.1 关系模型的数据结构 ² 关系:一张满足某些约束条件的二维表,如表2-1 Students关系。关系模型的数据结构是关系。 ² 元组:关系中的一行称为一个元组。对应表中的一行,存放的是客观世界的一个实体,如表Students关系中的一行,存放的是一个学生的数据 。 ² 属性:关系中的一列,称为一个属性。对应表中的一列。一个属性表示实体的一个特征,如表 Students关系中的Sno属性表示学生实体的学号特征值。 ² 域 :关系中一个属性的取值范围。例如,Ssex的取值范围是{‘M’, ‘F’},代表性别为男性和女性。。 关系的候选码与主码 · 表中某一列(或若干列的最小组合)的值能惟一标识一个行,称该列或列组为候选码。 · 对于一个表,可能有多个候选码 。 · 如果一个表有多个候选码,数据库设计者通常选择其中一个候选码作为区分行的惟一性标识符,称为主码(primary key,PK)。 关系模式 · 关系模式是关系的形式化描述(没有具体的值)。 · 最简单的表示为:关系名(属性名1,属性名2,…,属性名n) 关系数据库 · 关系数据库是相互关联的表或者说关系的集合(一个DATABASE是Table的集合) · 一个关系用一个关系模式表示,所有关系模式集合构成数据库的模式,它是数据库整体逻辑结构的描述。 2.2 关系的完整性 l 关系模型的完整性指的是完整性规则,是对关系的某种约束条件。 l 完整性规则包括实体完整性规则、参照完整性规则和用户自定义完整性规则三大类。 l 实体完整性和参照完整性是关系模型必须满足的两个完整性规则。 实体完整性规则:若属性A(指一个或一组属性)是基本关系R的主属性,则A不能取空值。 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性均为空值) 或者等于S中某个元组的主码值。 用户自定义完整性规则:是表格设计者为了保证表中某些行、列的数据满足具体应用要求而自定义的一些规则。 2.3 关系模型的数据操作——关系代数 l 关系代数中,运算的对象是关系(表),运算的结果是一个新关系(表)。 l 关系的运算包含两部分,即传统的集合运算和特殊的关系运算。 l 传统的集合运算:∪(并运算),-(差运算),∩(交运算),×(笛卡儿积运算)。 l 4个特殊的关系运算:σ(选择),π(投影),∞(连接),÷(除)。 1) 传统的关系运算 · 两个表的兼容性。所谓兼容,即两个表的表头结构相同,且对应列的数据类型相同。 · 并、差、交运算都要求有两个表参加运算,并且两个表是兼容的。 2) 专门的关系运算 · 包含:选择运算、投影运算和连接运算。 · 选择运算:从指定的R表中选择某些满足条件的行构成一个新表。记作бF(R) · 投影运算:从指定的表R中选择某些列构成一个新表。记作∏A(R)。 · 连接运算:从R与S的笛卡儿积R×S中选择满足连接条件的行。 记作 := σAθB(R×S) 两种特殊的连接:等值连接和自然连接。 · 等值连接:连接条件用=, 则AθB-> A=B · 自然连接:若等值连接的连接条件中的列名相同,且结果表中消除了重复列,则把此种等值连接称为自然连接,记作R∞S。 ² 自然连接中不必标注连接条件。 自然运算与等值连接的区别: · 自然连接要求连接的两个表有相同的列(公共列),等值连接则不要求。 · 自然连接结果表中去掉了重复的列,等值连接却可能包含重复的列。 笛卡儿积:简称积运算,也是二元运算,即要求有两个表参加运算,但这两个表可以不兼容。 笛卡儿积运算定义:给定两个表R和S,R和S的积运算的结果是一个新表,新表中的行由R中的每一行和S中的每一行组合而成。记作R×S。新表可能包含重复的列,因此不一定是一个关系 。 用关系代数表示查询。解题步骤: 1) 根据题意确定要输出的列以及这些列所在的表,由此确定被操作的表名称,可能有多个。 2) 根据题意,确定选择条件以及选择条件中用到的列在哪个表中,这里又确定一些被操作的表名称。 3) 根据1、2两步确定的表名称形成所有要操作的表名集。 4) 若表名集中只有一个表,则如果要输出的列是这个表的全部列,就只用选择运算;否则先用选择,后用投影选取要输出的(属性)列。 5) 如表名集中有两个或多个表,则一般用自然连接将它们连接起来,如果发现不存在公共列,即几个表不能进行自然连接,则要在表名集中加入一个或多个中间表,中间表中含有能进行自然连接的公共列,从而使得表名集中全部表可以进行自然连接;将选择条件作用于自然连接后产生的新表上,之后一般用投影操作选取要输出的列。 第三章 关系数据库语言SQL SQL语言分为三种子语言,分别是 : Ø 数据定义语言(DDL)用于定义数据库、表、视图等。主要有CREATE、ALTER、DROP语句。 Ø 数据操纵语言(DML)用于插入、修改、删除和查询数据。主要有:INSERT、DELETE 、UPDATE 、SELECT语句 。 Ø 数据控制语言(DCL)用于管理数据库用户对数据库中表、视图等的使用权限。主要有GRANT、REVOKE语句 。 3.1 查询语句基本结构 语法: SELECT <目标列名表> FROM <数据源表> [WHERE <查询条件>] [GROUP BY <分组列>] [HAVING <组选择条件>] [ORDER BY <排序列>] 3.2 单表查询 单表查询指的是在一个源表中查找所需的数据。因此,单表查询时,FROM子句中的<数据源表> 只要给出一个源表表名。 WHERE子句 WHERE<查询条件> <查询条件>中常用的运算符:比较运算符和逻辑运算符。 # 比较运算符用于比较两个数值之间的大小是否相等。常用的比较运算符有:=(等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、!=或<>(不等于)、!>( (不大于)、!>( (不小于)共9种。 # 逻辑运算符主要有: · 范围比较运算符:BETWEEN … AND… ,NOT BETWEEN… AND · 集合比较运算符:IN ,NOT IN · 字符匹配运算符:LIKE,NOT LIKE · 空值比较运算符:IS NULL,IS NOT NULL · 条件连接运算符:AND,OR,NOT 3.3 多表连接查询 多表查询指的是从多个源表中检索数据。因此,多表查询时,FROM子句中的<数据源表>要给出所有源表表名,各个表名之间要用逗号分隔。 ⑴多表查询的FROM子句格式 FROM <源表表名集> 例如,若一个查询用到三个表,表名分别为Students、Enrollment,Courses。 则FROM子句为: FROM Students,Enrollment,Courses ⑵多表查询中的WHERE子句 多表查询中往往要有多表的连接条件,当然还有表的一个或多个行选择条件,两者用AND操作符组合。 3.4 子查询 · 子查询是一个SELECT查询语句,但它嵌套在SELECT、INSERT、UPDATE、DELETE 语句或其他子查询语句中。 · 子查询可分为:非相关子查询和相关子查询。 3.5 数据更新 用SQL的插入语句(INSERT语句)、修改语句(UPDATE语句)、删除语句(DELETE语句)来向表中插入、修改、删除数据。 3.6 视图 视图的建立、查询、更新 第四章 数据库安全性 l 实现数据库系统安全性的技术和方法 Ø 存取控制技术 Ø 视图技术 Ø 审计技术 l 自主存取控制功能 Ø 通过SQL 的GRANT语句和REVOKE语句实现 l 角色 Ø 使用角色来管理数据库权限可以简化授权过程 Ø CREATE ROLE语句创建角色 Ø GRANT 语句给角色授权 第五章 数据库完整性 l 数据库的完整性 Ø 数据的正确性和相容性 l 数据的完整性和安全性是两个不同概念 Ø 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 Ø 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 为维护数据库的完整性,DBMS必须: 1) 提供定义完整性约束条件的机制 2) 提供完整性检查的方法 3) 违约处理 第六章 规范化 规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。 1.函数依赖 · 定义6.1:设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。若对于任一元组在X上的每一个值,都有Y上的一个惟一值与之对应,则称X函数决定Y,或称Y函数依赖于X,记作X®Y。X称为这个函数依赖的决定因子。 2. 平凡函数依赖与非平凡函数依赖 · 定义6.2:设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合。X和Y为属性集U上的子集,如果X→Y,Y是X的子集,则称X→Y是平凡的函数依赖。如果Y不是X的子集,则称X→Y是非平凡的函数依赖。 3. 完全函数依赖与局部函数依赖 · 定义6.3:设一个关系R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。若X®Y,同时X的一个真子集X’且也能够函数决定Y,即存在X’®Y,则称X部分函数决定Y,或Y部分函数依赖于X,记作: 。 · 否则若不存在一个真子集X’,使得X’也能够函数决定Y,则称X完全函数决定Y,或者Y完全函数依赖于X。记作: 。 4. 传递函数依赖 · 定义6.4:设一个关系R(U),R是关系的名称,U是关系R的所有属性的集合,X、Y和Z为属性集U上的子集。若X®Y,Y®Z,且,则存在 称X传递函数决定Z,或者说Z传递函数依赖于X。 例如: S(Sno,Sname,Ssex,Sage,Dno,Dname) 有Sno-> Dno, Dno ->Dname 则有: 第一范式(1NF) 定义6.5:如果一个关系R的所有属性都是不可再分的基本数据项,则称关系R属于第一范式,记作R Î1NF。 最低程度的规范化关系的异常分析 满足1NF的关系是一个规范化的关系,但它是规范化程度最低的关系,这样的关系仍然存在: (1)数据冗余与更新异常 (2)插入异常 (3)删除异常 第二范式(2NF) 定义6.6:如果关系R ∈1NF,并且关系R的每一个非主属性完全函数依赖于码,则R属于第二范式,记作:R∈2NF。 第三范式(3NF) · 定义6.7:关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性Z(Z Y), 使得X→Y,Y→Z成立, Y → X,则称R<U,F> ∈ 3NF。 · 若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。 BC范式(BCNF) · 定义6.8 :关系模式R<U,F>∈1NF,若X→Y且Y Í X时X必含有码,则R<U,F> ∈BCNF。 · 等价于:关系模式R<U,F>中,如果每一个决定属性因素都包含码,则R<U,F> ∈BCNF。 · 可以证明:若R∈BCNF,则R∈3NF。反过来,若R∈3NF,则R未必属于BCNF。 多值依赖 · 定义6.9 :设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖 X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。 4NF · 定义6.10:关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(YÍX),X都含有码,则R∈4NF。 · 如果R ∈ 4NF, 则R ∈ BCNF a) 不允许有非平凡且非函数依赖的多值依赖 b) 允许的非平凡多值依赖是函数依赖 l 关系数据库的规范化理论是数据库逻辑设计的工具 l 目的:尽量消除插入、删除一场,修改复杂,数据冗余 l 基本思想:逐步消除数据依赖中不合适的部分 \ 实质:概念的单一化 l 关系模式规范化的基本步骤 1NF ↓ 消除非主属性对码的部分函数依赖 消除决定属性 2NF 集非码的非平↓ 消除非主属性对码的传递函数依赖 凡函数依赖 3NF ↓ 消除主属性对码的部分和传递函数依赖 BCNF ↓ 消除非平凡且非函数依赖的多值依赖 4NF Ø 不能说规范化程度越高的关系模式就越好 Ø 在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式 Ø 上面的规范化步骤可以在其中任何一步终止 数据依赖的公理系统 1、逻辑蕴涵 设F是关系模式R<U, F>的函数依赖集,X、Y是R的属性子集。对R的任一个关系r,若函数依赖X®Y均成立,则称F逻辑蕴涵X®Y。 2、Armstrong公理 A1自反律:若YÍXÍU,则X®Y为F所蕴涵。 简写:若YÍX,则X®Y A2增广律:若X®Y为F所蕴涵,且ZÍU,则XZ®YZ为F所蕴涵。简写:若X®Y,则XZ®YZ A3传递律:若X®Y和Y®Z为F所蕴涵,则X®Z为F所蕴涵。简写:若X®Y、Y®Z,则X®Z 属性集的闭包 引理6.2:设F为属性集U上的一组函数依赖,X,Y Í U, X®Y能由F根据Armstrong公理导出的充分必要条件是YÍ XF+ 。 于是判定X®Y能否由F根据Armstrong公理导出的问题,就转化为求出XF+,判定Y是否为XF+的子集的问题。 求属性集闭包XF+的算法 分析:由定义,要求出所有这样的属性A:X®A能由F经数次使用Armstrong公理推出。 A应具备何种特征? Ø 由公理的自反律,A可以是X中的属性,根据传递律,A可以是F中某个函数依赖的右部,而该函数依赖的左部属性应属于X的闭包。 Ø 算法思想:采用逐步扩张X的策略求X的闭包。方法是:扫描F,找出左部属性属于当前X的闭包的函数依赖,将右部属性加入当前X的闭包。经若干次扩张,直到当前闭包集不再扩大为止。 极(最)小函数依赖集(覆盖) 满足下列条件的函数依赖集F,称为极小依赖集 (1)F中每个函数依赖的右部仅含有一个属性;【右部都是单属性】 (2)F中不存在这样的函数依赖X®A,使得F与F-{X®A}等价;【不存在多余的函数依赖】 (3)F中不存在这样的函数依赖X®A,X有真子集Z使得F与(F-{X®A})È {Z®A}等价。【左部没有多余的属性】 对F极小化处理 1. 分解:将右部多属性函数依赖分解成单属性函数依赖。 将F中所有形如X®A1A2…Ak(k³2)的函数依赖用{X®Ai | i=1,2, …k }取代。 这样每个函数依赖的右部都为单属性,由合并和分解规则知该函数依赖集与F等价。 2. 去多余依赖: 对第一步处理后的F,逐一检查F中各函数依赖 X®A,令G=F-{X®A},若AÎ XG+ ,则从F中去掉X®A。 3. 去左部多余属性: 逐一检查第二步处理后的F中各函数依赖 X®A,设X=B1B2…Bm,逐一考察Bi,若 AÎ(X-Bi)F+ ,则以X-Bi取代X。 这样得到的函数依赖集仍与F等价,且去掉了左部多余的属性。 模式的分解 Ø 分解准则 Ø 分解后的模式应和原来的模式“等价”。 根据以上分析,可提出以下不同标准: 1) 分解具有“无损连接性” 2) 分解要“保持函数依赖” 3) 分解既要“保持函数依赖”,又要具有“无损连接性” 无损连接性定义 设r = { R1<U1, F1>, R2<U2, F2>,…, Rk<Uk, Fk> }是R<U, F>的一个分解。若对R的任何一个关系r都有r= pU1(r) pU2(r) … pUk(r) ,成立,则称r具有无损连接性,简称r为无损分解。 定理(补充):设r = { R1<U1, F1>, R2<U2, F2> }是R<U, F>的一个分解。 那么r是无损分解的充分必要条件是 F逻辑蕴涵(U1ÇU2)®(U1-U2) 或(U1ÇU2)®(U2-U1)。 U1ÇU2®U1-U2Î F+ 或 U1ÇU2®U2-U1Î F+ 关系模式为R<U, F>, U={ A, B, C }, F ={ A®B, C®B }, (1) r1 = { R1(A, B), R2(B, C) } (U1ÇU2)®(U1-U2)为:B ® A (U1ÇU2)®(U2-U1)为:B ® C 因为 不包含A,也不包含C, 所以B®A和B®C不为F所蕴涵 r1不是无损分解 关系模式为R<U, F>, U={ A, B, C }, F ={ A®B, C®B }, (2) r2 = { R1(A, C), R2(B, C) } (U1ÇU2)®(U1-U2)为:C ® A (U1ÇU2)®(U2-U1)为:C ® B 因为C®B Î F,所以 ü r2是无损分解 保持函数依赖定义: 设r = { R1<U1, F1>, R2<U2, F2>, …, Rk<Uk, Fk> }是R<U, F>的一个分解,若 F+ = (F1ÈF2ȼÈFk)+,则称r保持函数依赖。 无损连接分解 不一定是 保持函数依赖的分解 保持函数依赖的分解 不一定是 无损连接分解 算法6.3:分解关系模式为保持函数依赖的3NF (1)将F极小化(处理后的函数依赖集仍记为F); (2)把不在F中出现的属性从U中分离出去,组成一个关系模式(剩余的属性仍记为U); (3)若有X®AÎF,且XA=U,则r ={R},算法终止; (4)按左部相同的原则对F分组, 每组的全部属性形成一个属性集Ui。若有UiÍUj(i¹j)就去掉Ui。设最后保留下来U1,U2,…,Uk,则r ={R1(U1, F1), R2(U2, F2), … Rk(Uk, Fk)},算法终止。其中Fi为F在Ui上的投影。 求候选码的方法 1、先找出仅在左边出现,没有在右边出现过的属性(L 类),以及不属于任何一边的属性(N 类),构成一个属性集合 X=(L 类,N 类)。求出 X+,若 X+=U,则X是唯一候选码,算法终止。 2、如果上述的X不是码,取 LR 类(在左右两边都出现过的属性)的每一个属性加入 X 集合,求每个闭包,判断其是否为候选码。 3、再取 LR 类的每2个属性组合,加入X集合,求每个闭包,判断其是否为候选码。 4、再取 LR 类的每 3 个属性组合,加入X集合,求每个闭包,判断其是否为候选码。 5、以此类推,直到 X 集合包含所有属性,或者已找出所有的候选码。 注意:子集从小到大找,大的子集中不要包含已找出的候选码 转换为3NF既保持函数依赖又具有无损连接性的分解算法 算法思想:在算法6.3分解的基础上,增加一个模式,该模式以原模式的一个码作为属性组,使该模式起到正确连接其它各模式的作用。 算法6.4: 输入:关系模式R<U, F>; 输出:R的一个分解t ={R1,R2,…Rp},每个Ri均为3NF, 且 t 既保持函数依赖又具有无损连接性; (1)用算法6.3将R分解为r={R1(U1),R2(U2),…Rk(Uk)}; (2)求R的一个码X; (3)若X是某个Ui的子集,输出 t = r; 否则, 输出t = r È { R*(X)} ;算法结束。 例题:设有关系模式R(ABCDEG),F={ A→BC,CD→G,B→DA } (1)求 R 的所有候选码。 (2)R最高属于第几范式。 (3)将 R 分解为 3NF,且既保持函数依赖又具有无损连接性。 解: (1) R的所有候选码 L类属性:没有 ; N类属性:E, (E)+={E} LR类属性:A,B,C,D (AE)+={A,B,C,D,E,G}(BE)+={A,B,C,D,E,G} (CE)+={C,E}(DE)+={D,E} (CDE)+={C,D,E,G} R的所有候选码为:AE、BE (2) R的所有候选码为:AE、BE,非主属性为C、D、G 因为非主属性和候选码之间没有存在函数依赖关系,所以该 关系模式最高属于第一范式。 (3) (1)做保持函数依赖的3NF的分解: ①求Fmin: a.分解右部为单属性:F={A→B,A→C,CD→G,B→D, B→A } b.去掉多余函数依赖:F={A→B,A→C,CD→G,B→D, B→A } c.去掉左部多余属性:F={A→B,A→C,CD→G,B→D, B→A } ②分离不在F中出现的属性:E ③判断是否需要分解:需要 ④分解:按左部相同原则,去掉重复子集:{A,B,C},{C,D,G},{A,B,D},{E} (2)求出R的一个候选码:AE、BE (3)由于AE不是上述三个关系模式的属性集的子集,所以将AE构成一个新的关系模式,加入到r中,得: r ={R1(A,B,C),R2(C,D,G),R3(A,B,D) ,R4(A,E)} r既保持函数依赖又具有无损连接性。 或者:r ={R1(A,B,C),R2(C,D,G),R3(A,B,D) ,R4(B,E)} 解: (1)R的所有候选码 L类属性:B; N类属性:E (BE)+={B,D,E,G} LR类属性:A, C (ABE)+={A,B,C,D,E,G} (BCE)+={A,B,C,D,E,G} R的所有候选码为:ABE、BCE (2) (AB)+={A,B,C,D,G} (3) (1)做保持函数依赖的3NF的分解: ①求Fmin: a.分解右部为单属性:F={A→C,C→A,B→D, B→G } b.去掉多余函数依赖:F={A→C,C→A,B→D, B→G } c.去掉左部多余属性:F={A→C,C→A,B→D, B→G } ②分离不在F中出现的属性:E ③判断是否需要分解:需要 ④分解:按左部相同原则,去掉重复子集:{A,C},{B,D,G},{E} (2)求出R的一个候选码:ABE、BCE (3)由于ABE不是上述三个关系模式的属性集的子集,所以将ABE构成一个新的关系模式,加入到r中,得: r ={R1(A,C),R2(B,D,G),R3(A,B,E)} r既保持函数依赖又具有无损连接性。 或者:r ={R1(A,C),R2(B,D,G),R3(B,C,E)} 第七章 数据库设计 Ø 数据库设计 :包括逻辑设计和物理设计 。 Ø 逻辑设计 :概念结构设计与逻辑结构设计。 Ø 概念结构设计:实体-联系模型(E-R图)。 Ø 逻辑结构设计:关系数据库的模式设计。 E-R图 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来 实体的转换原则 ü 一个实体型转换为一个关系模式。 关系的属性:实体型的属性 关系的码:实体型的码 联系的转换 实体型间的联系有以下不同情况 : (1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 Ø 转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。 Ø 与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。 (2) 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 Ø 转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 Ø 与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。而关系的码为n端实体的码。 (3) 一个m:n联系转换为一个关系模式。 Ø 每个实体集各对应一个关系模式; Ø 对于(m:n)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。 数据库各级模式的形成 数据库的各级模式是在设计过程中逐步形成的 Ø 需求分析阶段综合各个用户的应用需求(现实世界的需求) Ø 概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述 Ø 在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式 Ø 在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式 第十章 数据库恢复技术 ² 如果数据库只包含成功事务提交的结果,就说数据库处于一致性状态。保证数据一致性是对数据库的最基本的要求。 ² 事务是数据库的逻辑工作单位 · DBMS保证系统中一切事务的原子性、一致性、隔离性和持续性 Ø DBMS必须对事务故障、系统故障和介质故障进行恢复 恢复中最经常使用的技术:数据库转储和登记日志文件 恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库 常用恢复技术 ² 事务故障的恢复 ® UNDO ² 系统故障的恢复 ® UNDO + REDO ² 介质故障的恢复 ® 重装备份并恢复到一致性状态 + REDO 提高恢复效率的技术 1) 检查点技术 Ø 可以提高系统故障的恢复效率 Ø 可以在一定程度上提高利用动态转储备份进行介质故障恢复的效率 2) 镜像技术 Ø 镜像技术可以改善介质故障的恢复效率 第十一章 并发控制 l 并发操作带来的数据不一致性 a) 丢失修改(Lost Update) b) 不可重复读(Non-repeatable Read) c) 读“脏”数据(Dirty Read) l 数据库的并发控制以事务为单位 l 数据库的并发控制通常使用封锁机制 ² 两类最常用的封锁 Ø 排它锁又称为写锁。 若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 Ø 共享锁又称为读锁。 若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 l 对数据对象施加封锁,带来问题 活锁: 先来先服务 死锁: \ 预防方法 · 一次封锁法 · 顺序封锁法 \ 死锁的诊断与解除 · 超时法 · 等待图法 l 并发控制机制调度并发事务操作是否正确的判别准则是可串行性 Ø 并发操作的正确性则通常由两段锁协议来保证。 Ø 两段锁协议是可串行化调度的充分条件,但不是必要条件 两段锁协议 Ø 指所有事务必须分两个阶段对数据项加锁和解锁 \ 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁 \ 在释放一个封锁之后,事务不再申请和获得任何其他封锁 21
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:郑州大学数据库原理终极总结版.doc
    链接地址:https://www.zixin.com.cn/doc/2228516.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork