前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >多值依赖的简单理解_第四范式智能客服官网

多值依赖的简单理解_第四范式智能客服官网

作者头像
全栈程序员站长
发布于 2022-11-15 09:51:26
发布于 2022-11-15 09:51:26
9270
举报

1. 多值依赖

1.1 多值依赖:多值依赖属4nf的定义范围,比函数依赖要复杂得多。在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖

在函数依赖中,X与Y是否存在函数依赖关系,只需考察X,Y的两组属性,与别的属性无关。而在多值依赖中,X与Y是否存在多值依赖还需看属性Z。

1.2 数学定义:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。

1.3 特点:1.允许X的一个值决定Y的一组值,这种决定关系与Z取值无关。

2.多值依赖是全模式的依赖关系。(多值依赖的缺点是:数据冗余太大)

1.4 举例:有这样一个关系 <仓库管理员,仓库号,库存产品号> ,假设一个产品只能放到一个仓库中,但是一个仓库可以有若干管理员,那么对应于一个 <仓库管理员,库存产品号>有一个仓库号,而实际上,这个仓库号只与库存产品号有关,与管理员无关,就说这是多值依赖。

2. 第四范式

2.1 数学定义:设关系R(X,Y,Z),其中X,Y,Z是成对的、不相交属性的集合。若存在非平凡多值依赖,则意味着对R中的每个属性Ai(i-1,2,…,n)存在有函数依赖X->Ai(X必包含键)。那么R∈4NF。

2.2 思想来源:1.第四范式是在关系数据库中,对关系的最基本要求的满足第一范式。这样的关系模式是合法的,允许的。但人们发现有些关系模式存在插入、删除、修改异常、数据冗余等弊病,人们寻求解决这些问题的方法,这就是规范化的目的。

2.规范化的基本思想是逐步消除数据依赖中不合适的部分,使关系数据库模式的各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。

3.定义对解:定义和实例对比解析

3.1 多值依赖:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关

产品(X)

代理商(Y)

工厂(Z)

Car

A1

F1

Car

A1

F2

Bus

A2

F2

这里“产品(X)→→代理商(Y)”,产生的多值依赖关系如下

产品(X)

工厂(Z)

代理商(Y)

Car

F1

A1

Car

F2

A1

这里一个car对应一组代理商,这就是代理商多值依赖于产品。为什么会产生这个多值依赖呢? 因为工厂,只有代理商A1销售Car ,但是这里却又两个工厂生产Car ,说以导致了Car和A1的关系冗余。这就是数据表的设计问题的体现。消除多值依赖也很简单。做如下表设计。

产品-经销商关系表

产品

供应商

Car

A1

Bus

A1

Car

A2

产品生产关系表

产品

工厂

Car

F1

Car

F2

Bus

F2

3.2 从是否符合第四范式的角度分析以上表设关系R(X,Y,Z),其中X,Y,Z是成对的、不相交属性的集合。若存在非平凡多值依赖,则意味着对R中的每个属性Ai(i-1,2,…,n)存在有函数依赖X->Ai(X必包含键)。那么R∈4NF。

产品(X)

代理商(Y)

工厂(Z)

Car

A1

F1

Car

A1

F2

Bus

A2

F2

“R中的每个属性Ai(i-1,2,…,n)存在有函数依赖X→Ai(X必包含键) ”,将这个要求,针对当前表展开。

X→Y:代理商依赖于产品

X→Z:工厂依赖于产品

