第6章关系模式的规范化设计 本章概迷 本章的学习目标 至要内容 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第1页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第1页 第6章 关系模式的规范化设计 本章概述 本章的学习目标 主要内容
本章概述 前面4章研究了如何建立数据模型的问题,并且把 所建立的数据模型转换成最流行的关系模式。 在我们研究如何把所建立的数据库模型转变成关 系模式时,发现了一些数据冗余的问题,即客观 世界中的一个事实在关系元组中重复出现。这些 问题影响了关系模式的设计和使用,因此需要采 取合适的方法来消除这些设计过程中的问题。 本章将要讲述的关系模式的规范化设计就是这些 问题的解决方案。规范化设计就是在函数依赖理 论基础上,通过对关系模式的进行不同层次的分 解,使最终得到的关系模式符合角户的需要。 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第2页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第2页 本章概述 ⚫ 前面4章研究了如何建立数据模型的问题,并且把 所建立的数据模型转换成最流行的关系模式。 ⚫ 在我们研究如何把所建立的数据库模型转变成关 系模式时,发现了一些数据冗余的问题,即客观 世界中的一个事实在关系元组中重复出现。这些 问题影响了关系模式的设计和使用,因此需要采 取合适的方法来消除这些设计过程中的问题。 ⚫ 本章将要讲述的关系模式的规范化设计就是这些 问题的解决方案。规范化设计就是在函数依赖理 论基础上,通过对关系模式的进行不同层次的分 解,使最终得到的关系模式符合用户的需要
本章的学习目标 ●了解关系模式设计时的数据异常问题; ●了解和掌握函数依赖的基本概念; 掌握计算属性闭包的基本方法; ●掌握关系模式分解的基本原理; ●了解关系模式范式的基本概念和类型; ●掌握各种范式设计的基本技术和原则。 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第3页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第3页 本章的学习目标 ⚫ 了解关系模式设计时的数据异常问题; ⚫ 了解和掌握函数依赖的基本概念; ⚫ 掌握计算属性闭包的基本方法; ⚫ 掌握关系模式分解的基本原理; ⚫ 了解关系模式范式的基本概念和类型; ⚫ 掌握各种范式设计的基本技术和原则
主要内容 61概述 62函数依赖 63关系模式的分解 64关系模式的范式 6.5多值依赖 6.6范式之间的关系 6.7数据库模式的实例 68本章小结 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第4页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第4页 主要内容 6.1 概述 6.2 函数依赖 6.3 关系模式的分解 6.4 关系模式的范式 6.5 多值依赖 6.6 范式之间的关系 6.7 数据库模式的实例 6.8 本章小结
61概述 ●异常问题 >数据冗余 修改异常 7-040019680·19概率论与数理统计403数学58高等教育出版社盛骤 统计403数学58高等教育出版社谢式千 >插入异常,的中 403数学58高等教育出版社潘承义 7-111068874 可靠性模型与应用270 190机械工业出版社 仁言 删除异常 7111-068874 可靠性模型与应用270数学 械工业出版社左明健 7-53212249·717基督山伯爵 1428文学180上海译文出版社大仲马 7-5327-12249·321三个火枪手 文学167上海译文出版社大仲马 327-09248·489乱世佳人 1320文学161上海译文出版社米切尔 王子与贫儿 5文学130北京出版社马克·吐温 7-5063-0281-0·280金盖花 250文学 作家出版社 琼瑶 7-5063-014901-148月胧,鸟朦胧234文学49作家出版社 琼瑶 7-5063-05135·512碧云天 文学 作家出版社 琼瑶 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第5页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第5页 6.1 概述 ⚫ 异常问题 ►数据冗余 ►修改异常 ►插入异常 ►删除异常
泛关系模式和数据库模式 ●在关系模式设计过程中,应该采取一些方法消除这些数据 异常现象,把最初的关系模式分解成最终的合适的关系模 式。这种最初设计的关系模式也称为泛关系模式 Inversa| relation scheme。关系模式的当前值称为关 系实例,关系实例是特定元组的集合 可以把泛关系模式分解成系列小的符合规范化要求的关 系模式集合,这种比较小的最终的关系模式的集合称为数 据库模式( database scheme)。对数据厍模式的每一个关 系模式赋予一个当前值,这时称为数据库实例。 ●关系模式规范化设计的过程就是首先设计出泛关系模式, 然后根据范式理论,对不符食用户需求的泛关系模式分解 成一素列关系集合,最后得到符合用芦需求的数据库模式。 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第6页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第6页 泛关系模式和数据库模式 ⚫ 在关系模式设计过程中,应该采取一些方法消除这些数据 异常现象,把最初的关系模式分解成最终的合适的关系模 式。这种最初设计的关系模式也称为泛关系模式 (universal relation scheme)。关系模式的当前值称为关 系实例,关系实例是特定元组的集合。 ⚫ 可以把泛关系模式分解成一系列小的符合规范化要求的关 系模式集合,这种比较小的最终的关系模式的集合称为数 据库模式(database scheme)。对数据库模式的每一个关 系模式赋予一个当前值,这时称为数据库实例。 ⚫ 关系模式规范化设计的过程就是首先设计出泛关系模式, 然后根据范式理论,对不符合用户需求的泛关系模式分解 成一系列关系集合,最后得到符合用户需求的数据库模式
主要内容 61概述 62函数依赖 63关系模式的分解 64关系模式的范式 6.5多值依赖 6.6范式之间的关系 6.7数据库模式的实例 68本章小结 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第7页
数据库系统原理与应用教程 (第二版 ) 第 6 章 关系模式的规范化设计 第 7 页 主要内容 6.1 概述 6.2 函数依赖 6.3 关系模式的分解 6.4 关系模式的范式 6.5 多值依赖 6.6 范式之间的关系 6.7 数据库模式的实例 6.8 本章小结
6.2函数依赖 ◎数据依赖是数据之间存在的各种联系现象 数据异常现象与数据依赖有着紧密的关联。 ●在数据依赖中,函数依赖是最基本的一种 依赖形式。 ●认识和掌握函数依赖知识,对于数据库的 约束设计和规范化设计有着重要的意义。 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第8页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第8页 6.2 函数依赖 ⚫ 数据依赖是数据之间存在的各种联系现象。 数据异常现象与数据依赖有着紧密的关联。 ⚫ 在数据依赖中,函数依赖是最基本的一种 依赖形式。 ⚫ 认识和掌握函数依赖知识,对于数据库的 约束设计和规范化设计有着重要的意义
函数依赖的定义 函数依赖( Function Dependen FD)的定义可以这样叙述:如果 系R的两个元组在属性A A2 An上一致,那么它在另 个属性B上也一致。这种函数依 赖记作A1A2.An→B,读作属性 A1,A2,…,An函数决定属性B, 或属性B函数依赖于属性A1, A2,.,An。 isbn title 函数依赖的逻辑定义:设关系模 isbn page 式R的属性集是U,X和Y是U的 集,函数依赖是形如X→Y的命题 isbn bookType 即r是R的当前实例值,对r中的在 意两个元组s,如果tX]=s isbn→ pnce sm,那么X→Y在关系 ison pressAre 式尺中成立。其中,tx表示元组t 在属性集X上的值 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第9页
数据库系统原理与应用教程 (第二版 ) 第 6 章 关系模式的规范化设计 第 9 页 函数依赖的定义 ⚫ 函数依赖(Function Dependency, FD)的定义可以这样叙述:如果关 系R的两个元组在属性A1, A2 , … ,An上一致,那么它在另 一个属性 B上也一致。这种函数依 赖记作A1A2…An→B,读作属性 A1 ,A2 , … ,An函数决定属性 B , 或属性 B函数依赖于属性A1 , A2 , … ,An 。 ⚫ 函数依赖的逻辑定义:设关系模 式R的属性集是U,X和Y是U的子 集,函数依赖是形如X→Y的命题, 即r是R的当前实例值,对r中的任 意两个元组 t和 s,如果t[X]=s[X] , 则t[Y]=s[Y],那么X→Y在关系模 式R中成立。其中,t[X]表示元组 t 在属性集 X上的值
函数依赖和键码 ●前面我们已经多次提到了键码的概念,但是还没 有为键码提供一个规范的定义。 ●这里,我们从函数依赖的角度,给出一个规范的 键码定义。 超键码 在某个关系中,如果一个或多个属性的集合{A1, A2, An}函数决定该关系的其他属性,那么称该 属性的集合为该关系的超键码。超键码的含义是关系 中不可能存在两个不同的元组在属性A1,A2,……, An的取值完全相同。 数据库系统原理与应用教程(第二版) 第6章关系模式的规范化设计 第10页
数据库系统原理与应用教程(第二版) 第6章 关系模式的规范化设计 第10页 函数依赖和键码 ⚫ 前面我们已经多次提到了键码的概念,但是还没 有为键码提供一个规范的定义。 ⚫ 这里,我们从函数依赖的角度,给出一个规范的 键码定义。 ⚫ 超键码 ►在某个关系中,如果一个或多个属性的集合{A1, A2,…,An}函数决定该关系的其他属性,那么称该 属性的集合为该关系的超键码。超键码的含义是关系 中不可能存在两个不同的元组在属性A1,A2,…, An的取值完全相同