逻辑蕴含、函数依赖集的闭包、Armstrong公理、属性集闭包

news2024/11/17 6:00:08

一、引言

Armstrong公理-从给定的函数依赖集得到关系模式的完整依赖集

二、逻辑蕴含

1、定义

设F是关系模式R上的函数依赖集,X、Y是R的属性子集,对于R的每个满足F的关系实例r,若函数

依赖X\rightarrow Y都成立,则称F逻辑蕴含X\rightarrow Y

记为:F\vdash X\rightarrow Y

F逻辑蕴含的所有函数依赖的集合,称为函数依赖集F的闭包,并记为F^{+}

记为:F^{+}={X\rightarrow Y\mid F\vdash X\rightarrow Y}

三、Armstrong公理

1、定义

1974年Armstrong提出一套推理规则,被称为Armstrong公理

2、作用

利用推理规则从给定的函数依赖推导出其蕴含的函数依赖

3、内容

包含三条基本规则和三条扩充规则

4、实例

关系模式R(U,F):

(1)U为R的属性集

(2)F是U上的函数依赖集

(3)X、Y、Z、W是U的子集

(4)子集X、Y的并集记为XY

四、Armstrong公理的内容

1、三条基本推理规则

(1)自反律

Y\subseteq X,则X\rightarrow Y

(2)增广律

X\rightarrow Y为F所蕴含,则XZ\rightarrow YZ

(3)传递律

X\rightarrow YY\rightarrow Z为F所蕴含,则X\rightarrow Z

2、三条扩充推理规则

(1)合并规则

X\rightarrow YX\rightarrow Z,则X\rightarrow YZ(增广律,传递律)

(2)伪传递规则

X\rightarrow YWY\rightarrow Z,则XW\rightarrow Z(增广律、传递律)

(3)分解规则

X\rightarrow YZ\subseteq Y,则X\rightarrow Z(自反律、传递律)

3、合并规则和分解规则可得一个重要的事实

引理1:

X\rightarrow A_{1}A_{2}...A_{k}成立的充分必要条件X\rightarrow A_{i}成立(i=1,2,...,k)

五、属性集闭包

1、引言

对于一个函数依赖集,其闭包中所包含的函数依赖有很多,从函数依赖集F求其闭包是很困难的,

对于任意的函数依赖,通过判断是否在闭包中来判断该函数依赖是否为函数依赖集F所逻辑蕴含是

很困难的,于是引入了属性集闭包的概念

2、属性集闭包的定义

在R(U,F)中,F是属性集U上的一组函数依赖,X\subseteq U,则属性集X关于函数依赖集F的闭包X{_{F}}^{+}

定义为:

X{_{F}}^{+}F^{+}中所有函数依赖于属性集X的所有属性的集合

3、引理2:

由引理2,就可以将X\rightarrow Y是否属于F的闭包的问题转化为判断Y是否为X关于F的闭包的子集的问题,而X关于F的闭包可由算法帮助实现

六、使用算法求解属性集闭包

1、明确概念

(1)函数依赖集F的闭包是F所蕴含的函数依赖的集合

(2)属性集X关于函数依赖集F的闭包是F的闭包中的函数依赖的决定因素是属性集X的属性的集合,以下简称为属性集闭包

2、求X{_{F}}^{+}(X的属性集闭包)的一个算法

输入:属性集X和和函数依赖集F

输出:属性集X关于函数依赖集F的闭包X{_{F}}^{+}

算法实现流程:

(1)开始

(2)给X{_{F}}^{+}赋初值X

(3)判断X{_{F}}^{+}的值与上一次相比是否改变,如果改变,执行(4),没改变,执行(5)

(4)对F中的每一个函数依赖Y\rightarrow Z,如果Y\subseteq X_{F}^{+},则将Z并入到X{_{F}}^{+}中,执行(3)

(5)输出X{_{F}}^{+},结束

3、举例:使用算法计算属性集X的闭包X{_{F}}^{+}

七、举例:通过属性集闭包来判断函数依赖是否在函数依赖集F的闭包中

八、小结

1、Armstrong公理的有效性

F中已有的函数依赖利用Armstrong公理导出每一个函数依赖Y\rightarrow Z\in F^{+}

2、Armstrong公理的完备性

函数依赖集F所蕴含的函数依赖,即F^{+}中的每一个函数依赖都可以利用Armstrong公理推导出来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1839304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

今日分享:能源行业数据大屏与界面设计~

能源行业数据大屏设计时要紧扣行业主题,关注视觉效果、实时数据与动态效果、数据可视化和图表、布局与字体、交互性、告警功能、故事叙述、易读性和可维护性等多个方面。大家设计时可以从这几个方面进行检查调整,这样就可以设计出既美观又实用的能源行业…

支持的 Google Pixel 设备

Android 15 OTA 和下载内容适用于以下 Pixel 设备: Pixel 6 和 Pixel 6 ProPixel 6aPixel 7 和 Pixel 7 ProPixel 7aPixel FoldPixel TabletPixel 8 和 Pixel 8 ProPixel 8a 获取 Android 15 Beta 版 1 、HONOR Android 15 Beta 2 Magic6 Pro Android 15 Beta …

【Redis技术进阶之路】「原理分析系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)

揭秘高效存储模型与数据结构底层实现 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 SDS(简单动态字符串)C字符串C字符串存在的问题字符串存储局限性不存储字符串长度…

【区块链】以太坊白皮书深度解读:构建智能合约的分布式平台

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 以太坊白皮书深度解读:构建智能合约的分布式平台引言1. 以太坊的诞生…

