格物学 高中知识点

有没有人懂最小函数依赖集到底是个啥,数据库基础的,不懂怎么得到最小函数依赖集,概念也看起来也很抽象

格物自测!为高考,从高一就准备自己的知识点储备!
2024-05-04
有没有人懂最小函数依赖集到底是个啥,数据库基础的,不懂怎么得到最小函数依赖集,概念也看起来也很抽象

最小函数依赖集就是把函数依赖集依据化简规则消除不必要的/重复的函数依赖。

求最小函数依赖集分三步:

1.将F中的所有依赖右边化为单一元素

此题fd={abd->
e,盾端绝袁ab->
g,b->
f,c->
j,cj->
i,g->
h};
已经满足

2.去掉F中的所有依赖左边的冗余属性.

作法是属性中去掉其中的一个,看看是否依然可以推导

此题:abd->
e,去掉a,则(bd)+不含e,故不能去掉,同理b,d都不是冗余属性

ab->
g,也没有

cj->
i,因为c+={c,j,i}其中包含i所以j是冗余的.c末j->
i将成为c->
i

F={abd->
e,ab->
g,b->
f,c->
j,c->
i,g->
h};


3.去掉F中所有冗余依赖关系.

做法为从F中去掉某关系,如去掉(X->
Y),然后在F中求X+,如果Y在X+中,则表明x->
是多余的.需要去掉.

此题如果F去掉abd->
e,F将等于{ab->
g,b->
f,c->
j,c->
i,g->
h},而(a玉晚念主病味煤引志工况bd)+={a,d,b,f,g,h},其中不包含e.所有不是多余的.

同理(ab)+={a,b笔怀,f}也不包含g,故不是多余的.

b+备限几当许知采={b}不多余,c+={c,i}不多余

c->
i,g->
h多不能去掉.

所以所求最小函数依赖集为F={abd->
e,ab->
g,b->
f,c->
j,c->
i,g->
h士套担田如歌破续超药映};


最小函数依赖集

定义:如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖。


①F中的任何一个函数依赖的右部仅含有一个属性;

②F中不存在这样景缩县触一个函数依赖X→A,使得F与F-{X→A}等价;

③F中不存在这样一个函数依赖X→A,X有真攻翻保去经乡重争社子集Z使得F-{X→A}∪{Z→A}与F等价。


算法:计算最小函数依赖集。


输入一个函数依赖集

输出F的一个等价的最小函数依赖集G

步骤:①用分解的法则占,使F中的任何一个函数依赖的右部仅含有一个属垂因府性;

②去掉多余的函数依赖:从第一个函数依赖X→Y开始将其从F中去掉,然后在剩下的函数依赖中求X的闭包X+,看X+术洲认杂消观那是否包含Y,若是,则去掉X→Y;否则不能去掉,依次做下去。
直到找不到冗余的函数依赖;

③去掉各依赖左部多余的属性。
一个一个地检查函数依赖左部非单个属性的依赖。
例如XY→A,若要判Y为保伯右多余的,则以X→A代替XY→A是否等价?若A属于(X)+,则Y是粉倒很呼他福世约低永多余属性,可以去掉。


举例:已知关系模式R,U={A,B,C,D,E,G},F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG},求F的最小函数依赖集。


解1:利用算法求解,使得其满足三个条件

①利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖,得F为:F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G}

②去掉F中多余的函数依赖

A.设AB→C为冗余的函数依赖,织刻著新统践早注则去掉AB→C,得:F1={D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G}

计算(AB)F1+:设X(表写率那该盟任室0)=AB

计算X(1):扫描F1中各个函数依赖,找到左部为AB或AB子集的函数依赖,因为找不到这样的客血相量掉系角求厚湖函数依赖。
故有X(1)=X(0)=AB,算法终止。


(AB)F1+=AB不包含C,故AB→C不是冗余的函数依赖,不能从F1中去掉。


B.设C需扩富走满重问次席G→B为冗余的函数依赖,则去掉CG→B,得:F2={AB→C,D→E,从思化组D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→A,CE→G}

计算(CG)F2+:设X(0)=CG

计算X(1):扫描F2中的各个函数依赖,找到左部为CG或CG子集的函数依赖,得到一个C→A函数依赖。
故有X(1)=X(0)∪A=CGA=ACG。


计算X(2):扫描F2中的各个函数依赖,找到左部为ACG或ACG子集的函数依赖,得到一个CG→D函数依赖。
故有X(2)=X(1)∪D=ACDG。


