第二章 关系数据库

合集下载

(第二讲)数据库(第二章:关系数据库的基本概念)

(第二讲)数据库(第二章:关系数据库的基本概念)
表2-5 学生表 XS_Sex XS_Age ZY_Id
类型 char(10) char(10) char(2) Int char(4) 学号,主码 姓名:字符类型
说明
性别:只能为男或女 年龄:整形 所在专业编号,外码,参照专业表
4. 选课表(XK_Tab):记录学生的选课结果,对于任意一门课,每 个学生一年最多只能选一次,因此用课程编号、学号和年份联合作为 选课表的主码。选课表通过学号参照学生表,通过课程编号参照课程 表。
2. 课程表(KC_Tab):存放多门课程,主码为课程编号。
表2-4 课程表(KC_Tab)
列名 KC_Id KC_Name KC_KC_Id KC_Point
类型 char(4) char(50) char(4) Float
说明 课程编号,主码 课程名称 先修课课程编号 课程的学分
3. 学生表(XS_Tab):记录学生的基本信息,主码为学号,通过专业 编号参照专业表。
2.3 关系模型规范化
关系模型规范化的目的是为了消除存储异常,减少数据冗余, 保证数据的完整性和存储效率。 关系数据库中的关系是要满足一定的规范化要求的。对于不 同规范化程度,可以使用“范式”来衡量。满足最低要求的为I范 式。。在I范式的基础上,进一步满足一些要求的为II范式,以次 类推。一般情况下,在实践中关系模式满足3范式就基本可以。
元素的每一个值 di 叫作一个分量。关系模型中要求每一 个分量必须属于某种基本数据类型,如整形或字符串型。
关系:笛卡尔积的子集就是一个关系。
R( D1 , D2 ,, Dn )
这里R表示关系的名字,n是关系的目或度。
例: 我们给出如下三个域: D1 =导师集合。导师={王新,赵阳} D2=专业集合。专业={计算机,通信} D3=学生集合。学生={(张三,101),(李四,201)} 则笛卡尔积为: D1XD2XD3={(王新,计算机,张三,101), (王新,计算机,李四,201),

数据库原理及应用教程电子教案

数据库原理及应用教程电子教案

数据库原理及应用教程电子教案第一章:数据库基础知识1.1 数据库概述介绍数据库的基本概念、特点和作用解释数据库、数据库管理系统、数据库系统的区别与联系1.2 数据模型介绍数据模型的概念和作用讲解常见的数据模型,如实体-关系模型、关系模型等1.3 数据库设计讲解数据库设计的基本步骤和方法介绍实体-关系模型到关系模型的转换方法第二章:关系数据库2.1 关系数据库概述解释关系数据库的概念和特点讲解关系数据库的组成和结构2.2 关系操作介绍关系代数和SQL的基本操作讲解关系的插入、删除、查询等操作2.3 关系完整性讲解实体完整性、参照完整性、用户定义的完整性约束的概念和作用第三章:SQL语言3.1 SQL概述解释SQL语言的概念和作用讲解SQL语言的基本语法和组成3.2 数据定义讲解使用SQL语言创建、修改和删除表的操作3.3 数据操纵讲解使用SQL语言进行数据插入、删除和查询的操作第四章:数据库查询优化4.1 查询优化概述解释查询优化的概念和作用讲解查询优化的一般方法和策略4.2 查询优化技巧讲解如何使用索引、分区等技术来优化查询性能4.3 查询优化工具和策略介绍常用的查询优化工具和策略,如查询重写、代价估计等第五章:数据库安全与保护5.1 数据库安全概述讲解数据库安全的重要性介绍数据库安全的基本概念和技术5.2 访问控制讲解用户权限管理和角色权限控制的方法和策略5.3 数据库备份与恢复讲解数据库备份、恢复的方法和策略第六章:数据库事务管理6.1 事务概述解释事务的概念、特点和作用讲解事务的四大属性:ACID6.2 事务管理讲解事务的提交、回滚和保留点等操作介绍事务管理的方法和策略6.3 并发控制讲解并发控制的概念和作用介绍并发控制的方法和技术,如锁、乐观并发控制等第七章:数据库性能调优7.1 性能调优概述讲解数据库性能调优的概念和作用介绍性能调优的一般方法和策略7.2 查询优化讲解如何通过查询优化来提高数据库性能介绍常用的查询优化技术和工具7.3 数据库参数调优讲解如何调整数据库参数来优化性能介绍常用的数据库参数调优方法和策略第八章:数据库复制8.1 复制概述解释数据库复制的作用和分类讲解主从复制、双主复制等概念8.2 复制配置与管理讲解如何配置和管理工作站复制介绍复制监控和故障排除的方法8.3 数据同步与故障转移讲解数据同步的策略和方法讲解故障转移的策略和方法第九章:数据库并发控制9.1 并发控制概述解释并发控制的概念和作用讲解并发控制的目标和挑战9.2 锁机制讲解锁的概念、类型和操作介绍锁的实现方法和策略9.3 乐观并发控制讲解乐观并发控制的概念和原理介绍乐观并发控制的方法和策略第十章:数据库一致性与故障恢复10.1 一致性概述讲解数据库一致性的概念和作用介绍一致性的实现方法和策略10.2 故障恢复概述解释故障恢复的概念和作用讲解故障恢复的方法和策略10.3 事务日志和备份讲解事务日志的概念和作用讲解数据库备份、恢复的方法和策略第十一章:数据库设计和范式理论11.1 数据库设计原则讲解数据库设计的原则和步骤介绍实体-关系模型和关系模型的设计方法11.2 范式理论解释第一范式、第二范式、第三范式以及BCNF范式的概念和作用讲解如何将关系数据库进行规范化处理11.3 数据库设计案例分析通过案例分析讲解数据库设计的过程和方法第十二章:Web数据库技术12.1 Web数据库概述讲解Web数据库的概念和特点介绍Web数据库的架构和应用场景12.2 PHP与数据库交互讲解PHP访问数据库的基本方法介绍PHP数据库连接函数和SQL语句的编写12.3 AJAX与数据库交互讲解AJAX技术的基本概念和作用介绍如何使用AJAX与数据库进行交互第十三章:XML数据库13.1 XML数据库概述讲解XML数据库的概念和特点介绍XML数据库的存储和查询方法13.2 XML数据操作讲解XML数据的插入、更新和删除操作介绍XML数据的查询和索引方法13.3 XML数据库应用案例分析通过案例分析讲解XML数据库的应用和优势第十四章:大数据与NoSQL数据库14.1 大数据概述讲解大数据的概念、特征和挑战介绍大数据技术的应用场景和解决方案14.2 NoSQL数据库概述解释NoSQL数据库的概念和分类讲解NoSQL数据库的优势和局限性14.3 NoSQL数据库技术讲解流行的NoSQL数据库技术,如MongoDB、Cassandra等第十五章:数据库未来发展趋势15.1 数据库技术发展概述讲解数据库技术的发展历程和趋势介绍新型数据库技术的特点和应用场景15.2 分布式数据库讲解分布式数据库的概念和架构介绍分布式数据库的优势和挑战15.3 云计算与数据库讲解云计算与数据库的关系和应用介绍云计算数据库的架构和特点重点和难点解析本文主要介绍了数据库原理及应用教程的内容,包括数据库基础知识、关系数据库、SQL语言、数据库查询优化、数据库安全与保护、数据库事务管理、数据库性能调优、数据库复制、数据库并发控制、数据库一致性与故障恢复、数据库设计和范式理论、Web数据库技术、XML数据库、大数据与NoSQL数据库以及数据库未来发展趋势等十五个章节。

第2章 关系数据库数学模型

第2章 关系数据库数学模型

关系——二维表(行列),实体及其联系 都用关系表示。在用户看来关系数据的逻辑模 型就是一张二维表。
关系数据模型概述(续I)

关系操作 查询: 1)选择Select; 4)除Divide; Intersection; 编辑: 1)增加Insert; Update;
2)投影Project; 3)连接Join; 5)并Union; 6)交 7)差Difference;

