数据库期末复习(10)数据库规范化理论

news2024/10/6 2:32:10

 函数依赖(概念):FD

范式分解(评估准则):

模式分解(工具):

函数依赖

  • 如何衡量一个数据库好不好:准确 高效
  • 如果一个数据库设计的不好的话的,会带来哪些问题 删除异常 数据冗余
  • 为什么会导致出现上方的问题:数据依赖
  • 数据依赖的分类:完全依赖,部分依赖,传递依赖和相应的定义
  • Armstrong公理,能将定理推导出公理
  • 在实际数据库设计中,函数依赖 是语义上的函数依赖 不是实际的穷举依赖

函数依赖的类型

  1. 平凡函数依赖:就是大家一眼能看出来的不用特殊说明

  2. 非平凡函数依赖: X->Y并且没有包含关系的函数依赖

  3. 完全函数依赖看下图

 

Armstrong公理系统 

  • 自反率
  • 增广率
  • 传递率

利用属性集闭包证明函数依赖 

 定义候选键:完全依赖

 由于系主任和乘积是闭包的子集所以 结论成立

等价函数依赖集

覆盖

方法通过闭包.

最小覆盖 

大数据班级有41个人 在保证正确性的情况下,谁的设计最精简 评委的分也就越高。

算法  

c++代码实现

关系规范化之求最小函数依赖集(最小覆盖)__TFboy的博客-CSDN博客

 关系模式中的范式

数据库在实际应用中在规范无损连接和函数依赖做平衡一直在平衡。

范式描述数据的规范化程度

三种范式的确点和相应的解决方法。

1NF 

 实体的完整性使插入变得困难不能插入 删除必须整条元组都删除 数据修改变得很复杂  数据冗余

 2NF

对于1nf的弊端和解决方法 其实就是2NF的方法

 2NF方法的特点

 3NF特点

直接依赖于候选键没有什么传递的

 

 计划明天更新关系的分解

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

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

相关文章

OpenCV实战(26)——视频序列处理

OpenCV实战(26)——视频序列处理 0. 前言1. 读取视频序列2. 处理视频帧2.1 视频处理2.2 自定义视频处理类 VideoProcessor2.3 处理一系列图像2.4 使用帧处理器类 3. 存储视频序列3.1 存储视频文件3.2 修改 VideoProcessor 类3.3 编解码器四字符编码 4. 完…

第九章:子查询

第九章:子查询 9.1:子查询的基本使用 子查询的基本语法结构 SELECT .... FROM .... WHERE expr operator (SELECT ...FROM ...WHERE ...);子查询(内查询)在主查询之前一次执行完成。子查询的结果被主查询(外查询)使用。注意事项 子查询要包含在括号内。…

【JavaSE】Java(五十五):核心要点总结

文章目录 1. 为什么不允许静态方法访问非静态变量2. Java的内存模型3. 在Java中什么时候用重载什么时候用重写4. 举例说明什么情况下更倾向于用抽象类而不是接口5. 实例化对象有哪几种方式 1. 为什么不允许静态方法访问非静态变量 在Java中,静态方法属于类级别的方法…

【HTML】第 4 节 - 列表标签

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。 目录 1、缘起 2、列表 3、无序列表 4、有序列表 5、定义列表 6、总结 1、缘起 微信小程序的列表标签是一种用于展示多个数据项的…

量子 AI,是融合还是颠覆?

光子盒研究院 前言:如今,量子技术早已走出实验室、广泛赋能电力、化学、医学等各个领域;创新赛道上,加速奔跑的量子产业,将带来无限可能。现在,光子盒特开启「量子」专栏,一一解读量子技术将为下…

chatgpt赋能python:Python安装教程:从下载到配置

Python安装教程:从下载到配置 Python作为一门高级编程语言,越来越受到开发人员的欢迎。Python的灵活性和易用性,让许多人选择Python作为他们的程序语言。本文将详细介绍Python安装教程,帮助初学者轻松入门。 1. 下载Python安装包…

【JavaSE】Java(五十四):核心要点总结

