关系数据库理论在关系数据库设计理论中,起核心作用的是什么?

关系数据库理论  时间:2021-06-09  阅读:()

数据库原理是什么

数据库原理这个问题很大,一句半句讲不清楚。

简单说一下,数据库有好多种,每种数据库的结果是不一样的。

往细了说,数据库放在硬盘上,存储的状态也是二进制代码,只是读取,写入有特定的格式而已。

主要内容包括:数据库系统的组成、关系数据库、数据库设计以及数据保护等,同时讲解一种重要的数据库系统的应用。

要求学生通过本课程的学习了解有关数据库系统的基本概念,掌握相关的知识,初步掌握数据库设计方法,并能用数据库系统建立数据库及简单的应用。

修读专业:本大纲适合本科电子信息工程专业使用 先修课程:《数据结构》 教材:数据库系统及应用(第二版) “北京市高等教育精品教材”立项项目。

由崔巍编著,高等教育出版社 一、 课程的性质与任务 本课程是电子信息工程专业有关数据库的一门统设必修课。

主要任务是介绍数据库组织、管理和使用的一般知识,包括数据模型、数据库结构、数据库系统、数据库设计、关系运算、关系规范化、关系查询(SQL语言)等方面的知识;介绍至少一种实际的数据库管理系统的构成与使用。

目的使学生通过该课程的学习,具有进行简单数据库应用系统设计与开发的能力。

二、 课程的基本要求 1.熟练掌握(代码:A):数据库中的概念、数据库设计与编程方法。

数据库的结构与特点,数据库系统的组成及各部分的功能,熟练使用结构化查询语言(SQL)。

2.掌握(代码:B):关系代数语言的使用;关系演算语言的使用;三级一致性的区别及其与可串行化调度的关系;关系数据库以及面向对象数据库的特点与区别;查询表达式优化的方法。

3.了解(代码:C):关系、关系模型、键码、视图、函数依赖等概念 三、 修读专业 本大纲适合本科电子信息工程专业使用 四、 本课程与其它课程的联系 由于数据库理论及应用是各种计算机技术的综合应用,为了能够让学生很好地理解数据库技术,要求学生在学习本课程之前最好已经学习过以下课程:《程序设计》、《数据结构》、《操作系统》等课程。

当然主要要求学生具有“数据结构”的基本知识,其他课程的知识要求是其次的。

对于现行数据库的选择,建议教师最好选择“Microsoft SQL Server”,其它的数据库如:Oracle,IBM DB2相对比较难理解和应用,ess又过于简单。

求数据库管理基础及应用理论知识重点归纳

一、数据

数据是数据库中存储的基本对象。

1. 定义 :描述事物的符号记录。

2. 种类 :文字、图像、图形、声音。

3. 特点 :数据与其语义是不可分的。

二、数据库

1. 定义 :长期存储在计算机内、有组织的、可共享的大量数据集合。

2. 特征 : 1)数据按一定的数据模型组织、描述和存储

2)可为各种用户共享

3)冗余度较小

4)数据独立性较高

5)易扩展

三、数据库管理系统(DBMS)

1. 定义:数据库管理系统(Database Management System 即DBMS)是位于用户与操作系统之间的数据管理软件。

2. 用途 :科学地组织和存储数据、高效地获取和维护数据

3. 功能 :1)数据库定义功能

2)数据操纵功能

3)数据库的运行管理

4)数据库的建立和维护功能(实用程序)

四、数据库系统

1. 定义:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

2. 特点:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。

五、数据库管理技术

1. 定义:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题

2. 发展过程:

1)人工管理阶段(40年代中--50年代中)

2)文件系统阶段(50年代末--60年代中)

3)数据库系统阶段(60年代末--现在)

3. 发展动力:

1)应用需求的推动

2)计算机硬件的发展

3)计算机软件的发展

六、 数据模型

1. 定义:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。

2. 作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。

通俗地讲数据模型就是现实世界的模拟,现有的数据库系统均是基于某种数据模型的。

3. 三要素:

1)数据结构 2)数据操作 3)完整性约束

4. 常用的数据模型:

1)层次模型

2)网状模型

3)关系模型:ORACLE、SQL、SYBASE、INFORMIX、DB/2、COBASE、PBASE、EasyBase、DM/2、OpenBase

4)面向对象模型

5. 层次:

1)概念模型:也称信息模型,它是按用户的观点来对数据和信息建模。

2)数据模型:主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模

七、关系模型

1. 基本概念:

1)关系:一个关系对应通常说的一张表。

2)元组:表中的一行即为一个元组。

