【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第二次作业

1

F = { A B → C , B → D , C D → E , C E → G H , G → A } F=\{AB\rightarrow C,B\rightarrow D, CD\rightarrow E, CE\rightarrow GH, G\rightarrow A \} F={ABC,BD,CDE,CEGH,GA},用推理的方法证明 F ∣ = A B → G F\;|=AB\rightarrow G F=ABG

① 已知 B → D B\rightarrow D BD,则 A B → A D AB\rightarrow AD ABAD(增广律)

② 已知 A B → A D AB\rightarrow AD ABAD,则 A B → D AB\rightarrow D ABD (分解规则)

③ 已知 A B → C AB\rightarrow C ABC A B → D AB\rightarrow D ABD,则 A B → C D AB\rightarrow CD ABCD (合成规则)

④ 已知 A B → C D AB\rightarrow CD ABCD C D → E CD\rightarrow E CDE,则 A B → E AB\rightarrow E ABE (传递律)

⑤ 已知 A B → E AB\rightarrow E ABE A B → C AB\rightarrow C ABC,则 A B → C E AB\rightarrow CE ABCE (合成规则)

⑥ 已知 C E → G H CE\rightarrow GH CEGH,则 C E → G CE\rightarrow G CEG (分解规则)

⑦ 已知 A B → C E AB\rightarrow CE ABCE C E → G CE\rightarrow G CEG,则 A B → G AB\rightarrow G ABG (传递律)

注意区别”传递律“与”传递函数依赖“。

2

设关系模式 R ( A , B , C , D ) R(A,B,C,D) R(A,B,C,D),其函数依赖集为 F = { A → B , B → C , A → D , D → C } F=\{A\rightarrow B, B\rightarrow C, A\rightarrow D, D\rightarrow C\} F={AB,BC,AD,DC} R R R 的一个分解 ρ = { R 1 ( A , B ) , R 2 ( A , C ) , R 3 ( A , D ) } \rho = \{R_1(A,B), R_2(A,C), R_3(A,D)\} ρ={R1(A,B),R2(A,C),R3(A,D)}

(1)求 F F F ρ \rho ρ 的每个模式上的投影

F F F 在关系模式 R 1 ( A , B ) R_1(A,B) R1(A,B) 上的投影为 { A → B } \{A\rightarrow B\} {AB} F F F 在关系模式 R 2 ( A , C ) R_2(A,C) R2(A,C) 上的投影为 { A → C } \{A\rightarrow C\} {AC} F F F 在关系模式 R 3 ( A , D ) R_3(A,D) R3(A,D) 上的投影为 { A → D } \{A\rightarrow D\} {AD}

(2) ρ \rho ρ 相对于 F F F 是无损连接吗?

ABCD
a1a2b13→a3b14→a4
a1b22→a2a3b24→a4
a1b32→a2b33→a3a4

其中,红色对应 F F F 中的 A → B A\rightarrow B AB蓝色对应 F F F 中的 B → C B\rightarrow C BC绿色对应 F F F 中的 A → D A\rightarrow D AD,此时 F F F 中的 D → C D\rightarrow C DC 不影响表格。

由于存在某一行全为 a a a,所以 ρ \rho ρ 相对于 F F F 是无损连接。

当分解只包括两个关系模式时,可以使用定理”分解 ρ = { R 1 , R 2 } \rho=\{R_1, R_2\} ρ={R1,R2},若 F ∣ = ( R 1 ∩ R 2 ) → ( R 1 − R 2 ) F|=(R_1\cap R_2)\rightarrow (R_1-R_2) F=(R1R2)(R1R2) 或者 F ∣ = ( R 1 ∩ R 2 ) → ( R 2 − R 1 ) F|=(R_1\cap R_2)\rightarrow (R_2-R_1) F=(R1R2)(R2R1),则 ρ \rho ρ 具有无损连接性“判断是否为无损连接。

(3) ρ \rho ρ 保持函数依赖吗?

A + = A B C D A^+=ABCD A+=ABCD B + = B C B^+=BC B+=BC C + = C C^+=C C+=C D + = C D D^+=CD D+=CD

考察 A → B A\rightarrow B AB A ⊂ R 1 A\subset R_1 AR1 A + ∩ R 1 − A = { B } A^+ \cap R_1-A=\{B\} A+R1A={B} G = { A → B } G = \{A\rightarrow B\} G={AB};同理 A ⊂ R 2 A\subset R_2 AR2 G = G ∪ { A → C } G = G\cup \{A\rightarrow C\} G=G{AC} A ⊂ R 3 A\subset R_3 AR3 G = G ∪ { A → D } G = G\cup \{A\rightarrow D\} G=G{AD} G = { A → B , A → C , A → D } G = \{A\rightarrow B,A\rightarrow C,A\rightarrow D\} G={AB,AC,AD}

