第02章 关系数据库理论基础 (2)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所在系 电子系 计算机系 计算机系 计算机系 成绩 75 95 92 80
11
2011-12-27
数据库原理及开发
2.2 关系的完整性 2.2.2 实体完整性 实体完整性规则:关系中的主键不能为 空值(Null)。空值就是“不知道”或 “无意义” 2.2.3 参照完整性 参照完整性规则:表的外键必须是另一 个表主键的有效值,或者是空值。
2011-12-27 数据库原理及开发 6
2.1.2 关系的性质 1.列是同质的。
学号 0022102 计算机系 0052201 0052217 姓名 王雪莲 白亚春 陈韬 袁更旭 性别 女 男 男 男 出生日期 1980-9-15
1981-1-25 1981-
所在系 电子系 0051309
19811981-5-6
σ < 所在系=“计算机系”
学号 0051309 0052201 0052217
2011-12-27
>
(R)
出生日期 1981-1-25 1981-5-6 1980-12-8 所在系 计算机系 计算机系 计算机系
19
姓名 白亚春 陈韬 袁更旭
性别 男 男 男
数据库原理及开发
2.投影(Projection) 投影:是从指定的关系中挑选出某些属性构 成新的关系。或者说,选择运算的结果是一 个表的列的子集。 记作,π A (R ) 其中A为R的属性列。投影的结果将取消由于 取消了某些列而产生的重复元组。
2011-12-27 数据库原理及开发 5
姓名 陈韬 王雪莲 白亚春
籍贯 计算机系 电子系 计算机系
关系可以分为三种类型: 基本关系(又称基本表):是实际存在的表, 它是实际存储数据的逻辑表示; 查询表:是对基本表进行查询后得到的结果 表; 视图表:是由基本表或其它视图导出的表, 是一个虚表,不对应实际存储的数据。
2011-12-27 数据库原理及开发
M = ∏ mi
i −1
n
3
该笛卡尔积的基数是M = m1m2 = 3*2 = 6, 即该笛卡尔积共有6个元组,它可组成 一张二维表
姓名 陈韬 陈韬 王雪莲 王雪莲 白亚春 白亚春
2011-12-27
籍贯 计算机系 电子系 计算机系 电子系 计算机系 电子系
4
2011-12-27
数据库原理及开发
24
1.函数依赖的概念 在数据库中,属性值之间会发生联系。例如每一本图 书只有一个书号,每本书入库只有一个操作员等等。这类 联系,称为函数依赖。 关系理论中函数依赖是指关系中属性间的对应关系。 如关系中对于属性(组)X的每一个值,属性(组) Y只有唯一的值与之对应,则称Y函数依赖于X,或称X 函数决定Y,记为X→Y。其中,X称为决定因素。X→ Y为模式R的一个函数依赖。 【例2.8】 设有一个职工关系(职工编号,姓名,性 别,所在部门),职工编号是关系的主键。对于该关系中 的每一个职工的职工编号,都对应着姓名属性中的唯一值, 即该职工的姓名也就是说,一个职工的姓名由他的职工编 号唯一确定,所以称职工编号函数决定姓名,或者称姓名 函数依赖于职工编号,记作:职工编号→姓名,职工编号 为该函数依赖的决定因素。同理,职工编号决定性别、所 在部门等属性,分别记作:职工编号→性别,职工编号→ 所在部门。
电子系
C201 C505 C508 C506
75 95 92 80
白亚春
男
计算机系
陈韬
男
计算机系
袁更旭
男
计算机系
2011-12-27
数据库原理及开发
22
2.4 关系规范化 2.4.1 问题的提出 在设计关系数据库时,经常采用一种自下而上的设计方法。 这种方法是对涉及的所有数据进行收集,然后按照栏目进 行归纳分类。 插入异常:如果某个教师的所开课程某学期没有,或者学 插入异常 生没有选修他开的该课程,那么就无法将该教师及其所开 课程的信息存入数据库。 删除异常:如果某届学生全部毕业,在删除该系学生时会 删除异常 将课程及相关教师删除。 数据冗余:比如,一门课程及其教师要与选修该课程的每 数据冗余 一个学生出现的次数一样多 解决这些问题的办法就是重新设计数据库。
所在 系 计算 机系 计算 机系 计算 机系 计算 机系 计算 机系 计算 机系
课程名 称 数据库 技术 操作系 统 C语言 语言 数据库 技术 操作系 统 编译技 术
成 绩 90 85 75 95 88 85
课程 教师 陈刚 温翠 灵 陈刚 陈刚 温翠 灵 李建 义
职称 副教 授 讲师 副教 授 副教 授 讲师 讲师
2011-12-27 数据库原理及开发 9
2.2 关系的完整性 3.主属性(Primary Attribute) 主键的属性称为主属性。 4.外键(Foreign key) 设F是基本关系R的一个或一组属性,但不 是R的键(主键或候选键),如果F与基本 关系S的主键K相对应,则称F是R的外键, 并称R为参照关系,S为被参照关系。
数据库原理及开发
3.关系(Relation) 关系:笛卡尔积D1D2…Di…Dn 的子集R称作在 域D1,D2,…,Dn上的关系,记作: R(D1,D2,…,Di,…,Dn) 其中:R为关系名,n为关系的度或目 (Degree),Di是域组中的第i个域名. 当n = 1 时,称该关系为单元关系; 当n = 2 时,称该关系为二元关系; 以此类推,关系中有n个域,称该关系为n元关 系。 把列称为属性(Attribute)。一般来说,一个 取自笛卡尔积的子集才有意义。
2011-12-27
数据库原理及开发
10
学号 0022102 0051309 0052201 0052217
姓名 王雪莲 白亚春 陈韬 袁更旭 课程号 C201 C505 C508 C506
性别 女 男 男 男
出生日期 1980-9-15 1981-1-25 1981-5-6 1980-12-8 学号 0022102 0051309 0052201 0052217
2011-12-27
数据库原理及开发
14
2.3 关Βιβλιοθήκη Baidu代数
2.3.1 传统的集合运算
当集合运算并、交、差用于关系时,要 求参与运算的两个关系必须时相容的, 即两个关系的度数一致,并且关系属性 的性质必须一致。
2011-12-27
数据库原理及开发
15
1.并 并:是将两个关系中的所有元组构成新的关系,并运 算的结果中必须消除重复值。关系R与S的并运算记作: R∪S。
第2章 关系数据库理论基础
本章重点内容
关系的数学定义和性质 关系模式的完整性约束条件 关系代数 关系的规范化原则,范式的基本概念和 分解方法
2011-12-27 数据库原理及开发 1
2.1 关系的基本概念
2.1.1 关系的数学定义 1.域(Domain) 域:是一组具有相同数据类型的值集合。例如: {自然数},{男,女},{0,1}等都可以是域。 基数:域中数据的个数称为域的基数。 域被命名后用如下方法表示: D1 = {白亚春,陈韬,王雪莲},表示姓名的集 合,基数是3; D2 = {计算机系,电子系}
学号 0022101 0022102 0022201 0051309 0052201 0052217 姓名 何芊 王雪莲 叶媛媛 白亚春 陈韬 袁更旭 性别 女 女 女 男 男 男 出生日期 1982-6-5 1980-9-15 1982-3-5 1981-1-25 1981-5-6 1980-12-8 所在系 电子系 电子系 电子系 计算机系 计算机系 计算机系
计算机系 1980-12-8
计算机系
2.关系中行的顺序、列的顺序可以任 意互换,不会改变关系的意义。
2011-12-27 数据库原理及开发 7
3.关系中的任意两个元组不能相同。
学号 0022102 0051309 0051309 0052217 姓名 王雪莲 白亚春 白亚春 袁更旭 性别 女 男 男 男 出生日期 1980-9-15 1981-1-25 1981-1-25 1980-12-8 所在系 电子系 计算机系 计算机系 计算机系
学号 姓名 性别 出生日期 所在系
0022102
王雪莲
女
1980-9-15
电子系
0052201
陈韬
男
1981-5-6
计算机系
2011-12-27
数据库原理及开发
18
2.3.2 专门的关系运算 专门的关系运算包括:选择、投影和连接,用于数据 查询服务。 1.选择(Selection) 选择:是按照给定条件从指定的关系中挑选出满足条 件的元组构成新的关系。或者说,选择运算的结果是 一个表的行的子集。记作 σ < <条件表达式> (R )
自然连接:当连接的两关系有相同的属性名 时,称这种连接为自然连接,它是连接的一 个特例。记作:
2011-12-27
数据库原理及开发
21
学生基本情况表
学生选课表
学号
姓名
性别
出生日期
所在系
课程号
成绩
0022102 0051309 0052201 0052217
王雪莲
女
1980-9-15 1981-1-25 1981-5-6 1980-12-8
2011-12-27 数据库原理及开发 2
2.笛卡尔积(Cartesian Product) 给 定 一 组 域 D1,D2,…,Di,…,Dn( 可 以 有 相 同 的 域),则笛卡尔积定义为: D1D2…Di…Dn = {(d1,d2,…,di,…,dn)∣di∈Di, i = 1,2,…,n} D1D2 = {(陈韬,计算机系),(陈韬,电子系), (王雪莲,计算机系),(王雪莲,电子系),(白亚 春,计算机系),(白亚春,电子系)} 其中每个(d1,d2,…,di,…,dn)叫做元组,元组中 的每一个值di叫做分量,di必须是Di中的一个值。 显然,笛卡尔积的基数就是构成该积所有域的基数累乘 积,若Di(i = 1,2,…,n)为有限集合,其基数为mi(i = 1,2,…,n),则D1D2…Di…Dn 笛卡尔积的基数M为:
π 学号、姓名、性别 (R )
学号 0022102 0051309 0052201 0052217
2011-12-27 数据库原理及开发
姓名 王雪莲 白亚春 陈韬 袁更旭
性别 女 男 男 男
20
3.连接(Join) 连接:是将两个和多个关系连接在一起,形 成一个新的关系。连接运算是按照给定条件, 把满足条件的各关系的所有元组,按照一切 可能组合成新的关系。或者说,连接运算的 结果是在两关系的笛卡尔积上的选择。记作:
2011-12-27
数据库原理及开发
16
2.交 交:将两个关系中的公共元组构成新的 关系。关系R与S的交运算记作:R∩S。
学号 姓名 性别 出生日期 所在系
0051309
白亚春
男
1981-1-25
计算机系
0052217
袁更旭
男
1980-12-8
计算机系
2011-12-27
数据库原理及开发
17
3.差 差:运算结果是由属于一个关系并且不属于另一个关 系的元组构成的新关系,就是从一个关系中减去另一 个关系。关系R与S的差运算记作:R-S。
4、关系中的元组分量具有原子性,即 每一个分量都必须是不可分的数据项。
2011-12-27
数据库原理及开发
8
2.2 关系的完整性 2.2.1 键 1.候选键(Candidate key) 若关系中的某一属性组的值能惟一地标 识一个元组,则称该属性组为候选键。 2.主键(Primary key) 若一个关系中有多个候选键,则选定一 个为主键。
2011-12-27 数据库原理及开发 12
实 体 完 整 性 和 参 照 完 整 性 实 例
学号 0022102 0051309 0052201 0052217
姓名 王雪莲 白亚春 陈韬 袁更旭
性别 女 男 男 男
出生日期 1980-9-15 1981-1-25 1981-5-6 1980-12-8
所在系 电子系 计算机系 计算机系 计算机系
课程号 C201 C505 C508 C506
2011-12-27
学号 0022102 0051309 A102869 0052217
成绩 75 95 92 80
13
数据库原理及开发
2.2 关系的完整性 2.2.4 用户定义完整性 用户按照实际的数据库运行环境要求, 对关系中的数据所定义的约束条件,它 反映的是某一具体应用所涉及的数据必 须要满足的条件。
2011-12-27 数据库原理及开发 23
学号 0052 201 0052 201 0052 201 0051 309 0051 309 0051 309
姓名 陈韬 陈韬 陈韬 白亚 春 白亚 春 白亚 春
性 别 男 男 男 男 男 男
出生 日期 19815-6 19815-6 19815-6 19811-25 19811-25 19811-25