- 5
- 0
- 约9.96千字
- 约 86页
- 2015-12-24 发布于广东
- 举报
第二章 关系数据库 【本章导读】 本章主要讲述关系模型的基本概念、关系的数据结构、数据操纵和完整性约束以及关系系统的定义和分类。 【本章要点】 关系模型的数据结构 并、交、差和笛卡尔积四种传统的集合运算 选择、投影、连接和除四种专门的关系运算 关系的实体完整性规则和参照完整性规则 关系系统的定义和分类 第二章 关系数据库 2.1 关系模型的基本概念 2.2 关系代数和关系演算 2.3 关系的完整性 2.4 关系系统 本章小结 习题二 2.1 关系模型的基本概念 2.1.1 数学定义 2.1.2 关系数据结构 2.1.1 数学定义 域 定义2.1 域是一组具有相同数据类型的值的集合。 例如:整数、实数、字符串、{男,女},大于0小于等于100的正整数等都可以是域。 2.1.1 数学定义 笛卡尔积 定义2.2 给定一组域Dl,D2,…,Dn,Dl,D2,…,Dn的笛卡尔积为: Dl×D2×…×Dn={(d1,d2, …dn)|di∈Di ,i=1,2, …n} 其中每一个元素(d1,d2,…,dn)叫作一个元组,元素中的每一个值di叫作一个分量。 2.1.1 数学定义 【例2-1】假设有两个域, Dl=animal(动物集合)={猫,狗,猪} D2=food(食物集合)={鱼,骨头,白菜} 则: Dl×D2={(猫,鱼),(狗,鱼),(猪,鱼),(猫,骨头),(狗,骨头),(猪,骨头),(猫,白菜),(猪,白菜),(狗,白菜)}。这九个元组可列成一张二维表,如表2-1所示。 3.关系 定义2.3 Dl×D2×…×Dn的子集叫作在域Dl, D2, …, Dn上的关系,用R(Dl, D2, …, Dn)来表示。这里R表示关系的名字。 4.关系的性质 (1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。 (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 (3)列的顺序无所谓,即列的次序可以任意交换。 (4)任意两个元组不能完全相同。 (5)行的顺序无所谓,即行的次序可以任意交换。 (6)分量必须取原子值,即每一个分量都必须是不可再分的数据项。 2.1.2 关系数据结构 关系:一个关系对应一张二维表,表2-3中的这张学生记录表就是一个关系。 元组:图中的一行称为一个元组,若表2-3有20行,就有20个元组。 属性:图中的一列称为一个属性,表2-3有5列,对应5个属性:学号、姓名、性别、年龄和所在系。 码(key):表中的某个属性(组),它可以惟一确定一个元组,则称该属性组为“侯选码”。若一个关系有多个侯选码,则选定其中一个为主码。 域(domain):属性的取值范围。如表2-3中学生年龄的域应是(16~28),性别的域是(男, 女),系别的域是一个学校所有系名的集合。 分量:元组中的一个属性值。 关系模式:对关系的描述,一般表示为: 关系名(属性1, 属性2, …, 属性n) 表2-3 学生关系 2.2 关系代数和关系演算 2.2.1 传统的集合运算 2.2.2 专门的关系运算 2.2.3 关系演算 2.2.1 传统的集合运算 传统的集合运算是二目运算,包括并、交、差和广义笛卡尔积四种运算。 1.并 关系R与关系S的并由属于R或属于S的元组组成,其结果关系仍为n目关系。记作R∪S。 2.交 关系R与关系S的交由既属于R又属于S的元组组成,其结果关系仍为n目关系。记作R∩S。 2.2.1 传统的集合运算 3.差 关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作R-S。 4.广义笛卡尔积 两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有A1个元组,S有A2个元组,则关系R和关系S的广义笛卡尔积有Al×A2个元组,记作R×S。 【例2-2】有关系R、S如表2-4中的(a)、(b),则R∪S、R∩S、R-S、R×S的结果分别为表2-4中的(c)、(d)、(e)、(f)所示。 2.2.2 专门的关系运算 选择 投影 连接 除 1.选择 选择是在关系R中选择满足给定条件的诸元组,记作: σF(R)={t|t∈R∧ F(t)=’真’} 其中F表示选择条件,它是一个逻辑表达式,取逻辑值:“真”或“假”。 逻辑表达式F的基本形式为: X1θY1[ΦX2θY2]... θ表示比较运算符,它可以是>、>=、<、<=、=或<>。 1.选择 Φ表示逻辑运算符,它可以是┐(非)、∧(与)或∨(或)。[ ]表示任选项,即[ ]中的部分可以要也可以
原创力文档

文档评论(0)