第章关系数据库.ppt
《第章关系数据库.ppt》由会员分享,可在线阅读,更多相关《第章关系数据库.ppt(75页珍藏版)》请在三一文库上搜索。
1、第2章 关系数据库,2.1 关系模型及其定义 2.2 关系的3类完整性约束 2.3 关系代数,2.1.1 关系中的基本术语, 关系:简单理解一个关系就是一张二维表,包含若干个元组。 元组:表中的一行即为一个元组。 属性:表中的列称为属性。(有时也称为字段) 域:属性的取值范围。 关系模式:对关系的描述。 例如: R(sno, sname, sex, birthday, class),2.1.1 关系中的基本术语, 候选键(或候选关键字,或称候选码) 是属性或属性组合,其值可以唯一的标识一个元组。 主键(或主关键字) 如果有多个候选键,选择其中一个作为主键。 主属性 包含在候选键中的各个属性。
2、全码 所有属性都是这个关系模式的候选码。 外键(或外关键字) 如果关系R2的一个或一组属性X是另一关系R1的主键,则X称为外键。,2.1.2 关系的数学定义,1. 域 域是一组具有相同数据类型的值的集合。 例如:自然数、实数、长度小于25字节的字符串集合等等。,2. 笛卡尔积 设定一组域D1,D2,Dn,这些域中可以存在相同的域,定义D1,D2,Dn的笛卡尔积为: 笛卡尔积可以表示为一个二维表。表中的每行对应一个元组,每列对应一个域。,如D1=0,1,D2=a,b,c 则,笛卡尔积,例题 若A=,B=1,2,3, 求AB, BA,AA,BB,AB=,1,2,3, ,1,2,3 BA=1,1,2
3、,2, 3,3, AA=, BB=1,1,1,2,1,3, 2,1,2,2,2,3, 3,1,3,2,3,3 笛卡儿积的运算性质,一般不能交换 .,例如:给出3个域: D1 导师集合 李清,刘涛 D2 专业集合 计算机专业,管理工程专业 D3 研究生集合 李华,杨敏,刘颖 则D1,D2,D3的笛卡尔积为?,2.1.2 关系的数学定义,该笛卡尔积共有 D1D2D312 个元组,可以列成一张表。,表2-1,2.1.2 关系的数学定义,3. 关系 笛卡尔积D1D2Dn的任一个子集称为D1,D2,Dn上的一个n元关系。表示为:R(D1, D2, , Dn)。 其中R表示关系名,n是关系的度或目 例如:
4、可以在表3-1的笛卡尔积中取出一个子集来构造一个关系。一个研究生只师从于一个导师,学习某一个专业。从中取出有实际意义的元组来构造关系,并将关系取名为SAP。这个关系可以表示为: SAP(导师,专业,研究生),2.1.2 关系的数学定义,假设导师与专业是一对一的,即一个导师只有一个专业,导师与研究生是一对多,即一个导师可以带多名研究生,而一名研究生只有一个导师,则SAP关系可以包含3个元组,如下表:,表2-2,2.1.2 关系的数学定义,4. 关系的性质 (1) 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。,2.1.2 关系的数学定义,4. 关系的性质 (2) 不同的列可出自同一
5、个域,其中的每一列称为一个属性,要给予不同的属性名。,姓名2 曾用名,2.1.2 关系的数学定义,4. 关系的性质 (3) 列的顺序无所谓,即列的次序可以任意交换,也称属性无序性。,关系性质3属性无序,2.1.2 关系的数学定义,4. 关系的性质 (4) 任意两个元组不能完全相同。,2.1.2 关系的数学定义,4. 关系的性质 (5) 行的顺序无关紧要,即行的次序可以任意交换,称为元组无序性。,2.1.2 关系的数学定义,4. 关系的性质 (6) 所有属性值都是原子,不允许属性又是一个二维关系。,关系性质6分量是原子,非规范化关系,规范化关系,关系,关系可以有三种类型: 基本表是实际存在的表,
6、它是实际存储数据的逻辑表示。 查询表是查询结果对应的表。 视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。,2. 2 关系的3类完整性约束,(1)实体完整性规则 关系中主码的值不能为空或部分为空。 (2)参照完整性规则 参照完整性规则就是定义外码与主码之间的引用规则。 (3)用户定义的完整性 指用户对某一具体数据指定的约束条件进行检验。,2. 2 关系的3类完整性约束,不允许为空值或重复值,一个错误的引用(不存在15),允许为空值,传统的集合运算是二目运算,是在两个关系中进行的。但是并不是任意的两个关系都能进行这种集合运算,而是要在两个满足一定条件的关系中进行运算。那么,对
7、关系有什么要求呢? 设给定两个关系R、S,若满足: 具有相同的度n; R中第i个属性和S中第i个属性必须来自同一个域。则说关系R、S是相容的。 除笛卡尔积外,要求参加运算的关系必须满足上述的相容性定义。,2.3 关系代数,2.3.1 传统的集合运算,1. 并(Union) 关系R和关系S的并由属于R或属于S的元组组成,即R和S的所有元组合并,删去重复元组,组成一个新关系,其结果仍为n目关系。记作: RS=t|tRtS 对于关系数据库,记录的插入 和添加可通过并运算实现。,2.3.1 传统的集合运算,2.3.1 传统的集合运算,2. 差(Difference) 关系R与关系S的差由属于R而不属于
8、S的所有元组组成,即R中删去与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: R-S=t|tRtS 通过差运算,可实现关系数据库 记录的删除。,3. 交(Intersection) 关系R与关系S的交由既属于R又属于S的元组组成,即R与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: RS=t|tRtS,2.3.1 传统的集合运算,4. 广义笛卡尔积(Extended Cartesian Product) 两个分别为n目和m目关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,
9、则关系R和关系S的广义笛卡尔积有k1*k2个元组,记作 RS=trts| trR,tsS 关系的广义笛卡尔积可用于两关系的连接操作,2.3.1 传统的集合运算,广义笛卡儿积运算实例,随堂练习,设有关系R、S,计算R1=R-S、R2=RS、R3=RS、R4=RS,R,S,由于传统的集合运算,只是从行的角度进行,而要灵活地实现关系数据库多样的查询操作,必须引入专门的关系运算。 (选择) (投影) (连接) (除),2.3.2 专门的集合运算,概念,设关系模式R(A1,A2,An),它的一个关系是R。tR表示t是R的一个元组。tAi则表示元组t相对于属性Ai的一个分量。 若A=Ai1,Ai2,Aik
10、,其中 Ai1,Ai2,Aik 是A1,A2,An 中的一部分,则A称为属性列或域列。A则表示在 A1,A2,An 中去掉 Ai1,Ai2,Aik 后剩余属性组。TA=tAi1,tAi2,tAik。 两个分别为n目和m目关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。 给定一个关系R(X,Z),其中X和Z为属性组,定义当tX=x时,x在R中的像集为 Zx=tZ|t R, tX=x。表示R中在属性组X上值为x的各元组在Z分量上的集合。,样板数据库(学生-课程数据库),选择,条件可用命题公式(即计算机语言中的条件表达式)F表示。关系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库
链接地址:https://www.31doc.com/p-3139900.html