关系数据理论

什么是关系数据理论:用来评判数据库逻辑设计“好坏程度”的标准;二是如果逻辑设计中存在“不好”的关系模式,如何将其修改为“好”的关系模式。

函数依赖:举个例子:学生表中,一个学生的学生号确定了,学生的姓名及其他属性值也就被唯一地确定了所以有这样的函数依赖:Sno---->Sname,Sno--->School.

但是函数依赖也分好坏:假如如下有一个函数依赖关系:

当一个学生学号确定下来了,相应的学院和院长信息也被确认了,学生学号和课程编号可确认一个成绩值。下面的关系表如下:

评价函数依赖可以从如下四个方面进行:

1.数据冗余:比如院长姓名重复出现,浪费存储空间。

2.更新异常:当更新数据库时,更换院长后,要把每一个院长的值给更新。

3.插入异常:一个学院刚成立,没有学生,那么此时院长信息也无法插入。

4.删除异常,如果一个学院学生全都毕业了,则在删除信息的同时,也把院长信息给删除了。

部分函数依赖:若X->Y但是Y不完全函数依赖于X,则称Y对X部分函数依赖。比如(学生学号,课程号)--->可以唯一决定一个学院,但是对于学院来说是对(学生学号,课程号)是部分函数依赖。

因为学生学号--->学院名称,然而学生学号只是(学生学号,课程号)属性组的真子集。

完全函数依赖:X----->Y,但是X中的真子集却无法满足可以唯一确定Y。

传递依赖:X->Y,  Y->Z所以X->Z.

候选码:可以唯一决定一个元组的属性或者属性组就叫做候选码。R(U,F),K是属性组U中的真子集,且K->U,U完全依赖于K,而不是部分完全依赖于K。

超码:存在一个关系R(U,F),有K->U,U部分完全依赖于K,那么就把关系/关系组K叫做此关系的超码。

主码:如果候选码多于一个,则选择其中的一个作为主码。

外码:关系R中有X并非R的码,而是另外一个关系中的码。

全码:一个关系中的码包括了这个关系中的全部属性。

范式:符合某一种级别的关系模式的集合。

规范化:一个低一级别的关系模式通过通过模式分解可以分解成若干个更高级别的范式的关系模式的集合。

1NF,2NF,3NF,BCNF,4NF.从左到右级别越高,而且级别低的包含了级别高的关系模式。

1NF:作为二维表,关系要符合一个最基本的条件是每一个分量必须是不可分的数据项。

 

2NF:当一个关系属于1NF,然后每一个非主属性都完全函数依赖于任一一个候选码。

举个例子:下面的例子就不符合一个2NF关系,因为对于住所和学院这两个非主属性码部分函数依赖于候选码(学生号,课程号)。

可以将其进行分解,分解后成为:这时就符合每一个非主属性完全函数依赖于码。

3NF:在2NF的基础上,加上一条每一个非主属性值也不部分函数依赖于任意一个码。用上面的图解释:Sno->School,School->Sloc,那么Sloc传递依赖于Sno。所以不符合3NF。

BCNF:

多值依赖:举个例子:(属性1,属性2)---->属性3,属性3仅仅由属性1决定,无论属性2的值取什么都不改变。跟部分函数依赖的区别在于:部分函数依赖它的属性2的值跟属性3的值是挂钩的。

定义:X->->Y成立,当且仅当对R(U,F)的任一关系r(某一行),给定的一对(x,z)值,有一组Y,这组值仅仅决定于x值而与z值无关。

在这个例子中:李勇,王军这些授课老师的值和参考资料的取值毫无关系,只与所教科目有关系:物理。

平凡的多值依赖:若X->->Y,且Z为空,X,Y,Z都是U的子集,X+Y+Z=U,则称X_>->Y为平凡的多值依赖。

4NF:如果在符合1NF的基础上,关系R的每个非平凡多值依赖X->->Y(Y不是X的真子集),X都含有候选码。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Arduino平台软硬件原理及使用——无源蜂鸣器模块的使用

文章目录 一、蜂鸣器发声原理 二、无源蜂鸣器与有源蜂鸣器的区分 三、无源蜂鸣器模块在Arduino中的使用 一、蜂鸣器发声原理 上图为常见的不同封装及规格的蜂鸣器。 同蜜蜂、知了等昆虫发声原理一样,蜂鸣器同样靠振动来发出声音; 如上图为无源蜂鸣器的内…

whiteboard - 笔记

1 drawio draw.io GitHub - jgraph/drawio: draw.io is a JavaScript, client-side editor for general diagramming. 2 demo 可以将XML数据保存到服务器上的data目录。需要在服务器端创建一个接收和处理POST请求的脚本,该脚本将接收到的SVG数据保存到指定的文件中。下面是…

subversion

subversion Install # CentOS安装Subversion yum install subversion mkdir /var/svn/ systemctl restart svnserve# Docker安装Subversion(参考:https://github.com/garethflowers/docker-svn-server) docker run \--name my-svn-server \…

《C++ Primer》导学系列:第 6 章 - 函数

