MySql数据库设计

本文介绍了MySQL数据库设计中的三大范式(1NF,2NF,3NF)以及数据规范化的重要性。详细解释了每种范式的概念和如何消除不同类型的依赖,以达到更合理的数据库设计。同时,提到了概念结构设计中的映射基数和E-R图的表示方法。
摘要由CSDN通过智能技术生成

1.三大范式

首先要明白”范式(NF)”是什么意思。按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。数据库范式也分为1NF,2NF,3NF,BCNF,4NF,5NF。一般在我们设计关系型数据库的时候,最多考虑到BCNF就够。符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF。


1.1第一范式:
消除一个字段包含多个数据库值,消除一个记录包含重复的组(单独的一列包含多个项目),即可满足1NF。符合1NF的关系中的每个属性都不可再分。
在这里插入图片描述
1.2第二范式:
消除部分依赖性即可转化为2NF。部分依赖性表示一个记录中包括的字段只依赖于主键的一部分。解决部分依赖性的最简单方法是将复合主键分成两部分,每一部分表示一个单独的表。
在这里插入图片描述
1.3:第三范式:
消除可传递依赖性即可满足3NF。可传递依赖性表示记录中至少一个值不依赖主键,而是依赖于这个记录中的另一个字段。
在这里插入图片描述

2.数据规范化

	关系模式满足的约束条件称为范式。范式由低到高分为:1NF、2NF、3NF、BCNF、4NF、5NF。 

规范化:就是指把一个低一级的关系模式分解为高一级关系模式的过程。
规范化的基本思想:逐步消除不合适的函数依赖,使数据库中的各个关系模式达到某种程度的分离。
函数依赖:通俗的说,就像自变量x确定之后,相应的函数值f(x)也就唯一的确定了一样。
码:给定一个码能完全决定一个元组。一个关系可能有多个码,选其中一个做为主码。包含在任一码中的属性称为主属性。不包含在任何码中的属性称为非主属性。
第一范式(1NF):如果关系中所有属性的值域都是简单域,其元素(属性)不可再分,是属性项不是属性组,那么关系模式属于第一范式。这一限制是关系的基本性质,所以任何关系都必须满足第一范式。
第二范式(2NF):如果一个范式属于1NF,且所有的非主属性都完全的依赖主属性,称为第二范式。可以用分解的方法消除部分依赖的情况,而使关系达到2NF的标准。方法是从现有关系中分解出新的关系表,使每个表中所有的非关键字都完全依赖于各自的主关键字。
(消除部分依赖)
第三范式(3NF):如果一个关系属于2NF,且每个非主属性不传递依赖于主属性,这种关系是3NF。从2NF中消除传递依赖,就是3NF。
(消除部分传递依赖)

3.概念结构设计

映射基数表示通过联系与该实体关联的其他实体的个数。
在这里插入图片描述

4.E-R图

E-R模型的构成成分是实体集、属性和联系集

其表示方法如下:

(1) 实体集用矩形框表示,矩形框内写上实体名。

(2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。

(3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。

因此,E-R模型也称为E-R图。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值