数据库 关于函数依赖

数据库 关于函数依赖
•设有关系模式R(A1,A2,…,An),X和Y均为{A1,A2,…,An}的子集,r是R的任一具体关系,t1、t2是r中的任意两个元组;
•如果由t1[X]=t2[X]可以推导出t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y.
•在以上定义中特别要注意,只要
t1[X]=t2[X] t1[Y]=t2[Y]
•成立,就有X→Y.也就是说只有当t1[X]=t2[X]为真,而t1[Y]=t2[Y]为假时,函数依赖X→Y不成立;(而当t1[X]=t2[X]为假时,不管t1[Y]=t2[Y]为真或为假,都有X→Y成立.
其他人气:151 ℃时间:2020-02-05 11:58:53
优质解答
当t1[X]=t2[X]为假时,说明任意两个元组的X(X可能包含多个字段)都不相等,也就是说X是唯一的,即X能唯一地标识该模式中的元组,所以X就是R的主键.故不管t1[Y]=t2[Y]为真或为假,都有X→Y成立.
可以找一个实例来理比如R(编号,姓名,年龄,学院,班级),X(编号),Y(年龄,班级),r是某一个班级的学生信息,t1(0001,小明,20,工学院,土木本一班),t2(0002,小马,19,工学院,土木本一班),若t1[X]=t2[X]为假,那说明在r中,任意两个学号都不相等,那X就可以作为R的主键,由主键可以确定该关系模式的所有字段,不管其他字段是否相等.
特别要注意函数依赖中“任意”两个字.
PS:好久没看过数据库理论的书了,如果答的不对,请多指教,函数依赖部分是让人比较头疼的地方.这两句话意思是一样的,你仔细琢磨下。1.属性(或属性组)A和B 对应 X和Y为{A1,A2,…,An}的子集。X、Y是R的子集,不就是说X、Y里包含R的一个或多个属性,也就是X、Y也是R的属性(或属性组)。2.如果R中B的每个值都与A的唯一确定值对应 对应 则对于关系R中的任意一个X值,都只有一个Y值与之对应。(1)如果R中B的每个值都与A的唯一确定值对应。那么A—>B,A是R的超键。(2)则对于关系R中的任意一个X值,都只有一个Y值与之对应。还是举上面那个例子吧,X(编号),Y(年龄,班级,学院),如果对于任意一个编号,都有唯一一个(年龄,班级,学院)与之对应,那X就可以作为X的超键,X—>Y。
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版