关系数据库理论基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《关系数据库理论基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 理论基础 课件
- 资源描述:
-
1、周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系1第第2章章 关系数据库理论基础关系数据库理论基础 关系数据库应用数学方法来处理数据库中的数据。最早将这类方法用于数据处理的是1962年CODASYL发表的“信息代数”,之后有1968年David Child在7090机上实现的集合论数据结构,但系统地、严格地提出关系模型的是美国IBM公司的E.F.Codd. 30多年来,关系数据库系统的研究取得了辉煌的成就。关系方法从实验室走向了社会,涌现出许多性能良好的商品化关系数据库管理系统(RDBMS),如著名的DB2,Oracle,Ingres,Sybase,Informi
2、x等。数据库的应用领域迅速扩大。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系2本书第2、3、4、5、6章将集中讨论关系数据库的有关问题。其中,第2章介绍关系模型的基本概念,即关系模型的数据结构、关系操作和关系的完整性;第3、4章介绍关系数据库的标准语言SQL;第5章介绍关系系统查询优化;第6章关系规范化。这是关系数据库的理论基础,也是关系数据库系统逻辑设计的工具。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系32.1 关系模型概述关系数据库系统是支持关系模型的数据库系统。关系模型有关系数据结构、关系操作集合和关系完整性约束三部分
3、组成。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系4一、单一的数据结构关系关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体之间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系5二、关系操作关系模型给出了关系操作的能力,但不对RDBMS语言给出具体的语法要求。关系模型中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Differenc
4、e)等查询(Query)操作和增加(Insert)、删除(Delete)、修改(Update)等更新操作两大部分。查询的表达能力是其中最主要的部分。关系操作的特点是集合操作方式,即操作的对象和操作的结果都是集合。这种操作方式也称为一次一集合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一记录(record-at-a-time)的方式。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系6 早期的关系操作能力通常用代数方式或逻辑方式来表达,分别称为关系代数和关系演算。关系代数是用对关系的运算来表达查询的方式。关系演算是用谓词来表达查询
5、要求的方式。关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的。 关系代数、元组关系演算和域关系演算均是抽象的查询语言,这些抽象的语言与具体的DBMS中实现的实际语言并不完全一样。单它们能用作评估实际系统中查询语言能力的标准或基础。实际的查询语言除了提供关系代数或关系演算的功能外,还提供了许多附加功能,例如集函数、关系赋值、算术运算等。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系7 关系语言是一种高度非过程化的语言,用户不必请求DBA为其建立特殊的存取路径,存取路
6、径的选择由DBMS的优化机制来完成,此外,用户不必求助于循环结构就可以完成数据操作。 另外还有一种介于关系代数和关系演算之间的语言SQL (Structured Query Language)。SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、 DDL、DML和DCL于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系8因此,关系数据语言可以分为三类:关系数据语言关系代数语言关系演算语言域关系演算语言元组关系演算语言具有关系代数和关系演算双重特点的语言 这些关系数
7、据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系9三、关系的三类完整性约束 关系模型允许定义三类完整性约束:实体 完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。下面将分别介绍关系模型的三个方面。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系102.2 关系数据模型的数据结构关系数据
8、模型的数据结构2.2.1 关系的数学定义1域(Domain)域:是一组具有相同数据类型的值集合。例如:自然数,男,女,0,1等都可以是域。基数:域中数据的个数称为域的基数。域被命名后用如下方法表示:D1 = 白亚春,陈韬,王雪莲,表示姓名的集合,基数是3;D2 = 计算机系,电子系周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系112笛卡尔积(Cartesian Product)给定一组域D1,D2,Di,Dn(可以 有相同的域),则笛卡尔积定义为:D1D2 Di Dn = (d1,d2,di,dn) diDi,i = 1,2,nD1 D2 = (陈韬,计算机系)
9、,(陈韬,电子系),(王雪莲,计算机系),(王雪莲,电子系),(白亚春,计算机系),(白亚春,电子系)其中每个(d1,d2,di,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i = 1,2,n)为有限集合,其基数为mi(i = 1,2,n),则D1 D2 Di Dn笛卡尔积的基数M为:周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系12该笛卡尔积的基数是M = m1m2 = 3*2 = 6,即该笛卡尔积共有6个元组,它可组成一张二维表姓名姓名系别系别陈韬陈韬计算机系计算机系陈韬
10、陈韬电子系电子系王雪莲王雪莲计算机系计算机系王雪莲王雪莲电子系电子系白亚春白亚春计算机系计算机系白亚春白亚春电子系电子系周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系133关系(Relation)关系:笛卡尔积D1 D2 Di Dn的子集R称作在域D1,D2,Dn上的关系,记作:R(D1,D2,Di,Dn)其中:R为关系名,n为关系的度或目(Degree),Di是域组中的第i个域名.当n = 1 时,称该关系为单元关系;当n = 2 时,称该关系为二元关系;以此类推,关系中有n个域,称该关系为n元关系。把列称为属性(Attribute)。一般来说,一个取自笛卡尔
11、积的子集才有意义。 周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系14关系可以分为三种类型:基本关系(又称基本表):是实际存在的表,它是实际存储数据的逻辑表示;查询表:是对基本表进行查询后得到的结果表;视图表:是由基本表或其它视图导出的表,是一个虚表,不对应实际存储的数据。 姓名姓名系别系别陈韬陈韬计算机系计算机系王雪莲王雪莲电子系电子系白亚春白亚春计算机系计算机系周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系152.2.2 关系的性质1列是同质的。 2关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。 学号学号姓名姓名性
12、别性别出生日期出生日期所在系所在系0022102王雪莲王雪莲女女1980-9-15电子系电子系计算机系计算机系白亚春白亚春男男1981-1-251981-1-250051309005130900522010052201陈韬陈韬男男计算机系计算机系1981-5-61981-5-60052217袁更旭袁更旭男男1980-12-8计算机系计算机系周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系163关系中的任意两个元组不能相同。 4、关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。 学号学号姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪莲
13、王雪莲女女1980-9-15电子系电子系0051309白亚春白亚春男男1981-1-25计算机系计算机系0051309白亚春白亚春男男1981-1-25计算机系计算机系0052217袁更旭袁更旭男男1980-12-8计算机系计算机系周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系172.3 关系的完整性2.3.1 键1候选键(Candidate key)若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。2主键(Primary key)若一个关系中有多个候选键,则选定一个为主键。周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算
14、机科学系183主属性和非主属性(Prime Attribute)and Non-prime Attribute) 包含在任何一个候选键中的属性称为主属性。而不包含在任何一个候选键中的属性称为非主属性4外键(Foreign key) 设F是基本关系R的一个或一组属性,但不是R的键(主键或候选键),如果F与基本关系S的主键K相对应,则称F是R的外键,并称R为参照关系,S为被参照关系。 周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系19学号学号姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪莲王雪莲女女1980-9-15电子系电子系0051309白亚春白
15、亚春男男1981-1-25计算机系计算机系0052201陈韬陈韬男男1981-5-6计算机系计算机系0052217袁更旭袁更旭男男1980-12-8计算机系计算机系课程号课程号学号学号成绩成绩C201002210275C505005130995C508005220192C506005221780周口师范学院计算机科学系02级教育专业2022-6-9周口师范学院计算机科学系202.3.2 实体完整性实体完整性规则:关系中的主键不能为空值(Null)。空值就是“不知道”或“无意义”2.3.3 参照完整性参照完整性规则:表的外键必须是另一个表主键的有效值,或者是空值。 周口师范学院计算机科学系02级
展开阅读全文