数据模型的范式化和反范式化简述

范式化模型

 范式化模型要求满足下面三大范式:

 

  1. 每个字段只包含最小的信息属性。如果某个字段名称为name-age,value为zhangsan-23,则这个模型不满足第一范式,需要将name-age分为两个属性name和age后才满足第一范式。
  2. (在满足第一范式基础上)模型含有主键,非主键字段依赖主键。比如订单这个模型,它的主键是订单ID,那么订单模型其它字段都应该依赖于订单ID,如商品ID和订单没有直接关系,则这个属性不应该放到订单模型而应该放到"订单-商品"中间表。
  3. (在满足第二范式基础上)模型非主键字段不能相互依赖。订单表(订单编号,定购日期,顾客编号,顾客姓名,……),初看该表没有问题,满足第二范式,每列都和主键列"订单编号"相关,再细看你会发现"顾客姓名"和"顾客编号"相关,"顾客编号"和"订单编号"又相关,最后经过传递依赖,"顾客姓名"也和"订单编号"相关。为了满足第三范式,应去掉"顾客姓名"列,放入客户表中。

反范式化模型

不满足范式的模型,就是反范式模型

 

总结

RDBMS模型设计过程中,常常使用范式约束我们的模型,但在NOSQL模型中则大量采用反范式。

 

 优点缺点
范式化模型因为数据没有冗余,更新容易当查询设计很多关联模型(join)时,会导致查询性能低下
反范式化模型数据冗余将带来很好的读取性能(因为不需要join很多表,而且通常反范式模型很少做更新操作)需要维护冗余数据(但磁盘并不贵,对吗?)

 

P.S. 为了提升数据库性能,我们可以考虑索引、物化视图、缓存等技术,但反范式设计的确是很重要的一种手段。

 

 

参考文章:

 

用实例讲SQL三大范式

SQL三大范式

数据库 三范式最简单最易记的解释

数据库的反范式化(Denormalization)设计