考察 B → C B\rightarrow C BC B ⊂ R 1 B\subset R_1 BR1 B + ∩ R 1 − B = ϕ B^+\cap R_1 - B = \phi B+R1B=ϕ G G G 不变。

考察 A → D A\rightarrow D AD 类似于 A → B A\rightarrow B AB G = G ∪ { A → B , A → C , A → D } G = G\cup \{A\rightarrow B,A\rightarrow C,A\rightarrow D\} G=G{AB,AC,AD} G G G 不变。

考察 D → C D\rightarrow C DC D ⊂ R 3 D\subset R_3 DR3 D + ∩ R 1 − D = ϕ D^+\cap R_1 - D = \phi D+R1D=ϕ G G G 不变。

最终 G = { A → B , A → C , A → D } G = \{A\rightarrow B,A\rightarrow C,A\rightarrow D\} G={AB,AC,AD}

显然 G G G 不蕴含 F F F 中的函数依赖 B → C B\rightarrow C BC D → C D\rightarrow C DC,所以 ρ \rho ρ 没有保持函数依赖。

3

1NF、2NF、3NF 和 BCNF 的定义:

1NF:如果一个关系模式 R R R 中的每个属性 A A A 的域值都是原子的,即属性值是不可再分的,则关系模式 R R R 属于第一范式,简记为 R ∈ 1 N F R\in {\rm 1NF} R1NF

2NF:如果 R ∈ 1 N F R∈{\rm 1NF} R1NF所有的非主属性完全依赖于 R R R 的每个键,则 R ∈ 2 N F R∈{\rm 2NF} R2NF

3NF:如果 R ∈ 1 N F R\in {\rm 1NF} R1NF 且在 R R R没有非主属性传递依赖于 R R R 的键,则 R ∈ 3 N F R∈\rm 3NF R3NF

BCNF:如果 R ∈ 1 N F R∈\rm 1NF R1NF R R R没有任何属性传递依赖于 R R R 的任何一个键,则 R ∈ B o y c e − C o d d R∈\rm Boyce-Codd RBoyceCodd 范式(BCNF)。

注意,传递依赖的定义:设关系模式 R R R X X X Y Y Y Z Z Z R R R 的属性子集,若函数依赖 X → Y X\rightarrow Y XY Y ↛ X Y\nrightarrow X YX Y → z Y\rightarrow z Yz,则有 X → Z X\rightarrow Z XZ

指出下列关系模式是第几范式,并说明理由。

(1) R ( A , B , C ) R(A,B,C) R(A,B,C),其函数依赖集为 F = { B → C , A C → B } F=\{B\rightarrow C, AC\rightarrow B\} F={BC,ACB}

确定 R R R 的键, A + = A A^+ = A A+=A B + = B C B^+ = BC B+=BC C + = C C^+=C C+=C ( A B ) + = A B C (AB)^+=ABC (AB)+=ABC ( A C ) + = A B C (AC)^+=ABC (AC)+=ABC,所以键为 A B AB AB A C AC AC。关系模式 R R R 无非主属性,因此 R ∈ 2 N F R\in \rm 2NF R2NF R ∈ 3 N F R\in 3\rm NF R3NF。但是由于 A C → B AC\rightarrow B ACB B ↛ A C B\nrightarrow AC BAC B → C B\rightarrow C BC ,存在传递依赖,故 R ∉ B C N F R\notin \rm BCNF R/BCNF

(2) R ( A , B , C ) R(A,B, C) R(A,B,C),其函数依赖集为 F = { A B → C } F=\{AB\rightarrow C\} F={ABC}

( A B ) + = A B C (AB)^+ = ABC (AB)+=ABC,显然 R R R 的键为 A B AB AB,即 A A A B B B 为主属性, C C C 为非主属性。 A B → C AB\rightarrow C ABC C C C 完全依赖于键 A B AB AB R ∈ 2 N F R\in 2\rm NF R2NF。不存在传递依赖, R ∈ 3 N F R\in 3\rm NF R3NF R ∈ B C N F R\in \rm BCNF RBCNF

(3) R ( A , B , C ) R(A,B,C) R(A,B,C),其函数依赖集为 F = { A → B , A → C } F=\{A\rightarrow B, A\rightarrow C\} F={AB,AC}

