函数依赖有人懂"函数依赖","1NF,2NF,3NF,BCNF"啊?可以帮帮我吗?
有关系R和函数依赖F: R(A,B,C,D,E),F = { ABC→DE,BC→D,D→E }。
R中应该有F吧?如果R中存在F,如下解答(1)C和D是R中的主键R属于1NF,因为关系中存在部分依赖和传递依赖:A和F部分依赖于CD,B通过A传递依赖于C.(2)分解后的关系:D->FC->ACD->EA->B均满足3NF数据库问题:什么是非平凡函数依赖?
所谓函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。
函数依赖正象一个函数y = f(x)一样x的值给定后,y的值也就唯一地确定了。
举几个例子,在学生表中(学号,姓名,年级),(学号,姓名)可以推出学号和姓名其中的任何一个,这就是平凡函数依赖.
通过(学号,姓名)可以推出这个学生所在的年级,这是非平凡函数依赖.((学号,姓名)就是一个x,学号或者姓名就是一个x')
通过属性学号就可以推出年级,说明年级完全依赖于学号,这就是完全函数依赖.
而(学号,姓名)虽然也可以推出年级,但是它的真子集姓名却推不出年级,这就是部分函数依赖,也叫不完全函数依赖.函数依赖的函数依赖的说明
1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。
2. 函数依赖是语义范畴的概念。
只能根据数据的语义来确定函数依赖。
例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立
3. 数据库设计者可以对现实世界作强制的规定。
例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。
所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。
属性之间有三种关系,但并不是每一种关系都存在函数依赖。
设R(U)是属性集U上的关系模式,X、Y是U的子集:
● 如果X和Y之间是1:1关系(一对一关系),如学校和校长之间就是1:1关系,则存在函数依赖X → Y和Y →X。
● 如果X和Y之间是1:n关系(一对多关系),如年龄和姓名之间就是1:n关系,则存在函数依赖Y → X。
●如果X和Y之间是m:n关系(多对多关系),如学生和课程之间就是m:n关系,则X和Y之间不存在函数依赖。
例: Student(Sno, Sname, Ssex, Sage, Sdept)
假设不允许重名,则有:
Sno → Ssex, Sno → Sage , Sno → Sdept,
Sno ←→ Sname, Sname → Ssex, Sname → Sage
Sname → Sdept
但Ssex -→ Sage
若 X → Y,并且 Y → X, 则记为 X ←→ Y。
若 Y 不函数依赖于 X, 则记为 X -→ Y。
在关系模式R(U)中,对于U的子集X和Y,
1.如果 X → Y,但 Y 不为 X 的子集,则称 X → Y 是非平凡的函数依赖
例:在关系SC(Sno, Cno, Grade)中,
非平凡函数依赖: (Sno, Cno) → Grade
2.若 X → Y,但 Y 为 X 的子集, 则称 X → Y 是平凡的函数依赖
平凡函数依赖: (Sno, Cno) → Sno ,(Sno, Cno) → Cno
3.若 x → y 并且,存在 x 的真子集 x1,使得 x1 → y, 则 y 部分依赖于 x。
例:学生表(学号,姓名,性别,班级,年龄)关系中,
部分函数依赖:(学号,姓名)→ 性别,学号 → 性别,所以(学号,姓名)→ 性别 是部分函数依赖
4.若 x → y 并且,对于 x 的任何一个真子集 x1,都不存在 x1 → y 则称y完全依赖于x。
例:成绩表(学号,课程号,成绩)关系中,
完全函数依赖:(学号,课程号)→ 成绩,学号 -→ 成绩,课程号 -→ 成绩,所以(学号,课程号)→ 成绩 是完全函数依赖
5.若x → y并且y → z,而y -→ x,则有x → z,称这种函数依赖为传递函数依赖。
例:关系S1(学号,系名,系主任),
学号 → 系名,系名 → 系主任,并且 系名 -→ 学号,所以 学号 → 系主任 为传递函数依赖数据库的题函数依赖A→B,BC→D,DE→A,写出R的候选码
因为A→B 所以根据定理有AC→BC 由于BC→D 则有AC→D 由于ACE→DE 这样ACE→A ACE→B ACE→C ACE→D ACE→E 都成立 ACE可以作为候选码
A不能做候选码的原因是A→C,D,E均不成立
AC不能做候选码的原因是 虽然AC→A,B,C,D都成立,但没有A→E
AE不能做候选码的原因是AE→C,D都不成立数据库中直接函数依赖和传递函数依赖的区别
一、函数依赖概念
函数依赖是从数学角度来定义的,在关系中用来刻画关系各属性之间相互制约而又相互依赖的情况。
函数依赖普遍存在于现实生活中,比如,描述一个学生的关系,可以有学号、姓名、所在系等多个属性,由于一个学号对应一个且仅一个学生,一个学生就读于一个确定的系,因而当“学号”属性的值确定之后,“姓名”及“所在系”的值也就唯一地确定了, 此时, 就可以称“姓名”和“所在系”函数依赖于“学号”,或者说“学号”函数决定“姓名”和“所在系”,记作:学号→姓名、学号→所在系。
下面对函数依赖给出确切的定义。
定义:设U{A1,A2,…,An}是属性集合,R(U)是U上的一个关系,x、y是U的子集。
若对于R(U)下的任何一个可能的关系, 均有x的一个值对应于y的唯一具体值,称y函数依赖于x,记作x→y。
其中x称为决定因素。
进而若再有y→x,则称x与y相互依赖,记作x←→y。
例如表1.2所示“系”关系中:如果系名值是唯一的,即各系名均不相同,那么有函数依赖集:
系代码→系名,系代码→系地址,系代码→系电话,系代码→系专业设置。
系名→系代码,系名→系地址,系名→系电话,系名→系专业设置。
可见,系名与系代码相互依赖,记作系名←→系代码。
函数依赖中还可细分为多种函数依赖,分别介绍如下:
二、部分函数依赖
设R(U)是属性集U上的关系,x、y是U的子集,x’是x的真子集,若x→y且x’→y,则称y部分依赖x,记作X→PY。
显然,当且仅当x为复合属性组时,才有可能出现部分函数依赖。
例如表1.6中, 显然有课程号→课程名,课程号→开课教研室代码。
从另一角度看,只要课程号一定,同时课程名确定,开课教研室也就唯一确定,因此课程号+课程名→开课教研室代码。
但它与前述课程号→开课教研室代码是不同的,因为{课程号,课程名}存在真子集:“课程号”,课程号→开课教研室代码,我们把课程号十课程名→开课教研室代码称为“开课教研室代码”部分函数依赖于课程号+课程名。
三、完全函数依赖
设R(U)是属性集U上的关系,x、y是U的子集,x’是x的真子集。
若对于R(U)的任何一个可能的关系,有x→y但x’→y,则称y完全函数依赖于x,记作X→FY。
所谓完全依赖是说明在依赖关系的决定项(即依赖关系的左项)中没有多余属性,有多余属性就是部分依赖。
例如设关系模式R,R=R(学号,姓名,班号,课程号,成绩),易知:
“(学号,班号,课程号)→成绩”是R的一个部分依赖关系。
因此有决定项的真子集(学号,课程号),使得“(学号,课程号)→成绩”成立,且“学号→成绩”或“课程号→成绩”成立,“(学号,课程号)→ 成绩”是R的一个完全依赖关系。
四、传递函数依赖
设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。
例如在一个学校中,每门课均是某一位老师教,但有些老师可教多门课,则有关系“教学”如表3.1所示。
由以上关系不难分析,课程名→职工号、职工号→课程名,但职工号和其他属性的函数关系中都是决定因素,即职工号→老师名、职工号→职称,在这种情况下,老师名、职称传递函数依赖于课程名。
表3.1 教学表
课程名
职工号
老师名
性别
出生日期
职称
英语
T1
张平
男
55.6.3
教授
数学
T2
王文
女
62.10.5
副教授
C语言
T3
李迎
女
62.10.5
副教授
数据库
T2
王文
女
62.10.5
副教授
下面进一步举例说明。
例如设车间考核职工完成生产定额关系为W:
W(日期,工号,姓名,工种,定额,超额,车间,车间主任)
请画出该关系中存在的所有类型的函数依赖。
解答:因每个职工每个月超额情况不同,而定额一般很少变动,因此为了识别不同职工以及同一职工不同月份超额情况,选定“日期”与“工号”两者组合作为主关键字。
为了直观醒目,可以在关系框架中的主关键字下方划一横线。
用箭头标出各属性的依赖情况,如图3.3所示:
图3.3 关系中各属性的依赖情况
图中表明:“超额”完全函数依赖于主关键字;“姓名”、“工种”和“车间”仅依赖于关键字中的“工号”;因“定额”依赖于“工种”,故“定额”传递函数依赖于“工号”;因“车间主任”函数依赖于“车间”,因而“车间主任”传递函数依赖于“工号”。
有人懂"函数依赖","1NF,2NF,3NF,BCNF"啊?可以帮帮我吗?
1.所谓函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。
函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。
如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。
属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant)。
例:身份证号→姓名。
2.第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不
能有重复的属性。
3.2NF关系R属于第1范式,且R中每一个非主属性都完全函数依赖于R的任一候选码
4.3NF关系R的任何一个非主属性都不传递函数依赖于它的任何一个候选码,那么它是第三范式
41云怎么样?41云是国人主机品牌,目前经营产品有国内外云服务器、CDN(高防CDN)和物理机,其中国内外云服务器又细分小类有香港限流量VPS、香港大带宽VPS、香港弹性自选VPS、香港不限流VPS、香港BGP线路VPS、香港Cera+大带宽机器、美国超防VPS、韩国原生VPS、仁川原生VPS、日本CN2 VPS、枣庄高防VPS和金华高防VPS;物理机有美国Cera服务器、香港单程CN2服务器、香...
diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑提速啦的市场定位提速啦主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。提速啦的售后保证提速啦退款 通过于合作商的友好协商,云服务器提供3天内全额退款,超过3天不退款 物理机部分支持当天全额退款提速啦提现 充...
函数依赖为你推荐
小型企业网络方案中小企业网络营销策略分析a8处理器什么是A8处理器?资源优化配置资源优化配置的前提条件burndownburn down与burn up有何区别购物网站设计Jsp+Sql电子商城&网上购物网站设计科学计算器说明书计算器的使用方法?amv格式电影谁有AMV格式的电影或视屏?代码2001优酷错误代码2001怎么解决最新产品质量法国家新三包规定是什么优酷广告无法正常播放优酷视频突然就不能看了,显示黑屏广告无法播放!网上也有好多办法都试了没用,求大神给个详细的解决办法
便宜域名注册 香港vps主机 主机 jsp主机 dropbox网盘 网站实时监控 标准机柜尺寸 商家促销 php空间申请 100m空间 安徽双线服务器 空间登录首页 smtp虚拟服务器 linode支付宝 数据库空间 重庆服务器 睿云 windowsserver2008 sonya websitepanel 更多