教案第二章备课
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教案(第二章备课)
长度指定长度的字符串集合
{‘男’,‘女’} 介于某个取值围的日期
. 笛卡尔积()
) 笛卡尔积
给定一组域,,…,,这些域中可以有相同的。,,…,的笛卡尔积为:××…×={(,,…,)|,=,,…,}
所有域的所有取值的一个组合,不能重复
例给出三个域:
{ 清玫,逸 }
{计算机专业,信息专业}
{勇,晨,王敏}
则,,的笛卡尔积为:
×× =
{(清玫,计算机专业,勇),(清玫,计算机专业,晨),
(清玫,计算机专业,王敏),(清玫,信息专业,勇),
(清玫,信息专业,晨),(清玫,信息专业,王敏),
(逸,计算机专业,勇),(逸,计算机专业,晨),
(逸,计算机专业,王敏),(逸,信息专业,勇),
(逸,信息专业,晨),(逸,信息专业,王敏) }
) 元组()
笛卡尔积中每一个元素(,,…,)叫作一个元组()或简称元组。
) 分量()
笛卡尔积元素(,,…,)中的每一个值叫作一个分量。
) 基数()
若(=,,…,)为有限集,其基数为(=,,…,),则××…×的基数为:
在上例中,基数:××=,即××共有××=个元组
)笛卡尔积的表示方法
笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。
在上例中,个元组可列成一二维表
. 关系()
) 关系
××…×的子集叫作在域,,…,上的关系,表示为
(,,…,)
:关系名
:关系的目或度()
注意:
关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。
由于笛卡尔积不满足交换律,即
(,,…,)≠(,,…, )
但关系满足交换律,即
(,,…,,,…,)(,,…,,,…,)(,,,…,)
解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性
例在表的笛卡尔积中取出有实际意义的元组来构造关系
关系:(,,)
学生(学号,,性别,专业号,年龄):
专业(专业号,
专业名):
例学生、课程、学生与课程之间的多对多联系
学生(学号,,性别,专业号,年龄)
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
例学生实体及其部的领导联系(一对多)
学生(学号,,性别,专业号,年龄,班长)
.外码()
设是基本关系的一个或一组属性,但不是关系的码。如果与基本关系的主码,相对应,则称是基本关系的外码
基本关系称为参照关系()
基本关系称为被参照关系()或目标关系()。
说明:
关系和不一定是不同的关系
目标关系的主码和参照关系的外码必须定义在同一个(或一组)域上
外码并不一定要与相应的主码同名
当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别
. 参照完整性规则
若属性(或属性组)是基本关系的外码
它与基本关系的主码相对应(基本关
系和不一定是不同的关系),则对
于中每个元组在上的值必须为:
或者取空值(的每个属性值均为空值)
或者等于中某个元组的主码值。
学生关系中每个元组的“专业号”属性只取下面两类值:
()空值,表示尚未给该学生分配专业
()非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中
选修(学号,课程号,成绩)
“学号”和“课程号”是选修关系中的主属性按照实体完整性和参照完整性规则,它们只能取相应被参照关系中已经存在的主码值
学生(学号,,性别,专业号,年龄,班长)
“班长”属性值可以取两类值:
()空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;
()非空值,这时该值必须是本关系中某个元组的学号值
2.3.3用户定义的完整性
用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。
例:
课程(课程号,课程名,学分)
“课程名”属性必须取唯一值
非主属性“课程名”也不能取空值
“学分”属性只能取值{,,,}
小结:
关系数据结构
关系:域、笛卡尔积、关系:
关系,属性,元组
候选码,主码,主属性
基本关系的性质
关系模式
关系数据库
关系的数据操作集合:
查询:选择、投影、连接、除、并、交、差
数据更新:插入、删除、修改
关系的完整性约束:
实体完整性
参照完整性:外码
用户定义的完整性
关系代数
概述
.关系代数
一种抽象的查询语言
用对关系的运算来表达查询
.关系代数运算的三个要素
运算对象:关系
运算结果:关系
运算符:四类——
集合运算符:
将关系看成元组的集合
运算是从关系的“水平”方向即行的角度来进行
专门的关系运算符:
不仅涉及行而且涉及列
算术比较符:
辅助专门的关系运算符进行操作
逻辑运算符:
辅助专门的关系运算符进行操作
.关系代数运算的分类
传统的集合运算:
并、差、交、广义笛卡尔积
专门的关系运算:
选择、投影、连接、除
.表示记号
(),,[]
设关系模式为(,,…,)
它的一个关系设为。表示是的一个元组,[]则表示元组中相应于属性的一个分量(),[],