关系数据库.ppt
- 文档编号:1411266
- 上传时间:2022-10-22
- 格式:PPT
- 页数:101
- 大小:1.53MB
关系数据库.ppt
《关系数据库.ppt》由会员分享,可在线阅读,更多相关《关系数据库.ppt(101页珍藏版)》请在冰豆网上搜索。
数据库原理第三章,第三章关系数据库,数据库原理第三章,目录,3.1关系模型及其三要素3.2关系代数,数据库原理第三章,3.1关系模型及其三要素,3.1.1关系模型的数据结构及其形式化定义,1.关系的形式化定义,数据结构关系实体和实体间的联系均由关系来表示,数据库原理第三章,
(1)域(Domain),一组具有相同数据类型的值的集合,整数、实数和字符串的集合都是域,域的基数:
域中所包含的值的个数(用m表示),D1=姓名=王平,李丽,张晓刚D2=性别=男,女D3=年龄=19,20,m1=3,m2=2,m3=2,数据库原理第三章,
(2)笛卡尔积(CartesianProduct),给定一组域D1,D2,Dn(既可以完全不同,也可以部分或全部相同),D1,D2,Dn的笛卡尔积为:
每一个元素(d1,d2,dn)叫做一个n元组,简称元组,元素(d1,d2,dn)中的每一个值di叫做一个分量,diDi,数据库原理第三章,笛卡尔积D1D2Dn的基数M所有域的基数的累乘之积:
数据库原理第三章,D1=姓名=王平,李丽,张晓刚D2=性别=男,女D3=年龄=19,20,D1D2D3,行数=基数M,列数=域的个数n,元组个数=基数M,元组中的分量个数=域的个数n,集合,二维表,322=12,3,数据库原理第三章,D1,D2,D3的笛卡儿积为D1D2D3,数据库原理第三章,(3)关系(Relation),D1D2Dn的子集称作在域D1,D2,Dn上的关系,表示为:
R(D1,D2,Dn),R关系名,n关系的度(Degree)或目,当n=1时,称为单元关系;当n=2时,称为二元关系,以此类推,数据库原理第三章,从D1D2D3中取出有用的元组,构造学生关系:
学生,数据库原理第三章,2.关系中的基本名词,
(1)元组关系表中的每一横行称作一个元组,组成元组的元素为分量。
(2)属性关系中的每一列称为一个属性。
数据库原理第三章,(3)候选码(CandidateKey)能唯一标识关系中元组的一个属性或属性集。
设关系R有属性:
,其属性集,当且仅当满足以下条件时,K为候选码:
唯一性关系R的任意两个不同元组,其属性集K的值都不相同。
最小性属性集中,任一属性都不能从属性集K中删掉。
数据库原理第三章,例如:
学生(学号,身份证号码,姓名,性别,年龄),“学号”+“性别”是候选码吗?
不是,“学号”是候选码吗?
是,“身份证号码”是候选码吗?
是,数据库原理第三章,选课(学号,课程号),不是,“学号”是候选码吗?
是,“学号”+“课程”是候选码吗?
不是,“课程号”是候选码吗?
数据库原理第三章,(3)主码(PrimaryKey)从多个候选码中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主码。
每个关系必定有且仅有一个主码,学生(学号,身份证号码,姓名,性别,年龄),主码,数据库原理第三章,选课(学号,课程),主码,(4)全码(AllKey)若关系的候选码中只包含一个属性,则称它为单属性码;若候选码是由多个属性构成的,则称为它为多属性码。
最简单的情况下,一个候选码只包含一个属性;极端情况下,所有属性的组合是关系的候选码,称为全码。
数据库原理第三章,数据库原理第三章,借书(学号,书号,日期),多属性码,学生(学号,身份证号码,姓名,性别,年龄),单属性码,数据库原理第三章,选课(学号,课程),多属性码、全码,数据库原理第三章,(5)主属性和非主属性候选码中的属性称为主属性;不包含在任何候选码中的属性称为非主属性。
学生(学号,身份证号码,姓名,性别,年龄),候选码,主属性:
学号、身份证号码非主属性:
姓名,性别,年龄,数据库原理第三章,3.关系的类型,
(1)基本表:
关系数据库中实际存在的表,是实际存储数据的逻辑表示
(2)视图表:
视图表是由基本表或其他视图表导出的表(3)查询表:
查询表是指查询结果表或查询中生成的临时表,数据库原理第三章,4.关系的基本性质,
(1)同一属性的数据具有同质性每一列中的分量必须来自同一个域,必须是同一类型的数据。
选课,错误,数据库原理第三章,
(2)同一关系的属性名具有不能重复性允许不同关系中有相同的属性名,(3)关系中的列位置具有顺序无关性列的顺序可以任意交换,(4)关系中的元组位置具有顺序无关性行的顺序可以任意交换,选课(学号,课程号)授课(教师号,课程号),数据库原理第三章,(5)关系具有元组无冗余性关系中不允许出现相同的元组,(6)关系中每一个分量都必须是不可分的数据项分量是原子量,不允许表中有表,数据库原理第三章,数据库原理第三章,5.关系模式(RelationSchema),关系的描述称为关系模式,形式化地表示为:
R(U,D,Dom,F),R-关系名U-属性名集合D-属性所来自的域DOM-属性向域的映像集合F-属性间数据的依赖关系集合,数据库原理第三章,可以简单记为:
R(U)或R(A1,A2,An)其中:
R为关系名,A1,A2,An为属性名。
学生(学号,姓名,性别,年龄,系别)教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系别)课程(课程号,课程名,课时)选课(学号,课程号,成绩)授课(教师号,课程号),数据库原理第三章,关系模式:
静态、稳定,固定不变,关系数据:
随数据更新不断变化,数据库原理第三章,6.关系数据库(RelationDataBase),所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。
关系数据库也有“型”和“值”之分:
关系数据库模式,关系数据库,型,值,静态、稳定,固定不变,随数据更新不断变化,数据库原理第三章,3.1.2关系操作概述,1.关系操作的基本内容,数据查询数据维护(更新)数据控制,数据库原理第三章,2.关系操作的特点,
(1)关系操作语言操作一体化数据定义、查询、更新和控制一体化,既可以作为宿主语言嵌入到主语言中,又可以作为独立语言交互使用。
数据库原理第三章,
(2)关系操作的方式是一次一集合方式操作的初始数据、中间数据、结果数据都是集合,因此能够使其利用集合运算和关系规范化等数学理论进行优化和处理操作,但关系操作与其他系统配合时需要解决处理方式的矛盾。
数据库原理第三章,(3)关系操作语言是高度非过程化的语言具有强大的表达能力。
用户使用关系语言时,只需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。
数据库原理第三章,3.关系操作语言的种类,
(1)关系代数语言用对关系的运算来表达查询要求的语言。
(2)关系演算语言用查询得到的元组应满足的谓词条件来表达查询要求的语言。
(3)基于映象的语言具有关系代数和关系演算双重特点的语言。
主流语言SQL语言,数据库原理第三章,3.1.3关系的完整性,1.关系模型的实体完整性,若属性A是基本关系R的主属性,则属性A的值不能为空值。
数据库原理第三章,主属性,实体完整性能够保证实体的唯一性。
实体完整性能够保证实体的可区分性。
数据库原理第三章,主属性,二义性无法区分,数据库原理第三章,2.关系模型的参照完整性,
(1)外码,设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码);如果F与基本关系S的主码相对应,则称F是R的外码。
R为参照关系,S为被参照关系。
数据库原理第三章,关系R,属性F,关系S,主码K,F不是主码,F是R的外码,参照关系,被参照关系,数据库原理第三章,例如“基层单位数据库”中有“职工”和“部门”两个关系,其关系模式如下:
职工(职工号,姓名,工资,性别,部门号),部门(部门号,名称,领导人号),主码用下划线标出,外码,参照关系,被参照关系,数据库原理第三章,职工(职工号,姓名,工资,性别,部门号),部门(部门号,名称,领导人号),外码,被参照关系,参照关系,外码给出了不同关系之间建立联系的方法,数据库原理第三章,学生(学号,姓名,性别,专业号,年龄),课程(课程号,课程名,学分),选修(学号,课程号,成绩),外码,外码,参照关系,被参照关系,被参照关系,数据库原理第三章,
(2)参照完整性规则,若属性(或属性组)F是基本关系R的外码,则对于R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。
数据库原理第三章,职工,部门,外码,数据库原理第三章,(3)用户定义的完整性,用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
如:
成绩属性的取值范围在0-100之间在职职工的年龄小于65岁,数据库原理第三章,完整性约束,实体完整性,参照完整性,用户自定义完整性,必须满足,体现具体领域中的语义约束(取值范围、格式限制),运算=运算对象+运算符+运算结果,数据库原理第三章,3.2关系代数,3.2.1概述,关系代数是一种抽象的查询语言,通过关系的运算来表达查询。
关系,关系,数据库原理第三章,运算符,
(1)集合运算符(并运算),(差运算)(交运算),(广义笛卡儿积)
(2)专门的关系运算符(选择),(投影)(连接),(除),数据库原理第三章,(3)比较运算符(大于),(大于等于)(小于),(小于等于)(等于),(不等于)(4)逻辑运算符(非)(与)(或),数据库原理第三章,关系代数运算符,传统的集合运算,把关系看成元组的集合,运算从“行”的角度进行。
并()、差(-)、交()、广义笛卡尔积(),专门的关系运算,不仅涉及行运算,也涉及列运算,为数据库的应用而引进的特殊运算。
选择()、投影()、连接()、除法(),比较运算符和逻辑运算符用于辅助操作,数据库原理第三章,3.2.2传统的集合运算,双目运算,下述三种运算,两个集合需满足以下条件:
设给定两个关系R、S,需满足:
(1)具有相同的度n;
(2)R中第i个属性和S中第i个属性必须来自同一个域。
数据库原理第三章,1.并(Union)运算,t为元组,R和S并的结果仍为n目关系其数据由属于R或属于S的元组组成,数据库原理第三章,R,S,RS,数据库原理第三章,2.差(Difference)运算,R和S并的结果仍为n目关系其数据由属于R,且不属于S的元组组成,数据库原理第三章,R,S,R-S,数据库原理第三章,3.交(Intersection)运算,R和S并的结果仍为n目关系其数据由属于R,且同时属于S的元组组成,数据库原理第三章,R,S,RS,关系Rn目关系Sm目它们的广义笛卡儿积是一个(n+m)目的元组集合:
(1)元组的前n列是关系R的一个元组,后m列是关系S的一个元组。
(2)若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积应当有k1k2个元组。
数据库原理第三章,4.广义笛卡尔积(ExtendedCartesianProduct)运算,数据库原理第三章,R和S的广义笛卡儿积表示为:
数据库原理第三章,R,S,RS,数据库原理第三章,3.2.3专门的关系运算,记号说明,关系模式、关系、元组和分量设关系模式为,它的一个关系设为R;表示t是R的一个元组,则表示元组t中相对于属性的一个分量。
数据库原理第三章,职工,A1,A2,A3,A4,A5,t,tA3,数据库原理第三章,域列和域列非设关系模式为,取的一部分构成集合A:
A称为属性列或域列。
表示元组t在属性列A,上各分量的集合。
表示中去掉之后的属性组。
称为A的域列非。
数据库原理第三章,职工,A1,A2,A3,A4,A5,t,数据库原理第三章,1.选择(Selection)运算,单目运算,根据给出的条件在关系R中选择若干元组,组成一个新的关系。
(“行的角度”),属性名可以用属性的序号表示,数据库原理第三章,:
选择运算符,F:
选择条件,是一个逻辑表达式运算对象:
属性名、常数、简单函数运算符:
比较运算符、逻辑运算符,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库