3)属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名。

2. 关系模型的优缺点:

优:1)建立在严格的数学概念的基础上

2)概念单一,数据结构简单、清晰,用户易懂易用

3)关系模型的存取路径对用户透明

缺:1)存取路径对用户透明导致查询效率往往不如非关系数据模型

2)为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度

3. 关系模型的组成:关系数据结构、关系操作集合、关系完整性约束

八、关系数据理论

1. 基本概念

关系:描述实体、属性、实体间的联系。

从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。

关系模式:用来定义关系。

关系数据库:基于关系模型的数据库,利用关系来描述现实世界。

从形式 上看,它由一组关系组成。

关系数据库的模式:定义这组关系的关系模式的全体。

2. 范式: 范式是符合某一种级别的关系模式的集合。

1)1NF的定义

若关系模式中的所有属性值都是不可再分的原子值,则称该种关系模式为第一范式。

2)2NF的定义

若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R ∈2NF。

3)3NF的定义

若一个数据表已满足2NF,且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系,则该数据表满足第三范式。

关系数据库规范化理论的基础和内容

一个关系数据库模式由一组关系模式组成,一个关系模式由一组属性名组成。

关系数据库设计,就是如何把已给定的相互关联的一组属性名分组,并把每一组属性名组成关系的问题。

然而,属性的分组不是唯一的,不同的分组对应着不同的数据库应用系统,它们的效率往往相差很远。

为了使数据库设计合理可靠,简单实用,长期以来,形成了关系数据库设计的理论——规范化理论。

6.1 关系规范化的作用 规范化,就是用形式更为简洁,结构更加规范的关系模式取代原有关系模式的过程。

如果将两个或两个以上实体的数据存放在一个表里,就会出现下列三个问题: ? 数据冗余度大 ? 插入异常 ? 删除异常 所谓数据冗余,就是相同数据在数据库中多次重复存放的现象。

数据冗余不仅会浪费存储空间,而且可能造成数据的不一致性。

插入异常是指,当在不规范的数据表中插入数据时,由于实体完整性约束要求主码不能为空的限制,而使有用数据无法插入的情况。

删除异常是指,当不规范的数据表中某条需要删除的元组中包含有一部分有用数据时,就会出现删除困难。

(以P98工资表为例) 解决上述三个问题的方法,就是将不规范的关系分解成为多个关系,使得每个关系中只包含一个实体的数据。

(讲例子解) 当然,改进后的关系模式也存在另一问题,当查询职工工资时需要将两个关系连接后方能查询,而关系连接的代价也是很大的。

那么,什么样的关系需要分解?分解关系模式的理论依据又是什么?分解完后能否完全消除上述三个问题?回答这些问题需要理论指导。

下面,将加以讨论: 6.2 函数依赖 6.2.1属性间关系 实体间的联系有两类:一类是实体与实体之间联系;另一类是实体内部各属性间的联系。

数据库建模一章中讨论的是前一类,在这里我们将学习第二类。

和第一类一样,实体内部各属性间的联系也分为1:1、1:n和m:n三类: 例:职工(职工号,姓名,身份证号码,职称,部门) 1、 一对一关系(1:1) 设X、Y是关系R的两个属性(集)。

如果对于X中的任一具体值,Y中至多有一个值与之对应,反之,对于Y中的任一具体值,X中也至多有一个值与之对应,则称X、Y两属性间是一对一关系。

如本例职工关系中职工号与身份证号码之间就是一对一关系。

2、一对多关系(1:n) 设X、Y是关系R的两个属性(集)。

如果对于X中的任一具体值,Y中可以找到多个值与之对应,而对于Y中的任一具体值,X中至多只有一个值与之对应,则称属性X对Y是一对多关系。

如职工关系中职工号与职称之间就是一对多的关系。

3、多对多关系(m:n) 设X、Y是关系R的两个属性(集)。

如果对于X中的任一具体值,Y中有n个值与之对应,而对于Y中的任一具体值,X中也有m个值与之对应,则称属性X对Y是一对多(m:n)关系。

例如,职工关系中,职称与部门之间就是多对多的关系。

上述属性间的三种关系,实际上是属性值之间相互依赖与相互制约的反映,因而称之为属性间的数据依赖。

数据依赖共有三种: ? 函数依赖(Functional Dependency,FD) ? 多值依赖(Multivalued Dependency,MVD) ? 连接依赖(Join Dependency,JD) 其中最重要的是函数依赖和多值依赖。

6.2.2 函数依赖 函数依赖,是属性之间的一种联系。