对比4090及4090D:国区“特供”与原版相比有何区别?

2023年12月28日 英伟达宣布正式发布GeForce RTX 4090D,对比于一年前上市的4090芯片,两者的区别与差异在哪?而在当前比较火热的大模型推理、AI绘画场景方面 两者各自的表现又如何呢? 规格与参数信息对比现在先来看看GeForce RT…

Deflate内部实现(LZ77无损压缩算法)超详细图解算法版~

无损压缩算法 第一阶段:重复消除 — LZ77无损压缩算法算法介绍举例压缩算法思路图解压缩过程 第二阶段:位减少huffman位减少 概览 Gzip Deflate 编码(LZ77哈夫曼) Brotli LZ77哈夫曼二阶上下文建模 Deflate 分两个阶段压缩数据…

系统架构——Spring Framework

目录 (1)基本介绍 (2)基本发展历史 (3)了解和学习 Spring 4.x 系列的系统架构 1、第一个模块:做核心容器(Core Contaner) 2、第二个模块:AOP与Aspects(这…

怎么用AI生成逼真的图片?

以 SD 为例,选择一个写实的大模型就可以了,比如以下是我用 XXMix_9realisticSDXL 大模型生成的图片: xxmixgirl,((((melt)))),(((((black and white melt))))),(((wear Black and white Taoist robes))),((((gold and silver lace)))),(((gol…

mysql密码过期的修改(Your password has expired. ..)

参考文章:mysql密码过期的修改方法(your password has expired)_我是知青-RuoYi 若依 (csdn.net) 问题:Your password has expired. To log inyou must change it using a clientthat supports expired passwords. 解决方式&…

智慧体育场馆:视频孪生引领体育场馆智能化

随着数字经济时代的发展,技术的迭代跃迁加速了体育场馆运营革新的步调,在技术赋能理念的驱动下,体育场馆逐步由复合化发展姿态,升级为物联感知式的智能场馆,并迈向了智慧体育场馆的发展之路。《“十四五”时期全民健身…

Sui的Fastcrypto加密库刷新速度记录

Sui使用的加密库Fastcrypto打破了许多速度记录,Mysten Labs在基准测试和安全分析中的工作修复了许多安全漏洞,同时通过识别新的优化技巧为创新开辟了道路。 最近在伦敦帝国理工学院举行的国际性能工程会议(ICPE)基准测试研讨会上…

成都爱尔周进院长提醒毕业生摘镜,术式如何挑

高考完迎来一个悠长假期,考后放松的同时,也有不少同学开始“准备”。 为奔赴梦想,为了理想的专业和学校,不少人决定摘镜。 不少专业有视力要求,且不同专业方向的要求各有不同。我们先来看看有视力要求的专业有哪些&am…

Linux终端玩转bastet俄罗斯方块小游戏

Linux终端玩转bastet俄罗斯方块小游戏 一、bastet小游戏介绍1.1 bastet小游戏简介1.2 项目预览 二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍 三、检查系统镜像源3.1 检查系统镜像源3.2 更新软件列表3.3 查询软件 四、安装bastet小游戏4.1 安装bastet4.2 启动bastet游戏 …

Clickhouse监控_监控的指标以及Grafana配置Clickhouse指标异常时触发报警

使用PrometheusGrafana来监控Clickhouse服务和性能指标 Clickhouse监控指标的官方文档https://clickhouse.com/docs/zh/operations/monitoring 建议使用PrometheusGrafana组合监控Clickhouse服务和性能指标,数据流向:Prometheus的clickhouse_exporter组件…

jpg格式图片无法打开可以修复吗?有哪些方法?

JPG的图片打不开怎么办呢?当JPG图片打不开的时候,我们需要先了解下具体的原因,是因为格式不支持,还是因为图片文件损坏。不同的原因,解决的方法也会不同,比如图片损坏,我们就需要对图片修复处理…

Maven相关知识

maven 继承与聚合 聚合:聚合多个模块(可以一起构建) ,各模块之间单独打包 继承: 为了消除重复,将相同的配置提取,子模块默认继承全部父模块的依赖dependencies节点,通过它来管理jar包的版本&am…

汽车IVI中控开发入门及进阶(三十一):视频知识扫盲

有效的视频资源管理需要集成许多不同的底层技术,共同为用户提供给定应用程序的最佳体验。其中许多技术是从早期电视广播中使用的技术演变而来的。其他方法,如用于通过网络流式传输视频的压缩方法,相对较新且不断发展。 以下详细概述了与图形和视频处理和传输相关的一些基本…

智能合约开发的过程

智能合约是一种运行在区块链上的程序,可以自动执行预先设定的条款和条件。智能合约具有去中心化、透明、不可篡改等特点,因此被广泛应用于金融、供应链、物联网等领域。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流…

西门子PLC1200--与电脑连接的TCP通讯

本例演示将PLC作为服务器,电脑作为客户端,进行通讯。 反过来也是一回事,就不啰嗦了。 二者进行TCP通讯,是基于网线的,电脑上用的是网口,PLC上用的是Profinet接口,即PN口。 软件工具准备 西门子…

智慧工地系统源码,支持项目级、公司级、集团级多级权限划分,支持PC端、手机端

智慧工地的核心是数字化,它通过传感器、监控设备、智能终端等技术手段,实现对工地各个环节的实时数据采集和传输,如环境温度、湿度、噪音等数据信息,将数据汇集到云端进行处理和分析,生成各种报表、图表和预警信息&…