欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » SQLServer教程 » 正文

热门阅读

关系数据库理论常识

创建时间:2011年12月11日 23:13  阅读次数:(6772)
分享到:
1.关系的基本概念 
(1)关系:一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。 
(2)元组:二维表的每一行在关系中称为元组,即行,又称“记录”(Record)。 
(3)属性:二维表的每一列在关系中称为属性,即列,又称“字段”(Field)。 
(4)域(Domain):属性的取值范围称为域。 
(5)关键字(Key):关系中能唯一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能取“空值”。例如“学生基本情况表”中的“学号”属性可以作为单关键字,因为没有两个学生的学号是重复的。 
(6)候选关键字(Candidate Key):关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够唯一区分、确定不同元组的属性或属性组合,称为候选关键字。 
(7)主关键字(Primary Key):在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是唯一的。 
(8)外部关键字(Foreign Key):关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。
(9)关系模式:对关系的描述称为关系模式,其格式为:关系名(属性名1, 属性名2, …, 属性名n) 
例如:教师选课表(序号, 课程号, 课程名, 上课班级, 人数, 类别, 学分, 起止周, 教室)
课程基本信息表(课程号, 课程名)

2.关系数据库的概念
以关系模型建立的数据库就是关系数据库(Relational Data Base,RDB),关系数据库系统的DBMS是关系型数据库管理系统(Relational DataBase Management System,RDBMS)。关系数据库中包含若干个关系,每个关系都由关系模式确定,每个关系模式包含若干个属性和属性对应的域,所以,定义关系数据库就是逐一定义关系模式,对每一关系模式逐一定义属性及其对应的域。 

3.关系完整性
关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和用户定义完整性(又称域完整性),其中实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。 

4.关系规范化理论和范式(Normal Form,NF) 
(1)案例:如何存储雇员和和销售数据 案例:如何存储雇员和和销售数据

数据库设计1:
Relation0( employee ID, employee name, employee age, employee gender, employee address, city, sales)

#ID
Sales($)
City
Addr.
Sex Age
Name
Relation0

E-R图(Entity-Relation Map,实体关系图)

数据库设计2:
课 课课 课表表表 表数据库 数据库 
课程基本信息表 
教师选课表 主关键字 
元组 
序号 课程号 号号 号 课程名 课程名 上课班级 上课班级 人数 人数 类别 学分 起止周 教 教教 教 室 室室 室 
1 1151160 数据库管理 营专071 管理061-2 营销071-2 157 必修 3.00 1--18 弘E205 
2 1151160 数据库管理 财务071-2 城管071-2 156 必修 2.50 1--18 弘E201 
3 1161160 物流信息管理系统 物流051-2 68 必修 4.00 1--16 弘D306 
属性 主关键字 
候选关键字 
课程号 号号 号 课程名 
1151160 数据库管理 
1161160 物流信息管理系统 
1161170 数据库管理 
1161171 Excel与管理决策 
外部关键字 

数据库设计3:
(关系模式分解)
Entity1销售员 Relation销售 Entity2城市
Name
#ID
Sex
Age
Addr.
Sales ($)
City

(2)关系模式的表示: 关系模式的表示:R(U,D,dom,F) 
关系名R、一组属性U来自的域D、属性到域的映射dom、属性组U上的一组数据依赖F。 
简记为三元组R<U,F >。当且仅当U上的一个关系r满足F时,r称为关系模式R<U,F >的一个关系。

(3)函数依赖: 函数依赖: 
设R(U)是属性集U上的关系模式。X, Y是U的子集。若对于R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称:X函数确定Y或Y函数依赖于X,记作X→Y。

(4)各种函数依赖关系 各种函数依赖关系:
非平凡的函数依赖:X→Y,但Y?X,则称X→Y。一般讨论的都是这种形式的函数依赖。 
平凡的函数依赖:X→Y,且Y?X。 
完全函数依赖:在R(U)中,若X→Y,且对于X的任何一个真子集X`,都有X`非函数决定Y。表示为X→F
Y。
部分函数依赖:若X→Y,但Y不完全函数依赖于X。表示为X→PY。 
传递函数依赖:在R(U)中,如果X→Y,(Y不属于X),Y非函数决定X,Y→Z,则称Z对X传递函数依赖。
表示为X→传递Z。 

(5)范式:关系数据库中的关系是满足一定要求的,满足不同程度要求的为不同范式。 
第一范式(1NF):如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。关系作为一张二维表,对它的一个最起码要求是:每一个分量必须是不可分的数据项。1NF是关系模式的最起码要求,不满足第一范式的数据库模式不能称为关系数据库。

第二范式(2NF):若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。不满足2NF会导致的问题:插入异常、删除异常、修改复杂(后文会讲到)

第三范式(3NF):关系模式R<U,F >中若不存在候选码X、属性组Y及非主属性Z(Z?Y,即Z-Y≠φ)使得X→Y、Y非函数确定X和Y→Z成立,则称R ∈ 3NF。
即:若R ∈ 3NF,则每一个非主属性即不部分依赖于码,也不传递依赖于码。

(6)规范化:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。规范化的过程,也是关系模式分解的过程,要求既要保持函数依赖,又要具有无损连接性。

说明:第4点"关系规范化理论和范式(Normal Form,NF)"下的数据库设计1,数据库设计2,数据库设计3原为图片,因本站不能上传图片,所以改为文字描述,有不解之处大家可以直接跳过。
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 51+1=? 的结果(结果是:52)
结  果: