当前位置:文档之家› 教案第二章备课

教案第二章备课

教案(第二章备课)长度指定长度的字符串集合{‘男’,‘女’} 介于某个取值围的日期. 笛卡尔积()) 笛卡尔积给定一组域,,…,,这些域中可以有相同的。

,,…,的笛卡尔积为:××…×={(,,…,)|,=,,…,}所有域的所有取值的一个组合,不能重复例给出三个域:{ 清玫,逸 }{计算机专业,信息专业}{勇,晨,王敏}则,,的笛卡尔积为:×× ={(清玫,计算机专业,勇),(清玫,计算机专业,晨),(清玫,计算机专业,王敏),(清玫,信息专业,勇),(清玫,信息专业,晨),(清玫,信息专业,王敏),(逸,计算机专业,勇),(逸,计算机专业,晨),(逸,计算机专业,王敏),(逸,信息专业,勇),(逸,信息专业,晨),(逸,信息专业,王敏) }) 元组()笛卡尔积中每一个元素(,,…,)叫作一个元组()或简称元组。

) 分量()笛卡尔积元素(,,…,)中的每一个值叫作一个分量。

) 基数()若(=,,…,)为有限集,其基数为(=,,…,),则××…×的基数为:在上例中,基数:××=,即××共有××=个元组)笛卡尔积的表示方法笛卡尔积可表示为一个二维表。

表中的每行对应一个元组,表中的每列对应一个域。

在上例中,个元组可列成一二维表. 关系()) 关系××…×的子集叫作在域,,…,上的关系,表示为(,,…,):关系名:关系的目或度()注意:关系是笛卡尔积的有限子集。

无限关系在数据库系统中是无意义的。

由于笛卡尔积不满足交换律,即(,,…,)≠(,,…, )但关系满足交换律,即(,,…,,,…,)(,,…,,,…,)(,,,…,)解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性例在表的笛卡尔积中取出有实际意义的元组来构造关系关系:(,,)学生(学号,,性别,专业号,年龄):专业(专业号,专业名):例学生、课程、学生与课程之间的多对多联系学生(学号,,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)例学生实体及其部的领导联系(一对多)学生(学号,,性别,专业号,年龄,班长).外码()设是基本关系的一个或一组属性,但不是关系的码。

如果与基本关系的主码,相对应,则称是基本关系的外码基本关系称为参照关系()基本关系称为被参照关系()或目标关系()。

说明:关系和不一定是不同的关系目标关系的主码和参照关系的外码必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别. 参照完整性规则若属性(或属性组)是基本关系的外码它与基本关系的主码相对应(基本关系和不一定是不同的关系),则对于中每个元组在上的值必须为:或者取空值(的每个属性值均为空值)或者等于中某个元组的主码值。

学生关系中每个元组的“专业号”属性只取下面两类值:()空值,表示尚未给该学生分配专业()非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中选修(学号,课程号,成绩)“学号”和“课程号”是选修关系中的主属性按照实体完整性和参照完整性规则,它们只能取相应被参照关系中已经存在的主码值学生(学号,,性别,专业号,年龄,班长)“班长”属性值可以取两类值:()空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;()非空值,这时该值必须是本关系中某个元组的学号值2.3.3用户定义的完整性用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。

关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。

例:课程(课程号,课程名,学分)“课程名”属性必须取唯一值非主属性“课程名”也不能取空值“学分”属性只能取值{,,,}小结:关系数据结构关系:域、笛卡尔积、关系:关系,属性,元组候选码,主码,主属性基本关系的性质关系模式关系数据库关系的数据操作集合:查询:选择、投影、连接、除、并、交、差数据更新:插入、删除、修改关系的完整性约束:实体完整性参照完整性:外码用户定义的完整性关系代数概述.关系代数一种抽象的查询语言用对关系的运算来表达查询.关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类——集合运算符:将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行专门的关系运算符:不仅涉及行而且涉及列算术比较符:辅助专门的关系运算符进行操作逻辑运算符:辅助专门的关系运算符进行操作.关系代数运算的分类传统的集合运算:并、差、交、广义笛卡尔积专门的关系运算:选择、投影、连接、除.表示记号(),,[]设关系模式为(,,…,)它的一个关系设为。

表示是的一个元组,[]则表示元组中相应于属性的一个分量(),[],若{,,…,},其中,,…,是,,…,中的一部分,则称为属性列或域列。

[]([],[],…,[])表示元组在属性列上诸分量的集合。

则表示{,,…,}中去掉{,,…,}后剩余的属性组。

()为目关系,为目关系。

,,称为元组的连接。

它是一个列的元组,前个分量为中的一个元组,后个分量为中的一个元组。

()象集给定一个关系(,),和为属性组。

当[]时,在中的象集()为: {[] ,[]}它表示中属性组上值为的诸元组在上分量的集合。