三元关系的转换 一般要引入分离关系 如公司、产品和国家之间的m:n:p的三元关系及销 售联系。
关系代数

关系代数概述 关系代数的运算符 集合运算符
并U 交∩ 差 专门的关系运算符

笛卡尔积 × 选择σ 投影π 连接 除 算术比较符

> ≥ < ≤ = ≠ 逻辑运算符
EER模型到关系模式的转换(续IV)
为此,本例中引入一个分离关系On_Load(借 出的书),可以避免空值的出现。 这样,存在以下三个关系模式: Borrower(B#,Name,Address,……) Book(ISBN,Title,……) On_Load(ISBN,B#,Date1,Date2) 只有借出的书才会出现在关系On_Load中, 避免空值 的出现,并把属性Date1和Date2加到 关系On_Load中。

D1 x D2 x…x Dn={(d1,d2,…,dn) | di∈Di, i=1,2,…,n} (d1,d2,…,dn) --------n元组(n-tuple) di--------元组的每一分量(Component) Di为有限集时,其基数为mi,则卡积的基 数为M=m1*m2*…*mn


关系数据库

第二章 关系数据库

第二章 关系数据库

事物
实体
元组

记录
性质 现实世界
属性 信息世界
属性/域 关系
列 表
数据项 计算机世界
图2-2 不同领域不同属于对应关系
16
§2.1.2 关系的性质
可以通过二维表理解关系的性质。
1.不允许“表中套表”,即表中元组分量必须是原子的。 2.表中各列取自同一个域,即一列中的各个分量具有相同性质。 3.列的次序可以任意交换,不改变关系的实际意义。 4.表中不允许出现相同的两行,即同一实体不能重复出现(表 中的行叫元组,代表一个实体)。 5.行的次序无关紧要,可任意交换。
1、候选键

能唯一标识关系中元组的属性或属性集,则称该属性 或属性集为候选码(Candidate Key),也称候选键。 如 “学生关系”

“选课关系”
20
2、主键

如果一个关系中有多个候选键,可以从中选择一个作为 主键(Primary Key),或称为关键字。 例如:假设在学生关系中没有重名的学生,则“学号” 和“姓名”都可作为学生关系的候选键;

25

在每个关系中,又有其相应的数据库的实例
例如:与学生关系模式对应的数据库中的实例有 如下6个元组
S1 赵亦 女 17 计算机

S2
S3 S4
钱尔
孙珊 李思

女 男
18
20 21
信息
信息 自动化
S5
S6
周武
吴丽


19
20
计算机
自动化
26
§ 2.1.5 关系完整性约束

完整性约束保证授权用户对数据库的修改不 会导致数据一致性的破坏,关系模型的三类完 整性: 实体完整性 参照完整性 用户定义的完整性

数据库原理2 关系数据库

数据库原理2 关系数据库

三、用户定义的完整性(User-defined integrity)
实体完整性和参照性适用于任何关系数据 库系统。除此之外,不同的关系数据库 系统根据其应用环境的不同,往往还需 要一些特殊的约束条件。用户定义的完 整性就是针对某一具体关系数据库的约 束条件,它反映某一具体应用所涉及的 数据必须满足的语义要求。关系模型应 提供定义和检验这类完整性的机制,以 便用统一的系统的方法处理它们,而不 要由应用程序承担这一功能。
体和实体间的联系的关系的集合构成一 个关系数据库。同样,关系数据库也有 型和值之分。
型:关系数据库模式 是对关系数据库的描 述。
值:一般就称为关系数据库。
2.3 关系的完整性
关系模型的完整性规则是对关系的某种约 束条件。
关系模型的三类完整性:
1. 实体完整性 2. 参照完整性 3. 用户定义的完整性
2.4 关系代数
本节要求
给定关系和关系代数表达式,要会算。
给定关系模式和查询(语义)要求,要会写 关系代数表达式。
关系代数是一种抽象的查询语言,用对
关系的运算来表达查询,作为研究关系 数据语言的数学工具。
关系代数的运算对象是关系,运算结果
亦为关系。关系代数用到的运算符包括 四类:集合运算符、专门的关系运算符、 算术比较符和逻辑运算符。
第二章 关系数据库
2-5章为本课程重点与难点 关系数据库的理论基础 1970, E.F.Codd “A Relational Model of Data for Shared Data Banks” 现代主流数据库几乎全部支持关系模型 Oracle(甲骨文),Sybase, IBM DB2, MS SQL Server, Ingres
引用的时候,必须取基本表中已经存在的 值。由此引出参照的引用规则。

《数据库整理》第2章 关系数据库

《数据库整理》第2章 关系数据库

关系体
随数据更新不断变化
15
.
• 例如,在第1章的图1-22所示的教学数据库中,共有五个关 系,其关系模式可分别表示为:
– 学生(学号,姓名,性别,年龄,系别) – 教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系
别)
– 课程(课程号,课程名,课时) – 选课(学号,课程号,成绩) – 授课(教师号,课程号)
• 给定一组域D1,D2,…,Dn(它们可以包含相同的元素, 即可以完全不同,也可以部分或全部相同)。D1,D2,… ,Dn的笛卡尔积为
D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
每一个元素(d1,d2,…,dn)中的每一个值di叫做一个 分量(Component) ,di∈Di 每一个元素(d1,d2,…,dn)叫做一个n元组(n-Tuple ),简称元组(Tuple) (注意:元组是按序排列的)
5
.
笛卡尔积D1×D2×…×Dn的基数M(即元素(d1,d2, …,dn)的个数)为所有域的基数的累乘之
n
积,即M= m i 。 i1
例如,上述表示教师关系中姓名、性别两个域的笛卡尔 积为:
D1×D2={(李力,男),(李力,女),(王平,男),(王平 ,女),(刘伟,男),(刘伟,女)}
分量:李力、王平、刘伟、男、女 元组 :(李力,男),(李力,女) ,M=m1×m2=3×2=6
第2章 关系数据库
.
• 本章主要按数据模型的三个要素讲述关系数据库的一
些基本理论(关系模型的数据结构、关系的定义和性 质、关系的完整性、关系代数、关系数据库等 )
• 掌握关系的定义及性质、关系键、外部键等基本概念
以及关系演算语言的使用方法