文章目录 1. try-catch-finally中 如果 catch 中 return 了,finally 还会执行吗?2. 常见的异常类有哪些3. hashcode 是什么 ,有什么作用4. java中操作字符串有哪些类,他们之间有什么区别5. Java 中有哪些引用类型 1. try-catch-finally中 如…

$2$驱动模块

目录 1.驱动模块(驱动程序的框架) 2.内核中的打印函数(编写第一个驱动程序) Source Insight 使用: 打印函数编写 分析 3.驱动的多文件编译 4.模块传递参数 安装好驱动之后如何传参? 多驱动之间调用&…

智能照明控制系统在现代建筑工程中的应用 安科瑞 许敏

摘要: 文章分析了在现代建筑工程中智能照明控制系统所具有的优越性,并对如何解决该技术在实际应用中遇到的问题提出了看法与建议。 关键词:智能照明 控制系统 应用节能 引言 随着人们的物质和精神生活水平不断提高,对生活的追求…

MMC整流器Matlab仿真模型子模块个数N=18(含技术文档)

资源地址: MMC整流器Matlab仿真模型子模块个数N=18(含技术文档)资源-CSDN文库 模型介绍: 1.MMC工作在整流侧,子模块个数N=18,直流侧电压Udc=25.2kV,交流侧…

算法设计与分析期末复习(二)

动态规划 基本思想:把求解的问题分成许多阶段或多个子问题,然后按顺序求解各个子问题。**前一个子问题的解为后一个子问题的求解提供了有用的信息。**在求解任何一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优…

Linux面试题汇总

Linux面试题汇总 网络拓展Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别&#…

javaScript蓝桥杯----外卖给好评

目录 一、介绍二、准备三、⽬标四、代码五、完成 一、介绍 外卖是现代⽣活中必备的⼀环。收到外卖后,各⼤平台软件常常会邀请⽤户在⼝味,配送速度等多个⽅⾯给与评分。在 element-ui 组件中,已经有相应的 Rate 组件,但是已有组件…

前端052_单点登录SSO_单点退出系统

单点退出系统 1、 需求分析2、EasyMock 添加退出系统模拟接口3、定义Api调用退出接口4、定义 Vuex 退出行为1、 需求分析 所有应用系统退出,全部发送请求到当前认证中心进行处理,发送请求后台删除用户登录数据,并将 cookie 中的用户数据清除。 2、EasyMock 添加退出系统模拟…

大数据分析案例-基于LightGBM算法构建银行客户流失预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

第四章:运算符

第四章:运算符 4.1:算术运算符 ​ 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达值,对数值或表达式进行加()、减(-)、乘(*)、除(/)、取模(%)运算。 运算符名称作用示例加法运算符计算两个值或表达式的和SE…

chatgpt赋能python:Python如何遍历文件:一篇完整的指南

Python如何遍历文件: 一篇完整的指南 在进行文件操作时,遍历文件是相当普遍的需求。Python中提供了多种方法来遍历文件夹和文件,包括os模块,glob模块和os.walk方法。这篇文章将会介绍这些方法及其应用。 什么是遍历文件? 遍历文…

使用 ConstraintLayout

ConstraintLayout解析 1.前言2.了解ConstraintLayout3.基本用法3.1 看一个布局3.2再看一个布局 1.前言 你是不是一直不敢用ConstraintLayout,是以为属性太多太复杂?你心理上的惰性,畏惧它。它其实很好用很强大,如果要用就需要一个…

Day_40关于图的总结

一. 实际问题的抽象与建模 如果我们需要研究一个实际问题,首先第一步就是对这个实际问题进行抽象,抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体地说,抽象就是人们在实践的基础上&#xff0c…

Java中的金钱陷阱

前言 有多少小伙伴是被标题 骗 吸引进来的呢,我可不是标题党,今天的文章呢确实跟”金钱“有关系。 但是我们说的不是过度追求金钱而掉入陷阱,而是要说一说在Java程序中,各种跟金钱运算有关的陷阱。 日常工作中我们经常会涉及到…