SQL server中函数依赖,完全与部分函数依赖,平凡和非平凡函数依赖
(1)什么是函数依赖?
解释:从这个"函数依赖"短语来看,2个词语,函数+依赖。
函数:学编程的都知道,但是这里并不仅仅指的指令的集合。让我们回到第一次接触"函数"这个词语的初中或高中时代吧。函数,是一种映射关系,也就是常见的X—>Y的关系,在数学上有很多的函数(Y=X+3),知道了这个关系,我们会有X得出Y,这就是函数,表示2个事物之间的某种对应关系。
依赖:人生分为4阶段,第一阶段,我依赖于爸妈,第二阶段,我依赖于老婆,第三阶段,爸妈依赖与我,第四阶段,我依赖于我的孩子。这个"依赖"是常用汉语的意思。但在专业术语里面,也就是这么个意思。
函数依赖:有这么个关系实体,学生(学号,姓名,年级,性别,年龄),我知道了一个学号,就可以知道有关这个学号的其他信息。就像,你们知道了我,就可以知道我爸妈是谁,我老婆是谁,以及我未来的孩子是谁(这个,只有到未来了)。
说白了:生活中的某个事物(人)具有一些特殊的属性(指纹),我们可以通过这个特殊的属性(指纹)知道它的一些其他的信息,这种关联我把它看做函数依赖。
(2)什么是完全与部分函数依赖?
解释:完全和部分,是针对于某个集体而言的。这个集体,指的是主键是多个属性的组合,而不是单个属性的主键。理解了上面的函数依赖,那么这里的完全与部分就不用过多的解释了。
例如:常见的选课表([学号,课程号],成绩)[]里面是主键。那么完全函数依赖就是:非主键的属性(成绩)必须,全部依赖于主键所有的属性([学号,课程号]),少一个都不可以。说白了,学号+课程号—>成绩,只知道其中(学号,课程号)的一个,就不可以。只知道学号,不知道课程号,是没有办法知道某人的某个课程的成绩的。这,就是完全函数依赖。
而,部分函数依赖,非主键的属性依赖于主键中部分的属性就可以了。
(3)什么是平凡和非平凡函数依赖?
解释:所谓的平凡,就是很普通的意思,那么非平凡就是不普通的意思。唉,你可别小看这个意思,它却让你容易理解概念的东西。那么怎么理解这个"平凡"呢。"平凡"的对立面可以说是特殊,特别,特别就是你平常不见的事物,就很特别,就不平凡。
例如:这个函数依赖(也就是关系):(学号,课程号)——>课程号,由学号和课程号推出课程号,这不是逗人玩儿吗?谁会这么二呀。已知课程号,你推出课程号,有意思吗?这就是我认为的重复性生产,太平凡的一件事儿了。所以,这就是平凡函数依赖。
而 (学号,课程号)——>所在系号,从没有推出有,这就是很特殊的一面,就是不平凡的。
说白了,对于一个函数依赖,由左边——>右边,如果右边的属性,在左边出现过,那么就是平凡函数依赖。反之,右边的属性没有在左边出现过,那么就是非平凡函数依赖。
SQL server中函数依赖,完全与部分函数依赖,平凡和非平凡函数依赖相关推荐
- SQL Server中Identity标识列
SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. SQL Server中,经常会用到Identity标识列,这种自增长的字段 ...
- predicate 列存储索引扫描_在SQL SERVER中导致索引查找变成索引扫描的问题分析
SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试.总结.归纳. 1:隐式转换会导致 ...
- mysql2008 limit,在SQL Server中实现 Limit m, n 的功能
在SQL Server中实现 Limit m, n 的功能 (2012-03-14 18:17:43) 标签: 杂谈 在MySQL中,可以用 Limit 来查询第 m 列到第 n列的记录,例如: se ...
- SQL Server中SELECT会真的阻塞SELECT吗?
在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...
- 将Session值储存于SQL Server中
一般情况下,我们喜欢使用Session储存我们的变量.Asp.Net提供了下面一些方法储存Session的值: InProc State Server SQL Server "InProc& ...
- 在SQL Server中保存和输出任意类型的文件
我们可以把任意类型的文件保存到SQL Server中,在进行例子之前,先建立测试用表格,TestFile.sql: if exists (select * from dbo.sysobjects wh ...
- SQL SERVER中什么情况会导致索引查找变成索引扫描
原文:SQL SERVER中什么情况会导致索引查找变成索引扫描 SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方 ...
- SQL Server中读取XML文件的简单做法
SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦.本文介绍在SQL Server中读取XML文件的简单做法. ...
- SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因...
原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫.所以花了点时间,把 SQL Server 数据库中 ...
- SQL Server中自定义函数和游标应用的经典案例
2019独角兽企业重金招聘Python工程师标准>>> SQL Server中自定义函数和游标应用的经典案例 转载于:https://my.oschina.net/zhddzr/bl ...
最新文章
- 没错,老板让我写个 BUG!
- IROS 2021 | 激光视觉融合新思路?Lidar强度图+VPR
- Android安全问题 抢先接收广播 - 内因篇之广播接收器注册流程
- 前SAP全球VP加盟第四范式任总裁,戴文渊:加速多行业规模化扩展
- 邻接表建立图(c语言)
- Hack for Cloud Beginner微软黑客松大赛
- mysql 获取年预提,【判断题】正确核算待摊费用和预提费用,有助于划分本期费用与非本期费用的界限。...
- rabbitmq多个消费者_为什么要选择RabbitMQ,RabbitMQ简介,各种MQ选型对比
- C语言复杂声明解读简明方法
- 怎么卸载php xshell,xftp5如何卸载?xshell5卸载不了怎么办?
- php超小免杀大马_PHP免杀大马的奇淫技巧
- 录制计算机课,ClassIn怎么录制视频 录课操作步骤
- 基于51单片机+ESP-01WIFI模块LED灯的控制
- LaTeX错误“Unable to read an entire line---bufsize=200000. Please increase buf_size in texmf.cnf.”
- Python采集 11月最新 世界疫情数据 + 可视化动态地图,实时查询超稳定
- macbook不能进系统 备份数据_用数据“说话” VOCs治理在线监测系统不能少
- 前端批量下载七牛云文件
- 利用燕尾花数据集画出P-R曲线
- [原创]fetchmail代码阅读笔记---ESMTP的认证方式
- 34k*16 薪,3年自动化测试历经3轮面试成功拿下华为Offer....
热门文章
- 简述no less than和not less than区别
- java的多态是什么意思_【Java】基础18:什么叫多态?
- html2canvas 截图丢失部分元素的问题
- Win32基础学习笔记
- 企业级负载均衡LVS集群——DR模式下的(加权)轮询调度器、DR模式下的健康检测(ldirectord)
- java中台阶问题_编程:跳台阶问题
- Q4财报再次显示,百度在2B市场的竞争中已占据领先地位
- C语言字符串分割 trimmed simplified split
- 资源管理器清楚WPS网盘、百度网盘方法
- Codeforces Round #460 (Div. 2) C	 Seat Arrangements