函数依赖有人懂"函数依赖","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的任何一个非主属性都不传递函数依赖于它的任何一个候选码,那么它是第三范式
速云怎么样?速云是一家国人商家。速云商家主要提供广州移动、深圳移动、广州茂名联通、香港HKT等VDS和独立服务器。目前,速云推出深圳独服优惠活动,机房为深圳移动机房,购买深圳服务器可享受5折优惠,目前独立服务器还支持申请免费试用,需要提交工单开通免费体验试用,次月可享受永久8折优惠,也是需工单申请哦!点击进入:速云官方网站地址活动期限至 2021年7月22日速云云服务器优惠活动:活动1:新购首月可...
HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...
CloudCone是一家成立于2017年的国外VPS主机商,提供独立服务器租用和VPS主机,其中VPS基于KVM架构,多个不同系列,譬如常规VPS、大硬盘VPS等等,数据中心在洛杉矶MC机房。商家2021年Flash Sale活动继续,最低每月1.99美元,支持7天退款到账户,支持使用PayPal或者支付宝付款,先充值后下单的方式。下面列出几款VPS主机配置信息。CPU:1core内存:768MB...
函数依赖为你推荐
kongjianming好听的空间名java队列java 队列起英文名根据中文名取英文名搜索引擎有哪些搜索引擎都有什么啊光纤是什么什么是光纤?主板说明书精英主板中文说明书分销渠道案例企业分销渠道成功的案例分析超市商品价格超市里的商品定价69块3好,还是69块9好?虽然差价很少但哪个效果比较好key网key所有作品网络安全工程师要求信息安全工程师的那个考试条件
vps代理 com域名抢注 互联网域名管理办法 zpanel pccw webhosting cpanel mediafire下载 nerd 南昌服务器托管 魔兽世界台湾服务器 qq数据库下载 福建天翼加速 太原联通测速平台 刀片式服务器 泉州移动 天翼云盘 香港亚马逊 免费的域名 中国linux 更多