创意电子

标题: 数据库看这一篇就够了-数据库基础与六大范式详解 [打印本页]

作者: 唯爱薇o朝圣之路    时间: 2020-10-29 23:17
标题: 数据库看这一篇就够了-数据库基础与六大范式详解
数据库底子与六大范式详解

数据库发展过程:

                               
登录/注册后可看大图

三个时期比较:

                               
登录/注册后可看大图

基本概念
数据模型:
四个基本概念:

                               
登录/注册后可看大图


                               
登录/注册后可看大图

数据独立性:
信息世界基本概念:


                               
登录/注册后可看大图


                               
登录/注册后可看大图

数据库管理员(DBA)具体职责:
关系数据库理论
关系模式(五元组):
干系概念:
关系模式存在问题:
规范化(范式):

                               
登录/注册后可看大图


                               
登录/注册后可看大图

关系模型
解释:
从用户角度看关系模型中数据的逻辑结构是一张二维表,它由行和列组成
干系概念:
完备性约束:
优点:
缺点:
系统结构解释:
实例(Instance):
模式(Schema):
外模式(External Schema):
内模式(Internal Schema):
三级模式结构:

                               
登录/注册后可看大图

二级映象:
SQL概述
SQL的特点:
SQL的数据定义功能:

                               
登录/注册后可看大图

三个基本概念:
SQL支持关系数据库三级模式结构:

                               
登录/注册后可看大图

标识符:
数据库之六大范式详解
**
关系数据库中的关系满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF;在第一范式的底子上满足进一步要求的称为第二范式,简称2NF,其余范式以此类推。对于各种范式之间有如下关系:

                               
登录/注册后可看大图

如下图所示:

                               
登录/注册后可看大图

1. 第一范式 1NF
定义: 属于第一范式关系的所有属性都不可再分,即数据项不可分。
明白: 第一范式强调数据表的原子性,是其他范式的底子。如下图所示数据库就不符合第一范式:

                               
登录/注册后可看大图

上表将商品这一数据项又划分为名称和数量两个数据项,故不符合第一范式关系。改正之后如下图所示:

                               
登录/注册后可看大图

上表就符合第一范式关系。
但一样平常生存中仅用第一范式来规范表格是远远不够的,依然会存在数据冗余过大、删除非常、插入非常、修改非常的问题,此时就需要引入规范化概念,将其转化为更标准化的表格,减少数据依赖。
规范化: 一个低一级的关系模式通过模式分解可以转化为若干个高一级范式的关系模式的聚集,这个过程叫做规范化。
2. 第二范式 2NF
定义: 若某关系R属于第一范式,且每一个非主属性完全函数依赖于任何一个候选码,则关系R属于第二范式。
此处我们需要明白非主属性、候选码和完全函数依赖的概念。
候选码: 若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。若一个关系中有多个候选码,则选定此中一个为主码。
以下所有内容中,主码或候选码都简称为码。
比方下图所示的学生表中,学号和姓名都可以唯一标识一个元组,故该表的候选码为学号和姓名,主码我们可以随便选定此中一个,则选学号为主码。



                               
登录/注册后可看大图



主属性:
所有候选码的属性称为主属性。不包罗在任何候选码中的属性称为非主属性或非码属性。
在上面的学生表中,学号和姓名就是该关系的主属性,年龄和性别就黑白主属性。
函数依赖:
设R(U)是属性集U上的关系模式,X、Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称Y函数依赖于X或X函数确定Y。
完全函数依赖:
设R(U)是属性集U上的关系模式,X、Y是U的子集。假如Y函数依赖于X,且对于X的任何一个真子集X’,都有Y不函数依赖于X’,则称Y对X完全函数依赖。记作:假如Y函数依赖于X,但Y不完全函数依赖于X,则称Y对X部分函数依赖。

                               
登录/注册后可看大图

明白:
第二范式是指每个表必须有一个(有且仅有一个)数据项作为关键字或主键(primary key),其他数据项与关键字大概主键一一对应,即其他数据项完全依赖于关键字或主键。由此可知单主属性的关系均属于第二范式。
判断一个关系是否属于第二范式:
以上面的学生表为例,表中的码为学号(码可以为学号大概姓名,此处假定码为学号),非主属性为性别、年龄(其余都为主属性),当学号确定时,性别、年龄也都惟一的被确定为,故学生表的设计满足第二范式(学生表为单主属性的关系)。
下面举一个不满足第二范式的关系。
有关系模式S-L-C(Sno, Sdept, Sloc, Cno, Grade),此中Sno, Sdept, Sloc, Cno, Grade依次表示学生的学号、所在的系、住处、课程号、班级,并且每个系的学生住在同一个地方。可知S-L-C的码为(Sno, Cno),则存在以下函数依赖:

                               
登录/注册后可看大图

可以看到,非主属性Sloc、Sdept并不完全函数依赖于码,因此关系模式S-L-C(Sno, Sdept, Sloc, Cno, Grade)不符合第二范式。
3. 第三范式 3NF
定义: 非主属性既不传递依赖于码,也不部分依赖于码。
首先我们要明白传递函数依赖的概念。

                               
登录/注册后可看大图

明白: 第三范式要求在满足第二范式的底子上,任何非主属性不依赖于其他非主属性,即在第二范式的底子上,消除了传递依赖
在下图S-L关系中,Sloc对Sno传递函数依赖,故该关系不属于第三范式。

                               
登录/注册后可看大图

4. BC范式 BCFN
定义: 关系模式R中,若每一个决定因素都包罗码,则R属于BCFN。
明白:
根据定义我们可以得到结论,一个满足BC范式的关系模式有:
比方有关系模式C(Cno, Cname, Pcno),Cno, Cname, Pcno依次表示课程号课程名先修课。可知关系C只有一个码Cno,且没有任何属性对Cno部分函数依赖或传递函数依赖,以是关系C属于第三范式,同时Cno是C中的唯一决定因素,以是C也属于BC范式。
5. 第四范式 4NF
定义: 限制关系模式的属性之间不允许有非平常且非函数依赖的多值依赖。
明白: 显然一个关系模式是4NF,则必为BCNF。也就是说,当一个表中的非主属性互相独立时(3NF),这些非主属性不应该有多值,若有多值就违反了4NF
6. 第五范式 5NF
第五范式有以下要求:
(1)必须满足第四范式;
(2)表必须可以分解为较小的表,除非那些表在逻辑上拥有与原始表类似的主键。
第五范式是在第四范式的底子上做的进一步规范化。第四范式处理的是相互独立的多值环境,而第五范式则处理相互依赖的多值环境。
作者: 风146268331    时间: 2020-10-30 06:50
转发了
作者: 梦回大秦2020    时间: 2020-10-30 07:04
转发了




欢迎光临 创意电子 (https://wxcydz.cc/) Powered by Discuz! X3.4