在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r 都存在:对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。

或者说,属性X函数决定属性Y,记作X→Y。

其中X叫作决定因素,Y叫作被决定因素。

上述定义,可简言之:如果属性X的值决定属性Y的值,那么属性Y函数依赖于属性X。

换一种说法:如果知道X的值,就可以获得Y的值,则可以说X决定Y。

若Y函数不依赖于X,记作:X→Y。

X Y 若X→Y,Y→X,记作: 前面学习的属性间的三种关系,并不是每种关系中都存在着函数依赖。

u 如果X、Y间是1:1关系,则存在函数依赖 X←→Y u 如果X、Y间是1:n关系,则存在函数依赖: X→Y或Y→X(多方为决定因素) u 如果X、Y间是m:n关系,则不存在函数依赖。

注意,属性间的函数依赖不是指R的某个或某些关系子集满足上述限定条件,而是指R的一切关系子集都要满足定义中的限定。

只要有一个具体的关系r(R的一个关系子集)不满足定义中的条件,就破坏了函数依赖,使函数依赖不成立。

这里的关系子集,指的是R的某一部分元组的集合,例如:地测学院的学生关系中只包含了地测学院学生的数据,所以它是长安大学学生关系的一个子集。

6.2.3 码的定义 前面,我们对码进行了直观化的定义,下面用函数依赖的概念对码作出较为精确的形式化的定义: 设K是关系模式R(U,F)中的属性或属性组,K’是K的任一子集。

若K→U,而不存在K’→U,则K为R的候选码(Candidate Key) ? 若候选码多于一个,则选其中的一个为主码(Primary Key); ? 包含在任一候选码中的属性,叫做主属性(Primary Attribute); ? 不包含在任何码中的属性称为非主属性(Nonprime Attribute)或非码属性(Nonkey Attribute) ? 关系模式中,最简单的情况是单个属性是码,称为单码(Single Key);最极端的情况是整个属性组是码,称为全码(All-Key)。

前面已多次遇到单码的情况,下面是一个全码的例子: 签约(演员名,制片公司,电影名) 外码:设有两个关系R和S,X是R的属性或属性组,并且X不是R的码,但X是S的码(或与S的码意义相同),则称X是R的外部码(Foreign Key),简称外码或外键。

如:职工(职工号,姓名,性别,职称,部门号) 部门(部门号,部门名,电话,负责人) 其中职工关系中的“部门号”就是职工关系的一个外码。

在此需要注意,在定义中说X不是R的码,并不是说X不是R的主属性,X不是码,但可以是码的组成属性,或者是任一候选码中的一个主属性。

如:学生(学生号,姓名,性别,年龄…) 课程(课程号,课程名,任课老师…) 选课(学生号,课程号,成绩) 在选课关系中,(学生号,课程号)是该关系的码,学生号、课程号又分别是组成主码的属性(但单独不是码),它们分别是学生关系和课程关系的主码,所以是选课关系的两个外码。

关系间的联系,可以通过同时存在于两个或多个关系中的主码和外码的取值来建立。

如要查询某个职工所在部门的情况,只需查询部门表中的部门号与该职工部门号相同的记录即可。

所以,主码和外码提供了一个表示关系间联系的途径。

6.2.4 函数依赖和码的唯一性 由上述码的形式化定义,我们可以说:码是由一个或多个属性组成的,可唯一标识元组的最小属性组。

码在关系中总是唯一的,即一个码函数唯一地决定一行。

如果码的值重复,则整个元组都会重复。

否则,违反了实体完整性规则。

而元组的重复则表示存在两个完全相同的实体,这显然是不可能的,所以码是不允许重复取值的。

所以,只有当某个属性或属性组能够函数决定关系中的每一个其它的属性,且该属性组的任何一个真子集都做不到这一点时,该属性或属性组才是该关系的码。

函数依赖是一个与数据有关的事物规则的概念。

如果属性B函数依赖于属性A,那么若知道了A的值,则完全可以找到B的值。

这并非是可以由A的值计算出B的值,而是逻辑上只能存在一个B的值。

6.3 关系模式的规范化 一、非规范化的关系 当一个表中存在还可以再分的数据项时,这个表就是非规范化的表。

非规范化表存在两种情况: ? 表中具有组合数据项(P102表6-4) ? 表中具有多值数据项(P103表6-5) 例: 职工号 姓名 工资 基本工资 职务工资 工龄工资 1002 张三 1000 800 200 职工号 姓名 职称 系名 系办地址 学历 毕业年份 001 张三 教授 计算机 1305 大学 研究生 1963 1982 那么什么是规范化关系呢? 当一个关系中的所有分量都是不可再分的数据项时,该关系是规范化的。