--end

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 数据库系统概述 1.简述数据的概念 数据(data)是指用物理符号记录下来的,可以鉴别的信息,是描述事物的符号记录 。 2.数据库管理系统包括哪些功能 a.数据定义功能 b.数据操纵功能 c.数据库的运行管理功能 d.数据库的建立和维护功能 e.数据组织、存储和管理功能 f.与其他软件的网络通信功能、不同数据库管理系统之间的数据传输以及相互访问功 能等 3.什么是并发控制 并发控制是指当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰 而得到错误结果,并使得数据库的完整性遭到破坏,因为对多用户的并发操作加以控制 和协调。 4.什么是数据模型 数据模型是对现实世界数据特征的抽象,描述的是数据的共性内容 5.简述关系模型的优点 a.关系模型是简历在严格的数学概念的基础上的 b.关系模型的概念单一,统一用关系来表示实体以及实体之间的联系,对数据的检索 和更新结果同样也是用关系(即表)来表示。因为,关系模型的数据结构简单、清晰, 用户易懂,易用。 c.关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性 ,也简化了程序员的工作和数据库开发建立的工作 6.简述物理数据独立性 如果数据库的内模式要修改,即数据库的物理存储如若发生改变,那么数据库管理员 (DBA)通常也会对逻辑模式/内模式映像作相应的调整,以使数据库系统的模式尽可能 保持不变。也就是对内模式的修改尽量不影响逻辑模式,当然对于外模式和应用程序的 影响更小,这样,我们称数据库达到了物理数据独立性。 7.简述数据独立性的概念 数据独立性是指使用数据的应用程序和数据库数据之间相互独立,不受影响。即数 据或应用程序的修改不会引起另一方的修改。 9.什么是三级模式,两级映像,分别有什么作用 三级模式是指数据库系统是由模式、外模式、内模式三级构成的。 两级映像是指 A.模式/内模式映像 定义了数据库全局逻辑结构与物理存储之间的对应关系,这种映像通常是在模式中加 以描述的。 B.外模式/模式映像 定义了各个外模式与概念模式之间的映像关系,这些映像定义通常在各自的外模式中 加以描述。同一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都会 有一个外模式/模式映像 10.数据模型分为哪几层 分为三层。 11.简述数据库系统的特点 数据集成、数据共享性高、数据冗余小、数据一致性、数据独立性高、实施统一的管 理与控制、减少应用程序开发与维护的工作量 第二章 关系数据库 1.关系数据库的基本特征是什么 使用关系数据模型组织数据 2.简述关系模式中可能存在的冗余和异常问题 a.数据冗余 b.更新异常 c.插入异常 d.删除异常 3.请简述关系规范化过程 一个低一级范式的关系模式通过模式分解转换为若干个高一级范式的关系模式的几盒 的过程就叫规范化。在关系数据库系统中,所有的关系结构都必须是规范化的,即至少 是第一范式的。 4.什么是关系模型的完整性约束检验 为了维护关系数据库数据的完整性,在对关系数据库执行插入,删除和更新操作时 ,需要检验食肉满足实体完整化约束、参照完整性约束、用户定义完整性约束三类完整 性约束 5.什么是完全函数依赖 设R为任一给定关系,X、Y为其属性集。若X Y,且对X中的任何真子集X´都有X —/ Y,则称Y完全函数依赖于X 6.什么是部分函数依赖 设R为任一给定关系,X、Y为其属性集。若X Y,且对X中的存在一个真子集X´满足X´ —/ Y,则称Y部分函数依赖于X 7.什么是范式/第一范式/第二范式/第三范式 范式:关系数据库中的关系需要满足一定的要求,不同程度的要求成为不同的范式( NF) 第一范式:设R为任一给定关系,如果R中的每个列与行的交点处的取值都是不可再分 的基本元素,则R为第一范式 第二范式:设R为任一给定关系,若R为1NF,且其所有的非主属性都不传递函数依赖 于候选关键字,则R为第二范式 第三范式:设R为任一给定关系,若R为2NF,且其每一个非主属性都不传递函数依赖 于候选关键字,则R为第三范式 8.元组、分量、码、超码、候选码、主码、全码、主属性、域、关系模式的定义 元祖:表中的一行即为一个元祖 分量:元祖中的一个属性值,成为分量 码(或键):如果在一个关系中,存在这样的属性(或属性组),使得在该关系的任 何一个关系状态中的两个元祖,在该属性(或属性组)上值的组合都不相同,即这些属 性(或属性组)的值都能用来唯一标识该关系的元祖,则称这些属性(或属性组)为该 关系的码(或键)如果在关系的一 超码:如果在关系的一个码中移去某个属性,它仍然是这个关系的码,则称这样的码 或键为该关系的超码(或超键)。一般每个关系至少有一个默认的超码(或超键),即 该关系的所有属性的集合,也是这个关系的最大超码(或超键) 候选码:如
### 回答1: 将E-R模型转换为关系模型的转换原则包括以下几点: 1. 实体转换为关系模型中的表格(即关系),每个实体对应一个表格,表格中的每一行代表一个实体,每一列代表实体的一个属性。 2. 实体属性转换为表格中的列,每个实体属性对应一个列。 3. 实体之间的关系转换为表格之间的关系,即外键。如果一个实体与另一个实体存在一对多的关系,就将多的一方的主键作为少的一方的外键。 4. 将实体之间的多对多关系转换为新的表格,该表格包含这两个实体的主键作为外键。 5. 实体的主键成为表格的主键。如果实体没有主键,就需要创建一个唯一的标识符作为主键。 6. 对于弱实体,它的主键由强实体和一个标识符组成,标识符可以是一个计数器、时间戳或随机数。 7. 对于继承关系,将所有实体属性放在一个表格中,并将子实体的主键作为父实体的外键。 ### 回答2: 将E-R模型转换为关系模型的转换原则有以下几点: 1. 实体转换:E-R模型中的实体集对应关系模型中的表,每个实体的属性对应表的列。关系模型中的每一行代表E-R模型中的一个实体。 2. 属性转换:E-R模型中的属性对应关系模型中表的列,属性的值对应表中每个实体的属性值。 3. 主键转换:E-R模型中实体的主键对应关系模型中表的主键,用于唯一标识每条数据。通常关系模型的主键是关系模型中一个或多个列的组合。 4. 关系转换:E-R模型中的关系对应关系模型中的表,关系中的外键对应关系模型中表的外键。外键用于建立不同表之间的联系,保证数据的一致性和完整性。 5. 多对多关系转换:E-R模型中的多对多关系需要通过引入新的关系模型将其转换为关系模型。这个新的关系模型中的主键由原关系模型中的两个实体模型的主键组成,用于建立两个实体模型之间的联系。 通过以上原则,可以将E-R模型转换为关系模型,从而实现数据的逻辑建模和数据库的设计。这样的设计有助于实现数据的组织、存储和查询,提高数据库的性能和效率。同时,关系模型还可以使用关系代数和关系演算进行数据的操作和处理。 ### 回答3: 将E-R模型转换为关系模型的转换原则主要有以下几个步骤: 1. 实体转换:E-R模型中的实体集转换为关系模型中的表,实体集的每一个属性对应为关系模型中的表的列。如果有实体集之间的联系,需要考虑如何存储这些联系。 2. 属性转换:E-R模型中的属性转换为关系模型中的表的列。属性分为简单属性和复合属性,对应的关系模型中也是将其转换为相应的列。对于多值属性,需要考虑如何处理,可以转换为一个新的表来存储。 3. 关系转换:E-R模型中的关系集可以转换为关系模型中的外键约束。每一个关系集对应为一个表,其中包含关系的主键和外键。外键引用的另一个表的主键。 4. 主键和外键转换:关系模型中的主键和外键是表示实体之间的联系的重要标志。将E-R模型中的实体集和关系集分别转换为关系模型的表,然后根据实体集和关系集之间的联系,确定主键和外键之间的对应关系。 5. 范围转换:E-R模型中的关系集的范围可以转换为关系模型中的数据类型。例如,数值型、字符型、日期型等。 以上是将E-R模型转换为关系模型的基本原则。转换原则的具体操作可以根据具体的需求和数据库管理系统的要求进行调整。转换过程需要考虑的因素很多,例如数据完整性、范式要求等,确保转换后的关系模型能够满足数据的存储和查询需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值