R R R 的键为 A A A A A A 为主属性, B B B C C C 为非主属性。 B B B C C C 完全依赖于 A A A R ∈ 2 N F R\in \rm 2NF R2NF。不存在传递依赖,, R ∈ 3 N F R\in 3\rm NF R3NF R ∈ B C N F R\in \rm BCNF RBCNF

(4) R ( A , B , C , D ) R(A,B,C,D) R(A,B,C,D),其函数依赖集为 F = { A → C , A D → B } F=\{A\rightarrow C, AD\rightarrow B\} F={AC,ADB}

R R R 的键为 A D AD AD A A A D D D 为主属性, B B B C C C 为非主属性。 B B B 完全依赖于键 A D AD AD,但是 C C C 部分依赖于键 A D AD AD,所以 R ∉ 2 N F R\notin 2\rm NF R/2NF

(5) R ( A , B , C ) R(A,B,C) R(A,B,C),其函数依赖集为 F = { B → C , B → A , A → B C } F=\{B\rightarrow C, B\rightarrow A, A\rightarrow BC\} F={BC,BA,ABC}

A + = B + = A B C A^+=B^+=ABC A+=B+=ABC,所以键为 A A A B B B C C C 为非主属性。根据分解规则可知 A → C A\rightarrow C AC C C C 完全依赖于 A A A,又 B → C B\rightarrow C BC C C C 完全依赖于 B B B,所以 R ∈ 2 N F R\in 2\rm NF R2NF。因为 A → B A\rightarrow B AB B → A B\rightarrow A BA,尽管 A → C A\rightarrow C AC(或 B → C B\rightarrow C BC),但是不满足传递依赖的定义,所以不存在传递依赖,故 R ∈ 3 N F R\in 3\rm NF R3NF R ∈ B C N F R\in \rm BCNF RBCNF

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

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

相关文章

持续集成交付CICD:使用Maven命令上传Nexus制品

目录 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) 2.使用Maven命令上传Nexus制品(第二种方式) 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) (1)指定一个 hoste…

说说React jsx转换成真实DOM的过程?

在React中,JSX(JavaScript XML)是一种语法糖,用于描述用户界面的结构和组件关系。当你编写React组件并包含JS JSX解析:React中的JSX代码首先会被解析成JavaScript对象。这个过程通常是通过Babel等工具进行的&#xff0…

Flutter视频播放器在iOS端和Android端都能实现全屏播放

Flutter开发过程中,对于视频播放的三方组件有很多,在Android端适配都挺好,但是在适配iPhone手机的时候,如果设置了UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight都为false的情况下,无法…

pytorch 笔记:dist 和 cdist

1 dist 1.1 基本使用方法 torch.dist(input, other, p2) 计算两个Tensor之间的p-范数 1.2 主要参数 input输入张量other另一个输入张量p范数 input 和 other的形状需要是可广播的 1.3 举例 import torchxtorch.randn(4) x #tensor([ 1.2698, -0.1209, 0.0462, -1.3271…

基于PaddleOCR银行卡识别实现(四)之uni-app离线插件

目的 在前三篇文章中完成了银行卡识别整个模型训练等工作,通过了解PaddleOCR的端侧部署,我们也可以将银行卡号检测模型和识别模型移植到手机中,做成一款uni-app手机端离线银行卡号识别的应用。 准备工作 为了不占用过多篇幅,这…

Nginx的性能优化、安全以及防盗链配置

目录 一、nginx的日志分割 二、nginx性能优化之启用epoll模型 三、nginx性能优化之设置worker进程数并与cpu进行绑核 四、nginx性能优化之调整worker的最大打开文件数和最大处理连接请求数量 五、nginx性能优化之启用gzip压缩,提高传输,减少带宽 六…

字节iconpark基于vue使用

1.安装 npm i icon-park/vue 2.导入 说明:导入并在main.js使用。 import { install } from icon-park/vue/es/all; import icon-park/vue/styles/index.css; Vue.use(install) 3.打开官网 ByteDance IconPark 4.复制 说明:点击官方图标库&#xff0c…

Java-JDBC操作MySQL

Java-JDBC操作MySQL 文章目录 Java-JDBC操作MySQL一、Java-JDBC-MySQL的关系二、创建连接三、登录MySQL四、操作数据库1、返回型操作2、无返回型操作 练习题目及完整代码 一、Java-JDBC-MySQL的关系 #mermaid-svg-B7qjXrosQaCOwRos {font-family:"trebuchet ms",verd…

国产Type-C PD芯片—接口快充取电芯片