即当表中不存在组合数据项和多值数据项,只存在不可分的数据项时,这个表是规范化的。

二维表按其规范化程度从低到高可分为5级范式(Normal Form),分别称为1NF、2NF、3NF(BCNF)、4NF、5NF。

规范化程度较高者必是较低者的子集,即: 1NF 2NF 3NF BCNF 4NF 5NF 二、第一范式(1NF) 定义1:如果关系模式R中不包含多值属性,则R满足第一范式(First Normal Form),记作: R∈1NF 1NF是对关系的最低要求,不满足1NF的关系是非规范化的关系。

非规范化关系转化为规范化关系1NF方法很简单,只要上表分别从横向、纵向展开即可。

如下表: 职工号 姓名 基本工资 职务工资 工龄工资 1002 张三 1000 800 200 1005 李四 1200 900 150 职工号 姓名 职称 系名 系办地址 学历 毕业年份 1002 张三 教授 计算机 1305 大学 1963 1002 张三 教授 计算机 1305 研究生 1982 1005 李四 讲师 信电 2206 大学 1989 上表虽然符合1NF,但仍是有问题的关系,表中存在大量的数据冗余和潜在的数据更新异常。

原因是(职工号,学历)是右表的码,但姓名、职称、系名、系办地址却与学历无关,只与码的一部分有关。

所以上表还需进一步地规范化。

三、第二范式(2NF) 定义1:设X、Y是关系R的两个不同的属性或属性组,且X → Y。

如果存在X的某一个真子集X’,使X’ → Y成立,则称Y部分函数依赖于X,记作:X P→ Y(Partial)。

反之,则称Y完全函数依赖于X,记作:X F→ Y (Full) 定义2:如果一个关系 R∈1NF,且它的所有非主属性都完全函数依赖于R的任一候选码,则R属于第二范式,记作:R∈2NF。

说明:上述定义中所谓的候选码也包括主码,因为码首先应是候选码,才可以被指定为码。

例如关系模式: 职工(职工号,姓名,职称,项目号,项目名称,项目角色)中 (职工号,项目号)是该关系的码,而职工号→姓名、职工号→职称、项目号→项目名称… 所以(职工号,项目号)P→ 职称、(职工号,项目号)P→ 项目名称 故上述职工关系不符合第二范式要求。

它存在三个问题:插入异常、删除异常和修改异常。

其中修改异常是这样的,当职工关系中项目名称发生变化时,由于参与该项目的人员很多,每人一条记录,要修改项目信息,就得对每一个参加该项目的人员信息进行修改,加大了工作量,还有可能发生遗漏,存在着数据一致性被破坏的可能。

可把上述职工关系分解成如下三个关系: 职工(职工号,姓名,职称) 参与项目(职工号,项目号,项目角色) 项目(项目号,项目名称) 上述三个关系都符合定义2的要求,所以都符合2NF 推论:如果关系模式R∈1NF,且它的每一个候选码都是单码,则R∈2NF 符合第二范式的关系模式仍可能存在数据冗余、更新异常等问题。

如关系 职工信息(职工号,姓名,职称,系名,系办地址) 虽然也符合2NF,但当某个系中有100名职工时,元组中的系办地址就要重复100次,存在着较高的数据冗余。

原因是关系中,系办地址不是直接函数依赖于职工号,而是因为职工号函数决定系名,而系名函数决定系办地址,才使得系办地址函数依赖于职工号,这种依赖是一个传递依赖的过程。

所以,上述职工信息的关系模式还需要进一步的规范化。

四、第三范式(3NF) 定义1:在关系R中,X、Y、Z是R的三个不同的属性或属性组,如果X→Y,Y→Z, 但Y→X,且Y不是X的子集,则称Z传递函数依赖于X。

定义2:如果关系模式R∈2NF,且它的每一个非主属性都不传递依赖于任何候选码,则称R是第三范式,记作:R∈3NF 推论1:如果关系模式R∈1NF,且它的每一个非主属性既不部分依赖、也不传递依赖于任何候选码,则R∈3NF 推论2:不存非主属性的关系模式一定为3NF 五、改进的3NF——BCNF(Boyee-Codd Normal Form) 定义:设关系模式R(U,F)∈1NF,若F的任一函数依赖X→Y(Y X)中X都包含了R的一个码,则称R∈BCNF。