第2章-关系数据库

教学进度
计算机科学与工程系
列:属性对应字段
学号 050101
关系对应二维表
姓名 张三秋
性别 男
出生年月 1986-6-9
籍贯 广东
050102
050103 050104
主键
王五
李玉 黄国度

女 男
1986-8-8
1985-9-12 1986-8-13
江苏
湖南 广东
行:元组对应记录
分量对应数据项
关系模型与关系数据库的对应关系
院长 张兴杰 杨波 张三 李四 王二 林木
电话 85283291 85285393 85285313 85285329 85285333 85285343
地址 17号楼 信息大楼 1号楼 2号楼 3号楼 4号楼
null
教学进度
计算机科学与工程系
② 参照完整性 是对外键的约束,关系中的外键必 须是另一个关系的主键(或候选键)有效值 或空值(Null)。
A. B. C. D. 层次模型 网状模型 关系模型 以上3个都是
一公司
计算机科学与工程系
二公司
省代理 三公司 四公司
教学进度
复习:选择题
A. B. C. D. 关系型 层次型 网状型 以上皆非
计算机科学与工程系
如图所示的数据模型属于( )。
总裁
副总裁
部门A
员工甲
员工乙
教学进度
复习:选择题
计算机科学与工程系

计算机科学与工程系
Access是一种( )。
A. B. C. D. 数据库管理系统软件 操作系统软件 文字处理软件 CAD软件
教学进度
复习:选择题
计算机科学与工程系

