数据库原理总结
数据库原理总结

数据库原理总结数据库是一种用于存储和管理数据的软件系统。
它是构建应用程序的重要基础,被广泛应用于各种企业和组织中。
数据库原理涉及数据库的设计、建模、管理和优化等方面。
以下是数据库原理的详细总结。
1.数据库模型:数据库模型是用于描述和组织数据的概念模型。
常见的数据库模型包括层次模型、网络模型、关系模型和对象模型等。
其中,关系模型是最常用的数据库模型,它使用表格来组织和描述数据,可以根据关系模型构建复杂的数据库结构。
2.数据库设计:数据库设计是指根据需求和目标,规划和设计数据库的结构和表格。
数据库设计需要考虑数据的完整性、一致性和性能等因素。
在数据库设计中,可以使用实体关系模型(ERM)进行数据库的建模和分析,以便更好地理解和描述数据之间的关系和属性。
3.数据库管理系统(DBMS):数据库管理系统是用于管理数据库的软件系统。
它提供了对数据库的访问、查询、修改和控制等功能。
数据库管理系统还负责数据的存储和索引管理,以提高数据的检索效率。
常见的数据库管理系统包括MySQL、Oracle和SQL Server等。
4.数据库查询语言(SQL):SQL是一种专门用于操作和管理关系数据库的编程语言。
通过SQL,可以执行查询、插入、更新和删除等操作。
SQL语言具有简单易学、灵活和强大的特点,能够满足各种复杂的数据操作需求。
5.数据库索引:数据库索引用于提高数据的检索效率。
通过在表格中创建索引,可以快速定位和访问数据。
常见的索引类型包括B树索引和哈希索引等。
选择适当的索引类型和建立正确的索引策略,可以极大地提高数据库的查询性能。
6.数据库事务:数据库事务是一系列操作的逻辑单元,它要么全部执行成功,要么全部回滚。
数据库事务具有ACID特性,包括原子性、一致性、隔离性和持久性。
通过使用事务,可以确保数据的完整性和一致性。
7.数据库优化:数据库优化是提高数据库性能的关键步骤。
在数据库优化中,可以通过适当的索引和查询优化、表格设计和存储方案等手段,来提高数据库的响应时间和吞吐量。
数据库原理理论知识点总结

一、数据库的概念数据库是指按照数据结构来组织、存储和管理数据的集合,它具有持久化的特性,可以供多个用户共享和使用。
数据库的设计主要包括数据结构的设计、数据操作的设计和数据管理的设计等方面,而数据库的管理则包括数据的存储、索引、备份和恢复等方面。
数据库的应用主要涉及到数据的存储、检索、更新和删除等方面。
二、数据库系统的组成和功能数据库系统由数据库和数据库管理系统组成,它具有数据的持久性、共享性、安全性和完整性等特点。
数据库系统的主要功能包括数据的存储、检索、更新和删除等方面,同时还包括事务的管理、并发控制、恢复和安全性等功能。
数据库系统还具有多用户和多任务的特性,可以支持分布式数据库和数据仓库等应用。
三、数据库设计的基本原则数据库设计是指按照数据库的应用要求和使用方式来组织和设计数据库的结构、内容和操作方法。
数据库设计的基本原则包括数据结构的设计原则、关系模型的设计原则和数据完整性的设计原则等方面。
同时还要考虑到数据的冗余和一致性等问题,以及数据库的性能和可扩展性等方面。
四、数据库管理系统的特点和作用数据库管理系统是指一种用来管理和操作数据库的软件系统,它具有数据的存储、索引、检索、更新、删除、备份和恢复等功能。
数据库管理系统还具有并发控制、事务管理、安全性和完整性的特点,可以保证数据的一致性和完整性。
数据库管理系统还可以支持分布式数据库和数据仓库等应用。
五、数据库安全性和完整性数据库的安全性和完整性是数据库设计和管理的重要问题,它涉及到数据的机密性、完整性、可用性和审核性等方面。
数据库的安全性主要包括用户的身份验证、访问控制和密码管理等方面,同时还包括数据的加密、审计和恢复等功能。
数据库的完整性主要包括数据的一致性和完整性约束等方面,同时还包括数据的唯一性和约束性等功能。
六、数据库性能和优化数据库的性能和优化是数据库设计和管理的重要问题,它涉及到数据库的存储、索引、检索、更新、删除、备份和恢复等方面。
《数据库原理》知识点总结