换言之,在关系模式R中,如果每一个函数依赖的决定因素都包含码,则R∈BCNF 推论:如果R∈BCNF,则: ? R中所有非主属性对每一个码都是完全函数依赖; ? R中所有主属性对每一个不包含它的码,都是完全函数依赖; ? R中没有任何属性完全函数依赖于非码的任何一组属性。

定理:如果R∈BCNF,则R∈3NF一定成立。

证明:(结合传递依赖的定义,用反证法) 注意:当R∈3NF时,R未必属于BCNF。

因为3NF比BCNF放宽了一个限制,它允许决定因素不包含码。

例如: 通讯(城市名,街道名,邮政编码)中: F={(城市名,街道名)→邮政编码,邮政编码→城市名} 非主属性邮政编码完全函数依赖于码,且无传递依赖,故属于3NF,但邮政编码也是一个决定因素,而且它没有包含码,所以该关系不属于BCNF。

又如: Teaching(Student,Teacher,Course) 简记为Teaching(S,T,C) 规定:一个教师只能教一门课,每门课程可由多个教师讲授;学生一旦选定某门课程,教师就相应地固定。

F={T→C,(S,C)→T,(S,T) →C} 该关系的候选码是(S,C)和(S,T),因此,三个属性都是主属性,由于不存在非主属性,该关系一定是3NF。

但由于决定因素T没包含码,故它不是BCNF。

关系模式Teaching仍然存在着数据冗余问题,因为存在着主属性对码的部分函数依赖问题。

确切地表示:F={T→C,(S,C)P→T,(S,T) P→C} 所以Teaching关系可以分解为以下两个BCNF关系模式: Teacher(Teacher,Course) Student(Student,Teacher) 3NF的“不彻底”性,表现在可能存在主属性对码的部分依赖和传递依赖。

一个关系模式如果达到了BCNF,那么,在函数依赖范围内,它就已经实现了彻底的分离,消除了数据冗余、插入和删除异常。

6.4 多值依赖和第四范式 一、多值依赖(Multivalued Dependency) 课程C 教员T 参考书B 物理 李勇 普通物理学 物理 李勇 光学原理 物理 李勇 物理习题集 物理 王军 普通物理学 物理 王军 光学原理 物理 王军 物理习题集 数学 李勇 数学分析 数学 李勇 微分方程 数学 李勇 高等代数 数学 张平 数学分析 数学 张平 微分方程 数学 张平 高等代数 计算数学 张平 数学分析 计算数学 张平 计算数学 计算数学 周峰 数学分析 计算数学 周峰 计算数学 课程C 教员T 参考书B 物理 李勇 王军 普通物理学 光学原理 物理习题集 数学 李勇 张平 数学分析 微分方程 高等代数 计算数学 张平 周峰 数学分析 计算数学 例:学校中某一门课程由多个教员讲授,他们使用相同的一套参考书,每个教员可以讲授多门课程,每种参考书可以供多门课程使用。

下列是用一个非规范化的表来表示教员T,课程C和参考书B之间的关系。

把上表变换成一张规范化的二维表Teaching,如右表 关系模式Teaching(C,T,B)的码是(C,T,B),即All-Key。

因而Teaching∈BCNF。

按照上述语义规定,当某门课程增加一名讲课教员时,就要向Teaching表中增加与相应参考书等数目的元组。

同样,某门课程要去掉一本参考书时,则必须删除相应数目的元组。

对数据的增、删、改很不方便,数据的冗余也十分明显。

如果仔细考察这类关系模式,会发现它具有一种称之为多值依赖的数据依赖关系。

定义:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,且Z=U-X-Y。

如果对R(U)的任一关系r,给定一对(x,z)值,都有一组y值与之对应,这组y值仅仅决定于x值而与z值无关。

则称Y多值依赖于X,或X多值决定Y,记作:X→→Y。

―― 例如,在关系模式Teaching中,对于一个(C,B)值(物理,普通物理学),有一组T值{李勇,王军},而这组值仅仅决定于课程C上的值(物理)。

即对于另一个(物理,光学原理),它对应的T值仍然是{李勇,王军},所以T的值与B的值无关,仅决定于C的值,即C→→T 。

多值依赖的另一个等价的形式化定义为: 设关系模式R(U),X、Y、Z是U的子集,Z=U-X-Y,r是R的任意一个关系,t1、t2是r的任意两个元组。

如果t1[X]=t2[X],并在r中存在两个元组t3、t4,使得: t3[X]=t4[X]=t1[X] t3[Y]=t1[Y],t3[Z]=t2[Z], t4[Y]=t2[Y],t4[Z]=t1[Z] 成立,则X→→Y。

