第2章关系数据库.ppt

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n
M= mi i 1
例如: D1={李力,王云,刘伟} D2={男,女} D1×D2={ ( 李 力 , 男 ) , ( 李 力 , 女 ) , ( 王 云 , 男),(王云,女),(刘伟,男),(刘伟,女)}
其中: – 李力、王云、刘伟、男、女都是分量。 – (李力,男),(李力,女)等是元组。 – 笛卡尔积的基数M=m1×m2=3*2=6,即元组的个数为6
笛卡尔积D1×D2×…×Dn的任一个有意义的子集称为 定义在域D1,D2,…Dn上的n元关系(Relation),可用R (D1,D2……Dn)表示。
– 如上例D1×D2笛卡尔积的子集可以构成教师关系 T1(姓名,性别),如下表:
姓名 李力 王云 刘伟
性别 男 女 男
在R(D1,D2,…..Dn)中,R为关系名,n称为关 系的目或度(Degree)。
笛卡尔积可用二维表的形式表示。 – 例如,上述的6个元组可表示成一张二维表。 表2-1
姓名
性别
李力

李力

王云

王云
女Baidu Nhomakorabea
刘伟

刘伟

•由上例可以看出,笛卡尔积实际是一个二维表,表的框架由域
构成,表的任意一行就是一个元组,表中的每一列来自同一域,
如第一列的分量来自D1,第二列的分量来自D2。
3 、关系(Relation)
第二章 关系数据库
2.1 关系数据模型概述 2.2 关系模型的数据结构 2.3 关系模型的完整性 2.4 关系代数
2.5 关系演算
本章提示
本章以关系模型的三要素(数据结构、完整性约束和 数据操作)为线索,对关系模型加以论述。
首先讲述关系模型的数据结构的定义、关系的码以及 关系的性质。
其次,讲述关系数据库的三类完整性约束:实体完整 性、参照完整性和用户定义的完整性。
为了从集合论的角度给出关系的定义,我们先引入域 和笛卡尔积的概念。
1、 域(Domain)
域是一组具有相同数据类型的值的集合。(用D表示)
– 例如整数、实数、字符串的集合。
域中所包含的值的个数称为域的基数。 (用m表示)
关系中用域表示属性的取值范围。例如:
– D1={李力,王平,刘伟} m1=3
– D2={男,女}
– 例如,假设在学生关系中没有重名的学生,则“学 号”和“姓名”都可作为学生关系的候选码。如果 选定“学号”作为数据操作的依据,则“学号”为 主码。
例如:
D1={0,1}
D2={a,b,c}
D1 ×D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}
元组
分量
笛卡尔积的基数:
若Di(i=1,2,……n)为有限集,Di中的集合元素个 数称为Di的基数,用mi(i=1,2,……n)表示,则笛卡尔积 D1×D2×……×Dn的基数M(即元素(d1,d2,……dn)的个 数)为所有域的基数的累乘之积,即
– 当n=1时,称为单元(unary relation)关系。 – 当n=2时,称为二元(Binary relation)关系。 –… – 当n=n时,称为n元关系。
如上例为二元关系,关系名为T1。
关系模型的结构
Relation关系
Tuple元组 Attribute属性
表结构:二维表、行、列
二、关系的候选码
下面给出候选码的形式化定义:
设关系R有属性A1,A2,……An,其属性子集K=(Ai, Aj,……Ak),当且仅当满足下列条件时,K被称为候选码:
– 唯一性(Uniqueness):关系R的任意两个不同元组, 其属性集K的值是不同的。
– 最小性(Minimally):组成关系键的属性集(Ai, Aj,……Ak)中,任一属性都不能从属性集K中删掉, 否则将破坏唯一性的性质。
D1,D2,…,Dn的笛卡尔积为
D1×D2×……×Dn= {(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。
由定义可以看出,笛卡尔积是一个集合。 其中:
– 元素中的每一个di叫做一个分量(Component),来自相 应的域(di∈Di)。每一个元素(d1,d2,d3,…, dn)叫做一个n元组(n-tuple),简称元组(Tuple)。
1979年 oracleV2 ,1983年IBM DB2,1984年sysbase 1989年MS-SQLserver 。。。
数据模型3个要素:关系数据结构、关系操作集合、关系完整 性约束
2.2 关系模型的数据结构
一、关系的定义
在关系模型中,数据是以二维表的形式存在的,这个 二维表就叫做关系。
关系理论是以集合代数理论为基础的,因此,我们可 以用集合代数给出二维表的“关系”定义。
例如:“学生关系”中的每个学生的学号是唯一的,“选 课关系”中“学号+课程号” 的组合也是唯一的。对于属 性集“学号+课程号” 去掉任一属性,都无法唯一标识选 课记录。
2、主码
如果一个关系中有多个候选码,可以从中选择一个作 为查询、插入或删除元组的操作变量,被选用的候选码称 为主码(Primary Key)。
最后介绍关系模型的数据操作,分别用关系代数和关 系演算来描述。
2.1 关系模型概述
IBM公司 E.F.Codd 首次系统得提出关系模型理论,“大型共 享数据的关系模型”(A Relation Model of Data for Large Shared Data Banks)
1977年IBM公司研制的关系数据库的代表System R 加州大学伯克利分校研制了INGRES关系数据库 20世纪80年代以来,计算机厂商新推出的数据库管理系统几 乎都支持关系模型,非关系系统的产品也都加上了关系接口。
m2=2
– D3={47,28,30}
m3=3
– 其中,D1,D2,D3为域名,分别表示教师关系中姓 名、性别、年龄的集合。
域名无排列次序,如D2={男,女}={女,男}
2 、笛卡尔积(Cartesian Product)
给定一组域D1,D2,…,Dn(它们可以包含相同的元素, 即可以完全不同,也可以部分或全部相同)
1、候选码
能唯一标识关系中元组的属性或属性组,称为该关系 的候选码(Candidate Key)。如:
“学生关系”中的学号能唯一标识每一个学生, 则属性“学号”是学生关系的候选码。
在“选课关系”中,只有属性的组合“学号+课 程号”才能唯一地区分每一条选课记录,则属性 集“学号+课程号”是选课关系的候选码。
相关文档
最新文档