数据仓库3级范式(3NF)基础
一、引言
最近在整理理大数据模式下的数据仓库数据模型,资料来自互联网和读过的数据仓库理论和实践相关。
二、3NF
(1)1NF-无重复的列
数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。
说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
(2)2NF-部分依赖
非主属性完全依赖于主键[消除非主属性对主码的部分函数依赖]。
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。例如员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个唯一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是属性完全依赖于主键。
(3)3NF-传递依赖
属性不依赖于其它非主属性[消除传递依赖]。
满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。
转载于:https://www.cnblogs.com/dailidong/p/7571168.html
数据仓库3级范式(3NF)基础相关推荐
- 【数据架构】Netflix 万亿级实时数据基础架构的四个创新阶段
我叫徐振中.我于 2015 年加入 Netflix,担任实时数据基础架构团队的创始工程师,后来领导了流处理引擎团队.我在 2010 年代初对实时数据产生了兴趣,从那时起我就相信还有很多价值有待发掘. ...
- 中大计算机研究生英语免修条件,通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知...
原标题:通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知 各院系: 根据<中山大学文理科研究生公共课管理办法>的规定,对第一外国语水平较高的研究生,可申请在读期间免修免考 ...
- 街上第一台电子计算机是,南京信息工程大学滨江学院2009级《计算机基础》(文科)a试卷(含答案)【最新】.doc...
南京信息工程大学滨江学院2009级<计算机基础>(文科)a试卷(含答案)[最新].doc 南京信息工程大学滨江学院 2009 ─ 2010 学年 第 一 学期 计 算 机 基 础(文) 课 ...
- 2017计算机基础教学大纲,2017级大学计算机基础教学大纲
2017级大学计算机基础教学大纲 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 <大学计算机基础>课程教学大纲一.课 ...
- 计算机应用基础西南大学答案2015,西南大学2013级《计算机应用基础》论述题答案(全).doc...
2013级<计算机应用基础>论述题答案(全) 1.双击打开"我的电脑"-双击打开"D盘"-双击打开文件夹"kaoshi"-在&q ...
- 兰州交通大学计算机考试题,兰州交通大学2013级级大学计算机基础试卷(A卷).doc...
兰州交通大学试卷(主卷) 考试时间:年 月 日 以下有关信息技术的英文缩写中解释不正确的是 A)MIS--管理信息系统B)--统一资源定位器 C)LCD--阴极射线管显示器D)CA--计算机辅助根据冯 ...
- 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模
常见的有 范式建模法.维度建模法.实体建模法等,每种方法从本质上将是从不同的角度看待业务中的问题,不管是从技术层面还是从业务层面,都代表了哲学上的一种世界观. 1 范式建模法(Third Normal ...
- 数据库三范式3NF指什么?
三范式面试的时候问的比较多,概念需要了解下: 数据库设计三大范式 为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结 ...
- 如何在数据库三范式的基础上进行数据库冗余设计
数据库设计过程中不仅要考虑遵循第三范式,还要考虑是否冗余 很多数据库设计书籍都强调数据库设计三范式,而三范式的一个重要工作就是消除冗余,可以消除冗余在大多数情况下是正确的.当在实际的业务模型中,处理复 ...
最新文章
- 如何在电脑中配置jdk环境变量
- python中导入模块用什么命令_Python导入模块的技巧
- 红外协议之NEC协议
- php中的thumb函数,phpcms v9 thumb(缩略图) 函数说明
- 高考进行时,AI 监考老师已就位!
- 多个帐户都用root 来登录 怎么看另一个用户使用的那些命令
- 【python 笔记】集合类型详解
- Linux命令之grep
- oracle启动数据库错误
- Javacv录制视频
- 微信小程序做出 物流签收信息(步骤条) 源码
- 浅析视频云行业及实现技术
- java语言扫雷游戏的实验设计_java扫雷游戏计算机毕业设计中期检查表、中期报告.doc...
- 随机森林分类+随机森林回归+实例:用随机森林回归填补缺失值+机器学习调参思想+实例:随机森林在乳腺癌数据上的调参
- 解决 Win7 远程桌面 已停止工作的问题
- 如何利用python盗qq_一个团队为了让我帮他提高流量,竟然盗我QQ,没办法,我只好帮他用python刷了刷流量!...
- hiber泛型 spring
- 京冀101家饭店跻身北京2022年冬奥会官方接待签约名单
- 红牛农场java代码_Java面向对象程序设计实验指导模板代码(171页)-原创力文档...
- 压缩文件已损坏如何修复