换句话说:如果X→→Y在R(U)中成立,则只要在R的任一关系r中存在两个元组t1、t2在X属性上的值相等,则交换这两个元组在Y(或Z)上的值后得到的两个新元组t3、t4也必是关系r中的元组。

定义中如果Z=Ф(空集),则称X→→Y为平凡的多值依赖,否则为非平凡的多值依赖。

多值依赖具有如下性质: 1. 对称性:若X→→Y,则X→→Z,其中Z=U-X-Y 2. 传递性:若X→→Y,Y→→Z,则X→→Z-Y 3. 若X→→Y,X→→Z,则X→→YZ 4. 若X→→Y,X→→Z,则X→→Y∩Z 5. 若X→→Y,X→→Z,则X→→Y-Z,X→→Z-Y 多值依赖与函数依赖相比,具有下面两个基本区别: (1)多值依赖的有效性与属性集的范围有关 若X→→Y在U上成立,则在V(XY V U)上一定成立;反之则不然,即X→→Y在V(V U)上成立,在U上并不一定成立。

这是因为多值依赖的定义中不仅涉及属性组X、Y,而且涉及U中的其余属性Z(Z=U-X-Y)。

一般地说,在R(U)上若有X→→Y在V(V U)上成立,则称X→→Y为R(U)的嵌入型多值依赖。

而在关系模式R(U)中函数依赖X→Y的有效性,仅决定于X和Y这两个属性集的值。

只要在R(U)的任何一个关系r中,元组在X和Y上的值使得X→Y成立,则X→Y在任何属性集V(XY V U)上也成立。

(2)若函数依赖X→Y在R(U)上成立,则对于任何Y’ Y 均有X→Y’ 成立。

而多值依赖X→→Y若在R(U)上成立,却不能断言对于任何Y’ Y有X→→Y’ 成立。

多值依赖的约束规则:在具有多值依赖的关系中,如果随便删去一个元组,就会破坏其对称性,那么,为了保持多值依赖关系中的“多值依赖”性,就必须删去另外的相关元组以维持其对称性。

这就是多值依赖的约束规则。

目前的RDBMS尚不具有维护这种约束的能力,需要程序员在编程中实现。

函数依赖可看成是多值依赖的特例,即函数依赖一定是多值依赖。

而多值依赖则不一定就有函数依赖。

二、第四范式(4NF) 定义:如果关系模式R∈1NF,对于R的每个非平凡的多值依赖X→→Y(Y X),X含有码,则称R是第四范式,即R∈4NF 课程C 教员T 参考书B 物理 李勇 普通物理学 物理 李勇 光学原理 物理 李勇 物理习题集 物理 王军 普通物理学 物理 王军 光学原理 物理 王军 物理习题集 数学 李勇 数学分析 数学 李勇 微分方程 数学 李勇 高等代数 数学 张平 数学分析 数学 张平 微分方程 数学 张平 高等代数 计算数学 张平 数学分析 计算数学 张平 计算数学 计算数学 周峰 数学分析 计算数学 周峰 计算数学 Teaching关系 关系模式R∈4NF时,R中所有的非平凡多值依赖实际上就是函数依赖。

因为每一个决定因素中都含有码,所以R一定属于BCNF。

4NF实际上就是限制关系模式的属性间不允许有非平凡,而且非函数依赖的多值依赖存在。

反过来说,4NF所允许的非平凡多值依赖实际上是函数依赖。

例题中的Teaching关系属于BCNF,但它不属于4NF。

因为它的码是(C,T,B),关系中存在非平凡多值依赖C→→T ,C→→B,但C不包含码,而只是码的一部分。

课程C 参考书B 物理 普通物理学 物理 光学原理 物理 物理习题集 数学 数学分析 数学 微分方程 数学 高等代数 计算数学 数学分析 计算数学 计算数学 CB关系 课程C 教员T 物理 李勇 物理 王军 数学 李勇 数学 张平 计算数学 张平 计算数学 周峰 CT关系 要使Teaching关系符合4NF,必须将其分解为CT(C,T)和CB(C,B)两个关系模式。

如右表: 从表中显而易见,符合BCNF的关系Teaching仍然存在着数据冗余,而分解后的关系CT和CB中只有平凡多值依赖,所以符合4NF,它们已经消除了数据冗余。

可以说:BCNF是在只有函数依赖的关系模式中,规范化程度最高的范式,而4NF是在有多值依赖的关系模式中,规范化程度最高的范式。

如果关系模式中存在连接依赖,即便它符合4NF,仍有可能遇到数据冗余及更新异常等问题。

