数据库系统概论(二)关系规范化理论

关系规范化理论(一)

一、Dependence理论基础定义

关系规范化理论:Dependence理论,涉及如何构建好的关系库模式,以及如何改进已有的关系库模式。

数据依赖:每种关系数据库都会有许多不同的属性,而这些属性之间会存在各种各样的关系。而对应的关系之间所体现的属性间,决定与被决定的关系就是数据依赖。而这种属性间的关系是我们设计和评价数据库的关键。

规范化:关系模式调优的一种机制,它是以数据依赖为出发点,采用模式分解等措施,消除关系间一些无意义的依赖,达到解决数据操作异常、数据冗余等问题。

二、函数依赖

只有一对多和一对一的情况会存在函数依赖,多对多无法形成函数依赖。 这里需要注意如果是多对一,若X和Y之间是1:n关系,则函数依赖的形式是 Y---->X ,多的决定少的。

1.平凡依赖与非平凡依赖

给定的关系模式中,若X和Y都是U的子集,且 X—>Y ,Y与X的包含关系决定了是不是平凡。

Y ⊈X,则称X→Y是非平凡的函数依赖

Y⊆X, 则称X→Y是平凡的函数依赖

2.完全函数依赖和部分函数依赖

给定的关系模式中,若X和Y都是U的子集,且 X——>Y ,从X中选出真子集X′,X′和Y的决定关系决定了它们是完全依赖还是部分依赖。这在第二范式的定义中非常重要。

X′↛ Y ,则称Y对X完全函数依赖。

X′→Y ,则称Y不完全函数依赖于X,或Y对X部分函数依赖

3.传递函数依赖

给定的关系模式中,若X和Y都是U的子集,若X→Y ,且Y⊈X,Y↛X,并且Y→Z, Z⊈Y, 则称Z对X传递函数依赖。

若X→Y且Y→X,则 X←→Y,称Z直接依赖于X。

4.候选码与主码

给定关系模式R<U,F>,若K⊆U,且K——>U,则称K为R的候选码,如果候选码有多个,则选其中的一个作为主码。

包含在候选码中的属性称为主属性,其余的称为非主属性。

5.超键 super key

只要含有候选码中的属性就算做超键,可以包含其他冗余的元素。

6.外码  foreign key

如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外码或外键。

三、范式

在这里插入图片描述

Normal form ,符合预设规则的关系模式的集合, 一共有五种,越往里受到的规则约束越强,我们一般只学习到 BCNF 。只要能写成关系数据库,最起码符合第一范式。

在关系规范化理论中,可以通过模式分解等方法,将一个低级别的关系模式转化为若干个高级别的关系模式集合,这中提高约束程度的过程就是规范化。

1.第一范式

若函数中的所有属性都是不可分的基本数据项,则R∈1NF。这种就是直接列出所有的关系,不多加处理,是最原始的关系模式。这种模式的数据操作会包含各种冗余和异常,只有懒人才直接使用这种关系模式。

2.第二范式

若R∈1NF,且每一个非主属性完全函数依赖于码,就称为第二范式。这里要理解完全函数依赖的意思,就是所有的非主属性都依赖于所有的主属性。
在这里插入图片描述

2NF分解算法:
请添加图片描述

3.第三范式

对于每一个非平凡的函数关系,或者左边是超键,或者右边仅由主属性构成。即表中每一列都要与主键直接相关,而非间接相关。

每一个非主属性既不部分依赖于码,也不传递依赖于码。(完全函数依赖且不传递)

在这里插入图片描述

4.BC范式(这个比较难理解,这里是我个人的理解)

满足BC范式的关系将消除任何属性(主属性和非主属性)对关系键的部分函数依赖和传递函数依赖。不存在 “部分函数依赖和传递函数依赖” ,就是BC范式。二、三范式的完全函数依赖,都是针对非主属性对主属性而言的,而BC范式将这个约束扩大到,主属性对于每一个不包含它的码,也是完全函数依赖。

