技术标签: 数据库
如果函数依赖集F满足以下三个条件,则称F为最小函数依赖集,记作Fm。
①F中每个函数依赖的右部都是单属性,即右部最简化。
②对于F中任一函数依赖X -> A 和X的真子集X',(F - (X - A)) ∪ (X' -> A)
与F都不等价,即左部无多余属性。
③对于F中任一函数依赖X -> A,F - {X -> A}与F都不等价,即无多余函数依赖。
输入:一个函数依赖集F。
输出:F的一个等价的最小函数依赖集Fm。
步骤:
(1)用分解规则,使F中的每个函数依赖的右部仅含单属性。此步为等价分解。
(2)去掉各依赖左部多余的属性。一个一个地检查左部非单个属性地函数依赖。即XY -> A ,判断Y是否多余,则在分解后地F求X的属性闭包X+,若A包含于X+ ,则Y是多余的。此步为等价消属性。
(3)去掉多余的函数依赖。逐一检查上步结果F的各函数依赖X -> A,并将X -> A从F中去掉,然后在剩下的F中去求X+,若A包含于X+,则X -> A多余。依次做下去,直到找不到冗余的函数依赖。此步为等价消依赖。
设有函数依赖集 F = {AB -> CE, A -> C, GP -> B, EP -> A, CDE -> P, HB -> P, D -> HG, ABC -> PG}, 求与 F 等价的最小函数依赖集。
解:
①分解D->HG为D->H、D->G,分解AB->CE为AB->C、AB->E,分解ABC->PG为ABC->P、ABC->G,得到F={AB->C, AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
②判断AB -> C中B是否冗余:由于存在A -> C,故B冗余,F={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
经判断其余左部均无多余属性,进行到下一步。(此处 ABC -> P 和 ABC -> G 可简化)
③判断AB->E是否冗余, F’ ={A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
AB+ = ABCPG, AB->E不冗余, F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
判断A->C是否冗余, F’ ={AB->E, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
A+ = A,A->C不冗余, F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
判断GP->B是否冗余, F’ ={AB->E, A->C, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
GP+ = GP, GP->B不冗余, **F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G} **
判断EP->A是否冗余, F’ = {AB->E, A->C, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
EP+ = EP , EP->A不冗余, **F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G} **
判断CDE->P是否冗余, F’ = {AB->E, A->C, GP->B, EP->A, HB->P, D->H, D->G, ABC->P, ABC->G}
CDE+ = CDEHG, CDE->P不冗余, F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
判断HB->P是否冗余, F’ ={AB->E, A->C, GP->B, EP->A, CDE->P, D->H, D->G, ABC->P, ABC->G}
HB+ = HB, HB->P不冗余, F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
判断D->H是否冗余, F’ ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->G, ABC->P, ABC->G}
D+ = DG, D->H不冗余, F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
判断D->G是否冗余, F’ ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, ABC->P, ABC->G}
D+ = DH, D->G不冗余, F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
判断ABC->G是否冗余, F’ ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P}
ABC+ = ABCEP, ABC->G不冗余, F ={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
故 Fm={AB->E, A->C, GP->B, EP->A, CDE->P, HB->P, D->H, D->G, ABC->P, ABC->G}
文章浏览阅读671次。表达式的组成表达式是可以计算的代码片段,由操作数和运算符构成。操作数、运算符和圆括号按一定的规则组成表达式。表达式通过运算后产生运算结果,返回结果对象。运算结果对象的类型由操作数和运算符共同决定。运算符表明对操作数进行什么样的运算。运算符包括十、一、、/等。操作数包括文本常量(没有名称的常数值,例如1、“abc”)、变量(例如i= 123)、类的成员变量/函数(例如math. pi.math..._python一个表达式中出现多种运算符时,按照小括号运算符、逻辑型、测试性、关
文章浏览阅读562次。内容比较多,先一步步的讲吧。发送语音对讲之前,先发用对讲的信令。广播请求(信令服务-->摄像头)至于抓包分析,网上分享的很多了。其实都是发送Broadcast 广播通知,然后摄像头是广播通知应答,然后进行sdp 就行协议交换,可以简单理解成端口交换,其实就是音频流要推动到哪个端口,协商完毕,可以发送音频流。音频流发送结束,发送拜拜信令。整个流程就是如此,这里以https://github...._c#国标gb28181
文章浏览阅读3.6k次。嵌入式SQL语言一、概述二、变量声明与数据库连接1、变量的声明与使用(1) 数据库与DBMS连接(2) 与数据库断开连接(3) SQL执行的提交与撤消(4) 事务的概念与特性三、数据集与游标1、**检索单行结果**2、检索多行结果3、游标(Cursor)的使用四、可滚动游标及数据库的增删改1、可滚动游标的概念、定义和使用2、数据的删除与更新3、数据库记录的更新4、数据库记录的插入5、示例:宿主语言与SQL结合的过程性控制五、状态捕获及错误处理机制一、概述高级语言+SQL语言既继承高级语言的过程控制性又_嵌入式sql
文章浏览阅读912次。第一步:建立adsl连接,在系统设置——网络设置处有。在图形界面下很容易搞定。第二步:打开IP转发和伪装(也就是路由与NAT)1、作为根用户打开/etc/sysconfig/network文件,在文件增加以下一行: GATEWAYDEV=PPP0 这句话的作用是设定默认路由,有时没有也可2、打开IP转发功能:打开/etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一..._当前限速使用linux 防火墙自带的限速功能。暂不进行自研开发,配置iptables命令即
文章浏览阅读448次。我在装有Android 5.1.1的新设备上测试了我的应用程序.在我的SettingsActivity中,我有一个开关.我已经阅读了一些帖子,并将其更改为android.support.v7.widget.SwitchCompat,但问题仍然是:在我的旧设备上,开关看起来非常漂亮.您可以为textOn和textOff设置两个文本,它非常适合.但是自从api 21或其他我在这里得到这个小混蛋以来:看..._android switchcompat 样式 写入style
文章浏览阅读738次,点赞2次,收藏12次。预训练和微调都在PC端进行,根据需求选择合适的深度学习框架,如Caffe、PyTorch、TensorFlow等。就是指预先训练的一个模型或者指预先训练模型的过程;就是指将预训练过的模型作用于自己的数据集,并使参数适应自己数据集的过程。在 CNN 领域中,实际上,很少人自己从头训练一个 CNN 网络。主要原因是自己很小的概率会拥有足够大的数据集,基本是几百或者几千张,不像 ImageNet 有 120 万张图片这样的规模。拥有的数据集不够大,而又想使用很好的模型的话,很容易会造成过拟合。_adas 算法部署
文章浏览阅读7.8k次,点赞11次,收藏30次。dyn_threshold原型dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )功能利用局部阈值分割图像参数列表OrigImage (input_object):原始图像ThresholdImage (input_object):处理后图像(一般采用滤波处理)RegionDynThresh (output_object):分割后区域Offset (input_control):灰_halcon dyn_threshold
文章浏览阅读1.3k次,点赞2次,收藏2次。一个回城动作可能会发送很多数据包,抓包与封包的区别在于:抓包会抓取实现回城这一动作的所有数据包,且分别显示;封包则是以动作为单位进行数据包抓取,最终呈现为抓取到"一个数据包"。Charles不太友好,点一个按钮会高亮多个网址,Fiddler会好点。注意:雷电模拟器4.0会抓不到部分数据包,逍遥模拟器安游戏可能很卡。监控cc进程,实现封包抓包。(不太好用,还得是封包监听工具1.13)封包监听工具1.13(WPE三件套),该工具所有协议都会抓取。对于这种非web协议的APP,需要用。将模拟器的流量转发给。_wpe抓微信小程序
文章浏览阅读293次。 这个题我自己写的不对,在群里问的大佬,代码和解释如下:代码:#include<stdio.h>#include<string.h>#define TRUE 1#define FASLE 0int is(char c){ if(((c>='0')&&(c<='9'))||((c>='a')&&(c..._航电2567c语言
文章浏览阅读617次。蓝牙4.0核心架构分析核心系统架构经典蓝牙核心系统实现蓝牙BR/EDR的最小核心系统涵盖4个底层和蓝牙规范定义的相关协议,以及一个公共服务层协议。服务发现协议(SDP)和所有必要的配置文件在通用访问配置文件(Generic Access Profile,GAP)中定义。BR/EDR核心系统包括对AMP的支持以及AMP管理协议(AMP Manager Protocol)和协议适配层(PAL..._蓝牙软件架构
文章浏览阅读1.3w次,点赞3次,收藏15次。1、webrtc回声消除算法aec3也出来有几个月了,下面看下最新版的aec3效果,使用读文件仿真,例子为webrtc中的audioproc_f.exe,aec3,aec,aecm均使用默认参数,没有改动。在cmd中使能aec3参数audioproc_f -i D:\Git\webrtc-checkout\src\out\Debug\mic.wav-ri D:\Git\webrtc-checkou..._aec3 aecm
文章浏览阅读1.3k次。http://blog.csdn.net/wishfly/article/details/8574564目录(?)[+]jsp原理一、JSP工作原理JSP程序需要运行于特定的Web服务器中,例如Tomcat/WebLogic等。所有JSP文件,在执行的时候都会被服务器端的JSP引擎转换为Servlet程序(Java源文件),然后调用Java编译器将S_spring + hibernate + jsp