第3章关系数据库的基本模型讲述
数据库系统基础讲义第03讲关系模型之基本概念
战德臣 教授
首先定义“列”的取值范围“域(Domain)”
域(Domain)
一组值的集合,这组值具有相同的数据类型 如整数的集合、字符串的集合、全体学生的集合 再如, 由8位数字组成的数字串的集合,由0到100组成的整数集合
集合中元素的个数称为域的基数(Cardinality)
D3=儿童集合(CHILD)={李健,张睿,张峰} D2=女人集合(WOMAN)={王芳,刘玉} D1=男人集合(MAN)={李基,张鹏}
列值:来自域
什么是关系? (2)“表”的严格定义--关系?
战德臣 教授
关系可用R(A1:D1 , A2:D2 , … , An:Dn )表示,可简记为R(A1 , A2 , … ,
关系模式 An ),这种描述又被称为
(Schema)或表标题(head)
度 目 R是关系的名字, Ai 是属性, Di 是属性所对应的域, n是关系的 或
战德臣 教授
由于笛卡尔积中的所有元组并不都是有意义的,因此…
关系(Relation)
一组域D1 , D2 ,…, Dn的笛卡尔积的子集 笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation)
由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名
字,该名字即为属性名。
列名(属性名)
什么是关系? (1)什么是“表”?
战德臣 教授
为什么把“表”称为关系? 怎样严格定义一个“表”? “表”和“关系”有什么异同?
什么是关系? (2)“表”的基本构成要素
如何严格地定义Table呢?
表/关系
列/字段/属 性/数据项 列名
列值பைடு நூலகம்
战德臣 教授
标题/模式 行/元组/记录
第3章 关系数据库
3)用户定义的完整性 ) 由用户自己根据情况, 由用户自己根据情况,对数据库中数据所做的规定称 为用户定义的完整性规则,也称为域完整性规则。 为用户定义的完整性规则,也称为域完整性规则。通 过这些规则来限制数据库中只能接受符合用户定义完 整性约束条件的数据值, 整性约束条件的数据值,从而保证了数据的正确性和 有效性。 有效性。
关系模型的主要特点有: 关系模型的主要特点有: (1)关系中每一分量不可再分,是最基本的数据单位,即不 )关系中每一分量不可再分,是最基本的数据单位, 允许有表中表。 允许有表中表。 (2)每一竖列的分量是同属性的,列数根据需要而定,且各 )每一竖列的分量是同属性的,列数根据需要而定, 列的顺序是任意的。 列的顺序是任意的。 (3)每一横行由一个个体事物的诸多属性构成,且各行的顺 )每一横行由一个个体事物的诸多属性构成, 序是任意的。 序是任意的。 (4)一个关系是一张二维表,不允许有相同的属性名,也不 )一个关系是一张二维表,不允许有相同的属性名, 允许有相同的元组。 允许有相同的元组。
(6)关系模式:对关系的描述,一般表示为:关系名 (属性1,属性2,…,属性n) (7)关键字或码(Key):表中用来唯一确定(标识) 一个元组的某个属性或属性组合。 关键字必须唯一,但它的唯一性不是只对关系的当前元 组构成来确定的。(,)还要考Байду номын сангаас元组构成的将来可能性。 一个关系中,关键字的值不能为空,即关键字的值为空 的元组在关系中是不允许存在的。
3.2.1 传统的集合运算
传统的集合运算,包括并、 传统的集合运算,包括并、差、交、广义笛卡尔积 四种运算。 四种运算。 1、并(Union) 、 ) 关系R与关系 的并记作 关系 与关系S的并记作: 与关系 的并记作: R∪S = { t | t∈R ∨ t∈S } ∪ ∈ ∈ 其结果仍为关系,由属于 或属于 的元组组成。 或属于S的元组组成 其结果仍为关系,由属于R或属于 的元组组成。 2、交( Intersection) 、 ) 关系R与关系 的交记作 关系 与关系S的交记作: 与关系 的交记作: R∩S = { t | t∈R ∧t∈S } ∈ ∈ 其结果关系仍为关系,由既属于 又属于 的元组组成。 又属于S的元组组成 其结果关系仍为关系,由既属于R又属于 的元组组成。
第3章关系数据模型及语言
除 rs={u对每一元组vs都存在同一元组tr,使得t[Q]=u 且t[S]=v} 半连 rs=R(r s) 囿补 ŕ={t|t( A1 (r)×A2(r)××Ak(r))tr}, 是有限关系
对任何有限关系,经上述定义的关系代数运算,结果 仍是有限关系----称这些关系代数运算为囿代数运算; 只包含囿代数运算的关系代数称为囿关系代数.
2. 域演算
以域变量(元组变量的分量)作为谓词变元的关系运算。
域演算表达式为: { t1t2tk | φ(t1,t2,tk)} 其中,t1,t2,tk为元组变量t的各个分量, φ是域演算公式。
1) 三种原子公式
① r(t1t2tk) :“以t1,t2,tk为分量的元组在关系r中”
所以,一个关系模式是个五元组r(R,D,d,F)。 显然,关系模式是型,关系是它的值;关系模式是静态 的、稳定的,而关系是动态的,随时间不断变化的。
5、关系模型
关系模型是所有的关系模式、属性名和关键字的集 合;即:若干关系框架的集合。 一个关系模型描述了若干实体及其相互的联系。
6、关系数据库
对应于一个关系模型的所有关系的集合,称为关 系数据库。 实际上,关系数据库也有型与值之分: 关系数据库的型称为关系数据库模式,是对关系数 据库的描述,包括域的定义以及在这些域上定义的若 干关系模式; 关系数据库的值称为关系数据库,是这些关系模式 在某一时刻对应的关系的集合。
在文件组织中,这些表格称为文件。
术语对照:
关系具有的特性:
(1)每一列有不同的名字,但每一列属同一类型的域 值;不同列也可以出自相同的域; (2)任意两行不能全同; (3)每一数据项应为不可再分的数据单位; (4)行、列次序无关; (5)具有主关键字唯一标识各个元组;
第3章关系数据模型(基本概念和ER转换)
返回
22
2.3关系的重要性质
1. 关系中属性的顺序是无关紧要的,即列的顺序可以任意交换。 交换时,应连同属性名一起交换,否则将得到不同的关系。
例如:关系T1作如下交换时,无任何影响,如下表所 示:
性别 男 女 男 姓名 李力 王平 刘伟
返回
23
而作如下交换时,不交换属性名,只交换属性列中的 值,则得到不同的关系,如下表:
一是只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复 杂,用户不易掌握; 二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂, 因此应用程序的编写也比较复杂。
返回
3
网状模型
用有向图结构表示实体类型及实体间联系的数据模型称为网状模 型(network model)。 网状模型的特点是:记录之间联系通过指针实现,M:N联系也容 易实现(一个M:N联系可拆成两个1:N联系),查询效率较高。 网状模型的缺点是:数据结构复杂和编程复杂。
返回
18
(5)域(Domain) 属性的取值范围,如年龄的域是(14~40),性别的域 是(男,女)。 (6)分量 每一行对应的列的属性值,即元组中的一个属性值, 如学号、姓名、年龄等均是一个分量。 (7)关系模式 对关系的描述,一般表示为:关系名(属性1,属性 2,……属性n),如:学生(学号,姓名,性别,年 龄,系别)。
姓名 男 女 男
性别 李力 王平 刘伟
返回
24
2. 同一属性名下的各个属性值必须来自同一个域,是同一类型的 数据(职业属性下面就应该是教师工人等,不能是男人女人)。 3. 关系中各个属性必须有不同的名字,不同的属性可来自同一个 域,即它们的分量可以取自同一个域。
第3章 关系数据库的基本理论PPT课件
31.10.2020
5
关系模式(4)
关系是一种规范化了的二维表格,具有如下性质: ➢ 属性值是原子的,不可分解。 ➢ 没有重复元组。 ➢ 没有行序。 ➢ 理论上没有列序,但一般使用时都有列序。
❖ 关键码和表之间的联系
超键:在一个关系中,能惟一标识元组的属性或属性集称为关系的超键。
候选键:如果一个属性集能惟一标识元组,且又不含有多余的属性,那 么这个属性集称为关系的候选键。
学生关系模式 S(SNO,SNAME,SEX,AGE,SDPET) 选修关系模式 SC( SNO,CNO,GRADE) 课程关系模式 C(CNO,CNAME,CDEPT,TNAME)
SNO CNO GRADE
学生关系实例如下表;选修关系实例如右表。 S1 C1
87
S1 C2
78
SNO SNAME SEX AGE SDEPT
主键:若一个关系中有多个候选键,则选其中的一个为关系的主键。
外键:若一个关系R中包含有另一个关系S的主键所对应的属性组F,则 称F为R的外键。并称关系S为参照关系,关系R为依赖关系。
31.10.2020
6
关系模式(5)
例如,学生关系和系部关系分别为: 学生(SNO,SNAME,SEX,AGE,SDNO) 系部(SDNO,SDNAME,CHAIR) 学生关系的主键是SNO,系部关系的主键为SDNO,在学生关系 中,SDNO是它的外键。更确切地说,SDNO是系部表的主键,将它 作为外键放在学生表中,实现两个表之间的联系。在关系数据库中, 表与表之间的联系就是通过公共属性实现的。我们约定,在主键的属 性下面加下划线,在外键的属性下面加波浪线。
GRADE 87 67 …
11
关系模式(10)
关系数据库模型
2、并运算:关系R和S的并是一个新的关系,记为R∪S = {t | tR∨tS},它由属于R或属于S的所有元组构成。 3、差运算:关系R和S的差是一个新的关系,记为R-S={t | tR∧tS},它由属于R但不属于S的元组构成。 4、交运算:关系R和S的交是一个新的关系,记为R∩S= { t | tR∧tS },它由属于R同时也属于S的元组构成。
3.1.2 关系数据结构(3)
候选键(Candidate Key):能唯一地标识出一个元组的属 性或属性组。 联合键(Concatenated Key):两个或两个以上属性组成的候 选键。 全键(All-Key):关系的全部属性构成关系的唯一候选键。 该关系称为全键关系(All-Key Relation) 主键(Primary key):在关系的多个候选键中选择的一个候 选键,用它作为元组的唯一标示。在一个关系中只能有 一个主键。 外键(Foreign Key):关系R中的一组属性A不是关系R的主 键,但A是另一个关系S的主键,则属性组A就是关系R 的外键。
3.2.2 专门的关系运算(4)
自然连接(Natural join):两个关系进行连接比较的 属性列完全相同的等值连接,且结果关系中没有重 复的属性。即若R和S具有相同的属性组A,则自然 连接可记作:
R S=B(R.A=S.A(R×S))
其中集合B是关系R和S属性的并集。 自然连接是同时从行和列的角度进行运
σF(R) = { t | tR∧F(t)} 其中σ是选择运算符,F是限定条件的布尔表达式。 由逻辑运算符∨、∧和┐等连接各个算术表达 式组成。 算术表达式的基本形式为XY,其中X,Y可 以是属性名,常量或简单函数,算术比较运算符 {, ,,,,}。 P45—例3.4
3.2.2 专门的关系运算(2)
第3章 关系数据库系统模型
3.2.3 参照完整性
• 在关系模型中实体及实体间的联系都是用关系来描述的,因此可能
存在着关系与关系间的引用。
例1 学生实体、系别实体 学生(学号,姓名,性别,系别号,年龄) 系别(系别号,系名)
主码
主码
学生关系引用了系别关系的主码“系别号”。 系别关系中的“系别号”值必须是确实存在的系的系别号 ,即系别 关系中有该系别的记录。
关系的特点
(1) 关系可以看成是由行和列交叉组成的二维表格。 它表示的是一个实体集合。 (2) 表中一行称为一个元组,可用来表示实体集中的 一个实体。 (3) 表中的列称为属性,给每一列起一个名称即属性 名,表中的属性名不能相同。 (4) 列的取值范围称为域,同列具有相同的域。例如, 年龄为整数域。 (5) 表中任意两行(元组)不能相同。
2.关键码和表之间的联系
例如: 学生关系 ( SNO,SNAME,SEX,AGE,SDNO) 系部关系 (SDNO,SDNAME,CHAIR) • 学生关系的主键是SNO,系部关系的主键为SDNO,在学 生关系中,SDNO是它的外键。 • 学生关系为参照关系,系部关系为被参照关系。
3.关系模式、关系子模式和存储模式
3.2.2 实体完整性
实体完整性规则(Entity Integrity) 若属性A是基本关系R的主属性,则属性A不能取空值 例:在学生关系S中,“学号”为主码,则它不能取空值。
如选课关系SC中,“学号”与“课程号”为主码,则两
个属性都不能取空值。
实体完整性(续)
实体完整性规则的说明 (1) 实体完整性规则是针对基本关系而言的。一个基本表通常对应现实 世界的一个实体集。 (2) 现实世界中的实体是可区分的,即它们具有某种唯一性标识。 (3) 关系模型中以主码作为唯一性标识。 (4) 主码中的属性即主属性不能取空值。 主属性取空值,就说明存在某个不可标识的实体,即存在不可区 分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性
第三章 关系数据库模型PPT课件
3.1 关系模型的基本概念
数据结构——关系
年份
1992 1992 1992 1992 1993 1993 1993 1993
电影名
数据结构——关系
定义3.2(关系)笛卡尔积D1D2…Dn的子 集称为D1, D2, …, Dn上的一个关系 (Relation)。集合D1, D2, …, Dn是关系中元 组的取值范围,称为关系的域(Domain),n称 为关系的度(Degree)。
关系可用R(D1, D2, …, Dn)表示,R是关系名。 n=1,则为一元关系,n=2,则为二元关系,…
外键:关系R中的一组属性A不是关系R的主键, 但A是另一个关系S的主键,则属性组A就是关系 R的外键。
主属性:包含在候选码中的属性称为主属性。 非主属性:不包含在任何候选码中的属性称为
非主属性。
3.1 关系模型的基本概念
数据结构——关系
Sno
Sname
Class
Cname
S01
王建平
199901
3.1 关系模型的基本概念
数据结构——关系
年份
1992 1992 1992 1992 1993 1993 1993 1993
电影名
星球大战 星球大战 独立日 独立日 星球大战 星球大战 独立日 独立日
电影长度
100 120 100 120 100 120 100 120
3.1 关系模型的基本概念
3.1 关系模型的基本概念
数据结构——关系
注意:按照笛卡儿积的定义,关系可以是一个无限集 合。由于笛卡儿积不满足交换率,所以按照数学定律, (d1,d2,…,dn)≠(d2,d1,…,dn)。当关系作为关系数据 模型的数据结构时,需要给予限定和扩充:
第3讲关系模型概述
第3讲关系模型概述关系模型是数据库设计中最为常用的模型之一,它以二维的表格形式来组织和表示数据。
在关系模型中,数据被组织成行和列的形式,每行代表一个记录,每列代表记录中的一个属性。
这种结构化和规范化的方式使得数据的存储、管理和查询变得简单易懂。
关系模型的概念最早是由Edgar F. Codd于1970年提出的,Codd将数据库的结构化数据表示方法与关系数学中的集合论、谓词逻辑等理论相结合,提出了关系模型的理论框架。
关系模型不仅适用于关系数据库管理系统(RDBMS),也适用于其他数据存储和处理系统。
关系模型的核心是数据表(table),每个表由行(row)和列(column)组成。
行代表一个实体或记录(record),每个记录在表中有唯一的标识符,称为主键(primary key)。
列代表每个实体的属性(attribute),每个属性都有对应的数据类型、约束和默认值。
通过在表中建立数据之间的关系,可以将多个表连接起来形成一个更大的数据集合。
除了表,关系模型还包括其他重要的概念,如外键(foreign key)、索引(index)和视图(view)。
外键是关系模型中不同表之间的连接点,通过外键可以实现表之间的关系和数据的一致性。
索引是提高数据检索效率的重要工具,它可以加速数据的查询操作。
视图是对一个或多个表的查询结果进行封装,可以简化数据的访问和操作。
关系模型的优点在于其结构化和规范化的特点,使得数据的存储和查询操作更容易理解和实施。
同时,关系模型的严格约束和强制性规则可以保证数据的一致性和完整性。
关系模型还具有良好的扩展性,可以根据需要增加新的表和关系,方便数据的管理和维护。
然而,关系模型也有一些局限性。
首先,关系模型对复杂数据和关联查询的支持相对较弱,对于层次结构和网络结构的数据表示和查询会比较困难。
其次,关系模型对数据的冗余存储较多,对于大量数据存储和查询会造成较大的存储和计算开销。
此外,关系模型在处理一些特定的数据操作和分析问题上也存在一定的限制。
第3章 关系模型
3.3.5
专门的关系运算
F ( R ) {t t R F ( t ) ' 真 '}
5.选择(Selection) 选择又称为限制(Restriction)。它是在关系R中选择满 足给定条件的诸元组,记作: 其中F表示选择条件,它是一个逻辑表达式,取逻辑值 “真”或“假”。 逻辑表达式F由逻辑运算符 ┐,∧,∨连接各算术表达式 组成。算术表达式的基本形式为:。 其中θ表示比较运算符,它可以是>,≥,<,≤或≠。X1,Y1 等是属性名,或为常量,或为简单函数;属性名也可以用 它的序号来代替。 选择运算实际上是从关系R中选取使逻辑表达式F为真的元 组,这是从行的角度进行的运算。
3.2.2 参照完整性
规则3.2 参照完整性规则 若属性(或属性 组)F是基本关系R的外码,它与基本关系S 的主码Ks相对应(基本关系R和S不一定是 不同的关系),则对于R中每个元组在F上 的值必须为: 或者取空值(F的每个属性值均为空值); 或者等于S中某个元组的主码值。 参照完整性规则就是定义外码与主码之间 的引用规则。
3.1.2 关系的形式化定义
4.码的定义 (1) 码(Key):在关系的各个属性中,能够用来惟一标识一个元 组的最小属性或属性组。 (2) 候选码(Candidate Key):若在一个关系中,某一个属性或属 性组的值能惟一地标识该关系的元组,而其真子集不行,则称该属 性或属性组为候选码。 (3) 主码(Primary Key):若一个关系有多个候选码,则选定其中 一个为主码。 (4) 主属性(Prime Attribute):所有候选码中的属性称为主属性。 (5) 非主属性(Non-Key Attribute):不包含在任何候选码中的属 性。 在最简单的情况下,候选码只包含一个属性。 在最极端的情况下,关系模式的所有属性组是这个关系模式的候选 码,称为全码(All-key)。
数据库第三章关系数据库
2013年9月10日
3.3.1 实体完整性示例:主关键字
学号 9901 9902 9903 9904
姓名 张三 李四 王五 赵六
年龄 20 18 19 20
性别 男 女 女 男
所在系 计算机 计算机 计算机 计算机
3.2.3 关系形式定义
定义:D1×D2 × …. × Dn 的任意一子集叫 作D1,D2….Dn上的一个n元关系,用R( D1, D2….Dn)表示。 如:对刚才的例子取子集: R={(P2,显卡),(P4,显卡),(P7,声卡)}
器件号 P2 P4 P7 器件名 显卡 显卡 声卡
3.2.4 基本关系的性质
①分量必须取原子值,即每个分量必须是不可再分的数据项。 ②列是同质的,即每一列中的分量是同一类型的数据,来自同 一个域。 ③不同的列可出自同一个域,称其中的每一列为一个属性,不 同的属性要给予不同的属性名。 ④列的顺序无所谓,即列的顺序可以任意交换。 ⑤行的顺序无所谓,即行的顺序可以任意交换。 ⑥任意两个元组不能完全相同。
3.2.4 关系性质1—分量是原子
孩子 父 母 大 小
李男 王男
丁女 肖女
李一 王一
李二
非规范化关系
父 母 大孩 小孩 父 母 孩子
李男 王男
丁女 肖女
李一 王一
李二
李男 李男 王男
丁女 丁女 肖女
李一 李二 王一
规范化关系
3.2.4 关系性质2——同质的列
学号 9901 9902 王五 9904
50000 50001
CNAME
梁亮 吴丹
第3章关系数据库的基本模型
例如,在表3-4中,籍贯含有省、市/县两项,出现了 “表中有表”的现象,则为非规范化关系,而把籍贯分成 省、市/县两列,将其规范化,如表3-5所示。
表3-4 不规范的关系 籍贯 姓名 省 王洪 黑龙江 市/县 王洪 齐齐哈尔 黑龙江 齐齐哈尔 表3-5 规范后的关系 姓名 省 市/县
2019/4/8 13
这些域中可以存在相同的域。例如 D1 和 D2 可以是相同的域。 若 Di (i 1,2,, n) 为有限集,其基数 (Cardinal number)为 mi (i 1,2,, n) , 则 D1 D2 Dn 的基数 M 为:
M mi
i 1 n
D1 D2 D3
{(李琳,英语,合格),(李琳,英语,不合格), (李琳,高数,合格),(李琳,高数,不合格), (李琳,政治,合格),(李琳,政治,不合格), (王明,英语,合格),(王明,英语,不合格), (王明,高数,合格),(王明,高数,不合格), (王明,政治,合格),(王明,政治,不合格), (林丽,英语,合格),(林丽,英语,不合格), (林丽,高数,合格),(林丽,高数,不合格), (林丽,政治,合格),(林丽,政治,不合格)}
2019/4/8
26
3.1.2 关系模式
在数据库中要区分型和值。关系数据库中,关系模式是型, 关系是值。关系模式是对关系的描述,一个关系应从以下几 个方面描述。 关系实质上是一张二维表,表的每一行为一个元组,每一列 为一个属性。一个元组就是该关系所涉及的属性集的笛卡尔 积的一个元素。关系是元组的集合,因此关系模式必须指出 这个元组集合的结构,即它有那些属性构成,这些属性来自 哪些域,以及属性与域之间的映像关系。 其次,一个关系通常是由赋予它的元组语义来确定的。元组 语义实质上是一个n目谓词(n是属性集中的属性的个数)。 凡是使n目谓词为真的笛卡尔积中的元素(或者说凡符合元 组语义的那部分元素)的全体就构成了该关系模式的关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/10/4
4
关系数据库系统是支持关系模型的数据 库系统。它由以下三个基本部分组成:
关系数据结构 关系操作 关系中的完整性约束规则
2020/10/4
5
数据模型主要描述两类信息:一是实体; 二是实体之间的联系。在层次、网状模型中, 实体之间的联系是通过指针来实现的,而在 关系模型中,实体之间的联系是通过二维表 中公共属性值建立起来的联系来实现的。所 以,在建立关系模型时,只要把的所有的实 体及其属性用关系框架来表示,同时把实体 之间的关系也用关系框架来表示,就可以得 到一个关系模型。
第3章 关系数据库的基本理论
关系数据库应用数学方法来处理数据库中的 数据。最早将这类方法用于数据处理的是1962年 CODASYL发表的“信息代数”之后有1968年 David Child在IBM7090机上实现的集合论数据结 构,但系统地、严格地提出关系模型的是美国IBM 公司的E·F·Codd。
注意:笛卡儿积不满足交换率,即笛卡儿积的元组 有序。
2020/10/4
17
3.关系(Relation)
定义3.3 D1 D2 Dn 的子集叫做在域 D1, D2 ,Dn
2020/10/4
6
教师关系T
Tno Tname Sex Age Prof Sal Comm Dept
教师 号
教师 姓名
性别
年龄
职称
工资
岗位 津贴
系别
课程关系C
Cno Cname 课程号 课程名
2020/10/4
Ct 课时
授课关系SC
Tno 教师号
Cno 课程号
7
从以上关系的框架中,可以很容易看出哪两 个关系之间有联系。
1.描述实体本身的信息
2.描述实体(关系)之间的联系的信息
关系数据库系统是支持关系数据模型的 数据库系统,即以关系模型为基础而构建起 来的数据库系统。
2020/10/4
9
3.1.1 关系数据结构
在关系模型中,数据的逻辑结构为满足 一定条件的二维表,表具有固定的列数和任 意的行数,在数学上称为“关系”。关系模 型的数据结构可以描述现实世界的实体以及 实体间的各种联系。在关系模型中,可以把 现实世界中的实体以及实体间的各种联系均 用单一的关系来表示。由于关系的概念来源 于数学,关系模型是在集合代数的基础上建 立起来的,所以有必要从数学的角度对关系 的数据结构及其基本概念做一论述。
笛卡尔积可以表示为一个二维表。表中的每 行对应一个元组,表中的每一列的值来自一 个域。例如给出如下三个域:
D1 =学生集合={李琳、王明、林丽} D2 =课程集合={英语、高数、政治} D3 =成绩集合={合格、不合格}
2020/10/4
15
则 D1、D2 、D3 的笛卡尔积为:
D1 D2 D3
2020/10/4
13
这些域中可以存在相同的域。例如 D1 和 D2 可以是相同的域。
若 Di (i 1,2,, n) 为有限集,其基数 (Cardinal number)为 mi (i 1,2,, n) , 则 D1 D2 Dn 的基数 M 为:
n
M mi i 1
2020/10/4
14
2020/10/4
12
2、笛卡尔积(Cartesian Product)
给定一组域D1,D2,…,Dn,这些域中可以 有相同的。D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn={(d1,d2,…,dn)| diDi,i=1,2,…,n}
其中每一个元素( d1, d2 ,, dn )叫作一个元 组(n-tuple)或简称元组(Tuple),元素中的 每一个值d i 叫作一个分量(Component)。
主要内容:关系模型的基本概念 三类完整性条件 关系代数基本运算
重点难点:关系代数基本运算
2020/10/4
2
3.1 关系模型的基本概念 3.2 关系模型的三类完整性 3.3 关系代数的基本运算 3.4 系模型的基本概念
数据模型一般包括数据结构、数据操作 和数据完整性约束三个部分,数据模型中的 数据结构主要描述数据类型、性质以及数据 间的联系,数据结构是数据模型的基础;数 据模型中的数据操作主要描述在相应数据结 构上的操作类型与操作方式;数据模型中的 数据完整性约束主要描述数据结构内数据间 的语法、语义联系,它们间的制约和依存关 系,以及数据动态变化的规则以保证数据的 正确、有效与相容。
D1 D2 D3 的基数为 M 33 2 18
2020/10/4
16
一共有十八个,每个元素为一个元组,每个元 组分别包含学生姓名、课程名称、成绩三个分量。 这些元组构成了二维表的形式。
如果一个关系的元组个数是无限的,则称为无 限关系;如果一个关系的元组个数是有限的,则称 为有限关系。
由于计算机存储系统的限制,一般不去处理无 限关系,而只考虑有限关系。
{(李琳,英语,合格),(李琳,英语,不合格), (李琳,高数,合格),(李琳,高数,不合格),
(李琳,政治,合格),(李琳,政治,不合格), (王明,英语,合格),(王明,英语,不合格), (王明,高数,合格),(王明,高数,不合格), (王明,政治,合格),(王明,政治,不合格), (林丽,英语,合格),(林丽,英语,不合格), (林丽,高数,合格),(林丽,高数,不合格), (林丽,政治,合格),(林丽,政治,不合格)}
例如:
1.教师关系和授课关系有公共的属性“教师号”, 则表明这两个关系有联系。
2.而课程关系和授课关系有公共的属性“课程号”, 则表明这两个关系也有联系。
3.至于元组之间的联系,则与具体的数据有关。只 有在公共属性上具有相同属性值的元组之间才有 联系。
2020/10/4
8
由上例可以看出,在一个关系中可以存 放两类信息:
2020/10/4
10
关系 ⒈ 域(Domain) 2. 笛卡尔积(Cartesian Product) 3. 关系(Relation)
2020/10/4
11
1.域(Domain)
定义3.1 域是一组具有相同数据类型的值的 集合。 例如,自然数、整数、实数、{0,5}、大于0 且小于50的自然数、长度小于20个字节的字 符串集合等,都可以是域。