返回首页

关系数据库理论基础

时间:2010-08-24 16:48来源:知行网www.zhixing123.cn 编辑:麦田守望者

关系数据模型由三部分组成:数据结构,关系操作,关系的完整性。

关系数据模型数据结构和基本术语:

关系模型中,实体和实体之间的联系都使用统一的数据结构来表示,即关系,关系在用户看来就是一张二维表。

(1)关系:一张二维表对应一个关系,表示一个实体集。

(2)元组:表里的一行称为一个元组,代表一个实体,关系可以看作是元组的集合。

(3)域:属性的取值范围。

(4)关系模式:二维表中,行定义称为关系模式,关系模式是对关系的描述,包含关系名,组成该关系的属性名集合。

(5)属性:表中的一列称为属性,对应与实体的属性,每一个属性由一个属性名。

(6)关键字:关系中唯一标识一个元组的属性组。称为码或键。

如: 学生(学号,姓名,年龄,性别)关系中,关键字为“学号”,而在关系考试成绩(学号,考试科目,考试日期,姓名,性别,成绩)中关键字为(学号,考试科目,考试日期)。

候选关键字:在一个关系中,若可以唯一标识一个元组的属性组不唯一,则这些属性组都称为候选关键字。

主关键字:在候选关键字中,任选一个作为主关键字。

主属性:组成关键字的属性。

非主属性:不组成关键字的属性。

外部关键字:若关系中的某个属性,不是该表的主键,却是另外一个表的主键,则称为外键。在外键关联的表中,外间所在的表称为从表,以外键作为主键的表称为主表。

关系数据库:使用关系模型设计的数据库称为关系数据库

关系的性质

(1)关系中每个元组的分量必须是原始的。

(2)每一列的值只能取自同一个域。

(3)列的次序可以任意交换。

(4)行的次序可以任意交换。

(5)关系中不能出现完全相同的两行。

关系模型的完整性约束条件

关系模型的完整性约束有三类:

(1)实体完整性约束规则:关系中主键不允许取空值。空值意味着实体不可标识。

(2)参照完整性规则:一个关系上外键的取值,只能是空值或外键对应关系的主键值。

(3)用户定义的完整性规则:针对某一应用环境的完整性约束条件。

关系数据操纵

关系型数据库系统通过关系操纵语言来实现数据操纵。

关系操纵语言的特点:

(1)操作的对象和返回的结果都是集合。

(2)非过程性强。不需指出“怎样做”,只要指出“做什么”。

(3)以关系代数为基础,具有很强的数据操纵能力。

关系代数

包括传统的集合运算和专门的关系运算两类。

集合运算:设有两个关系R和S,属性数目相同且对应属性来自同一个域。

并:关系R和关系S的并,由属于R或属于S的元组组成的集合。记为R∪S。

交:关系R和关系S的交,由属于R并且属于S的元组组成的集合。记为R∩S。

差:关系R和关系S的差,由属于R但不属于S的元组组成的集合。记为R-S。

广义笛卡尔积:关系R和关系S的广义笛卡尔积,是一个(M+N)个属性的元组的集合,其中前M个属性来自于R,后N个属性来自于S。记为R╳S。

例如:有一个关系R表示所有从事教学工作的老师,有一个关系S表示所有从事管理工作的老师。

关系R:

教师名

从事工作

王民

教学

李冰

教学

关系S:

教师名

从事工作

王民

管理

张三

管理

则举例如下:

R∪S:表示从事教学,或从事管理工作的老师。即:

教师名

从事工作

王民

教学

王民

管理

张三

管理

李冰

教学

R∩S:表示既从事教学工作,又从事管理工作的老师。即:

教师名

从事工作

王民

教学   管理

R-S:表示只从事教学工作,而不从事管理工作的老师。即:

教师名

从事工作

李冰

教学

R╳S:广义笛卡尔积

教师名

从事工作

教师名

从事工作

李冰

教学

王民

教学

李冰

教学

张三

管理

王民

教学

张三

管理

王民

教学

王民

管理

专门的关系运算

选择:在关系中选择满足某些条件的元组。

例如:关系R中    教师名=李冰

投影:在关系中选择某些属性列。

例如:学校与校长   TT学校与校长

连接:在两个关系的笛卡尔积中选择属性间满足一定条件的元组。连接条件中的属性称为连接属性,当连接条件中的算符为“=”时,为等值连接。若等值连结结果中重复的属性去掉,就形成了自然连结。

R

A

B

C

a

c

g

b

d

p

S

B

C

D

d

p

q

u

v

w

R与S的自然连结:

A

B

C

D

b

d

p

q

关系的规范化理论

主要包括:数据依赖,范式,和数据库模式设计方法。

函数依赖:数据依赖中最基本的是函数依赖。一个关系模式中,如果某个属性组X的值确定,则其他属性的值唯一确定,则称此属性组函数决定其他的属性。或称其他属性函数依赖于此属性组。记为 X->Y。

例如:学号->学生姓名

函数依赖的分类

(1)平凡的函数依赖和非平凡的函数依赖:若X->Y,并且Y是X的子集,则称为是平凡的函数依赖,若若X->Y,并且Y不是X的子集,则称为是非平凡的函数依赖。

(2)完全函数依赖和部分函数依赖:若X->Y,并且对于X的任意子集X',都没有X'->Y,则称为是完全的函数依赖,若X->Y,并且存在X的子集X',有X'->Y,则称为是部分的函数依赖。

例如:完全函数依赖课程号->教师,部分函数依赖(学号,课程号)->教师

(3)传递函数依赖:若有X->Y,但没有Y->X,且有Y->Z,则X->Z成立,则称为Z传递函数依赖于X。

关系模式的范式

关系数据库中的关系要满足一定的要求,满足不同程度的要求为不同的范式。

(1)第一范式:如果关系模式中的每个属性都是不可再分的则称为是第一范式的模式,记为R∈1NF。

(2)第二范式:若R∈1NF,并且每个非主属性都完全函数依赖于关键字,则称为是第二范式的模式,记为R∈2NF。

(3)第三范式:若R∈2NF,并且没有一个非主属性是传递函数依赖于关键字,则称为是第三范式的模式,记为R∈3NF。

(3)扩充的第三范式:若R∈3NF,并且没有一个主属性是传递函数依赖或部分函数依赖于关键字,则称为是扩充的第三范式的模式,记为R∈BCNF。

关系模式的规范化

就是逐步消除数据依赖中的不合理成分,使模式中的各个关系达到某种范式的过程。规范化并不是层次越深越好,因为层次越深,则产生的关系越多,就会影响查询的效率。所以应根据具体的需要进行规范化。

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
标签(Tag):数据库
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
猜你感兴趣