第2-1章 关系数据库基本原理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8
2.1.2 关系数据库基本概念
关系模型的基本概念 1.关系
一个关系就是一张二维表,通常将一个没有重复行、重复列 的二维表看成一个关系,每个关系都有一个关系名和表头。
2.元组
二维表的每一行在关系中称为元组(Tuple)。一行描述了现实 世界中的一个实体,或者描述了不同实体间的一种联系。
9
2.1.2 关系数据库基本概念
24
二、关系代数
关系代数是一种抽象的查询语言,属于关系操作的一种
通过对关系的运算来表达查询操作 运算的对象及结果均为关系
运算
集合运算、关系运算、比较运算、逻辑运算
25
关系代数的运算符
26
由于关系定义为元数相同的元组的集合,因此把关系看成集合,
集合代数中的运算(并、差、交、笛卡尔积)就可以引入到关
R和S 具有相同的目n
相应的属性取自同一个域
R-S 仍为n目关系,由属于R而不属于S的所有元组组成 可表示为: R -S = { t|tR∧tS }
R
S
R-S
31
则R-S为:
32
3)交(Intersect )
R和S
具有相同的目n
相应的属性取自同一个域 R∩S 仍为n目关系,由既属于R又属于S的元组组成 可表示为:R∩S = { t|t R∧t S }
28
1、传统的集合运算
1)并(Union)
R和 S
具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域
R∪ S
可表示为:R∪S = { t|t R∨t S }
R∪S
29
仍为 n 目关系,由属于 R 或属于 S 的元组组成(去掉重复)
则R∪S为:
30
2)差(Except )
2.元组
3. 笛卡尔积(Cartesian Product)
4. 关系(Relation)
14
2.2.1 关系的数学定义
1.集合
集合没有严格的形式定义,一般说来,集合是与 某一研究过程相关的一类对象的整体,这些对象称为 集合的元素。 例如:全体学生组成的集合
15
2.2.1 关系的数学定义
2.元组
3.属性
二维表的每一列在关系中称为属性(Attribute),每个 属性都有一个属性名,各个属性的取值称为属性值。每个 属性有一定的取值范围,称为值域。
4.关键字
关系中能惟一区分、确定不同元组的属性或属性组合,称 为该关系的一个关键字。关键字又称为键或码(Key)。
候选键(可能不唯一) 主键(唯一)
10
2.1.2 关系数据库基本概念
5.外部关键字
如果关系中某个属性或属性组合并非关键字,但却是另 一个关系的主关键字,则称此属性或属性组合为本关 系的外部关键字或外键(Foreign Key)。在关系数据库 中,用外部关键字表示两个表间的联系。
11
2.1.3 关系数据库基本特征
关系数据库基本特征 有坚实的理论基础
几个元素组成的一个有序组称为一个元组,通常 元组用圆括号括起来的一些元素表示,元素间使用逗 号分隔。 例如(3,5,6)和(E001,钱达理,男,东风路78号)是 元组的例子。 在关系数据库中,可以把一个表的每一行看作一 个元组。 注意:元组与集合的区别
16
3、笛卡尔积
1)笛卡尔积(Cartesian Product)
部门设置表
部门代码 D001 D002 D003 D004 部门名称 总经理办 市场部 销售部 仓储部
员工设置表
员工代码 员工姓名 性别 部门代码 住址
E001
E002 E003 E004 E005
钱达理
东方牧 郭文斌 肖海燕 张明华

男 男 女 男
D001
D001 D002 D003 D004
东风路78号
部门名称 总经理办 总经理办 市场部 销售部 仓储部
员工编号 E001 E002 E003 E004 E005
员工姓名 钱达理 东方牧 郭文斌 肖海燕 张明华
性别 男 男 男 女 男
住址 东风路78号 五一北路25号 公司集体宿舍 公司集体宿舍 韶山北路55号
6
2.1.1 关系数据模型
3.关系数据模式 一组二维表格框架