、模型的三个世界1 •现实世界3 •机器世界:将 E-R 图转换为某一种数据模型,数据模型与注意:信息世界又称概念模型,机器世界又称数据模型 二、实体及属性1.实体:客观存在并可相互区别的事物。
2 .属性:3 .关键词:能唯一标识每个实体又不含多余属性的属性组合。
一个表的码可以有多个,但主码只能有一个。
4 .实体型:即二维表的结构数据库系统概述一、有关概念1.数据2 .数据库(DB )3 •数据库管理系统 DBMS )ccess桌面DBMSSQL Server客户机/服务器型 DBMSOracleMySQLDB24 .数据库系统( DBS )厂数据库(DB )J 数据库管理系统 幵发工具DBMS )应用系统二、数据管理技术的发展1 •数据管理的三个阶段(1)人工管理阶段(2)文件系统阶段(3 )数据库系统阶段概念模型2 •信息世界:即根据需求分析画概念模型(即 E-R 图),E-R 图与 DBMS 无关。
DBMS 相关。
5•实体集:即整个二维表三、实体间的联系:1.两实体集间实体之间的联系 1:1 联系、 1:n 联系、 m :n 联系2.同一实体集内实体之间的联系 1:1 联系、 1:n 联系、 m :n 联系1.重要术语:关系:一个关系就是一个二维表; 元组:二维表的一行,即实体; 关系模式:在实体型的基础上,注明主码。
关系模型:指一个数据库中全部二维表结构的集合。
数据库系统结构数据库系统的 模式结构 三级模式1.模式:是数据库中全体数据的逻辑结构和特征的描述。
①模式只涉及数据库的结构;模式既不涉及应用程序,又不涉及数据库结构的存储;② 外模式:是模式的一个子集,是与某一个应用程序有关的逻辑表示。
特点:一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。
内模式:描述数据库结构的存储,但不涉及物理记录。
外模式 /模式映象:保证数据库的逻辑独立性;模式 /内模式映象:保证数据库的物理独立性;使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。
《数据库原理》知识点总结

《数据库原理》知识点总结数据库原理是计算机科学中的重要学科之一,涉及到数据库的基本理论、设计原则、数据模型、数据结构、查询语言以及数据库管理系统等方面的内容。
以下是对数据库原理的一些知识点总结:1.数据库的概念:数据库是存储数据的仓库,它可以对数据进行组织、存储和管理,提供高效的数据访问方法和数据操作功能。
2.数据模型:数据模型是对现实世界中的实体、关系和约束条件进行抽象和描述的一种方式。
常见的数据模型有层次模型、网状模型和关系模型等。
3.关系模型:关系模型是最常用的数据模型,它基于二维表格的形式组织数据。
关系模型中的表格被称为关系,其中的行表示记录,列表示字段。
5.数据库设计:数据库设计是指将现实世界的需求转化为数据库的结构和关系的过程。
数据库设计需要考虑数据的结构、完整性、冗余和性能等因素。
6.数据库查询语言:数据库查询语言用于对数据库中的数据进行查询和操作。
常见的数据库查询语言有结构化查询语言(SQL)和数据库查询优化技术。
7.数据库索引:数据库索引是提高数据库查询性能的重要手段,它可以加快数据的检索速度。
索引通过建立数据和索引之间的映射关系,可以快速定位数据所在的位置。
8.数据库事务:数据库事务是一组操作被视为一个单独的工作单元,要么全部执行成功,要么全部回滚到初始状态。
事务具有原子性、一致性、隔离性和持久性四个特征,可以保证数据库操作的正确性和完整性。
9.数据库安全性:数据库安全性是指保护数据库免受非法访问、数据泄露和破坏的能力。
数据库安全性包括用户身份认证、访问权限控制和数据加密等方面。
10. 数据库管理系统:数据库管理系统(DBMS)是管理数据库的软件系统,它提供了数据定义、数据操作、数据控制和数据保护等功能。
常见的数据库管理系统有MySQL、Oracle和SQL Server等。
以上是对《数据库原理》的部分知识点总结,涵盖了数据库的概念、数据模型、数据库设计、查询语言、索引、事务、安全性和数据库管理系统等方面的内容。
数据库原理总结