常用USB PDTYPE-C受电端,即设备端协议IC芯片(PD Sink,也叫PD诱骗芯片),诱导取电芯片。 产品介绍 LDR6328: ◇ 采用 SOP-8 封装 ◇ 兼容 USB PD 3.0 规范,支持 USB PD 2.0 ◇ 兼容 QC 3.0 规范&#x…

TailwindCSS 支持文本文字超长溢出截断、文字文本省略号

前言 文本文字超长截断并自动补充省略号,这是前端日常开发工作中常用的样式设置能力,文字超长截断主要分为单行超长截断和多行超长截断。本文通过介绍基本CSS样式、tailwindcss 类设置两种基础方式来实现文字超长截断。 TailwindCSS 设置 单行文字超长…

WPF仿网易云搭建笔记(2):组件化开发

文章目录 前言专栏和Gitee仓库依赖属性实战:缩小,全屏,关闭按钮依赖属性操作封装主窗口传递this本身给TitleView标题控件主要代码MainWindow.xmalMainWindow.cs依赖属性方法封装TitleView.csTitleViewModelTitleViewModel实现效果 前言 这次…

基于以太坊的智能合约开发Solidity(函数继承篇)

参考教程:【实战篇】1、函数重载_哔哩哔哩_bilibili 1、函数重载: pragma solidity ^0.5.17;contract overLoadTest {//不带参数function test() public{}//带一个参数function test(address account) public{}//参数类型不同,虽然uint160可…

发送、接收消息,界面不及时刷新

发送、接收消息后 UI 没展示,不及时刷新,大概率 是 SDK 的 UI 刷新功能被干扰,参考下面排查: 检查 initWithAppkey 和 connectWithToken 使用的是否是 IMKit 核心类 RCIM 的方法,如果不是,请换成 RCIM 的。…

【刷题】位运算

2 n 2^n 2n 1<<n判断某一位是否为1 s&1<<k将上面两个组合&#xff0c;可以得到判断一个集合中哪些内容包含&#xff0c;遍历所有情况。 100140. 关闭分部的可行集合数目 一个公司在全国有 n 个分部&#xff0c;它们之间有的有道路连接。一开始&#xff0c;…

CentOS 7 离线安装达梦数据库8.0

前期准备工作 确认操作系统的版本和数据库的版本是否一致 ## 查看系统版本&#xff1a;cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)关闭防火墙和Selinux # 查看selinux是不是disabled / enforce cat /etc/selinux/config## 查看防火墙状态 firewall-cmd …

数据结构之归并排序及排序总结

目录 归并排序 归并排序的时间复杂度 排序的稳定性 排序总结 归并排序 归并排序大家只需要掌握其递归方法即可&#xff0c;非递归方法由于在某些特殊场景下边界难控制&#xff0c;我们一般很少使用非递归实现归并排序。那么归并排序的递归方法我们究竟是怎样实现呢&#xff…

PHP医院手术麻醉系统源码,laravel、vue2 、mysql技术开发,自主知识产权,二开快捷

医院手术麻醉系统全套源码&#xff0c;有演示&#xff0c;自主知识产权 技术架构&#xff1a;PHP、 js 、mysql、laravel、vue2 手术麻醉临床信息管理系统是数字化手段应用于手术过程中的重要组成部分&#xff0c;用数字形式获取并存储手术相关信息&#xff0c;既便捷又高效。…

每日一练2023.12.10—— 倒数第N个字符串【PTA】

题目链接&#xff1a;L1-050 倒数第N个字符串 题目要求&#xff1a; 给定一个完全由小写英文字母组成的字符串等差递增序列&#xff0c;该序列中的每个字符串的长度固定为 L&#xff0c;从 L 个 a 开始&#xff0c;以 1 为步长递增。例如当 L 为 3 时&#xff0c;序列为 { a…

Qt Creator设置IDE的字体、颜色、主题样式

Qt是一款开源的、跨平台的C开发框架&#xff0c;支持Windows、Linux、Mac系统&#xff0c;从1995发布第一版以来&#xff0c;发展迅猛&#xff0c;最开始是用于Nokia手机的Symbian(塞班)系统和应用程序开发&#xff0c;现在是用于嵌入式软件、桌面软件(比如WPS、VirtualBox)、A…

【图论笔记】克鲁斯卡尔算法(Kruskal)求最小生成树

【图论笔记】克鲁斯卡尔算法&#xff08;Kruskal&#xff09;求最小生成树 适用于 克鲁斯卡尔适合用来求边比较稀疏的图的最小生成树 简记&#xff1a; 将边按照升序排序&#xff0c;选取n-1条边&#xff0c;连通n个顶点。 添加一条边的时候&#xff0c;如何判断能不能添加…