元组的元素。
例2:D1=学生的集合{甲,乙,丙}
D2=性别的集合{男,女} 关系R={(甲,男),(乙,女),(丙,男)}
(甲,男),(乙,女),(丙,男)是R的组成元素,但甲,乙,丙, 男,女等不是R的组成元素。
21
几点说明
1)单元关系与二元关系 n:关系的目或度(Degree)
当n=1时,称该关系为单元关系(Unary
给定一组域D1,D2,...Dn(域可相同),它们的笛卡儿积为: D1xD2x...xDn={(d1,d2,...,dn)|di∈Di,i=1,2,..,n}
所有域的所有取值组成一个集合,其中每一个元素 (d1,d2,...,dn)叫做一个n元组,简称元组。 元组中的每个值di叫做一个分量。元组的每个分量(di)是按
第2章
关系数据库基本原理
本章内容
2.1 关系数据库概述 2.2 关系代数的基本原理
2.3 关系模式的分解
2.4 关系模型的完整性约束
2.5 数据库的设计方法
2
2.1.1 关系数据模型
1.数据模型的三要素:
数据结构 数据操作规则 数据完整性约束规则
数据模型的任务是描述现实世界中的实体及其联系。关系 数据模型就是采用二维表格描述实体的静态特征及其相互联系。

乙 乙 乙 乙 丙 丙

男 男 女 女 男 男
02
01 02 01 02 01 02




01
02 20
4、关系(Relation)

D1×D2×…×Dn 的子集叫作在域 D1 , D2 ,…, Dn 上的关系。
表示为R(D1,D2,…,Dn)
R:关系名 n:关系的目或度(Degree) T:关系中的每个元素是关系中的元组,而不是组成
R (U) 或R (A1,A2,…,An)


R: 关系名
A1,A2,…,An : 属性名

例如:

部门(部门编号,部门名称) 员工(员工编号,姓名,部门编号,性别,住址)
5
2.1.1 关系数据模型
2.关系数据模型
表2-1 关系模型示例
部门编号 D001 D001 D002 D003 D004
3)笛卡尔积的二维表表示
笛卡尔积也可以用二维表表示,其中
D1 甲 甲 甲 D2 男 男 女 D3 01 02 01
表的框架由域构成,表的任意一行就是
一个元组,每一列数据来则同一域。 例1:D1=学生的集合{甲,乙,丙} D2=性别的集合{男,女} D3=班级的集合{01,02} 共2×2×3=12个元组,用二 维表可表示为:
37
选择运算练习
A<5(R)
R
A 3 2 7 4 B 6 5 2 4 C 7 7 3 3
A 3 2 4
B 6 5 4
C 7 7 3
A<5 C=7(R)
A B C
3
2
6
5
7
7
38
关系模式: Student(S#,Sname,SSex,Sage,Sdept)
例1:查询计算机系的全体学生
σSdept = 'IS' (Student) 或 σ5 ='IS' (Student)
35
36
2、专门的关系运算
1)选择(Selection)
从关系R中选择符合条件的元组构成新的关系 σF(R) = {t|tR∧F(t)= '真'}
σ为选取运算符, F为选择条件,为一逻辑表达式
σF(R),表示从R中选择满足条件的元组 选取运算实际上是从关系R中选取使逻辑表达式为真的元 组,是从行的角度进行的运算,即对行的运算。
序排列的。如:(1,2,3)≠(2,3,1)≠(1,3,2);
元组不能重复,元组之间是无序的。 例如:如果D1表示某学校学生的集合,D2表示该学校所有课程
的集合,则D1xD2的笛卡尔积表示所有可能的选课情况。
17
2)实例
例1:D1={a1,a2}
D2={b1,b2,b3}
则: D1XD2={(a1,b1),(a1,b2),(a1,b3),(a2,b1),(a2,b2),(a2,b3)} 其中a1、b1、b2等是分量 (a1,b1),(a1,b2)等是元组
系运算中来。还有一些运算是针对关系数据库环境专门设计的, 譬如对关系进行垂直分割(投影)、水平分割(选择)、关系
的结合(连接)等。
分别为 1. 传统的集合运算 2. 专门的关系运算
27
1. 传统的集合运算
四类:
并(Union) 差(Difference)
交(Intersection)
广义笛卡尔积(Cartesian Product) 关系并、交、差的前提:R,S具有相同的关系模式。
R∩S = R –(R-S)= ? S –(S-R)
R∩S
33
wk.baidu.comR∩S为:
34
4)笛卡尔积(Cartesian Product)
关系R、S的笛卡尔积是两个关系的元组的集合所组成的 新关系。
R×S:
属性是R和S的组合(n+m个列,有重复) 元组是R和S所有元组的可能组合(K1×k2个元组) 是R、S的无条件连接,使任意两个关系的信息能组合 在一起 记作R×S={tr ts |tr R ∧ tsS }
3
2.1.1 关系数据模型
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R:关系名
U:组成该关系的属性名集合 D:属性组U中属性所来自的域 DOM:属性向域的映象集合 F:属性间的数据依赖关系集合
注:域名及属性向域的映象常常直接说明为属性的类型、长度
4
2.1.1 关系数据模型
关系模式通常可以简记为
姓名 李力 李力 性别 男 女
23
2.2.2 关系运算
关系数据库的数据操纵语言(DML)的语句分成查询语句 和更新语句两大类。查询语句用于描述用户的各种检索要
求;更新语句用于描述用户进行插入、删除、修改等操作。
根据关系查询语言其理论基础的不同分成两大类: 关系代数语言:查询操作是以集合操作为基础的演算 关系演算语言:查询操作是以谓词演算为基础的演算
数据结构简单、易于理解
对用户提供了较全面的操作支持 得到了众多开发商的支持
12
本章内容
2.1 关系数据库概述 2.2 关系代数的基本原理
2.3 关系模式的分解
2.4 关系模型的完整性约束
2.5 数据库的设计方法
13
2.2.1 关系的数学定义
关系的数学定义
1.集合
relation)或
relation)
一元关系。
当n=2时,称该关系为二元关系(Binary … 当n=n时,称为n元关系。
22
几点说明
2)在数学上,关系是笛卡尔积的任意子集,按照 笛卡尔积的定义,关系可以是一个无限集合。
但在实际应用中关系是笛卡尔积中所取的有意义的子集。
例如在表中选取一个子集构成如下关系,显然不符合实际 情况。
例2:查询年龄小于20岁的男同学 σ(Sage < 20) ∧(SSex=’男’) (Student) 或σ(4 < 20) ∧(3=’男’) (Student) 注意:
对于σ5 =‘IS‘,其中5为DEPT的属性序号,表示从Student中挑 选第5个分量值等于IS的元组所构成的关系。
字符型数据的值应该使用单引号括起来,例如:’IS’, ‘计算机’,‘男’。
五一北路25号 公司集体宿舍 公司集体宿舍 韶山北路55号
7
2.1.2 关系数据库基本概念
关系数据库 定义:就是一些相关的二维表和其他数据库对象的集合。
在这个定义中明确,关系数据库中的所有信息都 存储在二维表格中;一个关系数据库可能包含多个表; 除了这种二维表外,关系数据库还包含一些其他对象, 如视图等。
该笛卡尔积的基数为2x3=6,元组的个数为6
18
例2:
D1=导师集合SUPERVISOR=张清玫,刘逸 D2=专业集合SPECIALITY=计算机专业,信息专业 D3=研究生集合POSTGRADUATE=李勇,刘晨,王敏 则:D1XD2XD3= {(张清玫,计算机专业,李勇), (张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏), (张清玫,信息专业,李勇), (张清玫,信息专业,刘晨), (张清玫,信息专业,王敏), (刘逸,计算机专业,李勇), (刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏), (刘逸,信息专业,李勇), (刘逸,信息专业,刘晨), (刘逸,信息专业,王敏)} 该笛卡尔积的基数为2x2x3=12 即元组的个数为12
相关文档
最新文档