数据库函数依赖 数据库 无损连接

一、函数依赖(FunctionalDependency)的概念

数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系。


二、定义

设R(U)是属性U上的一个关系模式,X和Y均为U={A1,A2,…,An}的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v

[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。

例:

(sno-学生ID,tno-教师ID,cno-课程ID,sname-学生姓名,tname-教师姓名,cname-课程名称,grade-成绩)
1、sno→sname, cno→cname,(sno,cno)→grade √
2、sname→sno, tno→cno, sno→tname×

三、函数依赖是语义范畴

1、语义:数据所反映的现实世界事物本质联系
数据库函数依赖 数据库 无损连接
2、根据语义来确定函数依赖性的存在与否
3、函数依赖反映属性之间的一般规律,必须在关系模式下的任一个关系r中都满足约束条件。

四、属性间的联系决定函数依赖关系

设X、Y均是U的子集
1、X和Y间联系是1:1,则X→Y,Y→X。(相互依赖,可记作X←→Y)
2、X和Y间联系是M:1(M), 则X→Y。
3、X和Y间联系是M:N(M,N),则X、Y间不存在函数依赖。

五、完全函数依赖和部分函数依赖

1、函数依赖分为完全函数依赖和部分函数依赖

2、定义:
在R(U)中,如果X→Y,并且对于X的任何真子集X'都有X'Y',则称Y完全依赖于X,记作X→Y;否则,如果X→Y,且X中存在一个真子集X',使得X'→Y成立,则称Y部分依赖于X。

例:

学生ID,学生姓名,所修课程ID,课程名称,成绩

(学生ID,所修课程ID)→成绩

成绩既不能单独依赖于学生ID,也不能单独依赖于所修课程ID,因此成绩完全函数依赖于关键字。

(学生ID,所修课程ID)→学生姓名

学生ID→学生姓名

学生姓名可以依赖于关键字的一个主属性——学生ID,因此学生姓名部分函数依赖于(学生ID,所修课程ID)。

P

(学生ID,所修课程ID)学生姓名

六、平凡函数依赖和非平凡函数依赖

设X,Y均为某关系上的属性集,且X→Y
1)若Y包含于X,则称X→Y为:平凡函数依赖;
2)若Y不包含于X,则称X→Y为:非平凡函数依赖。


Y包含于X内,W于X相交,与Y无直接交集。

则:X→Y为平凡函数依赖

X→W, W→Y为非平凡函数依赖

七、传递函数依赖

X→Y,Y→Z

则Z传递函数依赖于X

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/78534.html

更多阅读

VB如何连接访问数据库Access asp访问access数据库

VB如何连接访问数据库Access——简介VB即Visual Basic ,是一种由Microsoft公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。网上有很多教程,但都不详细,这里是自己一步一步演示的

VB数据库操作实例 javs匿名函数

VB数据库操作实例VB数据库操作实例——工具/原料 VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这

VisualFoxPro6.0与大型数据库的无"数据源"连接 foxpro数据库

VisualFoxPro6.0与大型数据库的无"数据源"连接  Fox系列数据库产品作为一种开发信息管理系统的微机常用工具,而深受开发人员以及广大用户的喜爱,但由于微电子技术的飞速发展,CPU处理速度的快速提升,硬盘的容量、速度及其它性能的显著

Excel通过VBA连接Oracle数据库图文教程 oracle数据库基础教程

(文/@数据化分析)使用Excel通过VBA连接Oracle数据库查询数据,可以实现一键自动快速生成所需的多个标准报表,大大地提高工作效率,节省很多时间。这里将此方法分享给大家,为方便学习,简化了很多功能,仅介绍如何连接数据库并将库表USER_USERS的

声明:《数据库函数依赖 数据库 无损连接》为网友寄与情人分享!如侵犯到您的合法权益请联系我们删除