简单的说法:属于BCNF的关系模式,每个非平凡依赖的左边必须包括侯选建

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 数据库系统概论 数据库系统概论 数据库系统概论 数据库系统概论 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 第六章 关系数据理论 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 6.1 6.1 6.1 6.1 问题的提出 关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式? 关系数据库应该组织成几个关系模式 关系模式中有包括哪些属性 数据库逻辑设计的工具 关系数据库的规范化理论 关系数据库设计理论就是借助于数学工具规定了一整套 的关系数据库设计理论和方法。 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 一、概念回顾 关系 关系模式 关系数据库 关系数据库的模式 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 关系模式的形式化定义 关系模式(Relation Schema)是对一个关系的描述,用来定义关系 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映象集合 F: 属性间数据的依赖关系集合 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 三、什么是数据依赖 1. 完整性约束的表现形式 限定属性取值范围:例如学生成绩必须在0-100之间 定义属性值间的相互关连(主要体现于值的相等与 否),这就是数据依赖,它是数据库模式设计的关键 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 什么是数据依赖(续) 2. 数据依赖 一个关系内部属性与属性之间的约束关系 现实世界属性间相互联系的抽象 数据内在的性质 语义的体现 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 什么是数据依赖(续) 3. 数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multivalued Dependency,简记为MVD) 其他 An Introduction to Database System An Introduction to Database System An Introduction to Database System An Introduction to Database System 四、关系模式的简化表示 关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系 关系模式R对应的当前值r是元
数据库系统概论(基础篇)教学大纲 数据库系统已经成为现代信息系统的核心和基础设施。数据库技术作为数据管理的最有效的手段,极大地促进了计算机应用的发展。 学习"数据库系统概论"可以帮助你更好地使用数据库,设计适合你需要的数据库应用系统,并进一步科学地管理好数据库系统。 课程概述 "数据库系统概论"是计算机科学与技术专业、软件工程专业、信息系统与信息管理等专业重要的专业基础课程。 本课程将系统讲述数据库系统的基础理论、基本技术和基本方法。本课程的知识内容和技术方法,对从事现代数据管理技术的应用、开发和研究的人员都是重要而必备的基础。 本课程内容丰富全面,分为基础篇和高级篇(2020年9月14日开课)2部分讲解,作为2门课程考核和计分。此外,本课程还开设了新技术篇(2020年9月28日开课),从数据管理和数据分析的角度讨论数据库新技术与大数据技术。 通过数据库系统概论(基础篇)的学习,学员可以系统地掌握数据库系统的基本原理,能熟练使用SQL语言在某一个数据库管理系统上进行数据库检索和操作,掌握数据库安全性和完整性的基本概念和基本方法。并能够在某一个数据库管理系统上进行实验。 通过数据库系统概论(高级篇)的学习,学员可以系统地掌握数据库规范化理论和数据库设计的方法与步骤,具有设计和开发数据库应用系统的基本能力;掌握数据库事务处理、并发控制与恢复的基本技术、初步掌握数据库查询处理和优化的概念。并能够在某一个数据库管理系统上进行实验验证。 通过数据库系统概论(新技术篇)的学习,学员可以系统地掌握传统数据库技术的最新发展,大数据管理与系统的新概念、新技术和新应用。 本课程的特点是,理论联系实际。我们不仅希望学员通过阅读和书面习题掌握本课程的内容,还要求学员完成实验项目。为此我们针对课程知识点设置了相应的实验,锻炼学员实际动手能力,启发学员对理论知识的思考和理解,达到理论联系实际的教学效果。 课程大纲 第一讲:初识数据库系统 引言 数据库的4个基本概念 数据技术的产生,数据系统的特点 第一讲课件 第讲:数据库系统的核心:数据模型 概念模型,数据模型的组成要素 层次模型,网状模型 关系模型 第讲课件 第三讲:数据库系统的结构 数据库系统的结构 第三讲课件 第四讲:数据库系统的组成 数据库系统的组成 第四讲课件 单元测验1 第五讲:关系数据结构及关系的完整性 关系数据结构 关系的完整性 第五讲课件 第六讲:关系代数--传统集合操作 关系代数1--传统集合操作 第六讲课件 第七讲:关系代数--关系特有操作 关系代数2--关系特有操作 第七讲课件 第八讲:关系代数--综合训练 关系代数3--综合训练 第八讲课件 第九讲:关系演算--元组关系演算 关系演算1--元组关系演算 第九讲课件 第十讲:关系演算--域关系演算语言QBE 关系演算2--域关系演算语言QBE 第十讲课件 单元测验2 第十一讲:SQL概述与数据定义 SQL概述 数据定义 第十一讲课件 第十讲:数据查询--单表查询 数据查询--单表查询 数据查询--单表查询2 第十讲课件 第十三讲:数据查询--连接查询 数据查询--连接查询 第十三讲课件 第十四讲:数据查询--嵌套查询 数据查询--嵌套查询 数据查询--嵌套查询2 第十四讲课件 第十五讲:数据查询--集合查询 数据查询--集合查询 第十五讲课件 第十六讲:数据的更新与空值的处理 数据更新 空值的处理 第十六讲课件 第十七讲:视图 视图 视图2 第十七讲课件 第十八讲:数据库安全性概述 数据库安全性概述 第十八讲课件 第十九讲:数据库安全性控制 数据库安全性控制--身份鉴别、存取控制、自主存取控制、授权 数据库安全性控制--数据库角色及强制存取控制 第十九讲课件 第十讲:视图机制 视图、审计、数据加密及其他安全性保护 第十讲课件 单元测验3 第十一讲:数据库的完整性 数据库完整性概述及实体完整性 参照完整性 用户定义的完整性 第十一讲课件 第讲:约束命名子句及断言 完整性约束命名子句及断言 第讲课件 第十三讲:触发器 触发器 第十三讲课件 单元测验4 预备知识 1. 某一种计算机程序设计方法和语言 2. 数据结构 3. 离散数学 4. 操作系统 参考资料 1. 王珊,萨师煊. 《数据库系统概论(第5版)》,高等教育出版社,2014.9 2. 王珊,张俊.《数据库系统概论(第5版)习题解析与实验指导》,高等教育出版社,2015.7

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值