所以对于达到4NF的关系模式,还需要消除其中可能存在的连接依赖,才可以进一步达到5NF的关系模式。

关于连接依赖和5NF的内容,已超出了本课程教学大纲的要求,在此不再介绍。

数据库系统原理的内容简介

《数据库系统原理》是一本全面介绍数据库系统理论、技术和方法的大学教科书,全书分为基础篇、设计篇、实现篇、专题篇和新技术篇。

基础篇介绍数据库的基本概念和体系结构、关系数据库系统和数据库的安全性与完整性。

设计篇讨论数据库设计的基本步骤和设计方法,并介绍实体-联系模型、扩展的实体-联系模型和关系数据库的函数依赖理论。

实现篇介绍数据库的物理存储结构、数据字典、关系代数操作算法、查询优化技术和事务处理技术。

专题篇介绍新一代数据库技术及应用、扩展的关系数据库系统、面向对象与对象关系数据库系统、分布式数据库系统和并行数据库技术。

新技术篇介绍数据库领域的新进展,包括数据仓库与联机分析、数据挖掘、Web信息检索与Web数据管理技术等。

《数据库系统原理》内容丰富,系统性强,知识体系新颖,理论与实践结合,具有先进性和实用性,是高校计算机、信息与科学计算及信息管理与信息系统等专业本科生和研究生数据库课程教材,也可作为数据库领域从业人员的参考书。

《数据库系统原理》还将提供电子课件和实验指导等教辅材料。

在关系数据库设计理论中,起核心作用的是什么?

数据库 data base 为满足某一部门中多个用户多种应用的需要,按照一定的数据模型在计算机系统中组织、存储和使用的互相联系的数据集合。

带有数据库的计算机系统,除具备一般的硬件、软件外,必须有用以存储大量数据的直接存取存储设备、管理并控制数据库的软件——数据库管理系统(DBMS)、管理数据库的人员——数据库管理员 (DBA)。

这样的数据、硬件、软件和管理人员的总体构成数据库系统。

数据库仅是数据库系统的一个组成部分。

数据库系统的功能和特征 数据库系统由文卷系统发展而来。

与文卷系统相比,这种系统具有数据、体系和控制三个方面的主要特征。

数据特征 在文卷系统中虽然程序与数据之间可用存取方法进行转换,但文卷还是与应用程序对应的,即数据仍面向应用。

每一应用各自建立自己的一组文卷。

不同的应用若涉及相同的数据,则这些数据分别纳入各自的文卷之中。

文卷的各种记录之间没有建立联系,因而数据冗余度大。

增加新的应用,必须同时增加新的文卷。

因此,文卷系统中的文卷是无结构的、不易扩充的信息集合。

数据库则不仅描述数据本身,而且描述数据之间的联系。

它的数据结构反映了某一部门的整体信息结构,数据冗余度小、易于扩充新的应用,因而是面向数据总体结构的信息集合,可为多个用户共享。

体系特征 一切数据都有逻辑和物理两个侧面。

在数据库系统中,数据逻辑结构的描述称为逻辑模式。

逻辑模式又分为描述全局逻辑结构的全局模式(简称模式)和描述某些应用所涉及的局部逻辑结构的子模式。

数据物理结构的描述称为存储模式。

这两种模式总称为数据库模式。

数据库系统中,用户根据子模式编制程序。

子模式与模式模式与存储模式之间有软件进行映射。

因此,程序与数据之间具有两级独立性:物理独立性和逻辑独立性。

数据的存储模式改变,而模式可以不改变,因而不必改写应用程序,这称为物理独立性。

模式改变时,子模式可能不改变,也就不必改写应用程序,这称为逻辑独立性。

由于数据库系统具备比较高的程序与数据的独立性,可以使程序员在编制应用程序时集中精力考虑算法逻辑,不必过问物理细节,而且可以大大减少应用程序维护的工作量。

控制特征 数据库数据数量庞大,结构复杂,又为多个用户所共享。

因此,必须由数据库管理系统在定义、建立、运行以及维护时进行统一管理和控制,以保证数据库数据的安全性、完整性和并发操作的一致性。

此外,还必须有数据库管理员专门负责对数据库的管理、控制监督和改进。

由于数据库系统具有上述特征,它的出现使信息系统的研制从围绕加工数据的程序为中心,转变到围绕共享的数据库来进行。

这便于数据的集中管理,有利于应用程序的研制和维护。

数据减少了冗余度和提高了相容性,从而提高了作出决策的相容性。