数据库课件第2章


R
A B C
3 2 7 4 R
2=2
S
A B C
3 7 4 2 5 3
6 5 2 4 S
7 7 3 3 R.A
R.B R.C S.A S.B S.C
7 4
2 4
3 3
7 3
2 4
3 5
Question:
• 设关系R和S上的属性个数分别为2和3, 那么R 1<2 S等价于
• A. O1<2 (R*S) • C. O1<2(R S) B. O 1<4(R*S) D. O1<4(R S)

3. 连接(Join)
• 1)连接也称为θ连接 • 2)连接运算的含义 – 从两个关系的笛卡尔积中选取属性间满足一定条 件的元组
R S={
| tr R∧ts S∧tr[A]θts[B] }
– 连接运算从R和S的广义笛卡尔积R×S中选取 (R关系)在A属性组上的值与(S关系)在B属 性组上值满足比较关系的元组。
A
a1 a1 a1 a1 a1 a1 a2 a2 a2
B
b1 b1 b1 b2 b2 b2 b2 b2 b2
C
c1 c1 c1 c2 c2 c2 c1 c1 c1
A
a1 a1 a2 a1 a1 a2 a1 a1 a2
B
b2 b3 b2 b2 b3 b2 b2 b3 b2
C
c2 c2 c1 c2 c2 c1 c2 c2 c1
R
B b1 b2 b3 b4
C 5 6 8 12
B b1 b2 b3 b3 b5
S
E 3 7 10 2 2
连接(续)
R
C<E
S
A