2.4.1传统的集合运算. 并()和:具有相同的目(即两个关系都有个属性),相应的属性取自同一个域∪仍为目关系,由属于或属于的元组组成∪ { ∨ }. 差()和:具有相同的目,相应的属性取自同一个域仍为目关系,由属于而不属于的所有元组组成{ ∧ }. 交()和:具有相同的目,相应的属性取自同一个域∩仍为目关系,由既属于又属于的元组组成∩ { ∧ }∩ –(). 广义笛卡尔积():目关系,个元组:目关系,个元组×列:()列的元组的集合,元组的前列是关系的一个元组,后列是关系的一个元组行:×个元组× { ∧ }2.4.2专门的关系运算. 选择()) 选择又称为限制()) 选择运算符的含义在关系中选择满足给定条件的诸元组σ() {∧() '真'}:选择条件,是一个逻辑表达式,基本形式为:[( ] θ [ )][φ [( ] θ [ )]]…θ:比较运算符(>,≥,<,≤,=或<>),等:属性名、常量、简单函数;属性名也可以用它的序号来代替;φ:逻辑运算符(∧或∨)[ ]:表示任选项…:表示上述格式可以重复下去) 选择运算是从行的角度进行的运算) 举例设有一个学生课程数据库,包括学生关系、课程关系和选修关系。

[例] 查询信息系(系)全体学生σ '' ()或σ '' ()结果:[例] 查询年龄小于岁的学生σ < () 或σ < ()结果:. 投影())投影运算符的含义从中选择出若干属性列组成新的关系π() { [] } :中的属性列)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)) 举例[例] 查询学生的和所在系即求关系上学生和所在系两个属性上的投影π,() 或π,()结果:[例] 查询学生关系中都有哪些系π()结果:. 连接())连接也称为θ连接)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组{ ∧ ∧[]θ[] }和:分别为和上度数相等且可比的属性组θ:比较运算符连接运算从和的广义笛卡尔积×中选取(关系)在属性组上的值与(关系)在属性组上值满足比较关系的元组。

)两类常用连接运算等值连接()什么是等值连接θ为“=”的连接运算称为等值连接等值连接的含义从关系与的广义笛卡尔积中选取、属性值相等的那些元组,即等值连接为:{ ∧ ∧[] [] }自然连接()什么是自然连接自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义和具有相同的属性组{ ∧ ∧[] [] })一般的连接操作是从行的角度进行运算。

自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

等值连接自然连接.象集给定一个关系(,),和为属性组。

当[]时,在中的象集()为:{[] ,[]}它表示中属性组上值为的诸元组在上分量的集合。

. 除()给定关系 (,) 和 (,),其中,,为属性组。

中的与中的可以有不同的属性名,但必须出自相同的域集。

与的除运算得到一个新的关系(),是中满足下列条件的元组在属性列上的投影:元组在上分量值的象集包含在上投影的集合。

÷ { [] ∧π () }:在中的象集, [])除操作是同时从行和列角度进行运算)举例[例] ()分析:在关系中,可以取四个值{,,,}的象集为 {(,),(,),(,)}的象集为 {(,),(,)}的象集为 {(,)}的象集为 {(,)}在(,)上的投影为{(,),(,),(,) }只有的象集包含了在(,)属性组上的投影,所以÷ {}.综合举例以学生课程数据库为例 ()[例] 查询至少选修号课程和号课程的学生首先建立一个临时关系:了π():然后求:π()÷π():象集{,,}象集{,}π(){,}于是:π()÷{}[例 ] 查询选修了号课程的学生的学号。

π(σ''())={,}[例] 查询至少选修了一门其直接先行课为号课程的课程的学生。

π(σ''( ))或π(σ''() π,())或π (π (σ'' () ) π, ())[例] 查询选修了全部课程的学生和。

π,()÷π()π,()小结:关系代数运算:.关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除.基本运算并、差、笛卡尔积、投影、选择.交、连接、除可以用种基本运算来表达,引进它们并不增加语言的能力,但可以简化表达。

关系代数表达式关系代数运算经有限次复合后形成的式子。

典型关系代数语言()由研究中心研制用于()实验系统关系演算关系演算以数理逻辑中的谓词演算为基础种类:按谓词变元不同分类.元组关系演算:以元组变量作为谓词变元的基本对象元组关系演算语言.域关系演算:以域变量作为谓词变元的基本对象域关系演算语言2.5.1元组关系演算语言语句:检索语句:更新语句:,,,,一、检索操作语句格式:工作空间名 [(定额)](表达式)[:操作条件] [ 表达式] 定额:规定检索的元组个数格式:数字表达式:指定语句的操作对象格式:关系名关系名. 属性名元组变量. 属性名集函数 [,… ]操作条件:将操作结果限定在满足条件的元组中格式:逻辑表达式表达式:指定排序方式格式:关系名. 属性名元组变量. 属性名[,… ]()简单检索工作空间名(表达式)[例] 查询所有被选修的课程。

相关主题