文档介绍:第二章关系数据库
关系模型概述
关系数据结构及形式化定义
关系的完整性
关系代数
关系演算
关系模型概述
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
一、单一的数据结构——关系
关系模型中数据的逻辑结构是一张二维表。这种二维表可以存放两类信息:实体本身的信息、实体间联系。
在层次、网状模型中,实体间的联系是通过指针来实现的。而关系模型所使用的是表格数据来表示和实现实体间的联系。
二、关系操作
关系模型中常用的关系操作是:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等查询操作和增加(Insert)、删除(Delete)、修改(Update)等编辑操作两大部分。
关系操作的对象和结果都是集合。
三、关系的三类完整性约束
关系的三类完整性约束是:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,叫做关系的两个不变性,由关系系统自动支持。
关系模型的优点:
数据结构简单、可以直接处理多对多的关系、能够一次提供一个元组集合、数据独立性高、坚实的理论基础。
关系模型的缺点:
查询效率较低、关系模型的系统要求应用程序员和数据库管理员(DBA)应熟悉关系数据库理论。
关系数据结构及形式化定义
关系
关系模式
关系数据库
什么是集合?—1897年所发表的一系列论文奠定了集合论的基础。他对集合的描述:“一个集合是我们直觉中或理智中的,确定的,互不相同的事物的一个汇集,被设想为一个整体(单体)”。这些事物叫做这集合的元素,或者说这些元素属于这集合,也就是说这集合包含这些元素。
集合,简单地说就是一堆东西的总体,其中每个东西称为这个集合的元素。如:太阳系的行星是水星、金星、地球、火星、木星、土星、天王星、海王星、冥王星的总体。
集合的元素还是集合。不含任何元素的集合叫空集,记作○。如果一个集合B的元素都是集合A的元素,则称B是A的子集。也称B包含于A记为:B A。
集合A和B的公共元素组成的集合称为集合A和B的交,记为A∩B。
集合A和B的所有元素组成的集合称为集合A和B的并,记为A∪B。
例如:菱形∩长方形=正方形,奇数∪偶数=整数。
{1,2,3}∩{2,3,4}={2,3}, {1,2,3}∪{2,3,4}={1,2,3,4}。
(-1,1]∩(0,2]=(0,1], (-1,1]∪(0,2]=(-1,2]。
所有属于集合A而不属于集合B的元素组成的集合称为A和B的差,记为A-B。例如:
{1,2,3}-{2,3,4}={1}, {2,3,4}-{1,2,3}={4}。
什么叫关系?一个以序偶为元素的集合R叫做一个关系。即集合R叫做一个关系,当且仅当( ) :
x(x∈R a b(x=(a,b)))
其中: ( )——对于任何(每个,一切)的( ),都有
( )——存在某个( ),使得
——蕴涵
例如:有两个男人X,Y和三个男孩x,y,z。假定X是x,y的父亲,Y是z的父亲。则有序偶{(X,x),(X,y),(Y,z)}。
关系
1、域
定义:域是一种具有相同数据类型的值的集合。
2、笛卡尔积
定义:设D1,D2,……,Dn为任意集合,定义 D1,D2,……,Dn的笛卡尔积为
D1×D2 × …× Dn={(d1,d2,…,dn) |di∈ Di,i=1,2,…,n}
其中: (d1,d2,…,dn) 叫做一个n元组或简称元组。
元组中的每一个di叫做一个分量。
笛卡尔积实际上是一张二维表。表中的每一列对应一个域,表中的每一行对应一个元组。
笛卡尔积就是所有这些元组的集合。
这里要注意:元组不是di的集合,元组中的分量是按序排列的,而集合中的元素是没有排列次序的。如: (a,b,c) ≠(b,a,c) ≠(c,b,a)
但: {a,b,c}={b,a,c}={c,b,a}
若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2 × …× Dn的基数M为:
n
M = ∏ mi
i=1