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】
打赏
扫码打赏,您说多少就多少