当前位置:文档之家› 数据库关系运算理论(1)

数据库关系运算理论(1)


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)
相关主题