第二章 关系数据库
2.1数据模型
2.1.1数据模型的概念及组成
数据模型既要面对现实世界又要面对机器世界
数据模型是数据特征的抽象,是某个数据库的框架,形式化地描述了数据库的数据的组织形式.
数据模型的内容包括3部分1.数据结构2.数据操作3.完整性约束
2.1.2数据模型分类
数据模型可分为概念层数据模型和组织层数据模型
1.概念层数据模型(现实世界的角度)
2.组织层数据模型(计算机世界的角度)包括1.层次模型(Hierarchical Model)2.网状模型(Network Model)3.关系模型(Relational Model)4.面向对象模型(Object Oriented Model)
关系模型由一组关系组成,每个关系的数据结构是一张规范的二维表.该二维表由行和列组成.
元组:二维表的每一行在关系中称为元组,一个元组对应表中一个记录
属性:二维表的每一列在关系中称为属性
度:一个关系所包含的属性的个数称为该关系的度
域:属性的范围,同一个属性只能在相同的域中取值
关键字(候选码,候选键):唯一标识一个元组的属性或属性组(不能重复)
主属性:关键字的属性称为主属性.
非主属性(非码属性):不包含在任何关键字中的属性称为非主属性
主码(primary key):从多个候选码中选定一个作为主码
外码(外关键字):设有两个关系R1和R2,若关系R2的一个属性或一组属性X不是所在关系的R2的候选码,而是另一个关系R1的候选码,则称该属性或属性组X为所在关系R2的外码或外部关键字.
全码:关系模型的所有属性组组成该关系模式的候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全
关系模式(Relation Schema):对关系的描述,表示为R(A1,A2,...,An)
关系模式组成:R(U,D,DOM,F),其中
R表示关系名
U表示组成该关系的属性结合
D表示属性集合U中属性所来自的域
DOM表示属性向域的映像集合
F表示属性间的数据依赖关系集合
关系的性质
1.不能有相同的属性名
2.列是同质的,每一列中的分量是同一个类型的数据,来自同一个域
3.列的顺序任意
4.任意两个元组的候选码不能完全相同
5.属性顺序任意
6.关系中每个属性都不可分解(原子性)
2.2关系的完整性
1.实体的完整性(entity integrity)
主属性的值不能为空
2.参照的完整性(referential integrity)
参照的完整性也称引用完整性,它体现了关系之间主码和外码的约束条件
3.用户定义的完整性(user defined integrity)
用户定义的完整性也称域完整性,是针对某一具体关系数据库的约束条件,限制了某些属性中出现的值,把属性限制在一个有限的集合中.
2.3关系代数
传统的集合运算:
1.并(union)2.交(intersection)3.差(difference)4.笛卡尔积(cartesian product)


专门的关系运算:
1.选择2.投影3.连接4.除





除:若关系R(X,Y)和S(Y,Z)进行运算,则产生一个属性集合X上的新关系.该关系的元组域S中的每个关系的元组组合都能在R中找到匹配的元组.这里X是属于R但不属于S,是属性的集合
关系代数的五种基本操作:
并(Union)差(Difference)笛卡尔积(Cartesian Product)投影(Projection)选择(Selection)
关系代数的四种组合操作:
交(Intersection)
联接(Join)
自然联接(Natural Join)
除(Division)
2.4范式(normal form)
1.第一范式(1NF)
第一范式是对关系模型的最低要求,全部的属性仅为原子性
2.第二范式(2NF)
如果R(U,F)∈1NF,且每一个非主属性完全函数依赖于主码,则称R属于第二范式,简称2NF,记作R(U,F)∈2NF
也就是通过一个属性可以找到其他所有的属性
3.第三范式(3NF)
如果R(U,F)∈2NF,并且所有非主属性都不传递依赖于主码
4.BC范式(BCNF)
所有函数依赖的决定以子都是候选码
浙公网安备 33010602011771号