《数据库原理及应用》教学课件 第二章关系数据库基础


01
列是同质的,即每一列中的分量必须来自同一个域且必须是同 一类型的数据。
02
不同的属性可来自同一个域,但不同的属性有不同的名字。
03
列的顺序可以任意交换,但交换时应连同属性名一起交换,否则 将得到不同的关系。
13
2.1 关系模型
04 05 06
2.1.3 关系的性质
元组的顺序可任意交换。在关系数据库中,可以按照各种排序 要求对元组的次序重新排列。
关系中不允许出现相同的元组。关系中的一个元组表示现实世界 中的一个实体或一个实体间的联系,如果元组重复则表示实体或 实体间的联系重复,这样不仅会造成数据库中数据的冗余,也可 能造成数据查询与统计的结果出现错误。
关系中的每一个分量必须是不可再分的数据项,即所有属性值都 是一个单独的值,而不是值的集合。
例如,在没有重名学生的情况下,学生关系中的属性“学号”与“姓名” 都是学生关系的候选码。如果选定属性“学号”作为数据操作的依据,则属 性“学号”为主码;如果选定属性“姓名”作为数据操作的依据,则属性 “姓名”为主码。
22
2.2 关系模型的完整性约束
2.2.1 关系的码
03 主属性与非主属性
包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。 例如,在没有重名学生的情况下,学生关系的属性“学号”与“姓名”都是学生关系的候选码, 则它们都是学生关系的主属性。而属性“性别”与“系别”不包含在任一候选码中,则它们都是学 生关系的非主属性。 在最简单的情况下,关系的候选码只包含一个属性;在最极端的情况下,关系的候选码是所有 属性的组合,这时称为全码。 例如,设有关系演出(演奏者编号,乐器编号,演播室编号),其中的3个属性分别为演奏者 关系、乐器关系及演播室关系的主码,它们共同唯一标识了一个演出,则演出关系的主码为它们的 组合,即为全码。

第2章 关系数据库

第二章
关系数据库
本章要求:
1、掌握关系、关系模式、关系数据库等基本概念 2、掌握关系的三类完整性的含义 3、掌握关系代数运算 本章内容: §1 关系模型的基本概念 §2 RDBS的数据操纵语言:关系代数 §3 RDBS的数据操纵语言:关系演算语言 返回
2016/9/29 数据库系统 1
请选择内容
第二章
2016/9/29
数据库系统
12
第二章
关系数据库
§2 RDBS的数据操纵语言:关系代数 关系代数的运算对象是关系,运算结果也为关系。 其运算按运算符的不同可分为两类。 一、传统的集合运算 1、并(Union): R S = { t | t∈R∨t∈S} 2、交(Intersection):R S = { t | t∈R∧t∈S} 3、差(Difference): R S = { t | t∈R∧t∈S} 4、笛卡尔积(广义): R S = { trts | tr ∈ R ∧ ts ∈ S}
2016/9/29
数据库系统
14
第二章 3、连接(Join) R
R中属性
关系数据库
S :从两个关系的笛卡尔积中选取属性间 A B 满足条件A B的元组。 连接是同时处理 多个关系的 重要运算
S中属性 比较运算符
说明: R
2016/9/29
S = (RS) A B A B
S
当为等号且A、B两属性相同时,称为自然连接,
2016/9/29 数据库系统
SC:S# C# G
S1 S1 S1 S1 S2 S2 S2 S3 S3 S3 S4 S4 C1 C2 C3 C5 C1 C2 C4 C2 C3 C4 C1 C3 A A A B B C C B C B B A
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

姓名 张三 李四 王五 赵六 钱七
关系模型

