第二讲 关系模型
(第二讲)数据库(第二章:关系数据库的基本概念)
类型 char(10) char(10) char(2) Int char(4) 学号,主码 姓名:字符类型
说明
性别:只能为男或女 年龄:整形 所在专业编号,外码,参照专业表
4. 选课表(XK_Tab):记录学生的选课结果,对于任意一门课,每 个学生一年最多只能选一次,因此用课程编号、学号和年份联合作为 选课表的主码。选课表通过学号参照学生表,通过课程编号参照课程 表。
2. 课程表(KC_Tab):存放多门课程,主码为课程编号。
表2-4 课程表(KC_Tab)
列名 KC_Id KC_Name KC_KC_Id KC_Point
类型 char(4) char(50) char(4) Float
说明 课程编号,主码 课程名称 先修课课程编号 课程的学分
3. 学生表(XS_Tab):记录学生的基本信息,主码为学号,通过专业 编号参照专业表。
2.3 关系模型规范化
关系模型规范化的目的是为了消除存储异常,减少数据冗余, 保证数据的完整性和存储效率。 关系数据库中的关系是要满足一定的规范化要求的。对于不 同规范化程度,可以使用“范式”来衡量。满足最低要求的为I范 式。。在I范式的基础上,进一步满足一些要求的为II范式,以次 类推。一般情况下,在实践中关系模式满足3范式就基本可以。
元素的每一个值 di 叫作一个分量。关系模型中要求每一 个分量必须属于某种基本数据类型,如整形或字符串型。
关系:笛卡尔积的子集就是一个关系。
R( D1 , D2 ,, Dn )
这里R表示关系的名字,n是关系的目或度。
例: 我们给出如下三个域: D1 =导师集合。导师={王新,赵阳} D2=专业集合。专业={计算机,通信} D3=学生集合。学生={(张三,101),(李四,201)} 则笛卡尔积为: D1XD2XD3={(王新,计算机,张三,101), (王新,计算机,李四,201),
第2章 关系模型
专门的关系运算
A a1 a1 a2 a3 a4 A B C
袁玲
袁玲
袁玲 袁玲 吴丹 吴丹 吴丹 吴丹 刘杰 刘杰 刘杰 刘杰
男
女 女 男 男 女 女 男 男 女 女
19
18 19 18 19 18 19 18 19 18 19
关系的定义
定义2.3:D1×D2ׄ×Dn上的任意一个子集均 是定义在域D1,D2,„Dn上的一个关系
(relation),记为R
B b b b e e e h h h
C c c c f f f i i I
A a j m a j m a j m
B b k n b k n b k n
C c l p c l p c l p
A a j m
B b k n
(b) S(A,B,C)
C c l p
(d)R×S
专门的关系运算
(1)选择(selection) σ F(R)={t| t∈R∧F(t)=true}
关系的定义
例2-2:已知三个域: D1={袁玲,吴丹,刘杰} D2={男,女} D3={18,19}
则D1、D2和D3的笛卡尔积可以表示成一张二维表,如表2-1所示。
D1 D2
男
D3
18
•该笛卡尔积的基数 为3×2×2=12,即 共有12个元组,(袁 玲、男、18)和(吴 丹、女、19)就是元 组,“袁玲”、 “女”、“吴丹”、 “19”就是分量。 •有时一个元组也被 称为一条记录
第2章关系模型与关系代数
关系完整性约束条件
实体完整性
若属性集A是关系r的主码,则A不能取空值null。
例如,关系Student,由于studentNo是关系 Student的主码,因此它在任何时候的取值都 不能为空值null,但其他属性如sex、 birthday、speciality等都可以取空值,表示 当时该属性的值未知或不存在。
不能重复出现的所有域的所有取值的一个组合。
关系数据结构的形式化定义
▪其中,集合中的每一个元素(d1, d2, …, dn)称为一个n元组, 简称为元组;元素中 的每一个值di称为一个分量。
若Di(i=1,2,…,n)为有限集,其 基数(Cardinal Number,此域中所有 可取值的个数)为mi(i=1,2,…, n),则笛卡尔积的基数M为:
关系是笛卡尔积的有限子集,所以关系也是一个 二维表, 表的每行对应于关系的一个元组,表的 每列对应于关系的一个域。由于域可以相同,为 了区别就必须给每列起一个名字,称为属性 (attribute)。n目关系共有n个属性。
n
M mi i 1
关系数据结构
关系的最基本要求: 关系中的每个属性的域必须是原子的,即域中 的每个值都是不可再分的一个完整单元。 关系中的每个元组都是可区分的,即存在唯一 标识不同元组的属性(集)——码。
关系数据库系统是支持关系数据模型的数据库系统。 关系数据库管理系统是当今的主流数据库管理系统。
关系模型由关系数据结构、关系操作集合和关 系完整性约束三部分组成。
关系数据结构
关系
关系模型的数据结构非常简单,它就是二维表, 亦称为关系 。
关系数据库是表的集合,即关系的集合。 表是一个实体集,一行就是一个实体,它由共
n
M mi i 1
概念模型ER图及概念模型转化成关系模型
m
n
1
办卡
属于
1 学生卡
1 班级
课程号 课程名
学分
卡号
余额
班号
辅导员
二、概念模型转化成逻辑模型
将E-R图转换为关系模型实际是将实体集、 属性以及联系转换为相应的关系模式, 1.实体集的转换规则:概念模型中的一个 实体集转换为关系模型中的一个关系,实 体的属性就是关系的属性,实体的码就是 关系的码,关系的结构是关系模式,
较强的语义表达能力,能够方便、直接地表达应用中的 各种语义知识
简单、清晰、易于用户理解,
2. 信息世界中的基本概念
1 实体 Entity
客观存在并可相互区别的事物称为实体,
可以是具体的人、事、物或抽象的概念,
2 属性 Attribute
实体所具有的某一特性称为属性, 一个实体可以由若干个属性来刻画,
3. 概念模型的表示方法ER图
实体型
用矩形表示,矩形框内写明实体名,
学生
教师
E-R图 续
An Introduction to Database System
属性
用椭圆形表示,并用无向边将其与相应的实体连 接起来
学生
学号
姓名
性别
年龄
E-R图 续
An Introduction to Database System
2. 实体集间联系的转换规则
以下举例基于以下的E-R图
成绩
选课 n 课程
学号
姓名
学生
m
n
1
办卡
属于
1 学生卡
1 班级
课程号 课程名
学分
卡号
余额
班号
辅导员
An Introduction to Database System
第2讲关系模型和关系运算资料
其中每一个元素(d1,d2,...,dn)叫做一个n元组(n-tuple),元素 中第i个值di叫做第i个分量。
例:设D1 ={1,2,3}, D2 ={a,b}
(b) 教师开课关系
4. 面向对象数据模型
可以表示复杂对象; 模块化的结构,便于管理; 具有定义抽象数据类型的能力。
面向对象的数据模型是新一代数据库系统的 基础,是数据库技术发展的方向。
1.2 关系和关系模式
1.2.1 关系
• 在关系模型中唯一的数据结构是关系,一个关系对应一张
二维表。
•域 : 具有相同数据类型的值的集合。
1.2.2 关系模式
关系模式一般表示为:关系名(属性1、……属性n)
如:R(A1,A2,…,An)。
用U表示关系R的属性集合 U=A1∪A2∪…∪An , 模式R上的一个关系r是从U到D的映象。元组t∈r,t的分量用t[Ai] 表示.t[Ai]∈Di
例: 在学生关系模式 S(SNO,SNAME,AGE,SEX,CNO)中, 当CNO=1, 就可以一班学生的列表,即一个具体的关系; 当CNO=2, 就可以二班学生的列表,即另一个具体的关系。
学号
姓名
200301
王鸣
200302
李丽
200401
刘敏
200402
陆川
(a) 学生关系
班级 9020031 9020031 9020041 9020042
教师姓名 系别
吴云峰
赵伟
马小路 曹岩
数学 外语 计算机 计算机
第2章关系模型
王平 女
28
讲师
800
1200
信息
出错!
2、参照完整性: 如果关系R2的外部关系键X与R1的主关 系键相符,则X的每个值或者等于R1中主 关系键的某一个值,或者取空值。
SNO SN S1 赵亦 S2 钱尔 S3 王威 SEX 女 AGE DEPT 17 计算机 18 信息 19
R1
DEPT
ADDR
2.4.2 主属性与非码属性
主属性(prime attribute):包含在主码 中的各个属性称为主属性。 例如:学生关系中的sno,学生选课关系 中的sno, cno 非码属性:不包含在任何候选码中的属性 称为非码属性。
例如:学生选课关系中的score
全码(all-key):所有属性的组合是关系的 候选码,称为全码。 教师授课关系TCS:
2.6 关系代数
关系数据库所使用的语言一般都具有: 定义、查询、更新和控制一体化的特点, 而查询是最主要的部分。因此,建立数据库 的主要目的是查询。 用关系运算表达式来表示查询的条件,按 照表达查询方法的不同,关系运算分为:关 系代数和关系演算。
2.6.1关系代数的分类及其运算符
关系代数的运算对象是关系,运算结果也是 关系 关系代数用到的运算符包括四类: 1、传统集合运算符:∪(并)、 ∩(交)、 -(差)、×(广义笛卡儿积) 2、专门的关系运算符:σ (选择)、∏ (投影),∞ (连接)、*(自然连接),÷(除) 3、算术比较运算符:><≥≤=≠ 4、逻辑运算符:∧(与)、∨(或)、┐(非)
(3)若Di( i=1,2,…,n)为有限集,Di中的 元素个数称为Di的基数,用mi(i=1,2,…,n ) 来表示,则笛卡儿积D1×D2×……×Dn的基 数M(即(d1, d2, …dn ) 的个数)为所有域的 基数的积,即 n M=∏mi I=1
第二章-关系模型PPT课件
数据库系统概念
习题分析与解答
第二章 关系模型
Copyright © by ECNU CS DBLAB All rights reserved.
习题目录
习题2.1 (参阅课本P44) 习题2.3 (参阅课本P44) 习题2.5 (参阅课本P45) 习题2.7 (参阅课本P45) 习题2.9 (参阅课本P45) 习题2.11 (参阅课本P45)
12
❖第二章 关系模型
数据库系统概念
2.5.c. 找出First Bank Corporation所有年收入在10 000美元 以上的员工的姓名和居住的街道、城市。
参考解答: c. ∏person-name,street,city (σcompany-name=“First Bank Corporation”∧salary>10000(works ∞ emplyee))
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
Copyright © by ECNU CS DBLAB All rights reserved.
Copyright © by ECNU CS DBLAB All rights reserved.
7
❖第二章 关系模型
数据库系统概念
2.3.a. 修改数据库,使Jones现在居住在Newtown
参考解答: a.employee←∏emplyee-name,street,city←“Newtown”(σ employee=“Jones”(employee))∪
第2章 数据库关系模型2PPT课件
关系并运算
R
ABC a2c a4d b4c
S
ABC a4d a6d b4c
R∪S
ABC a2c a4d b4c a6d
5
关系差运算
R
ABC a2c a4d b4c
S
ABC a4d a6d b4c
R-S ABC a2c
6
关系交运算
R
ABC a2c a4d b4c
S
ABC a4d a6d b4c
π职工号,供应商号(订购单)
职 工 号 供 应 商 号
E 3 E 1 E 7 E 6 E 3 E 1
S 7 S 4 S 4 S 6 S 4 S 6
E 3 E 3
S 6 S 3
举例:
职 工 号 供 应 商 号 订 购 单 号 订 购 日 期
E 3 E 1 E 7 E 6 E 3 E 1 E 3 E 3
从订购单关系中 选择职工号为“E3”的 元组构成新的关系
σ职工号="E3"(订购单)
职 工 号供 应 商 号订 购 单 号订 购 日 期
E 3 E 3 E 3 E 3
S 7 S 4 S 6 S 3
O R 6 7 O R 7 9 O R 9 0 O R 9 1
1 9 9 8 /0 6 /2 3 1 9 9 8 /0 7 /2 9 1 9 9 8 /0 7 /1 3 1 9 9 8 /1 0 /2 7
2. 关系差运算(R-S)
a) 运算表示: R - S={t | tR ∧tS} b) 由属于R而不属于S的所有元组组成的集合,即在R中删去
与S相同的元组 。
3. 关系交运算(R∩S)
a) 运算表示: R ∩S={t | tR ∧tS} b) 既属于R又属于S的元组的集合,即取相同的元组 。
第二讲 关系模型
第二讲关系模型第二讲关系模型主要内容¾关系模型的数据结构¾关系的定义与性质¾关系数据库的基本概念¾关系代数¾关系演算第二讲关系模型关系模型的数据结构关系数据结构非常简单,在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系来表示。
关系模型的本质是用二维表来表示实体与实体之间联系。
每个关系有一个关系模式,由一个关系名和其所有属性名构成,如:R(A1,A2,…,An),称为关系的内涵。
具体关系是关系模式的值和实例。
第二讲关系模型关系的形式化定义•关系的非形式化定义:在关系模型中,数据是以二维表的形式存在的,该二维表称为关系。
z关系理论以集合代数理论为基础,可以用集合代数给出关系的形式化定义。
第二讲关系模型关系的形式化定义基础•域:一组具有相同数据类型的值的集合,又称为值域(用D表示)。
域中包含的值的个数称为域的基数。
关系中用域表示属性的取值范围。
例如:D1={李力,王平,刘伟} m1=3D2={男,女} m2=2D3={47,28,30} m3=3其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的集合。
第二讲关系模型关系的形式化定义基础笛卡尔积(Cartesian Product)•给定一组域D1,D2,…,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。
D1,D2,…,Dn的笛卡尔积为D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。
•笛卡尔积也是一个集合。
z分量:元素中的每一个di叫做一个分量(Component),来自相应的域(di∈Di)z元组:每一个元素(d1,d2,d3,…,dn)叫做一个n 元组(n-tuple),简称元组(Tuple)。
但元组不是di的集合,元组的每个分量(di)是按序排列的。
第二讲关系模型第二讲关系模型z 基数:若Di (i=1,2,……n )为有限集,Di 中的集合元素个数称为Di 的基数,用mi (i=1,2,……n )表示,则笛卡尔积D1×D2×……×Dn 的基数M (即元素(d1,d2,……dn )的个数)为所有域的基数的累乘之积,即––M= ∏=ni im 1关系的形式化定义基础关系的形式化定义基础笛卡尔积可用二维表的形式表示。
第2章.关系模型.ppt
零件关系P(主码是“零件号”,外码是“供应商号”)
零件号 010 312 201
颜色 红 白 蓝
供应商号 B01 S10 T20
用户定义的完整性规则
用户定义的完整性规则:
这条规则是指用户根据应用环境的不同,针对 某一具体关系数据库定义的约束条件。
这是针对某一具体数据的约束条件,由应用 环境决定。它反映某一具体应用所涉及的数据必须 满足的语性名
ѧºÅ ÐÕ Ãû
980101 ÕÅ Á¦
980102 ÁÖ ºê Òµ
980103 Íõ Ã÷
…
…
980203 Àî æà æÃ
ÐÔ ±ð Äê Áä Å® 22 ÄÐ 21 ÄÐ 22
…… Å® 23
ѧ²¿ ºÅ Ô µ¥ λ
1 ¼Æ Ëã »ú ϵ
2 Êý ѧϵ
Sage Sdept
20
SC
19
IS
18 MA
19
IS
πA(R) = {t[A] | t∈R}
投影
投影的结果中要去掉相同的行
R
A
B
C
a
b
c
d
e
f
c
b
c
B , C(R)
B
C
b
c
e
f
投影示例
示例:
1.给出所有学生的姓名和年龄 SN, AGE(S)
2.查找成绩>80分的学生的学号
SNO( 成绩>80 (sc))
4 ÕÜ Ñ§Ïµ
…
…
1 ¼Æ Ëã »ú ϵ
码
值域(15<=年龄<=30)
关系模型示例
候选关键字或候选码
关系模型的概念和定义
关系模型的概念和定义关系模型是数据库系统的基础,它采用二维表格的形式来表示和存储数据。
在关系模型中,数据被组织成一系列的关系,每个关系由一组属性、键、域和关系模式组成。
下面将详细介绍这些概念的定义。
1.关系关系是关系模型中的基本单元,它是一个二维表格,由行和列组成。
每一行表示一个记录,每一列表示一个属性。
在关系中,每个属性都有一个名称和相应的数据类型。
例如,一个学生的关系可能包括学号、姓名、性别、年龄等属性。
2.属性属性是关系中的列,它定义了表格中的每个列的名称和数据类型。
每个属性都有一个唯一的名称和一个对应的数据类型,例如整数、字符串、日期等。
属性用于描述表格中每个记录的具体信息。
3.键键是关系中的一个或多个属性的组合,用于唯一标识每个记录。
键的值在表中必须是唯一的,否则会导致数据冲突。
常见的键包括主键和外键。
主键是表中每个记录的唯一标识符,而外键则是引用其他表的主键。
4.域域是属性的取值范围,它定义了属性可能的所有值。
域可以是离散的或连续的,离散域是一组互斥的可能值,连续域则是一个数值范围。
域可以用于约束数据的输入和保证数据的完整性。
5.关系模式关系模式是关系的结构,它由属性、键和域组成。
关系模式定义了关系的结构,包括属性的名称、数据类型和约束条件等。
关系模式可以用来描述和存储大量的数据。
6.关系代数关系代数是用于操作关系的数学模型,它包括各种运算符和操作符,例如选择、投影、连接、并、交、差等。
关系代数可以用来对关系进行各种操作和计算,例如查询、更新、聚合等。
7.视图视图是关系模型中的一个虚拟表,它是基于一个或多个关系的查询结果生成的。
视图并不实际存储数据,而是通过查询定义生成结果集。
视图可以用来隐藏底层数据的细节、简化复杂查询和提供安全控制等。
8.外键外键是引用其他表的主键的属性,它用于建立两个表之间的关联关系。
外键约束确保引用的主键值必须是存在的,从而保证数据的一致性和完整性。
外键在数据库中起着重要的关联作用,可以有效地将相关的数据联系起来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二讲关系模型第二讲关系模型主要内容¾关系模型的数据结构¾关系的定义与性质¾关系数据库的基本概念¾关系代数¾关系演算第二讲关系模型关系模型的数据结构关系数据结构非常简单,在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系来表示。
关系模型的本质是用二维表来表示实体与实体之间联系。
每个关系有一个关系模式,由一个关系名和其所有属性名构成,如:R(A1,A2,…,An),称为关系的内涵。
具体关系是关系模式的值和实例。
第二讲关系模型关系的形式化定义•关系的非形式化定义:在关系模型中,数据是以二维表的形式存在的,该二维表称为关系。
z关系理论以集合代数理论为基础,可以用集合代数给出关系的形式化定义。
第二讲关系模型关系的形式化定义基础•域:一组具有相同数据类型的值的集合,又称为值域(用D表示)。
域中包含的值的个数称为域的基数。
关系中用域表示属性的取值范围。
例如:D1={李力,王平,刘伟} m1=3D2={男,女} m2=2D3={47,28,30} m3=3其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的集合。
第二讲关系模型关系的形式化定义基础笛卡尔积(Cartesian Product)•给定一组域D1,D2,…,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。
D1,D2,…,Dn的笛卡尔积为D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。
•笛卡尔积也是一个集合。
z分量:元素中的每一个di叫做一个分量(Component),来自相应的域(di∈Di)z元组:每一个元素(d1,d2,d3,…,dn)叫做一个n 元组(n-tuple),简称元组(Tuple)。
但元组不是di的集合,元组的每个分量(di)是按序排列的。
第二讲关系模型第二讲关系模型z 基数:若Di (i=1,2,……n )为有限集,Di 中的集合元素个数称为Di 的基数,用mi (i=1,2,……n )表示,则笛卡尔积D1×D2×……×Dn 的基数M (即元素(d1,d2,……dn )的个数)为所有域的基数的累乘之积,即––M= ∏=ni im 1关系的形式化定义基础关系的形式化定义基础笛卡尔积可用二维表的形式表示。
笛卡尔积实际是一个二维表,表的框架由域构成,表的任意一行就是一个元组,表中的每一列来自同一域,如第一个分量来自D1,第二个分量来自D2第二讲关系模型关系的性质•关系是一个属性数目相同的元组的集合。
•在关系模型中,对关系作了下列规范性限制:(1)关系中不允许出现相同的元组;(2)关系中元组的顺序(即行序)是无关紧要的,在一个关系中可以任意交换两行的次序;(3)关系中属性的顺序是无关紧要的,即列的顺序可以任意交换;(4)同一属性名下的各个属性值必须来自同一个域,是同一类型的数据。
(5)关系中各个属性必须有不同的名字,不同的属性可来自同一个域,即它们的分量可以取自同一个域;(6)关系中每一分量必须是不可分的数据项。
第二讲关系模型关系的键候选键与关系键•能唯一标识关系中元组的属性或属性集,则称该属性或属性集为候选键(Candidate Key),也称候选关键字或候选码如:“学生关系”中的学号能唯一标识每一个学生,是学生关系的候选键。
在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选键。
第二讲关系模型关系的键候选键的形式化定义:•设关系R有属性A1,A2,……An,其属性集K=(Ai,Aj,……Ak),当且仅当满足下列条件时,K被称为候选键1. 唯一性(Uniqueness):关系R的任意两个不同元组,其属性集K的值是不同的。
2.最小性(Minimally):组成关系键的属性集(Ai,Aj,……Ak)中,任一属性都不能从属性集K中删掉,否则将破坏唯一性的性质第二讲关系模型关系的键•如果一个关系中有多个候选键,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键(Primary Key),或简称为主键、主码、关系键、关键字。
每个关系必定有且仅有一个主关系键,因为关系的元组无重复,至少关系的所有属性的组合可作为主关系键,通常用较小的属性组合作为主关系键。
第二讲关系模型关系的键•主属性(Prime Attribute):包含在主码中的的各属性称为主属性。
•非码属性(Non-Prime Attribute):不包含在任何候选码中的属性称为非码属性。
在最简单的情况下,一个候选码只包含一个属性,如学生关系中的“学号”,教师关系中的“教师号”。
在最极终端的情况下,所有属性的组合是关系的候选码,这时称为全码(all-key)。
第二讲关系模型关系的键外部关系键•如果关系R2的一个或一组属性X不是R2的主码,而是另一关系R1的主码,则该属性或属性组X称为关系R2的外部关系键或外码(Foreign key)。
并称关系R2为参照关系(referencing relation),关系R1为被参照关系(referenced relation)。
由外部关系键的定义可知,被参照关系的主码和参照关系的外码必须定义在同一个域上。
第二讲关系模型关系模型的完整性•为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性:–实体完整性–参照完整性–用户定义的完整性第二讲关系模型关系模型的完整性–例如,学生关系中的主关系键“学号”不能为空;选课关系中的主关系键“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空。
–学生关系中某个学生(如s1或s2)“系别”的取值,必须在参照的系别关系中主关系键“系别”的值中能够找到,否则表示把该学生分配到一个不存在的部门中,显然不符合语义。
第二讲关系模型第二讲关系模型关系(Relation )•笛卡尔积D1×D2×…×Dn 的任一子集称为定义在域D1,D2,…Dn 上的n 元关系(Relation ),可用R (D1,D2……Dn )表示。
R 为关系名,n 称为关系的目或度(Degree )。
–当n=1时,称为单元关系。
–当n=2时,称为二元关系。
–…–当n=n 时,称为n 元关系。
关系的形式化定义关系的形式化定义如果一个关系的元组个数是无限的,则称为无限关系;如果一个关系的元组个数是有限的,则称为有限关系。
关系是一个二维表(1)表的框架由域Di(i=1,2,……n)构成;(2)表的任意一行对应一个元组;(3)表的每一列来自同一域;(4)域可以相同,为了加以区别,每列起一个名字,称为属性,n目关系有n个属性,属性的名字唯一,属性的取值范围Di(i=1,2,…,n)称为值域(5)具有相同关系框架的关系成为同类关系第二讲关系模型第二讲关系模型在实际应用中关系是笛卡尔积中所取的有意义的子集。
在关系模型中,关系可进一步定义为:定义在域D1,D2,……Dn (不要求完全相异)上的关系由关系头(Heading )和关系体(Body )组成。
关系头:由属性名A1,A2,…,An 的集合组成,每个属性Ai 正好对应一个域Di (i=1,2,…,n ),关系头,也称关系框架,相对固定,是关系的数据结构的描述。
关系体:是指关系结构中的内容或者数据,并非固定不变,它随元组的建立、删除或修改而变化。
关系的形式化定义关系数据库模式与关系数据库•一个关系的属性名的集合R(A1,A2,……An)叫做关系模式。
其中:–R为关系名,A1,A2,…,An为属性名(i=1,2,……n)。
一组关系模式的集合叫做关系数据库模式。
第二讲关系模型关系数据库模式与关系数据库•关系数据库模式是对关系数据库结构的描述,即关系头,可以看作是关系的型。
•与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为关系数据库的实例,即关系体,可以看作是关系的值。
第二讲关系模型关系代数•关系模型与其他模型相比,最有特色的是它的数据库语言。
关系数据库的核心部分是查询,故又称为查询语言,而查询的条件要使用关系运算表达式来表示。
按表达查询的方法不同,关系运算可分为关系代数和关系演算两大类。
第二讲关系模型关系代数•关系代数是对关系进行集合代数运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。
关系代数的运算对象是关系,运算结果也是关系,关系代数用到的运算符主要包括四类:集合运算符;专门的关系运算符;算术比较运算符;逻辑运算符第二讲关系模型•传统的集合运算–并(Union)–交(Intersection)–差(Difference)–广义笛卡尔积(Extended Cartesian Product)•专门的关系运算–选择(Select)–投影(Project)–连接(Join)–除(Divide)•有关的数据操作–查询(Query)–插入(Insert)–删除(Delete)–修改(Update)关系代数的运算分类第二讲关系模型关系代数•对两个关系的集合运算传统的集合运算是二目运算,是在两个关系中进行的。
•给定两个关系R、S,若满足:(1)具有相同的度n;(2)R中第i个属性和S中第i个属性必须来自同一个域。
则说关系R、S是相容的。
除笛卡尔积外,要求参加运算的关系必须满足上述的相容性定义。
第二讲关系模型传统的集合运算•集合的并运算•集合的交运算•集合的差运算•集合的广义笛卡尔积运算第二讲关系模型集合的并、交、差运算示意第二讲关系模型集合的广义笛卡尔积运算设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积R×S是一个m+n元关系、有k×l个元组。
广义笛卡儿积可以记作:R×S={tr⌒ts| tr∈R,∧ts∈S}第二讲关系模型专门的关系运算•选择运算(Select)•投影运算(Project)•连接运算(Join)•除运算(Division)第二讲关系模型选择运算选择运算是从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。
选择运算表示为:σF(R)={t|t∈R∧F(t)为真}其中R是关系名,σ是选择运算符,F是逻辑表达式。
第二讲关系模型选择运算举例:订购单关系从订购单关系中选择职工 号为“E3”的元组构成新的关系σ职工号=‘E3’(订购单)第二讲 关系模型投影运算投影运算对指定的关系进行投影操 作,根据该关系分两步产生一个新关 系:1)选择指定的属性,形成一个可能含 有重复行的表格;2)删除重复行,形成新的关系。