当前位置: 首页 > news >正文

模式分解的概念(下)-无损连接分解的与保持函数依赖分解的定义和判断、损失分解

一、无损连接分解

1、定义

2、检验一个分解是否是无损连接分解的算法

输入与输出

输入:

关系模式R(U,F),F是最小函数依赖集 

R上的一个分解\rho

输出:

判断分解\rho是否为无损连接分解

(1)建立一张k行n列的表,每行对应分解中的一个关系模式R_{i},每列对应一个属性A_{j},若属性A_{j}\in U_{i},则在i行j列处填a_{j},否则填b_{ij}

(2)对形如X\rightarrow Y的函数依赖,检查X属性列上值相同的行,其所对应的Y属性列上的值是否相

同。若Y属性列上的值不相同,则将Y属性列上的符号值改为一致。修改符号值的规则为对应行中1

的Y属性列中如果存在a_{j},则都改为a_{j},否则都改为b_{ij}。整个第(2)步被称为对F的一次扫描

(3)一次扫描后,判断表格中的符号值是否发生改变,如果发生改变,则执行(2),否则算法结

束,特殊的,当表格中的出现某一行的符号值全为a值时算法也结束

定理:\rho为无损连接的充分必要条件是算法终止时,表中有一行为a_{1},a_{2},...,a_{n}

使用定理对表格进行判断,即可得出改分解是无损连接分解还是损失分解

二、无损连接分解的判定定理

举例:无损分解

举例:损失分解

 

三、保持函数依赖分解

1、定义

 2、判断分解\rho是否保存函数依赖的方法

 如果均属于,则分解\rho保存函数依赖,是函数依赖分解

3、举例:

四、小结

1、模式分解的两个特性涉及到了两个数据库模式的等价问题,这种等价包括数据等价和语义等价两个方面, 数据等价是指两个数据库实例表示同样的信息内容,用无损连接分解来衡量语义等价是指两个数据库模式具有相同函数依赖集闭包,数据语义没有丢失,用保持函数依赖来衡量

2、无损连接性保持函数依赖之间没有必然的联系 

 

http://www.lryc.cn/news/379523.html

相关文章:

  • vue3父组件获取子组件的实例对象
  • 主流框架选择:React、Angular、Vue的详细比较
  • 交易者的意义是什么?
  • io_uring
  • 构建高并发Web应用:基于Gunicorn、Flask和Docker的部署指南
  • 【Ruby简单脚本02】双色球系统
  • Netty ByteBuf 使用详解
  • 怎样去掉卷子上的答案并打印
  • 海思SS928/SD3403开发笔记1——使用串口调试开发板
  • JSON数据操作艺术
  • 如何验证Rust中的字符串变量在超出作用域时自动释放内存?
  • 55.Python pip install 安装失败的一个情况Requirement already satisfied
  • Axios进阶
  • C++ 丑数
  • 小山菌_代码随想录算法训练营第三十天|122.买卖股票的最佳时机II、55. 跳跃游戏 、45.跳跃游戏II、1005.K次取反后最大化的数组和
  • SpringMVC系列七: 手动实现SpringMVC底层机制-上
  • 嵌入式web 服务器boa的编译和移植
  • 什么是js?特点是什么?组成部分?
  • Java 面试题:如何保证集合是线程安全的? ConcurrentHashMap 如何实现高效地线程安全?
  • 打工人的PPT救星来了!用这款AI工具,10秒生成您的专属PPT
  • GIT 合拼
  • 利用 Python 和 AI 技术制作智能问答机器人
  • electron系列(一)调用dll
  • VUE3实现个人网站模板源码
  • C语言 | Leetcode C语言题解之第162题寻找峰值
  • 利用pickle保存和加载对象
  • 定制汽车霍尔传感器
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的巡演(100分) - 三语言AC题解(Python/Java/Cpp)
  • ChatGPT 简介
  • 大数据实训室建设可行性报告