首页 > 编程知识 正文

数据库三大范式都有哪些(数据库第四范式)

时间:2023-05-05 05:19:40 阅读:67804 作者:789

知道关系数据库后,我会理解范例。 规范化是关系数据库关系模型规范化的标准,从规范化缓慢到严格可分为不同的规范化,通常采用第一规范化。 第二范式、第三范式和BC范式。 范例基于函数依赖。

函数依赖

如果一个表中某个字段y的值由另一个字段或字段x的一组值确定,则y函数称为依赖于x。

函数依赖

定义

设x、y为关系r的两个属性的集合,并且如果任意时刻r任意两个元组的x属性值相同,则x函数确定y,或y函数依赖于x。

3 .平凡的函数依赖

当关系中的属性集合y是属性集合x的子集时(yx ),存在函数依赖关系XY。 即,一组属性函数决定其所有子集。 这种函数依赖称为平凡的函数依赖。

4 .非平凡函数依赖

当关系属性集合y不是属性集合x的子集时,如果存在函数依赖XY,则这种函数依赖被称为非平凡函数依赖。

5 .完全函数依赖

设x、y为关系r的两个属性的集合,x’为x的真子集,虽然存在XY,但每个x’都有x’! Y表示y的完全函数依赖于x。

6 .某些函数依赖

据悉,x、y为关系r的两个属性的集合,XY存在,x’为x的真子集,x’y存在时,y部分函数依赖于x。

7 .传递函数依赖

据悉,x、y、z是关系r中相互不同的属性的集合,xy(y )存在X ),YZ的情况下,z传递函数依赖于x。

属性关系

属性之间有三种关系,但不是每个关系都有函数依赖关系。 设r(u )为属性集u上的关系模式,x、y为u的子集。

x和y之间为1:1的关系(一对一的关系),学校和校长之间为1:1的关系时,存在函数依赖X Y和Y X。

x与y之间为1:n关系(一对多关系),年龄与姓名之间为1:n关系时,存在依赖于Y X的函数。

x与y之间为m:n关系(多对多关系),学生与课程之间为m:n关系,则x与y之间不存在函数依赖。

个案研究

编辑

示例:student(SnO,Sname,Ssex,Sage,Sdept ) )。

假设不允许重复名称,则有:个

Sno Ssex,Sno Sage,Sno Sdept,

Sno Sname,Sname Ssex,Sname Sage

Sname Sdept

但是Ssex - Sage

X Y且Y X时,标记为X Y。

y不函数依赖于x时,标记为X - Y。

在关系模型r(u )中,对于u的子集x和y,

1.X Y,但y不是x的子集时,xy称为非平凡函数依赖

例:在关系sc(SnO、Cno、Grade )中,

不平凡的函数依赖: (Sno,Cno ) Grade。

2 .虽然xy,但在y是x的子集的情况下,据说xy是平凡的函数依赖

平凡函数依赖于(Sno,Cno ) Sno,),Cno ) Cno。

3.xy且x的真子集x1存在,并且当x1 y时,y部分依赖于x。

例)在学生表(学号、姓名、性别、班级、年龄)关系中,

部分函数依赖:(学号、姓名)性别、学号性别,所以)学号、姓名)性别依赖部分函数。

4 .如果xy并且x的任何真子集x1都不存在x1 y,则y完全依赖于x。

例)在成绩单(学号、课程编号、成绩)关系上,

完全函数依赖:“学号、学号”成绩、学号-成绩、学号-成绩,因此“学号、学号”成绩完全函数依赖。

在x y且y z,y - x的情况下,存在x z,这种函数依赖被称为传递函数依赖。

例:关系S1 (学号、系名、系部长)、

由于是学号系名、系名系部长、还有系名-学号、系部长-系名,所以学号系部长依赖传递函数。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。