| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 【数据库系统设计,和网易大牛的技术面谈 -> 正文阅读 |
|
[大数据]【数据库系统设计,和网易大牛的技术面谈 |
数据依赖对关系模式的影响
关系模式的形式化定义:R ( U, D, DOM, F )
关系模式的简化表示:R<U, F> 将关系模式简化为一个三元组,影响数据库模式设计的主要是 U 和 F。 当且仅当 U 上的一个关系 r 满足 F 时,r 称为关系模式 R(U, F) 的一个关系。 例如:关系模式 STUDENT<U, F>
如何解决关系模式中存在的问题? 规范化理论 — 找出关系模式中不合适的数据依赖,消除它们,可以在不同程度上解决插入异常、删除异常、更新异常和数据冗余问题。 ===================================================================================== 1.函数依赖定义: 设 R(U) 是一个属性集 U 上的关系模式,X 和 Y 是 U 的子集。若对于 R(U) 的任意一个可能的关系 r,r 中不可能存在两个元组在 X 上的属性值相等, 而在 Y 上的属性值不等则称 “X函数确定Y” 或 “Y函数依赖于X” ,记作X → Y。X 称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。 反例: 问:由下面的关系表, 能否得出 Sname → Sno ? 答:只由关系表不能得出依赖关系。函数依赖不是指关系模式R的某个或某些关系实例r满足的约束条件,而是指R的所有关系实例r均要满足的约束条件。 如何确定函数依赖? 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。
数据库设计者可以对现实世界作强制的规定。
函数依赖是指关系模式R在任何时刻的关系实例均要满足的约束条件。
2.平凡函数依赖与非平凡函数依赖定义: 示例: 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖。 3.完全函数依赖与部分函数依赖定义: 示例: 4.传递函数依赖定义: 示例: 候选码、超码候选码、超码定义: 候选码、超码示例: 主码主属性、非主属性主属性、非主属性定义: 主属性、非主属性示例: 全码外码外码定义: 外码示例:
范式的种类:
各种范式之间存在联系: 第一范式: 1NF的定义:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据模式。(不能表中有表) 只满足第一范式的关系模式并不一定是一个好的关系模式。 2NF定义: 2NF示例: 一个关系模式R不属于2NF,就会产生问题。 原因: SLC(Sno, Sdept, Sloc, Cno, Grade) 中 Sdept、 Sloc 部分函数依赖于码。SLC的码为(Sno, Cno) 2NF的问题3NF的定义: 3NF示例: 3NF的性质: 3NF的问题BC范式定义: BC范式示例: BC范式的性质: ================================================================================ Armstrong公理系统: 导出规则: 函数依赖闭包闭包 F+ 定义: X关于函数依赖集F的闭包XF+定义: 求属性集X 关于F的闭包XF+算法: 示例: Armstrong公理系统的有效性与完备性: 函数依赖集等价的概念函数依赖集等价定义: 最小依赖集最小依赖集定义: 最小依赖集例题: 求出了A+,发现 B 是冗余的。 求出 B+,B 不是冗余的。 这边一眼就能看出来了,所谓求XX的闭包不过是种说法罢了,千万不要被思维定式。 F 的最小依赖集 Fm 不一定是唯一的。 ============================================================================ 模式分解示例1.具有无损连接性的模式分解定义: 面试资料整理汇总 这些面试题是我朋友进阿里前狂刷七遍以上的面试资料,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考。 CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】 面试的本质不是考试,而是告诉面试官你会做什么,所以,这些面试资料中提到的技术也是要学会的,不然稍微改动一下你就凉凉了 shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70) 1.具有无损连接性的模式分解定义: 面试资料整理汇总 [外链图片转存中…(img-er9i6O78-1630857563891)] [外链图片转存中…(img-bjY2T5Q7-1630857563892)] 这些面试题是我朋友进阿里前狂刷七遍以上的面试资料,由于面试文档很多,内容更多,没有办法一一为大家展示出来,所以只好为大家节选出来了一部分供大家参考。 CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】 面试的本质不是考试,而是告诉面试官你会做什么,所以,这些面试资料中提到的技术也是要学会的,不然稍微改动一下你就凉凉了 在这里祝大家能够拿到心仪的offer! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:45:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |