数据库关系运算理论(1)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
基本表
查询表
视图
10
(4)关系的规范化性质
列是同质的, ①列是同质的,即每一列中的分量是同一类型的数 来自同一个域。 据,来自同一个域。 不同的列可出自同一个域, ②不同的列可出自同一个域,称其中的每一列为一 个属性, 个属性,不同的属性要给予不同的属性名 ③列的顺序无所谓,即列的顺序可以任意交换。 列的顺序无所谓,即列的顺序可以任意交换。 任意两个元组不能完全相同。 ④任意两个元组不能完全相同。 行的顺序无所谓,即行的顺序可以任意交换。 ⑤行的顺序无所谓,即行的顺序可以任意交换。 分量必须取原子值, ⑥分量必须取原子值,即每个分量必须是不可再分 的数据项。 的数据项。
2)笛卡尔积:给定一组域D 2)笛卡尔积:给定一组域D1,D2,…Dn,这些域中 笛卡尔积 D 可以有相同的。笛卡尔积表示为: 可以有相同的。笛卡尔积表示为: D1╳D2 ╳ … Dn={(d1,d2,…dn)|di∈Di,i=1,2 …n} d n} 其中每一个元素(d 其中每一个元素(d1,d2,…dn)叫做一个n元组, 元素 d 叫做一个n元组, 简称为元组 元素中的每一个值d 叫做一个分量 元组。 分量。 简称为元组。元素中的每一个值di叫做一个分量。
一张二维表。 (1)数据结构:一张二维表。现实世界的实体 以及实体间的联系均用关系(二维表)表示。 以及实体间的联系均用关系(二维表)表示。 关系操作包括 操作。 (2)关系操作包括:查询和更新操作。 关系操作包括:查询和更新操作 查询操作包括:选择、投影、连接、 查询操作包括:选择、投影、连接、 操作。 除、并、交、差等操作。 更新操作包括:增加、删除、修改操作。 更新操作包括:增加、删除、修改操作。 操作 特点: 对象和 都是集合 关系操作的特点 操作对象 结果都是 关系操作的特点:操作对象和结果都是集合
14
关系性质4—元组不重复
学号 9901 9902 9903 9904 9901 姓名 张三 李四 王五 赵六 张三 性别 男 女 男 女 男 年龄 20 18 19 20 20 姓名 张狗子
重复的 元组 元组 王麻子 元组!
李朋 赵薇
张狗子
15
关系性质5—元组无序
学号 9901 9902 9903 9904 姓名 张三 李四 王五 赵六 性别 男 女 男 女 年龄 20 18 19 20 学号 9904 9901 9903 9902 姓名 赵六 张三 王五 李四 性别 女 男 男 女 年龄 20 20 19 18
8
(3)关系的类型 ) 关系有三类:基本表、查询表、 关系有三类:基本表、查询表、视图表 1)基本表:实际存在的表,是实际存储数据的 )基本表:实际存在的表, 逻辑表示。 逻辑表示。 2)查询表:查询结果对应的表 )查询表: 3)视图表:由基本表或其他视图表导出的虚 )视图表:由基本表或其他视图表导出的虚 不对应实际存储的数据。 表,不对应实际存储的数据。
(1)二维表格 (1)二维表格
1)元数(列数) 属性的个数, 1)元数(列数):属性的个数,即列数 元数 2)基数 行数) 元组的个数, 基数( 2)基数(行数):元组的个数,即记录数 3)属性 字段或数据项称为属性, 属性: 3)属性:字段或数据项称为属性,也称为列 4)属性值 字段值称为属性值。 属性值: 4)属性值:字段值称为属性值。
20
第二节: 第二节:关系数据库
关系模型由以下三部分组成: 1、关系模型由以下三部分组成:
数据结构: 数据结构:全部数据及相互联系都 被组织成关系( 被组织成关系(表) 查询操作 关系操作: 关系操作:关系运算 更新操作 完整性规则: 完整性规则:关系模型的三类完整性规 实体完整性、 则(实体完整性、参照完整 用户定义的完整性) 性、用户定义的完整性)
不引用不存在的实体。若属性集K 不引用不存在的实体。若属性集K是关系 模式R1的主键, 也是关系模式R2的外键, 模式R1的主键,K也是关系模式R2的外键,K的 R1的主键 R2的外键 或为空, 等于R1关系中的某个主键值 R1关系中的某个主键值。 取值或为空 取值或为空,或等于R1关系中的某个主键值。 R1为被参照关系(目标关系),R2为参照关系。 R1为被参照关系(目标关系),R2为参照关系。 ),R2
26
例如: 例如:
学生关系(学号,姓名,性别,专业号,年龄,班长) 学生关系(学号,姓名,性别,专业号,年龄,班长) 专业(专业号,专业名) 专业(专业号,专业名) 1)学生关系中的专业号参照专业关系中的专业号,专业 学生关系中的专业号参照专业关系中的专业号, 学生关系中的专业号参照专业关系中的专业号 号的值可以是: 号的值可以是: 空值---表示尚未给学生分配专业 (1)空值--表示尚未给学生分配专业 非空值---值必须取专业关系中专业号的值 (2)非空值--值必须取专业关系中专业号的值 2)学生关系中的班长与学号之间存在引用关系,班长的 学生关系中的班长与学号之间存在引用关系, 学生关系中的班长与学号之间存在引用关系 取值可以是: 取值可以是: 空值-----表示该班级未选班长 (1)空值---表示该班级未选班长 非空值-----值必须取同一关系的学号 (2)非空值---值必须取同一关系的学号
5)关系模式:是对关系的描述,即表结构。 5)关系模式:是对关系的描述,即表结构。一 关系模式 般表示为: 关系名(属性1,属性2, 属性n) 1,属性2,…属性 般表示为: 关系名(属性1,属性2, 属性n) 表上属性名必须唯一,不允许重名。 表上属性名必须唯一,不允许重名。 6)元组:记录称为元组,也称为行。 6)元组:记录称为元组,也称为行。 元组 7)关系:元组的集合称为关系,也称为表格。 7)关系:元组的集合称为关系,也称为表格。 关系 每个二维表又称为关系。 每个二维表又称为关系。表体是由一些元组 组成。 组成。 8)值域:属性的取值范围称为属性的值域, 8)值域:属性的取值范围称为属性的值域, 值域 每个属性对应一个值域,不同的属性可以对 每个属性对应一个值域, 应同一个值域。 应同一个值域。 9)分量:元组中的一个属性值。 分量:元组中的一个属性值。
5
关键字: (2) 关键字:由一个或几个属性组成
1)超键:能唯一标识元组的属性集。 1)超键:能唯一标识元组的属性集。 超键 2)候选键 不含有多余属性的超键。 2)候选键:不含有多余属性的超键。 3)主键 主码) 主键( 3)主键(主码) :用户选作元组标识的一个 候选键(多个候选键中的一个) 候选键(多个候选键中的一个)
22
完整性约束有三类 (3) 关系的完整性约束有三类: ) 关系的完整性约束有三类:
实体完整性 参照完整性 是关系模型必须满足的完整性约束条 件,由关系系统自动支持
用户定义的完整性
是应用领域需要遵循的约 束条件
23
关系模型的三类完整性规则
关系系统支持) (1) 实体完整性规则(关系系统支持)
组成主键( 组成主键(码)的属性(即主属性)不能 的属性(即主属性) 有空值。实体完整性规则针对基本关系而言 有空值。实体完整性规则针对基本关系而言 基本关系 选修(学号,课程号,成绩) 如: 选修(学号,课程号,成绩)则, 学号,课程号)为主码, (学号,课程号)为主码,则学号和课程 号都不能取空值。 号都不能取空值。
24
学号
姓名
年龄
性别
所在系
9901 9902 9903 9904
张三 李四 王五 赵六
20 18 19 20
男 女 女 男
计算机 计算机 计算机 计算机
学号 9901 9901 9902 9903
课程号 C1 C2 C2 C3
成绩 90 80 70 80
25
(2) 参照完整性规则(定义主外码之间的引用规则) 定义主外码之间的引用规则)
性别 男 女 男 女
年龄 20 18 19 20
姓名 张狗子 李朋 王麻子 赵薇
13
关系性质3—属性无序
学号 9901 9902 9903 9904 姓名 张三 李四 王五 赵六 学号 9901 9902 9903 9904 性别 男 女 男 女 姓名 张三 李四 王五 赵六 年龄 20 18 19 20 曾用名 张狗子 李朋 王麻子 赵薇 性别 男 女 男 女 曾用名 张狗子 李朋 王麻子 赵薇 年龄 20 18 19 20
18
例如:给出三个域: 例如:给出三个域:
导师集合supervisor=张清玫, supervisor=张清玫 D1=导师集合supervisor=张清玫,刘逸 专业集合speciality=计算机专业, speciality=计算机专业 D2=专业集合speciality=计算机专业,信息专业 研究生集合postgraduate=李勇,刘晨, postgraduate=李勇 D3=研究生集合postgraduate=李勇,刘晨,王敏 的笛卡尔积如表所示: 则D1╳D2 ╳ D3的笛卡尔积如表所示: 其中(张清玫,计算机专业,李勇)、 其中(张清玫,计算机专业,李勇)、 张清玫,计算机专业,刘晨)等都是元组 元组, (张清玫,计算机专业,刘晨)等都是元组, 张清玫、计算机专业、李勇、刘晨等都是分量 张清玫、计算机专业、李勇、刘晨等都是分量 该笛卡尔积的基数为2*2*3=12。即一共有12个元组。 该笛卡尔积的基数为2*2*3=12。即一共有12个元组。 基数 12个元组
第二章
关系运算理论
第一节 关系的数学定义 第二节 关系数据库 பைடு நூலகம்三节 关系代数
第一节
关系的数学定义
关系数据模型的思想由IBM公司的 关系数据模型的思想由IBM公司的 IBM E.F.Codd于1970年在他的一系列论文中提 E.F.Codd于1970年在他的一系列论文中提 出,以后的几年里陆续出现了以关系数据 模型为基础的数据库管理系统,称为关系 模型为基础的数据库管理系统,称为关系 数据库管理系统(RDBMS)。 数据库管理系统(RDBMS)。 (RDBMS)
现代广泛使用的RDBMS有 现代广泛使用的RDBMS有: RDBMS Oracle、Informix、DB2、 Oracle、Informix、DB2、SQL Server、 Acess数据库等 数据库等。 Server、 Acess数据库等。
1.
关系的基本术语 关系的基本术语
字段—— 字段 字段值—— 字段值 记录类型—— 记录类型 记录—— 记录 属性 属性值 关系模式 元组
主属性( attribute) 4) 主属性 ( Prime attribute ) : 主键的各个 属性称为主属性。 属性称为主属性。 非主属性( Nonattribute) 5) 非主属性 ( Non-key attribute ) : 不包含 在任何侯选键中的属性称为非主属性。 在任何侯选键中的属性称为非主属性。 6)全码(All-key):关系模式的所有属性是 6)全码(All-key):关系模式的所有属性是 全码 ): 这个关系模式的侯选键,称为全码。 这个关系模式的侯选键,称为全码。
11
关系性质1——同质的列
学号 9901 9902 王五 9904 姓名 张三 李四 9903 赵六 性别 男 女 1 2 年龄 20 18 19 1981/2/28 曾用名 张狗子 李朋 王麻子 赵薇
12
关系性质2—不同的属性名
姓名2 姓名 曾用名
学号 9901 9902 9903 9904
姓名 张三 李四 王五 赵六
19
D1 , D2 , D3 的 笛 卡 尔 积
supervisior 张清玫 张清玫 张清玫 张清玫 张清玫 张清玫 刘逸 刘逸 刘逸 刘逸 刘逸 刘逸 speciality 计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业 计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业 postgraduate 李勇 刘晨 王敏 李勇 刘晨 王敏 李勇 刘晨 王敏 李勇 刘晨 王敏
16
关系性质6—分量是原子
父 母 孩子 大 小
李男 王男
丁女 肖女
李一 王一
李二
非规范化关系
父 母 大孩 小孩
李男 王男
丁女 肖女
李一 王一
李二
规范化关系
17
2、关系的数学定义
1)域 1)域: 是一组具有相同数据类型的值的集合
例如:所有整数、实数、{ 、{1 例如:所有整数、实数、{1,2,3,} 。