计算X(3):扫描F2中的各个函数依赖,找到左部为ACDG或ACDG子集的函数依赖,得到两个ACD→B和D→E函数依赖。
故有X(3)=X(2)∪BE=ABCDEG,因为X(3)=U,算法终止。


(CG)F2+=ABCDEG包含B,故CG→B是冗余的函数依赖,从F2中去掉。


C.设CG→D为冗余的函数依赖,则去掉CG→D,得:F3={AB→C,D→E,D→G,C→A,BE→C,BC→D,ACD→B,CE→A,CE→G}

计算(CG)F3+:设X(0)=CG

计算X(1):扫描F3中的各个函数依赖,找到左部为CG或CG子集的函数依赖,得到一个C→A函数依赖。
故有X(1)=X(0)∪A=CGA=ACG。


计算X(2):扫描F3中的各个函数依赖,找到左部为ACG或ACG子集的函数依赖,因为找不到这样的函数依赖。
故有X(2)=X(1),算法终止。
(CG)F3+=ACG。


(CG)F3+=ACG不包含D,故CG→D不是冗余的函数依赖,不能从F3中去掉。


D.设CE→A为冗余的函数依赖,则去掉CE→A,得:F4={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→G}

计算(CG)F4+:设X(0)=CE

计算X(1):扫描F4中的各个函数依赖,找到左部为CE或CE子集的函数依赖,得到一个C→A函数依赖。
故有X(1)=X(0)∪A=CEA=ACE。


计算X(2):扫描F4中的各个函数依赖,找到左部为ACE或ACE子集的函数依赖,得到一个CE→G函数依赖。
故有X(2)=X(1)∪G=ACEG。


计算X(3):扫描F4中的各个函数依赖,找到左部为ACEG或ACEG子集的函数依赖,得到一个CG→D函数依赖。
故有X(3)=X(2)∪D=ACDEG。


计算X(4):扫描F4中的各个函数依赖,找到左部为ACDEG或ACDEG子集的函数依赖,得到一个ACD→B函数依赖。
故有X(4)=X(3)∪B=ABCDEG。
因为X(4)=U,算法终止。


(CE)F4+=ABCDEG包含A,故CE→A是冗余的函数依赖,从F4中去掉。


③去掉F4中各函数依赖左边多余的属性(只检查左部不是单个属性的函数依赖)由于C→A,函数依赖ACD→B中的属性A是多余的,去掉A得CD→B。


故最小函数依赖集为:F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,CD→B,CE→G} 内容来自网友回答


对函数概念的的认识经历了怎样的

函数概念

我现在js概念性的东西,变量,运算符都能看懂并且理解,但是函数,数

我现在js概念性的东西,变量,运算符都能看懂并且理解,但是函数,数

我现在js概念性的东西,变量,运算符都能看懂并且理解,但是函数,数组对象事件,窗口对我来说学习案例就有些吃力了理论很多都是一知半解,代码更加不用说,但是真的不想放弃,前面好... 我现在js概念性的东西,变量,运算符都能看懂并且理解,但是函数,数组对象事件,窗口对我来说学习案例就有些吃力了理论很多都是一知半解,代码更加不用说,但是真的不想放弃,前面好不容易克服困难学习起来,现在就是那么难的不知道怎

高考倒计时 {dede:global.cfg_gktime/}2024年高考时间 6月7日,8日,9日
高中知识点专业其他问题:
高中知识点
相近专业 历年高考分数 高中知识点 高一 测试 计算机 材料 机械 仪器仪表 能源动力 电气 电子信息 自动化 化工与制药 地质 矿业 纺织 轻工 交通运输 海洋工程 航空航天 兵器 核工程 农业工程 林业工程 环境科学与工程 生物医学工程 食品科学与工程 建筑 安全科学与工程 生物工程 公安技术 网络空间安全 土木 水利 测绘 植物生产 自然保护与环境生态 动物生产 动物医学 林学 水产 草学 基础医学 临床医学 口腔医学 公共卫生与预防医学 中医学 中西医结合 药学 中药学 法医学 医学技术 管理科学与工程 工商管理 农业经济管理 公共管理 图书情报与档案管理 物流管理与工程 工业工程 电子商务 旅游管理 艺术学理论 音乐与舞蹈学 戏剧与影视学 美术学 设计学 哲学 经济学 财政学 金融学 经济与贸易 法学 政治学 社会学 民族学 马克思主义理论 公安学 教育学 体育学 中国语言文学 外国语言文学 新闻传播学 历史学 数学 物理学 化学 天文学 地理科学 大气科学 海洋科学 地球物理学 地质学 生物科学 心理学 统计学 高考试题库 力学