6.1 函数基础 6.1.1 基本概念 函数是C程序的基本组成单元,用于将代码组织成可以复用的模块。函数通过函数名进行调用,并且可以接受参数和返回值。函数的定义包括函数头和函数体,其中函数头描述了函数的接口,函数体包含了具体的实…

RabbitMQ 开发指南

连接RabbitMQ 连接方式一: 也可以选择使用URI的方式来实现 连接方式二: Connection接口被用来创建一个Channel,在创建之后,Channel可以用来发送或者接收消息。 Channel channel conn.createChannel();使用交换器和队列 声明…

基于Java的留守儿童爱心网站

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:B/S结构,SpringBoot框架 工具:MyEclipse,Navicat,To…

全球森林碳通量(2001-2023年)数据集

简介 全球森林碳通量(2001-2023) 森林碳净通量表示 2001-2023 年间森林与大气之间的碳净交换量,计算方法是模型期内森林排放的碳与森林清除(或封存)的碳之间的平衡(兆克 CO2 排放量/公顷)。碳净…

【PB案例学习笔记】-20制作一个超链接按钮

写在前面 这是PB案例学习笔记系列文章的第19篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…

【机器学习】基于稀疏识别方法的洛伦兹混沌系统预测

1. 引言 1.1. DNN模型的来由 从数据中识别非线性动态学意味着什么? 假设我们有时间序列数据,这些数据来自一个(非线性)动态学系统。 识别一个系统意味着基于数据推断该系统的控制方程。换句话说,就是找到动态系统方…

生成式AI时代,数据存储管理与成本如何不失控?

无数据,不AI。 由生成式AI掀起的这一次人工智能浪潮,对企业的产品、服务乃至商业模式都有着颠覆性的影响。因此,在多云、大数据、生成式AI等多元技术的驱动下,数据要素变得愈发重要的同时,企业对于数据存储的需求也在…

LabVIEW开发扫描隧道显微镜

扫描隧道显微镜利用量子隧穿效应,通过一个极细的探针在样品表面上进行扫描,测量隧穿电流的变化,以得到样品表面的原子级别图像。探针与样品之间的距离非常小(约1纳米),隧穿电流对距离变化极其敏感&#xff…

全能AI客户端:ChatGPT Web Midjourney Proxy,AI绘画+GPT4o对话

这绝对是目前最全能的 AI 客户端,ui 界面集成 ChatGPT AI 对话、Midjourney AI 画图、Suno AI 音乐等等市面主流的 AI 功能,只需绑定一个 API key 即可使用全部 AI 功能,Midjourney 甚至比官方好用几倍! 项目简介 ChatGPT Web Mi…

【嵌入式开发】STM32+USB的快速开发

目录 一、概述 二、STM32+USB开发流程 2.1 建立新的工程 2.2 系统配置 2.3 时钟配置 2.4 操作系统 2.5 选择USB配置 2.6 在USB_HOST中选择支持的子类(class) 2.7 Clock 配置 三、注意事项 3.1 应用驱动配置 3.2 上电调试基础工作 一、概述 USB作为大家耳熟能详的…

【上海交大】博士生年度进展报告模板

上海交通大学 博士生年度进展报告模板 比较不好找,在交我办中发起申请流程后才能看到链接,链接如下: https://www.gs.sjtu.edu.cn/xzzx/pygl/15

【Python】使用OpenCV特征匹配检测图像中的【特定水印】

如果没有方向 往哪里走都是前方 做自己的光 不需要多亮 曾受过的伤 会长出翅膀 大雨冲刷过的天空会更加明亮 流过泪的眼睛也一样 做自己的光 悄悄的发亮 逆风的方向 更容易飞翔 世界怎样在于你凝视它的目光 那未曾谋面过的远方 或许就在身旁 &#x1f3b5…

洗地机哪个品牌好?四大实力拔尖单品力荐

洗地机哪个品牌好呢?想必姐妹们肯定觉得保持家里清洁是非常重要的,但是每天打扫卫生真的会让人整个都要疯狂,这不,救星洗地机就能派上用场了,干垃圾湿垃圾统统都能一次清理干净。只需轻轻一推,就能把扫地、…

SEO之预估流量及价值(二)

初创企业搭建网站的朋友看1号文章;想学习云计算,怎么入门看2号文章谢谢支持: 1、我给不会敲代码又想搭建网站的人建议 2、新手上云 (接上一篇。。。。) 2、点击率 搜索结果页面各排名位置点击率也不精确。前面介绍的…

思科ospf+rip重发布配置命令

——————————————————————————————————————————— 基础配置 R1 Router>en #进入配置模式 Router#conf #进入配置模式 Router(config)#h…

初识C++ · 继承(1)

目录 前言: 1 继承的概念和定义 2 基类与子类的赋值转换 3 继承中的作用域 4 派生类的默认成员函数 4.1 构造函数 4.2 拷贝构造 4.3 赋值重载 4.4 析构函数 前言: 对于面向对象这门语言的三大特性 -> 封装 继承 多态,我们已经学…

数电逻辑门电路分析和Digital仿真

文章目录 1. 逻辑门电路 2. 非门(NOT Gate) 3. 与门(AND Gate) 4. 或门(OR Gate) 5. 与非门(NAND Gate) 6. 或非门(NOR Gate) 7. 异或门(XO…