参照完整性 例2:学生、课程、学生与课程之间的多对多联系可 用以下3个关系表示:
学生(学号,姓名,性别,专业号,年龄) 课程号 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 01
学号 801 802 803 804 805 姓名 张三 李四 王五 赵六 钱七 性别 女 男 男 女 男 专业号 年龄 01 01 01 02 02 19 20 20 20 19

笛卡尔积可表示为一个二维表,表中每行对应一 个元组,每一列的值来自一个域
关系基本概念
Teacher
t1
t1 t1 t1 t1 t1 t2
Student
s1
s1 s2 s2 s3 s3 s1
Course
c1
c2 c1 c2 c1 c2 c1
t2
t2 t2 t2 t2
s1
s2 s2 s3 s3
c2
c1 c2 c1 c2

它是实际存在的表,是实际存储数据的逻辑表示

查询表

是查询结果对应的表
是由基本表或其他视图表导出的表,是虚表,不对应实 际存储的数据

视图表

基本关系的性质列是同质 NhomakorabeaHomogeneous)的

即每一列中的分量来自同一域,是同一类型的数 据
如TEACH(T, S, C)={(t1 , s1 , c1), (t1 , t2 , c1)}是错 误的
关系模型

参照完整性 例1:学生实体与专业实体可以用下面的关系来 表示:

学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)
性别 女 男 男 女 男 专业号 年龄 01 01 01 02 02 19 20 20 20 19
专业号 01 02 03 专业名 信息 数学 计算机
学号 801 802 803 804 805
注: 1、关系R和S不一定是不同的关系 2、被参照关系S的主码Ks和参照关系R的外码F必须 定义在同一个(或同一组)域上
关系模型

参照完整性(续) 参照完整性规则:若属性(或属性组)F是基本关系R的外 码,它与基本关系S的主码KS相对应(基本关系R和S不 一定是不同的关系),则对于R中每个元组在F上的值必 须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值 例:在例1中,学生关系中每个元组‚专业号‛只能取 下面两类值:
合,是一次一集合(Set-at-a-time)的方式
而非关系型的数据操作方式是一次一记录
(Record-at-a-time)

关系操作可以用关系代数和关系演算两种方式来 表示,它们是相互等价的

关系代数是用对关系的运算来表达查询要求
关系演算是用谓词来表达查询要求
关系模型

关系操作(续)

关系操作主要包括查询(Query)操作和插入(Insert)、 删除(Delete)、修改(Update)操作两大部分 查询又可分为:选择(Select)、投影(Project)、连接 (Join) 、 除 (Divide) 、 并 (Union) 、 差 (Except) 、 交 (Intersection)、笛卡尔积
解决办法:为关系的每个列附加一个属性名以取消关系元 组的有序性
关系基本概念

关系(Relation)(续)

关系是笛卡尔积中有意义的有限子集,关系也可以表示为 二维表 例:关系TEACH(Teacher, Student, Course) 属性 Teacher Student Course
t1 s1 c1

每一分量必须是不可再分的数据。满足这一条件的 关系称作满足第一范式(1NF)的
表 2.3 非规范化关系
SUPERVISOR SPECIALITY POSTGRADUATE PG1 PG2
张清玫 刘逸
信息专业 信息专业
李勇 王敏
刘晨
关系基本概念

思考题

解答:
∵ D1×D2×D3的笛卡尔积的基数为5×4×4=80 又∵关系是笛卡尔的有限子集 ∴包含的所有关系数目为: C800+C801+C802+‥+C8080=280

非过程化


面向集合的存取方式

关系数据语言概述

抽象的查询语言

关系代数

用对关系的运算来表达查询,需要指明所用操作

关系演算

用谓词来表达查询,只需描述所需信息的特性
五种基本操作:选择、投影、并、差、笛卡尔积


关系模型

关系模式的完整性

实体完整性规则:若属性(一个或一组属性)A是基 本关系R的主属性,则A不能取空值

空值:不知道或无意义 意义:关系对应到现实世界中的实体集,元组对应到实 体,实体是相互可区分的,通过主码来唯一标识,若主 码为空,则出现不可标识的实体,这是不容许的

实体完整性和参照完整性由系统自动支持 系统提供定义和检验用户定义的完整性的机制
关系模型
供应商关系S(主码是‚供应商号‛) 供应商号 B01 S10 T20 供应商名 红星 宇宙 黎明 所在城市 北京 上海 天津 今要向关系P中插入新行 ,新行的值分别列出如下 。哪些行能够插入?
1. (null,‘黄’,‘T20’)
关系基本概念

