2.1关系数据模型 2,2E-R模型到关系模型的转换 2.3关系模型的三类完整性约柬 4案例1:活期储蓄管理系统数椐库设让 2021/1/21
第二章 关系数据库 2021/1/21 2.1 关系数据模型 2.2 E-R 模型到关系模型的转换 2.3 关系模型的三类完整性约束 2.4 案例1:活期储蓄管理系统数据库设计
21关系数据模型 2.1.1关系模型的结构 令关系( relationship) 关系是满足一定条件的二维表。表中的一行称为关系的一个元 组,用来存储事物的一个实例;表中的一列称为关系的一个属性, 用来描述实体的某一特征。表是由一组相关实体组成的集合。所 以,表和实体集这两个词常常可以交替使用。 表2-1给出了实体集、关系、表等一系列术语之间的对照关系 概念模型中 关系理论中 关系数据库中 某些软件中 实体集 (Entity set)|关系 relation)表( Table) 表(或数据库文件) 实体( Entity) 元组( Tuple) 行(Row) 记录( Recode) 属性( Attribute)属性( ( Attribute)列(Co1) 字段( Field 主码( Primary key)主码( (Primary key)关键字 关键字( Primary key (Primary key) 2021/1/21
第二章 关系数据库 2021/1/21 2.1 关系数据模型 2.1.1关系模型的结构 ❖ 关系(relationship) 关系是满足一定条件的二维表。表中的一行称为关系的一个元 组,用来存储事物的一个实例;表中的一列称为关系的一个属性, 用来描述实体的某一特征。表是由一组相关实体组成的集合。所 以,表和实体集这两个词常常可以交替使用。 表2-1给出了实体集、关系、表等一系列术语之间的对照关系 概念模型中 关系理论中 关系数据库中 某些软件中 实体集(Entity set) 关系(relation) 表(Table) 表(或数据库文件) 实体(Entity) 元组(Tuple) 行(Row) 记录(Recode) 属性(Attribute) 属性(Attribute) 列(Col) 字段(Field) 主码(Primary key) 主码(Primary key) 关键字 (Primary key) 关键字(Primary key)
关系是一个行与列交叉的二维表,每一列(属性)的所有数据 都是同一种数据类型的,每一列都有惟一的列名,列在表中的顺序 无关紧要;表中的任意两行(元组)不能相同,行在表中的顺序也 无关紧要 表2-2以图书借阅系统为例给出了一个表的实例 编号 书名 作者出版社出版日期定价 F12.245计算机文化基础 刘凌志青山2002.521.80 F33.33数据结构实用教程 王云晓蓝天2002.52 62.12 Visual basic实用教程梁晓峰|碧水|2003.1028.00 G1.22Java程序设计实用教程张大海碧水200720.80 F225数据结构(语言版)马志刚青山|20072450 G1111c语言程序设计 张大海蓝天20.826.30 G12.08C语言程序设计 梁晓峰青山2004.102.00 G12.09C语言程序设计 梁晓峰青山2004.102.00 2021/1/21
第二章 关系数据库 2021/1/21 关系是一个行与列交叉的二维表,每一列(属性)的所有数据 都是同一种数据类型的,每一列都有惟一的列名,列在表中的顺序 无关紧要;表中的任意两行(元组)不能相同,行在表中的顺序也 无关紧要。 表2-2以图书借阅系统为例给出了一个表的实例 编号 书名 作者 出版社 出版日期 定价 F12.245 计算机文化基础 刘凌志 青山 2002.5 21.80 F33.33 数据结构实用教程 王云晓 蓝天 2002.5 22.00 G22.12 Visual Basic实用教程 梁晓峰 碧水 2003.10 28.00 G11.22 Java程序设计实用教程 张大海 碧水 2004.7 20.80 F23.55 数据结构(C语言版) 马志刚 青山 2004.7 24.50 G11.11 C语言程序设计 张大海 蓝天 2004.8 26.30 G12.08 C语言程序设计 梁晓峰 青山 2004.10 22.00 G12.09 C语言程序设计 梁晓峰 青山 2004.10 22.00
关系的特点: 关系的每一行定义实体集的一个实体,每一列定义实体的 个属性。 每一行必须有一个主码,主码是一个属性组(可以是一个属 性),它能惟一的标识一个实体。 每一列表示一个属性,且列名不能重复。 列的每个值必须与对应属性的类型相同。 ■列有取值范围,称为域。 ■列是不可分割的最小数据项 行、列的顺序对用户无关紧要。 2021/1/21
第二章 关系数据库 2021/1/21 关系的特点: ▪ 关系的每一行定义实体集的一个实体,每一列定义实体的一 个属性。 ▪ 每一行必须有一个主码,主码是一个属性组(可以是一个属 性),它能惟一的标识一个实体。 ▪ 每一列表示一个属性,且列名不能重复。 ▪ 列的每个值必须与对应属性的类型相同。 ▪ 列有取值范围,称为域。 ▪ 列是不可分割的最小数据项。 ▪ 行、列的顺序对用户无关紧要
令关系中的术语 候选码( Candidate Key) 若关系中的某一属性组(或单个属性)的值能惟一的标识 个元组,则称该属性组(或属性)为候选码。 选择一个候选码作为关系的主码 主属性( Prime attribute)和非主属性 关系中包含在任何一个候选码中的属性称为主属性。不包 含在任何一个候选码中的属性称为非主属性。 2021/1/21
第二章 关系数据库 2021/1/21 ❖ 关系中的术语 ▪ 候选码(Candidate Key) 若关系中的某一属性组(或单个属性)的值能惟一的标识 一个元组,则称该属性组(或属性)为候选码。 选择一个候选码作为关系的主码。 ▪ 主属性(Prime Attribute)和非主属性 关系中包含在任何一个候选码中的属性称为主属性。不包 含在任何一个候选码中的属性称为非主属性
21.2关系代数 关系代数是一种抽象的查询语言。从数学的角度来看,关系是 个集合,关系的元组是集合的元素。因此,关系代数包括集合 运算:交、并、差、乘,还有关系专有的运算:选择、投影、连 接、除 今并( unl on) 设R和S是两个关系,它们的并运算是将两个关系中的所有元 组构成一个新关系,即由属于R或属于S的元素组成,该关系用 R∪S,也可以记做R+S。 2021/1/21
第二章 关系数据库 2021/1/21 2.1.2 关系代数 关系代数是一种抽象的查询语言。从数学的角度来看,关系是 一个集合,关系的元组是集合的元素。因此,关系代数包括集合 运算:交、并、差、乘,还有关系专有的运算:选择、投影、连 接、除。 ❖ 并(union) 设R和S是两个关系,它们的并运算是将两个关系中的所有元 组构成一个新关系,即由属于R或属于S的元素组成,该关系用 R∪S,也可以记做R+S
【例2-1】有在职职工和离退修职工两个表,若需要所有职工的表, 可以利用并运算实现。 表2-3在职职工表R 姓名 性别 状态 106001 张春来 103026 马宏明 男男女 1-11 105008 王红 表2-4离退修职工表S 工号 姓名 性别 状态 106008 李建新 男 0 104012 王红 女 2021/1/21
第二章 关系数据库 2021/1/21 【例2-1】有在职职工和离退修职工两个表,若需要所有职工的表, 可以利用并运算实现。 表2-3 在职职工表R 工号 姓名 性别 状态 106001 张春来 男 1 103026 马宏明 男 1 105008 王红 女 1 表2-4 离退修职工表S 工号 姓名 性别 状态 106008 李建新 男 0 104012 王红 女 0
表2-4新关系RUS 工 姓名 性另 状态 106001 张春来 103026 马宏明 1-1-1 105008 王红 106008 李建新 男男女男女 104012 王红 0 2021/1/21
第二章 关系数据库 2021/1/21 工号 姓名 性别 状态 106001 张春来 男 1 103026 马宏明 男 1 105008 王红 女 1 106008 李建新 男 0 104012 王红 女 0 表2-4 新关系R∪S
今差( difference) 设R和S是两个关系,R和S的差运算是由属于R而不属于S的所有元 组构成新关系,也就是从关系R中减去关系S中的元组,该关系用R 。差运算也要求两个关系对应属性的性质(属性名、属性的域等) 必须一致 【例2-2】某商店有本店商品表,接到不合格商品表后,需要将本店 中的不合格商品去掉。可以利用差运算实现。 表2-6本店商品表R 品牌 名称 厂家 106001 奶粉 天南 103026 奶粉 地北 205008 白糖 南山 204045 白糖 北山 302034 食盐 西山 2021/1/21
第二章 关系数据库 2021/1/21 ❖ 差(difference) 设R和S是两个关系,R和S的差运算是由属于R而不属于S的所有元 组构成新关系,也就是从关系R中减去关系S中的元组,该关系用RS。差运算也要求两个关系对应属性的性质(属性名、属性的域等) 必须一致。 【例2-2】某商店有本店商品表,接到不合格商品表后,需要将本店 中的不合格商品去掉。可以利用差运算实现。 品牌 名称 厂家 106001 奶粉 天南 103026 奶粉 地北 205008 白糖 南山 204045 白糖 北山 302034 食盐 西山 表2-6 本店商品表R
表2-7不合格商品表S 品牌 名称 家 103026 奶粉 地北 4023037 火腿 西山 204045 白糖 表2-8新关系R-S 品牌 名称 厂家 106001 奶粉 天南 205008 白糖 南山 302034 食盐 西 2021/1/21
第二章 关系数据库 2021/1/21 表2-7 不合格商品表S 品牌 名称 厂家 103026 奶粉 地北 4023037 火腿 西山 204045 白糖 北山 表2-8 新关系R-S 品牌 名称 厂家 106001 奶粉 天南 205008 白糖 南山 302034 食盐 西山