关系数据库中
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-5-2
第二章 关系数据库
【例2-7】设图书借阅信息如表2-15所示,图书信息如表2-16 所示,求各 读者借阅图书的信息。 借阅信息表borrowinf 表2-15 借阅信息表borrowinf 读者编号 2004060002 2002060328 2004160426 2002060328 2002060328 2004160426 图书编号 F12.245 F23.55 G11.11 G12.08 G11.22 G12.10 借期 2004-6-29 2004-5-26 2004-10-21 2004-8-26 2004-9-01 2004-9-14 2004-11-08 2004-12-22 还期
2012-5-2
第二章 关系数据库
自然连接(natural join) 关系R和S的自然连接是一种特殊的等值连接,它要求关系R 和S中进行比较的分量必须是相同的属性组的一种连接,并且 在结果中把重复的属性列去掉(只保留一个)。 自然连接记为: S R 一般的连接运算是从行的角度进行的。但自然连接还需要 取消重复列,所以自然连接是同时从行和列的角度进行运算。 自然连接是构造新关系的有效方法,是关系代数中常用的 一种运算,在关系数据库理论中起着重要作用。利用投影、 选择和自然连接运算可以任意地分解和构造关系。 一般地,自然连接使用在R和S有公共属性的情况中。如果 两个关系没有公共属性,那么它们的自然连接就转化为广义 笛卡尔积。
离退修职工表S 离退修职工表S 性别 男 女 状态 0 0
姓名 李建新 王红
2012-5-2
第二章 关系数据库
表2-4
新关系R 新关系R∪S
工号 106001 103026 105008 106008 104012
姓名 张春来 马宏明 王红 李建新 王红
性别 男 男 女 男 女
状态 1 1 1 0 0
主码(Primary key) 关键字 (Primary key)
2012-5-2
第二章 关系数据库
关系是一个行与列交叉的二维表,每一列(属性)的所有数据 都是同一种数据类型的,每一列都有惟一的列名,列在表中的顺序 无关紧要;表中的任意两行(元组)不能相同,行在表中的顺序也 无关紧要。
表2-2以图书借阅系统为例给出了一个表的实例
2012-5-2
第二章 关系数据库
差(difference) difference) 设R和S是两个关系,R和S的差运算是由属于R而不属于S的所有元 组构成新关系,也就是从关系R中减去关系S中的元组,该关系用RS。差运算也要求两个关系对应属性的性质(属性名、属性的域等) 必须一致。 【例2-2】某商店有本店商品表,接到不合格商品表后,需要将本店 中的不合格商品去掉。可以利用差运算实现。
定价 21.80 22.00 28.00 20.80 24.50 26.30 22.00 22.00
F12.245 计算机文化基础 F33.33 G22.12 G11.22 F23.55 G11.11 G12.08 G12.10 数据结构实用教程 Visual Basic实用教程 Java程序设计实用教程 数据结构(C语言版) C语言程序设计 C语言程序设计 C语言程序设计
2012-5-2
第二章 关系数据库
2.1.2 关系代数 关系代数是一种抽象的查询语言。从数学的角度来看,关系是 一个集合,关系的元组是集合的元素。因此,关系代数包括集合 运算:交、并、差、乘,还有关系专有的运算:选择、投影、连 接、除。 并(union) 设R和S是两个关系,它们的并运算是将两个关系中的所有元 组构成一个新关系,即由属于R或属于S的元素组成,该关系用 R∪S,也可以记做R+S。
新关系R 表2-9 新关系R∩S 品牌 103026 204045 名称 奶粉 白糖 厂家 地北 北山
2012-5-2
第二章 关系数据库
乘(product) product) 设R和S是两个关系,R和S的乘运算是一个新关系(记为R×S) 结果是两个关系中所有元组按一定规则组合而成。关系R有m个属 性,关系S有n个属性,则R×S由(m+n)个属性;R有i个元组,S 有j个元组,则R×S有(i×j)个元组;每个元组的前m个属性是 R的一个元组,后n个属性是S的一个元组。 说明:两个关系(集合)的乘运算,在集合论中也称为广义笛 卡尔积。所以关系的乘运算也称为广义笛卡尔积。 【例2-4】现有学生表、必修课程表,每个学生必须学习所有必修 课程,要求形成选课表。可以利用关系乘运算实现。
本店商品表R 表2-6 本店商品表R 品牌 106001 103026 205008 204045 302034
2012-5-2
名称 奶粉 奶粉 白糖 白糖 食盐
厂家 天南 地北 南山 北山 西山
第二章 关系数据库
不合格商品表S 表2-7 不合格商品表S 品牌 103026 4023037 204045 名称 奶粉 火腿 白糖 厂家 地北 西山 北山
【例2-6】 ① 在表2-11中求出学分大于等于3的课程信息。
表2-13 课程号 C601 C603
2012-5-2
σ学分≥3( R∪S) 学分≥ 课程名 数据库 数学 学分 3 5
第二章 关系数据库
② 在表2-4中求所有在职男职工名单。
σ性别=‘男’∧状态=1( R∪S) 性别= 男 状态=
工号 106001 103026 姓名 张春来 马宏明 性别 男 男 状态 1 1
2012-5-2
第二章 关系数据库
关系中的术语 候选码(Candidate Key) 若关系中的某一属性组(或单个属性)的值能惟一的标识 一个元组,则称该属性组(或属性)为候选码。 选择一个候选码作为关系的主码。 主属性(Prime Attribute)和非主属性 关系中包含在任何一个候选码中的属性称为主属性。不包 含在任何一个候选码中的属性称为非主属性。
编号 书名
作者 刘凌志 王云晓 梁晓峰 张大海 马志刚 张大海 梁晓峰 梁晓峰
出版社 青山 蓝天 碧水 碧水 青山 蓝天 青山 青山
出版日期 2002.5 2002.5 2003.10 2004.7 2004.7 2004.8 2004.10 2004.10
Hale Waihona Puke Baidu
定价 21.80 22.00 28.00 20.80 24.50 26.30 22.00 22.00
2012-5-2
第二章 关系数据库
【例2-1】有在职职工和离退修职工两个表,若需要所有职工的表, 可以利用并运算实现。
在职职工表R 表2-3 在职职工表R 工号 106001 103026 105008 姓名 张春来 马宏明 王红 性别 男 男 女 状态 1 1 1
表2-4 工号 106008 104012
2012-5-2
第二章 关系数据库
连接(join) 连接(join) 关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取 属性间满足一定条件的元组形成一个新关系。记作: S R
AθB
其中:A为包含R中的属性的表达式 B为包含S中属性的表达式 θ通常为关系比较符。 等值连接(equal join) θ为“=”的连接运算称为等值连接。关系R和S的等值连 接是从R和S的广义笛卡尔积R×S中选取A与B等值的那些元组, 形成的关系。
关系的特点: 关系的特点: 关系的每一行定义实体集的一个实体,每一列定义实体的一 个属性。 每一行必须有一个主码,主码是一个属性组(可以是一个属 性),它能惟一的标识一个实体。 每一列表示一个属性,且列名不能重复。 列的每个值必须与对应属性的类型相同。 列有取值范围,称为域。 列是不可分割的最小数据项。 行、列的顺序对用户无关紧要。
表2-1给出了实体集、关系、表等一系列术语之间的对照关系 给出了实体集、关系、
概念模型中 关系理论中 关系数据库中 表(Table) 行(Row) 列(Col) 某些软件中 表(或数据库文件) 记录(Recode) 字段(Field) 关键字(Primary key)
实体集(Entity set) 关系(relation) 实体(Entity) 属性(Attribute) 主码(Primary key) 元组(Tuple) 属性(Attribute)
2012-5-2
第二章 关系数据库
选择(selection) 选择(selection) 关系R的选择运算是从关系R中选择满足指定条件(用F表示) 的元组构成的新关系。换言之,选择运算的结果是一个表的水平 方向的子集。 关系R的选择运算记为:σF(R)。其中,F是包括属性名的逻 辑表达式,运算符有算术比较运算符:<,≤,>,≥,=,≠, 和逻辑运算符:┐,∨,∧(非、或、与)。
第二章 关系数据库
2.1 2.2 2.3 2.4
关系数据模型 EE-R 模型到关系模型的转换 关系模型的三类完整性约束 案例1 案例1:活期储蓄管理系统数据库设计
2012-5-2
第二章 关系数据库 2.1 关系数据模型
2.1.1 关系模型的结构 关系(relationship) 关系(relationship) 关系是满足一定条件的二维表。表中的一行称为关系的一个元 组,用来存储事物的一个实例;表中的一列称为关系的一个属性, 用来描述实体的某一特征。表是由一组相关实体组成的集合。所 以,表和实体集这两个词常常可以交替使用。
2012-5-2
第二章 关系数据库
图书信息表books 表2-16 图书信息表books
编号 书名
作者 刘凌志 王云晓 梁晓峰 张大海 马志刚 张大海 梁晓峰 梁晓峰
出版社 青山 蓝天 碧水 碧水 青山 蓝天 青山 青山
出版日期 2002.5 2002.5 2003.10 2004.7 2004.7 2004.8 2004.10 2004.10
2012-5-2
第二章 关系数据库
投影(projection) 投影(projection) 关系R的投影运算是从R中选择某些属性的所有值组成的新关系。 换言之,投影运算的结果是一个表的垂直方向的子集。 关系R的投影运算记为:πA(R)。其中,A为R的一组属性列。 投影的结果将消除重复的元组。 【例2-5】在表2-5所示的关系R∪S中 ① 列出所有职工的名单,可以通过投影运算实现;
学号 0406001 0406001 0406001 0406002 0406002 0406002
姓名 王晓立 王晓立 王晓立 张大卫 张大卫 张大卫
课程号 C601 C602 C603 C601 C602 C603
课程名 数据库 操作系统 数学 数据库 操作系统 数学
学分 3 2 5 3 2 5
2012-5-2
第二章 关系数据库
学生表R 表2-10 学生表R 学号 0406001 0406002 姓名 王晓立 张大卫
必修课程表S 表2-11 必修课程表S 课程号 C601 C602 C603 课程名 数据库 操作系统 数学 学分 3 2 5
2012-5-2
第二章 关系数据库
新关系R 表2-12 新关系R×S
新关系R-S 表2-8 新关系R-S 品牌 106001 205008 302034 名称 奶粉 白糖 食盐 厂家 天南 南山 西山
2012-5-2
第二章 关系数据库
交(intersection) intersection) 设R和S是两个关系,R和S的交运算是由属于R并且也属于S的 所有元组构成的一个新关系,即由关系R和关系S中公共的元组构 成的新关系。该关系用R∩S。交运算也要求两个关系对应属性的 性质(属性名、属性的域等)必须一致。 【例2-3】在【例2-2】中,找出本店内不合格的商品,可以用交 运算实现。
F12.245 计算机文化基础 F33.33 G22.12 G11.22 F23.55 G11.11 G12.08 G12.09
2012-5-2
数据结构实用教程 Visual Basic实用教程 Java程序设计实用教程 数据结构(C语言版) C语言程序设计 C语言程序设计 C语言程序设计
第二章 关系数据库
π姓名(R∪S) 姓名 张春来 马宏明 王红 李建新
2012-5-2
第二章 关系数据库
② 列出职工姓名及其任职状态,可以通过投影运算实现。 π姓名,状态(R∪S) 姓名,
姓名 张春来 马宏明 王红 李建新 王红 状态 1 1 1 0 0
π姓名(R∪S)可记为π2(R∪S),π姓名,状态(R∪S)可记为π2,4(R∪S)。 注意:π姓名(R∪S)运算的结果将同名的两个“王红”去掉重复,只保留 一个。