关系(Relation)


笛卡尔积D1×D2×…×Dn的子集叫做在域D1 , D2 ,…, Dn上 的关系,用R(D1 , D2 ,…, Dn )表示 R是关系的名字 n是关系的目或度(degree) 注:笛卡尔积不满足交换律,即: (d1,d2,…,dn )≠(d2,d1,…,dn ) 但关系满足交换律,即 (d1,d2 ,…,di ,dj ,…,dn)=(d1,d2 ,…,dj, di ,…,dn) (i,j = 1,2,…,n)
学号 801 802 803 804 805 姓名 张三 李四 王五 赵六 钱七 性别 女 男 男 女 男 专业号 年龄 01 01 01 02 02 19 20 20 20 19 802 805 班长 802
关系模型

参照完整性(续) 定义:设F是基本关系R的一个或一组属性,但 不是关系R的码。Ks是基本关系S的主码。如果F 与Ks相对应,则称F是R的外码(FK:Foreign Key)。 并 称 基 本 关 系 R 为 参 照 关 系 (Referencing Relation) , 基 本 关 系 S 为 被 参 照 关 系 (Referenced Relation)
提纲

关系基本概念 关系数据结构 关系操作集合 关系完整性约束 关系代数
关系模型回顾



E.F.Codd于70年代初提出关系数据理论,他因 此获得1981年的ACM图灵奖 关系理论是建立在集合代数理论基础上的,有 着坚实的数学基础 早期代表系统

SystemR:由IBM研制 INGRES:由加州Berkeley分校研制 Oracle,Informix,Sybase,SQL Server,DB2 Access,Foxpro,Foxbase

笛卡尔积(Cartesian Product)



笛卡尔积的每个元素(d1 , d2 , … , dn)称作一个n元组(n-tuple) 元组的每一个值di叫做一个分量(component) n 若Di的基数为mi,则笛卡尔积的基数为 mi
i 1
关系基本概念

例:设有三个域



D1=为教师集合(Teacher)= {t1,t2} D2=为学生集合(Student)= {s1,s2 ,s3} D3=为课程集合(Course)= {c1,c2} 则D1×D2×D3是个三元组集合,元组个数为2×3×2, 是所有可能的(教师,学生,课程)元组集合 D1×D2×D3={(t1,s1,c1), (t1,s1,c2), (t1,s2,c1), (t1,s2,c2), (t1,s3,c1), (t1,s3,c2), (t2,s1,c1), (t2,s1,c2), (t2,s2,c1), (t2,s2,c2), (t2,s3,c1), (t2,s3,c2)} 注:笛卡尔是所有域所有取值的一个组合,且不能重复。

关系模型

关系模式(Relation Schema)

关系的描述称作关系模式,包括关系名、关系中的属性名、 属性向域的映象、属性间的数据依赖关系等,记作 R(U,D,DOM,F);通常简记为:R(A1 , A2 ,…, An )

R为关系名 U为组成该关系的属性名集合 D为属性组U中属性所来自的域 DOM为属性向域的映像集合,属性向域的映象一般直接说明为属 性的类型、长度等 F为属性间数据的依赖关系集合 某一时刻对应某个关系模式的内容(元组的集合)称作关系 关系是某一时刻的值,是随时间不断变化的

主属性(Primary key)


非码属性(Non-key attribute)


全码(All key)

在最极端情况下,关系模式的所有属性组是这个关系模式 的候选码,这种情况称为全码
若一个关系有多个候选码,则选定一个为主码

主码(Primary key)

关系基本概念

关系的三种类型

基本关系(又称基本表)

关系数据语言的特点

一体化

一般关系系统的数据语言都同时具有数据定义、数据操 纵和数据控制语言,而不是分为几个语言。对象单一, 都是关系,因此操作符也单一 用户只需提出‚做什么‛,无须说明‚怎么做‛,存取 路径的选择和操作过程由系统自动完成 操作对象是一个或多个关系,结果是一个新的关系(一 次一关系)。非关系系统是一次一记录的方式
相关文档
最新文档