从形式上看,这里明显Car → A1的关系有两个,不满足条件。这个是从数学上形式的分析,不符合第四范式。至于原因,就是上面多值依赖的存在。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/227648.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关系模型的相关术语[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106918.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/04
1.2K0
数据库-第一范式、第二范式、第三范式、BC范式、第四范式简析
在设计与操作维护数据库时,最关键的问题就是要确保数据能够正确地分布到数据库的表中。使用正确的数据结构,不仅有助于对数据库进行相应的存取操作,还可以极大地简化应用程序中的其他内容(查询、窗体、报表、代码等),按照“数据库规范化”对表进行设计,其目的就是减少数据库中的数据冗余,以增加数据的一致性。
全栈程序员站长
2022/08/31
6.2K0
数据库-第一范式、第二范式、第三范式、BC范式、第四范式简析
数据库范式那些事
原文出处: 宋沄剑 简介 数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的数据库DEMO将一个不符合范式的数据库一步步从第一范式实现到第四范式。 范式的目标 应用数据库范式可以带来许多好处,但是最重要的好处归结为三点: 1.减少数据冗余(这是最主要的好处,其他好处都是由此而附带的) 2.消除异常(插入异常,更新异常,删除异常) 3.让数据组织的更加和谐… 但剑是双刃的,应用数据库范式同样也会带来
wangxl
2018/03/08
8070
数据库范式那些事
数据库设计中关系规范化理论总结怎么写_数据库规范化理论是什么
摘要:数据库是一门对数据进行有效管理的技术,它研究信息资源如何被安全地储存和如何被高效地利用,它是现代计算机科学的一个重要分支。其中关系数据库是目前被应用最广泛的数据库类型,它看起来类似于一张二维表,通过应用数学的方法来处理数据库中的数据。在关系数据库的设计过程中,最重要的莫过于对数据库的逻辑设计,即针对一个具体的问题,我们应该如何去构造一个适合它的数据库模式。经过科学家的讨论研究,最终形成我们今天所看到的关系数据库的规范化理论。本文通过例举具体事例来探讨关系规范化理论在数据库逻辑设计中的形成和方法。 关键词:数据库;关系规范化理论;范式;函数依赖;属性
全栈程序员站长
2022/11/03
8330
数据库系统:第六章 关系数据理论
数据库有“三个从无到有”,其中第一个就是数据库模式的从无到有,针对一个具体问题,如何构造一个适合的数据库模式是建立数据库系统很基本的问题,这是数据库的设计问题,确切的说是关系数据库逻辑设计问题,我们有一个有利工具:关系数据库的规范化理论。
Here_SDUT
2022/08/09
1.4K0
数据库系统:第六章 关系数据理论
数据库设计范式2——BC范式和第四范式
我在很久之前的一篇文章中介绍了数据库模型设计中的基本三范式,今天,我来说一说更高级的BC范式和第四范式。
深蓝studyzy
2022/06/16
1.4K0
数据库原理笔记「建议收藏」
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
全栈程序员站长
2022/09/20
1.9K0
数据库原理
三级模式:模式(逻辑),外模式(子模式,局部逻辑),内模式(存储模式,物理结构唯一)
esse LL
2024/04/23
1610
浅谈数据库设计之三大范式
范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。很晦涩吧?实际上你可以把它粗略地理解为一张数据表的表结构所符合的某种设计标准的级别。
JanYork_简昀
2022/04/21
8220
浅谈数据库设计之三大范式
关系数据理论
设R(U)是属性集U上的关系模式, X、Y是U的子集。(也就是说X、Y是Sno、Sname两个属性,U是这个属性组)
用户11097514
2024/05/30
1310
关系数据理论
数据库范式总结
数据库表结构设计时,遵从一定的范式(NF,Normal Form)可以减少数据冗余和操作异常。
四火
2022/07/15
2640
数据库范式总结
关系数据库规范化理论
概论一个关系数据库由一组关系模式组成,一个关系由一组属性名组成,关系数据库设计就是如何把已给定的相互关联的一组属性名分组,并把每一组性名组织成关系的问题。
ellipse
2019/08/16
1.4K0
关系数据库规范化理论
【愚公系列】软考高级-架构设计师 058-范式
数据库范式是一组规范化设计数据库的原则,旨在减少数据冗余、提高数据一致性和避免数据异常。通过将数据库设计分解为多个规范形式,设计者可以确保数据库的结构更加健壮、易于维护和扩展。
愚公搬代码
2024/07/03
1940
数据库的规范化
一、基础概念 实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等。 属性:教科书上解释为:“实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如说,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”。 元组:表中的一行就是一个元组。 分量:元组的某个属性值。 码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我们从候选码中挑一个出来做老大,它就叫主码。 全码:如果一个码包含了
用户1215536
2018/02/05
8300
数据库范式
empno ename deptno 其中empno就能唯一标示一行数据了,是码(empno=1的只有一行数据)
九转成圣
2024/04/10
1510
数据库范式
数据库的范式(第一范式,第二范式,第三范式,BCNF范式)「建议收藏」
能够唯一标识元组的某一属性或属性组,任何包含超码的超集也是超码,这里唯一标识元组可以简单的理解为根据某一个字段或几个字段的值,查询出某一行特定的数据
全栈程序员站长
2022/07/31
1.3K0
关系数据库、数据库的设计(数据库学习)
-|关系的数学定义:域(同类型值集合)、由笛卡儿积(任意域各自相乘)推出关系的定义
营琪
2019/11/04
2.2K0
数据库范式
关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。 第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电话号码) 规范成为1NF有三种方法: 一是重复存储职工号和
用户1075292
2018/01/23
6810
数据库设计范式(转)
关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手
深蓝studyzy
2022/06/15
3910
DBA | 炼气期,关系数据库及六大范式(NF)理论概述!
描述:上一章,我们简单了解了关系类型数据库,以及其相关产品,此章节我们由浅入深的学习一下什么是关系型数据库,不过在讲解关系型数据库之前,我们先来了解一下是关系模型,然后讲解其对应的概念模型、数据模型,介绍了关系数据库概念,应用和管理系统,最后学习关系型数据库的六大范式理论,为后续学习Oracle关系型数据库打一下一个坚实的基础。
全栈工程师修炼指南
2024/08/02
2380
DBA  | 炼气期,关系数据库及六大范式(NF)理论概述!
推荐阅读
相关推荐
关系模型的相关术语[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文