第三章关系数据库理论课件.ppt
《第三章关系数据库理论课件.ppt》由会员分享,可在线阅读,更多相关《第三章关系数据库理论课件.ppt(66页珍藏版)》请在三一办公上搜索。
1、2022/12/21,1,数据库系统基础第一部分 数据库基本原理,第三章 关系数据库原理,2022/12/21,2,主要内容:,关系数据库的基本概念关系代数,2022/12/21,3,第一节 关系数据库的基本概念,一、关系的定义1 相关术语 (1)域(Domain)域(对应于实体中的元组)是一组具有相同数据类型的值的集合。例如:性别=男,女职称=教授,副教授,讲师,助教系名=计算机科学与技术系,工商管理系,公共管理系 都是域。在关系数据库中,域必须命名。其中,性别、职称、系名等都是域名。,2022/12/21,4,(2) 笛卡尔积(Cartesian Product),给定一组域D1,D2,D
2、N,则 D1D2DN=(d1,d2,dn)|diDi,i=1,2,n 称为D1,D2,DN的笛卡尔积。每一个元素(d1,d2,dn)称为一个n元组,简称元组。元组中的每一个值di是Di域中的一个值,称为一个分量。当n=1时,称为单元组,当n=2时,称为二元组,。,2022/12/21,5,例3-1:动物集合和食物集合的笛卡儿积,给出两个域:D1animal(动物集合)猫,狗,猪D2food(食物集合)鱼,骨头,白菜D1D2(猫,鱼) (狗,鱼) (猪,鱼) (猫,骨头) (狗,骨头) (猪,骨头) (猫,白菜)(猪,,白菜) (狗,白菜)。如表3-1所示。,2022/12/21,6,表3-1
3、动物和食物集合的笛卡儿积,2022/12/21,7,(3)关系,给定一组域: D1,D2,DN,则D1D2DN的子集称为在D1D2DN上的关系,记作: R(D1,D2,DN)其中,R称为关系名,N称为关系R的度。,2022/12/21,8,例3-2:,从例3-1的D1D2的笛卡尔积 (猫,鱼) (狗,鱼) (猪,鱼) (猫,骨头) (狗,骨头) (猪,骨头) (猫,白菜)(猪,,白菜) (狗,白菜) 中取出一个子集来构造一个关系eat(animal,food),关系名为eat(吃),属性名为animal和food,如表3-2所示。,2022/12/21,9,表3-2 eat关系,2022/12
4、/21,10,(4)关键字,关键字:用来标识某个记录的一个或一组属性。侯选关键字:能作为关键字的属性可能不只一个,这些属性称为侯选关键字。主关键字:能唯一标识一个元组的侯选关键字。如:学号、编号等。次关键字:除主关键字之外的侯选关键字。如:性别、职称等。主关键字用途:唯一地确定某个元组。次关键字用途:确定具有某种属性的有哪些元组。,二、数据库中关系的类型,基本表:关系数据库中实际存在的表,是实际存储数据的逻辑表示。视图表:视图表是由基本表或其他视图表导出的表。查询表:查询表是指查询结果表或查询中生成的临时表。,2022/12/21,11,2022/12/21,12,三、关系的性质,关系可以为空
5、关系(即一个关系可以不包含任何元组)关系中的列称为属性,N度关系必有N个属性,属性必须命名。不同的属性可以来自同一个域,同一列中的分量只能来自同一个域,是同类型的数据。列的次序无关紧要,可以任意交换。关系中的元组的顺序无关紧要,但在同一个关系中不能有相同的元组。关系中的每个属性必须是原子的,是不可再分的数据项。随着对关系数据库的操纵,关系随时变化。若两个关系的差别只是关系名不同,属性次序不同或元组次序不同,那么就称这两个关系相等。,2022/12/21,13,四、关系模式,每个关系有一个模式,称为关系模式,由一个关系名以及它的所有属性名构成,一般形式是:R(A1,A2,An)其中,R是关系名,
6、 A1,A2,An是该关系的属性名。一个关系模式实际上是确定了这个关系的二维表的框架,具体关系是关系模式的值或实例,在数据库运行过程中,关系实例是动态变化的。例3-3 eat关系的关系模式 eat(Animal,Food),2022/12/21,14,五、关系数据库模式,一个关系数据库是多个关系的集合,这些具体关系构成了关系数据库的实例。由于每个关系都有一个模式,所以,构成该关系数据库的所有关系模式的集合构成了关系数据库模式。,例3-4:将第二章课堂练习题1所涉及的数据库用关系模式表达,大学实行学分制,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每门课程可被多名学生选修;每门课程
7、可由多位老师讲授,每位老师可讲授多门课程;每位老师可指导多名学生。假设学生的属性有:学号、姓名、性别、出生日期教师的属性有:编号、姓名、性别、院系课程的属性有:课程号、课程名,2022/12/21,15,E-R图:,2022/12/21,16,关系模式:,学生(学号,姓名,性别,出生日期,导师)教师(编号,姓名,性别,院系)课程(课程号,课程名)选修(学号,课程号,成绩)讲授(编号,课程号),2022/12/21,17,六、关系操作,1、关系操作的基本内容关系操作包括数据查询、数据维护和数据控制三大功能。数据查询指数据检索、统计、排序、分组等功能;数据维护指数据增加、删除、修改等数据自身更新的
8、功能;数据控制是为了保证数据的安全性和完整性而采用的数据存取控制及并发控制等功能。关系操作的数据查询和数据维护功能使用关系代数中的选择、投影、连接、除、并、交、差以及广义笛卡儿积8种操作。,2022/12/21,18,2、关系操作的特点,关系操作语言操作一体化数据定义、查询、更新和控制一体化,既可以作为宿主语言嵌入到主语言中,又可以作为独立语言交互使用。关系操作的方式是一次一集合方式其他系统的操作是一次一记录方式,而关系操作的方式是一次一集合方式,即关系操作的初始数据、中间数据和结果数据都是集合。关系操作数据结构单一,能够使其利用集合运算和关系规范化等数学理论进行优化和处理操作。关系操作语言是
9、高度非过程化的语言具有强大的表达能力。用户使用关系语言时,只需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。,2022/12/21,19,3、关系操作语言的种类,关系代数语言用对关系的运算来表达查询要求的语言。ISBL(Information System Base Language)为关系语言的代表。关系演算语言用查询得到的元组应满足的谓词条件来表达查询要求的语言。关系演算语言又可分为元组演算语言和域演算语言两种:元组演算语言的谓词变元的基本对象是元组变量,例如ALPHA语言;域演算语言的谓词变元的基本对象是域变量,QBE(Query B
10、y Example)是典型的域演算语言。基于映象的语言具有关系代数和关系演算双重特点的语言。SQL是基于映象的语言。SQL包括数据定义、数据操作和数据控制三种功能,具有语言简洁,易学易用的特点,它是关系数据库的标准语言和主流语言。,2022/12/21,20,4、关系的完整性,(1)关系模型的实体完整性(Entity Integrity)若属性A是基本关系R的主属性,则属性A的值不能为空值。实体完整性能够保证实体的唯一性。实体完整性能够保证实体的可区分性。,2022/12/21,21,(2)关系模型的参照完整性,外码和参照关系设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如
11、果F与基本关系S的主码相对应,则称F是R的外码,R为参照关系( 外码表),S为主码表。参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。,2022/12/21,22,例3-5:将例3-4中关系模式的主、外码标注出来。,学生(学号,姓名,性别,出生日期,导师)教师(编号,姓名,性别,院系)课程(课程号,课程名)选修(学号,课程号,成绩)讲授(编号,课程号)对于“学生”和“教师”关系,“教师” 是主码表,编号在“教师”关系中是主码,“
12、学生” 是参照关系,导师在“学生”关系中是外码。对“学生”关系中的导师属性,或者取空值,或者取“教师”关系中已有的值。,2022/12/21,23,(3)用户定义的完整性,用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。,2022/12/21,24,课堂练习1:将第二章“工厂物资管理”数据库用关系模式表达并标出各关系的主、外键,2022/12/21,25,2022/12/21,26,第二节 关系代数,关系代数是一种抽象的查询语言,是关系操纵语言的一种传统表达方式。关系代数的运算对象是关系,运算结果也为关系。关系代数中常用以下4类运算符:集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 关系 数据库 理论 课件

链接地址:https://www.31ppt.com/p-1843840.html