3.1.1 数据结构
关系数据模型源于数学,它用二维表来组织数据,而这个二维表在官系数据库中就称为关系。关系数据库就是表或者说是关系的集合。
3.1.2 数据操作
(1) 传统的关系运算:并(union),交(intersection),差(difference),广义笛卡尔乘积(extended cartesian product)
(2)专门的关系运算:选择(select),投影(project),连接(join),除(divide)
(3)有关的数据操作:查询(query),插入(insert),删除(delete),和更改(update)
3.2.1 基本术语
(1)关系:关系就是二维表,二维表的名瞎子就是关系的名字
(2)属性:二维表中每个列称为属性,每个属性,有一个名字叫做属性名(不能重复),二维表中对应某一列的值称为属性值,二维表中列的个数称为关系的元数。
(3)值域:二维表中属性的取值范围称为值域
(4)元组:二维表中的一行数据称为一个元组 (关系的任意两个元组不可重复)
(5)分量:元组中的每一个属性值称为元组的一个分量(是最小的,不可再分)
(6)候选键:一个属性或属性集的值能够唯一标识一个关系的元组而又不包括多余的属性
(7)主键:也称主码或主关键字,用于唯一确定一个元组(不能为空,每个关系只能有一个主键)DBMS以主键或主码为主要线索管理关系中的各个元组
3.2.2 形式化主义
(1)笛卡尔积:设D1,D2....Dn是n个域,则它们的笛卡尔积为D1*D2*.....Dn={d1,d2,......dn)|di属于Di,i=1,2,....,n}
其中每一个元素称为一个n元组(n-tuple),简称元组;元组中的每个值di称为一个分量
数学意义上的关系:可无限个元组,元组元素不可交换
数据库的关系:有限的元组,元组元素可交换
(2) 关系的限定
<1> 关系中的每个分量都必须是不可再分的最小属性
<2> 表中列的数据类型是固定的
<3>不同列的数据可以取自相同的值域
<4>关系表中列的顺序不重要
<5>行的数据也不重要
<6>同一关系中的元组不能重复
3.3.1传统的关系运算
1.笛卡尔积运算
<没有任何使用限制>
2.差运算
<1>两个表格列数一样
<2>两个表格的属性都相同
3.交运算
<1> 表格的列数相同
<2>表格的属性都相同
4.并运算
<1>两张表格的元一样
<2>相同的属性取自同一个域
3.3.2专门的关系运算
1.选择:选择也称为限制,选出来的结果是一行行的
2.投影:针对属性进行选择的运算
3.连接:从两个关系的笛卡尔积中选择属性之间满足一定关系的元组
4.除运算:
5.象集:给定一个关系R(X,Y),X和Y为属性组,当t[X]=x时,x在R中的象集为Yx={t[Y]|t属于R,t[X]=x}