1、关系数据库和SQL语言,教学内容:1关系数据库基本理论2SQL语言 教学要求:1掌握关系的定义、关系模式及关系的完整性2理解并能运用基本关系代数、SQL语言进行关系数据库操作教学重点:关系完整性、SQL语言 教学人员:03级本2班 花云教学过程:1上讲回顾 2讲授新知,第二章 关系数据库,第一节 关系的定义 第二节 关系模式和关系的完整性 第三节 关系代数 第四节SQL 语言简介,1、域(Domain): 同类型的值的集合。当域是有限集时,域中值的个数称为域的基数2、笛卡儿积(Cartesian Product): 给定一组域D1, D2, ., Dn, 定义这组域的笛卡儿积为:D1D2Dn
2、(d1,d2,., dn) | diDi, i=1,2,.,n 其中:( d1, d2, ., dn ) 称为一个n元组 域的集合中,允许出现完全相同的域。 笛卡儿积的基数m1m2.mn, mi是Di的基数,3、关系:笛卡儿积D1D2Dn的任一个子集称为定义在域D1, D2, , Dn上的一个关系,记为:R (D1, D2, , Dn)关系也是一个二维表。一般我们从笛卡儿积中选取满足实际意义的元组来构成关系。,4、关系的性质: 列同质,每列的值来自同一个域; 不同的列可以出自相同的域,用不同的列名标识; 列的次序可以任意; 行的次序可以任意; 同一个关系中不允许有完全相同的元组存在; 关系中每
3、个分量必须是不可再分的数据项,不允许组合属性或多值属性。,第二节 关系模式和关系的完整性,2.1 关系模式 1. 关系模式,对关系的描述称为关系模式, 完整性用以保证数据的正确与一致。 关系模式的形式定义为:R(U, D, DOM, F),其中:R-关系名U-组成R的属性名的集合D-域的集合DOM-属性到域的映象的集合F-属性之间数据依赖的集合,2.2 关系的完整性 完整性约束条件的目的是为了保证数据的正确性,相容性和有效性。完整性规则有以下三个方面: 1. 实体完整性:关系R的主属性不能为空值 元组是表示实体的、是可标识的。主码是元组的标识。一个元组的主码或主码的某个分量若为空将意味着这个元
4、组所代表的实体是不确定的或不可标识的或不完整的,这是不允许。实体完整性是用来约束元组应能正确地反映客观现实 参照完整性 设A是关系R中的属性或属性组,在关系R中A是外部码,在关系S中A是主码;则对关系R中每个元组,A或者为空值,或者等于S中某个元组的主码值。,第三节 关系代数,3.1 传统的集合运算 1集合运算符:并集, 交集, 差集 RS:由属于R或属于S的元组组成,结果仍是n元关系。 RS:由属于R且属于S的元组组成,结果仍是n元关系。 RS:由属于R且不属于S的元组组成,结果仍是n元关系。注意:在对两个关系R,S做并、交、差运算时,要求R和S是相容的: (1) 列数相等;(2) 对应的列
5、取自同一个域。 2广义笛卡儿积:,RS( trts | trR tsS ),3.2 专门的关系运算 1选择(Selection)运算:F(R)= t | tRF(t)=True ,在关系R中挑选满足条件F的元组构成的新关系。 2投影(Projection):(R)= t A | tR 连接(Join):其中:是比较运算符,可以是: 大于连接学 大于等于连接 小于连接 小于等于连接 等值连接 4自然连接,3.3 关系运算举例 有关系模式:学生关系模式:S( S#, SName, Sex, Dept ) 课程关系模式:C( C#, CName, Dept ) 学生选课关系模式:SC( S#, C#, G ) 并集:R,S。,投影运算:自然连接:,本讲小结: 阐述关系的定义、对关系模式和关系的完整性等相关概念,介绍关系代数的基本运算:并、交、叉、迪卡积、投影、连接 布置作业:P180.1,2,