数据库原理总结在当今数字化的时代,数据库成为了信息存储和管理的核心工具。
无论是企业的业务运营,还是个人的日常活动,都离不开数据库的支持。
接下来,让我们深入探讨一下数据库原理的相关知识。
数据库,简单来说,就是一个有组织的数据集合,它按照一定的结构和规则来存储和管理数据,以便于快速的查询、更新和处理。
首先,我们来谈谈数据库的模型。
常见的数据库模型有层次模型、网状模型和关系模型。
层次模型就像是一棵倒立的树,数据按照层次结构进行组织;网状模型则像是一个错综复杂的网,节点之间可以有多个联系;而关系模型是目前应用最为广泛的模型,它把数据看作一张张二维的表格,通过表格之间的关联来体现数据之间的关系。
关系模型中有几个重要的概念。
关系,就是我们所说的二维表;元组,是表中的一行;属性,是表中的一列;主键,是能够唯一标识一个元组的属性或属性组合。
理解这些概念对于我们设计和操作数据库至关重要。
数据库的设计是一个关键的环节。
良好的数据库设计可以提高数据的存储效率、减少数据冗余,并且便于数据的管理和维护。
在设计数据库时,我们需要进行需求分析,了解业务流程和数据需求;然后进行概念设计,构建出数据库的概念模型;接着进行逻辑设计,将概念模型转换为关系模型;最后进行物理设计,确定数据库的存储结构和访问方法。
数据的完整性约束也是数据库原理中的重要部分。
它包括实体完整性、参照完整性和用户自定义完整性。
实体完整性确保表中的每一行都有唯一的标识符;参照完整性保证了表之间关联的准确性;用户自定义完整性则可以根据具体的业务需求来定义特定的约束条件。
数据库的操作主要包括数据的插入、删除、更新和查询。
查询是最常见也是最重要的操作之一。
通过使用结构化查询语言(SQL),我们可以方便地从数据库中获取所需的数据。
SQL 语句简单易学,但功能强大,能够完成各种复杂的查询任务。
在数据库管理系统中,索引是提高查询效率的重要手段。
索引就像是书的目录,通过它可以快速定位到所需的数据。
数据库原理知识点总结精华