因此,大型复杂的信息系统大多以数据库为核心,数据库系统在计算机应用中起着越来越重要的作用。

研究课题 数据库研究的课题,主要涉及三个领域。

数据库管理系统软件的研制 DBMS是数据库系统的基础。

研制DBMS的基本目标,是扩大功能,提高性能和可用性,从而提高用户的生产率。

70年代以来,研制的重点是探索关系数据库管理系统的设计,内容包括关系数据语言、查询优化、并发控制和系统性能等。

另一类课题是对DBMS标准化的研究,即研究一个统一的DBMS体系结构的规范。

数据库设计 这是在计算机系统具有的数据库管理系统的基础上,按照应用要求以及计算机系统所提供的数据模型和功能,设计一个结构良好、使用方便、效率较高的,以数据库为核心的应用信息系统。

这一领域主要的研究课题,是数据库设计方法学和设计工具的探索。

例如,运用软件工程的方法和工具指导数据库设计;研究数据库设计各个阶段中完备的方法和工具;以关系数据库的规范化理论为指南进行数据库逻辑设计等。

数据库理论 主要研究关系数据库理论。

关系数据库理论研究的意义,一方面在于它为数据库学科奠定了理论基础;另一方面它为数据库设计提供了判别标准,从而成为数据库设计的有力指南。

研究的主要内容是关系的规范化理论。

关系规范化理论已应用于数据库设计的各个阶段。

发展 数据库技术是计算机科学中发展最快的领域之一,新的领域越来越多。

分布式数据库系统 随着70年代后期分布计算机系统的发展,相应地研究成功分布式数据库系统。

分布式数据库系统是一个在逻辑上完整,而在物理上分散在若干台互相连接的结点机上的数据库系统。

它既具有分布性又具有数据库

蓝竹云挂机宝25元/年,美国西雅图 1核1G 100M 20元

蓝竹云怎么样 蓝竹云好不好蓝竹云是新商家这次给我们带来的 挂机宝25元/年 美国西雅图云服务器 下面是套餐和评测,废话不说直接开干~~蓝竹云官网链接点击打开官网江西上饶挂机宝宿主机配置 2*E5 2696V2 384G 8*1500G SAS RAID10阵列支持Windows sever 2008,Windows sever 2012,Centos 7.6,Debian 10.3,Ubuntu1...

HostSlim,双E5-2620v2/4x 1TB SATA大硬盘,荷兰服务器60美元月

hostslim美国独立日活动正在进行中,针对一款大硬盘荷兰专用服务器:双E5-2620v2/4x 1TB SATA硬盘,活动价60美元月。HostSlim荷兰服务器允许大人内容,不过只支持电汇、信用卡和比特币付款,商家支持7天内退款保证,有需要欧洲服务器的可以入手试试,记得注册的时候选择中国,这样不用交20%的税。hostslim怎么样?HostSlim是一家成立于2008年的荷兰托管服务器商,...

#推荐# cmivps:全场7折,香港不限流量VPS,支持Windows系统

cmivps香港VPS带来了3个新消息:(1)双向流量改为单向流量,相当于流量间接扩大一倍;(2)Hong Kong 2T、Hong Kong 3T、Hong Kong 无限流量,这三款VPS开始支持Windows系统,如果需要中文版Windows系统请下单付款完成之后发ticket要求官方更改即可;(3)全场7折年付、8折月付优惠,优惠码有效期一个月!官方网站:https://www.cmivp...

关系数据库理论为你推荐
ostringstreamc++怎样把double转为string自动识别查询快递单号查看单号怎么知道是那个快递公司的应用雷达雷达有什么用途virusscan为什么解压文件显示VirusScan 警报!不能解压!怎么回事怎么解决高手来华为总裁女儿为啥姓孟孟姜女为什么不姓孟?vga接口定义VGA接口通常用来连接哪些设备,各个脚代表什么意思,它的连线是如何焊接的?腾讯技术腾讯QQ是谁研发的?在那一年上市的?assemblyinfo关于ASP.NET中使用log4net记录日志天翼校园宽带天翼校园宽带 是怎么算时间的 一个月 是指从办理那天开始 往后 30天是一个月吗 还是 办理的那天所在的那个微信智能机器人微信群机器人是怎么实现的
中国域名交易中心 winscp 轻量 卡巴斯基官方免费版 网站木马检测工具 免费网页申请 无限流量 网购分享 中国linux 实惠 登陆qq空间 买空间网 电信主机托管 xshell5注册码 美国主机侦探 美国asp空间 带宽测速 winserver2008下载 电信测速器在线测网速 paypal兑换 更多