数据库原理知识点总结精华1.数据库的基本概念:数据库是结构化数据的集合,用于存储和管理数据。
它包含表、字段和行,可以用于数据的增删改查等操作。
2. 关系数据模型:关系数据库是一种基于表的数据模型,使用关系(表)来组织和表示数据。
它的基本特点是数据的结构化、模型化和标准化。
常用的关系数据库有MySQL、Oracle、SQL Server等。
3.数据库的范式:范式是关系数据模型的设计准则,用于规范化数据表的结构,以消除冗余和保证数据的一致性。
常用的范式有第一范式(1NF)、第二范式(2NF)和第三范式(3NF)等。
4.数据库的索引:索引是用于快速查找和访问数据的数据结构,在数据库中起到提高查询性能的作用。
常用的索引类型有B树索引、哈希索引、全文索引等。
5.数据库的事务:事务是一组数据库操作的逻辑单元,具有原子性、一致性、隔离性和持久性等特性。
它可以保证数据的完整性和一致性,在并发环境下进行并发控制。
6.数据库的并发控制:并发控制是指在多用户同时对数据库进行访问和操作时,保证数据的一致性和正确性的技术手段。
常用的并发控制方法有锁、MVCC(多版本并发控制)等。
7.数据库的备份和恢复:备份是将数据库的数据和结构复制到其他存储介质中的过程,用于防止数据丢失和灾难恢复。
恢复是指将备份的数据恢复到原始状态的过程。
8.数据库的优化:数据库优化是提高数据库性能和效率的过程,包括物理设计优化、查询优化、索引优化等。
常用的优化技术有性能调优、查询重写、索引调整等。
9.数据库的分布式:分布式数据库是指将数据库分布到多个节点上,各个节点之间通过网络进行通信和协调。
它具有高性能、可扩展性和容错性等优点,适用于大规模数据处理和分布式计算。
10.数据库的安全性:数据库安全是指保护数据库免受非法访问、损坏和数据泄露等威胁的措施和技术。
常用的安全措施有用户认证、权限控制、加密存储等。
以上是数据库原理的一些重要知识点总结,涵盖了数据库的基本概念、关系模型、索引、事务、并发控制、备份恢复、优化、分布式和安全等方面。
数据库原理重点总结

数据库原理重点总结1.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
2.定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图。
3.试述关系模型的三个组成部分。
4.试述关系模型的完整性规则。
在参考完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?5.数据库安全性和计算机系统的安全性有什么关系?6.试述实现数据库安全性控制的常用方法和技术。
7.什么就是数据库中的独立自主存取控制方法和强制性存取控制方法?8.sql语言中提供了哪些数据控制(自主存取控制)的语句?举例说明它们的使用方法。
9.什么是数据库的完整性?10.数据库的完整性概念与数据库的安全性概念存有什么区别和联系?11.dbms的完整性掌控机制应当具备哪些功能?12.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(all-key)、1nf、znf、3nf、bcnf、多值依赖、4nf。
13.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
14.在一个订货系统的数据库中,存有顾客、货物和订货单的信息。
15.试述数据库设计过程及各个阶段上的设计描述。
16.什么是数据库的完整性约束条件?可分为哪几类?17.下面的结论哪些就是恰当的?哪些就是错误的?对于错误的恳请得出一个反例表明之。
18.试述数据库概念结构设计的重要性和设计步骤。
19.什么就是数据库的逻辑结构设计?试述其设计步骤。
20.试述查阅优化的通常准则。
21.试述查阅优化的通常步骤。
23.数据库恢复的基本技术有哪些?24.mammalian操作方式可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?1.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
【请问】数据模型就是数据库中用以对现实世界展开抽象化的工具,就是数据库中用作提供更多信息则表示和操作方式手段的形式构架。
数据模型就是严苛定义的概念的子集,这些概念准确叙述了系统的静态特性、动态特性和完整性约束条件。
《数据库原理》知识点总结

《数据库原理》知识点总结数据库原理是计算机科学与技术的重要学科之一,它以数据的组织、存储、管理和检索为核心内容。
数据库原理涵盖了数据库的基本概念、数据库设计与规范、数据库管理系统、数据库查询优化与调优等方面的知识。
下面是对《数据库原理》的知识点进行总结。
一、数据库概述1.数据库的定义和特点:数据库是长期存储在计算机硬件中、能被多个用户共享、具有永久性的数据集合;数据库具有数据的自描述性、共享性、冗余度低、数据独立性等特点。
2.数据库管理系统(DBMS):DBMS是对数据库进行管理和操作的软件系统,包括数据库定义语言(DDL)、数据库操作语言(DML)、数据库查询语言(DQL)等组成部分。
二、关系数据库1.关系模型:关系模型是数据库领域中最重要的数据模型之一,以关系(表)的形式存储数据,通过关系之间的连接来表示实体之间的关系。
3.关系代数和关系演算:关系代数是一种用于处理关系数据库的形式化语言,包括选择、投影、连接、交、并等操作;关系演算是一种基于谓词逻辑的查询语言。
4.数据库完整性约束:包括实体完整性、参照完整性和用户定义的完整性约束。
三、数据库设计1.数据库设计过程:数据库设计包括需求分析、概念设计、逻辑设计和物理设计等阶段。
2.数据库范式:数据库范式是用于评估数据库模式的合理性和优劣的标准,包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。
3.数据库索引:索引是数据库中用于提高查询效率的数据结构,常见的索引类型包括B树索引、哈希索引等。
四、数据库查询优化与调优1.查询优化:查询优化技术是提高数据库查询性能的关键,包括选择最佳查询计划、重写查询语句、使用索引等方面。
2.查询调优:查询调优是针对具体查询语句进行性能优化,包括改进查询语句、优化表结构、使用合适的索引等。
五、事务与并发控制1.事务:事务是数据库操作最小的逻辑单位,具有四个特性:原子性、一致性、隔离性和持久性。
2.并发控制:并发控制是保证数据库并发操作正确性的一组技术和方法,包括锁机制、时间戳机制、多版本并发控制等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章数据库概论1.人工管理阶段,文件系统阶段,数据库阶段,高级数据库阶段(对象数据库技术,分布式数据库系统,开放数据库互连技术,xml数据库技术,现代信息集成技术)2.数据描述:概念设计中:实体,实体集,属性,实体标识符;逻辑设计中:字段,记录,文件,关键码;物理设计中:位,字节,字,块,桶,卷;3.概念模型,逻辑模型(层次,网状,关系,对象),外部模型,内部模型;4.三层模式(外模式,逻辑模式,内模式),两级映像(外模式/逻辑模式映像,逻辑模式/内模式映像)5.数据库系统:数据库,硬件,软件,数据库管理员第二章关系模型和关系运算理论1.超键:能唯一标识元组的属性或属性集。
候选键:不含有多余属性的超键主键:用户选作元祖标识的候选键。
外键:是其他模式的主键。
实体完整性规则,参照完整性规则,用户定义的完整性规则关系模式的三层体系结构:关系模式,子模式,存储模式2.关系代数的5个基本操作:并,差,笛卡尔积,投影,选择;关系代数的4个组合操作:交,连接,自然连接,除法。
关系代数的7个扩充操作:改名,广义投影,赋值,外连接,外部并,半连接,聚集操作3.关系代数表达式的启发式优化算法:尽可能早的执行选择操作;尽可能早的执行投影操作;避免直接做笛卡尔积第三章关系数据库语言SQL1.SQL的组成:数据定义语言,数据操纵语言,嵌入式,数据控制语言2.数据定义:数据类型ok,数据库,数据表,索引的创建等ok。
3.数据查询,数据更新ok。
4,视图,嵌入式,动态SQL语句,存储过程。
第四章关系数据库的规范化设计1.定义1:函数依赖:设有关系模式R(U),U为属性集,x、y为U的子集,函数依赖(FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FDX→Y在关系模式R(U)中成立。
定义2:如果X→Y和Y→X同时成立,则可记为X←→Y。
定义3:设F是在关系模式R上成立的函数依赖的集合,X→Y 是一个函数依赖。
如果对于R 的每个满足F的关系r也满足X→Y ,那么称F逻辑蕴涵X→Y,记为F ⊨ X→Y。
定义4:设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集F 的闭包(closure),记为F+。
即F+ ={X→Y | 记为F ⊨ X→Y }定义5:对于FD X→Y,如果Y⊆X,那么称X→Y是一个“平凡的FD”,否则称为“非平凡的FD”。
定义6:设关系模式R的属性集是U,X是U的一个子集。
如果X→U在R上成立,那么称X是R的一个超键。
如果X→U在R上成立,但对于X的任一真子集X1都有X1→U不成立,那么称X是R上的一个候选键。
定义7:设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用X+表示,它是一个从F集使用FD推理规则推出的所有满足X→A的属性A的集合:X+ ={属性A | X→A 在F+中}定义8:如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。
定义9:如果函数依赖集G满足下列三个条件,则称G是最小依赖集:①G中每个FD的右边都是单属性;②G中没有冗余的F,即G中不存在这样的函数依赖X→Y,使得G -{X→Y}与G等价;③G中每个FD的左边没有冗余的属性,即G中不存在这样的函数依赖X→Y,X有真子集W使得G -{X→Y}∪{W→Y}与G等价。
定义10:设有关系模式R(U),属性集为U,R1、…、Rk都是U的子集,并且有R1∪R2∪…∪Rk=U。
关系模式R1、…、Rk的集合用ρ表示,ρ={R1,…,Rk}。
用ρ代替R的过程称为关系模式的分解。
定义11:在泛关系模式R分解成数据库模式ρ={R1,…,Rk}时,泛关系r在ρ的每一模式Ri(1≤i≤n)上投影后再连接起来,比原来r中多出来的元组,称为“寄生元组”(Spurious Tuple)。
定义12:设R是一个关系模式,F是R上的一个FD集。
R分解成数据库模式ρ={R1,…,Rk}。
如果对R中满足F的每一个关系r,都有r=πR1(r)⋈πR2(r)⋈… ⋈πRk(r),那么称分解ρ相对于F是“无损连接分解”(lossless join decomposition),简称为“无损分解”,否则称为“损失分解”(lossy decomposition)。
定义13:在无泛关系假设时,对两个关系进行自然连接中被丢失的元组称为悬挂元组。
定义14:设F是属性集U上的FD集,Z是U的子集,F在Z上的投影用πZ(F)表示,定义为πZ(F)={X→Y|X→Y∈F+,且XY⊆ Z}。
定义15:设ρ={R1,…,Rk } 是R的一个分解,F是R上的FD集,如果有∪πRi(F) ⊨ F,那么称分解ρ保持函数依赖集F。
定义16:如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(first normal form,简记为1NF)的模式。
定义17:对于FD W→A,如果存在X⊂W有X→A成立,那么称W→A是局部依赖(A局部依赖于W);否则称W→A是完全依赖。
定义18:如果A是关系模式R的候选键中属性,那么称A是R的主属性;否则称A是R的非主属性。
定义19:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)的模式。
如果数据库模式中每个关系模式都是2NF,则称数据库模式为2NF 的数据库模式。
定义20:如果X→Y,Y→A,且Y不→X和A不∈Y,那么称X→A是传递依赖(A传递依赖于X)。
定义21:如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R 是第三范式(3NF)的模式。
如果数据库模式中每个关系模式都是3NF,则称其为3NF的数据库模式。
定义22:设F是关系模式R的FD集,如果对F中每个非平凡的FD X→Y,都有X是R的超键,或者Y的每个属性都是主属性,那么称R是3NF的模式。
定义23:如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF 的模式。
如果数据库模式中每个关系模式都是BCNF,则称为BCNF的数据库模式。
定义24:设F是关系模式R的FD集,如果对F中每个非平凡的FD X→Y,都有X是R的超键,那么称R是BCNF的模式。
2.定理1:FD推理规则A1、A2和A3是正确的。
设U是关系模式R的属性集,F是R上成立的只涉及到U中属性的函数依赖集。
FD的推理规则有以下三条:A1(自反性,reflexivity):若Y X U,则X→Y 在R上成立。
A2(增广性,augmentation):若X→Y在R上成立,且Z U,则XZ→YZ 在R上成立。
A3(传递性,transitivity):若X→Y 和Y→Z 在R上成立,则X→Z 在R上成立。
定理2:FD的其他五条推理规则:(1) A4(合并性,union):{X→Y,X→Z }⊨X→YZ。
(2) A5(分解性,decomposition):{X→Y,Z Y }⊨X→Z。
(3) A6(伪传递性):{X→Y,WY→Z }⊨WX→Z。
(4) A7(复合性,composition):{X→Y,W→Z }⊨XW→YZ。
(5) A8:{X→Y,W→Z }⊨X∪(W-Y)→YZ。
定理3:如果A1…An是关系模式R的属性集,那么X→A1…An成立的充分必要条件是X→Ai(i=1,…,n)成立。
定理4:X→Y能用FD推理规则推出的充分必要条件是Y X+。
定理5:FD推理规则{A1,A2,A3}是完备的。
定理6:设ρ={R1,R2 }是关系模式R的一个分解,F是R上成立的FD集,那么分解ρ相对于F是无损分解的充分必要条件是:(R1∩R2)→(R1-R2)或(R1∩R2)→(R2-R1)。
定理7:如果FD X→Y在模式R上成立,且X∩Y=φ,那么R分解成ρ={R-Y,XY }是无损分解。
定理8:如果R是3NF模式,那么R也是2NF模式。
定理9:如果R是BCNF模式,那么R也是3NF模式。
3.算法1:求属性集X相对于FD集F的闭包X+。
设属性集X的闭包为X+,其计算算法如下:X+ := X ;do { old X+ := X+ ;for F中每个FD Y→Z doif Y X+ then X+ := X+∪Z ;} while(X+ != old X+);算法2:计算函数依赖集F的最小依赖集G。
方法:具体过程分三步:①据推理规则的分解性(A5),得到一个与F等价的FD集G,G中每个FD的右边均为单属性。
②在G的每个FD中消除左边冗余的属性。
③在G中消除冗余的FD。
算法3:无损分解的测试①构造一张k行n列的表格,每列对应一个属性Aj,每行对应一个模式Ri。
如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上bij。
②把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的值。
修改方法如下:如果Y值中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中一个bij替换另一个值(尽量把下标ij改成较小的数)。
一直到表格不能修改为止。
(这个过程称为chase过程)③若修改的最后一张表格中有一行是全a,即a1a2…an,那么称ρ相对于F是无损分解,否则称损失分解。
算法4:分解成2NF模式集的算法设关系模式R(U),主键是W,R上还存在FD X→Z,并且Z是非主属性和X⊂W,那么W →Z就是一个局部依赖。
此时应把R分解成两个模式R1(XZ),主键是X;R2(Y),其中Y=U-Z,主键仍是W,外键是X(REFERENCES R1)。
利用外键和主键的连接可以从R1和R2重新得到R。
如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中每一个关系模式都是2NF为止。
算法5:分解成3NF模式集的算法设关系模式R(U),主键是W,R上还存在FD X→Z。
并且Z是非主属性,Z X,X不是候选键,这样W→Z就是一个传递依赖。
此时应把R分解成两个模式:R1(XZ),主键是X;R2(Y),其中Y=U-Z,主键仍是W,外键是X(REFERENCES R1)。
利用外键和主键相匹配机制,R1和R2通过连接可以重新得到R。
如果R1和R2还不是3NF,则重复上述过程,一直到数据库模式中每一个关系模式都是3NF为止。
算法6:无损分解成BCNF模式集。
对于关系模式R的分解ρ(初始时ρ={R}),如果ρ中有一个关系模式Ri相对于πRi(F)不是BCNF。
据定义4.24可知,Ri中存在一个非平凡FD X→Y,有X不包含超键。
此时把Ri分解成XY和Ri-Y两个模式。
重复上述过程,一直到ρ中每一个模式都是BCNF。
算法7:无损分解且保持依赖地分解成3NF模式集。