数据库概论ppt培训课件

上传人:aa****6 文档编号:57202905 上传时间:2018-10-20 格式:PPT 页数:119 大小:892KB
返回 下载 相关 举报
数据库概论ppt培训课件_第1页
第1页 / 共119页
数据库概论ppt培训课件_第2页
第2页 / 共119页
数据库概论ppt培训课件_第3页
第3页 / 共119页
数据库概论ppt培训课件_第4页
第4页 / 共119页
数据库概论ppt培训课件_第5页
第5页 / 共119页
点击查看更多>>
资源描述

《数据库概论ppt培训课件》由会员分享,可在线阅读,更多相关《数据库概论ppt培训课件(119页珍藏版)》请在金锄头文库上搜索。

1、第二章 关系数据库,是以关系模型为基础的数据库。目前最为流行(主导型)的数据库。目前绝大多数都是关系数据库在运行。,E.F.Codd于20世纪70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖之后,提出了关系代数和关系演算的概念关系理论是建立在集合代数理论基础上的,有着坚实的数学基础早期代表系统System:由IBM研制INGRES:由加州Berkeley分校研制,关系数据库回顾,2.1 关系数据结构及形式化定义,关系特点 用二维表格表示实体集;外键表示实体间的联系;关系必须是规范化的。单一的数据结构规范化了的二维表格 集合代数的基础。,1. 数学定义,定义1: 域(Domain)

2、是一组具有相同类型的值的集合(即每个属性的取值范围)。一组值的集合,这组值具有相同的数据类型例:整数集合0,1;长度小于5的字符串集合等都可以是域;全体学生的集合。,2.1.1 基本术语,定义2: 笛卡尔积给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡儿积(Cartesian Product)为D1D2Dn= (d1,d2,dn)|diDi,i=1,2,n,其中每一个元素(d1,d2,dn)叫做一个n元组(n-tuple),或简称元组。元组中的每一个值di叫做一个分量(Component),它们分别取自相对应的集合Di 。,度(n):参与笛卡儿积的域的个数,它表示了每

3、一个元组中分量的个数。通常用n的值来称呼元组。当n=1时,称为一元组;当n=2时,称为二元组;当n=p时,称为p元组。,基:域中可取值的个数。 若Di(i=1,2,n)是一组有限集,且分别含有mi(i=1,2,n)个元素,则称mi为集合Di的基。笛卡儿积是有限集,其基为: M = mi,n,i=1,例:设有域 D1=姓名集合(NAME)=王三,丁平; D2=职业集合(JOB)=工人,农民,商人; D3=住址集合(ADDR)=北京,上海,广州;,则 D1D2D3 = ,D1、D2、D3 的基分别为2,3,3,所以笛卡儿积的基为 MD1D2D3 = 233=18;其度为3。,(王三,工人,北京),

4、 (王三,工人,上海), (王三,工人,广州), (王三,农民,北京), (王三,农民,上海), (王三,农民,广州), (王三,商人,北京), (王三,商人,上海), (王三,商人,广州), (丁平,工人,北京), (丁平,工人,上海), (丁平,工人,广州), (丁平,农民,北京), (丁平,农民,上海), (丁平,农民,广州), (丁平,商人,北京), (丁平,商人,上海), (丁平,商人,广州),可以把笛卡儿积看作是一张二维表。行数:元组的个数,即笛卡儿积的基数;列数:域的个数。,表中的每行对应一个元组;每列对应一个域。,定义3: 关系D1D2Dn的子集叫作在域D1,D2,Dn上的关系

5、,记为R(D1,D2,Dn)。其中R是关系(Relation)的名,也是条件的体现,Di(i=1,2,n)是关系的域,n是关系的目或度(Degree)。,关系中的每个元素是关系中的元组,通常用t表示。 当n=1时,称为一元关系 (Unary Relation); 当n=2时,称为二元关系 (Binary Relation); 当n=3时,称为三元关系 (Ternary Relation)。,关系就是一张二维表。行数:元组的个数,即笛卡儿积的基数;列数:域的个数。,表中的每行对应一个元组;每列对应一个域,关系中不同列可以对应相同的域为了加以区分,必须对每列起一个名字,称为属性(Attribute

6、)n目关系必有n个属性,注意:两个或更多的属性可以都出于同一个域,这就需要在模式中给以映象,说明这个属性来自某个域。 例:给出三个域D1=男人集合(MAN)=王兵,李平,张英;D2=女人集合(WOMAN)=丁梅,吴芳;D3=儿童集合(CHILD)=王一,李一,李二;则家庭关系可表示为FAMILY(MAN, WOMAN, CHILD),此例也可以只给出两个域:成人PERSON=王兵,李平,张英,丁梅,吴芳儿童CHILD=王一,李一,李二 但构造FAMILY时仍要三个属性,其中MAN,WOMAN都从PERSON域中取。PERSON这个域在FAMILY这个关系中扮演两个角色,就要给这个角色以不同的名

7、字,即属性的名字。有两种方法:,FAMILY(M_PERSON, W_PERSON, CHILD) 或FAMILY(HUSBAND, WIFE, CHILD)DOM(HUSBAND)=DOM(WIFE)=PERSON,在域名前加上前缀作为属性名给属性另起名字,代表域的意思,表示HUSBAND和WIFE属性取值来自PERSON域。,一般说来,只有笛卡儿积的子集才是有意义的。条件“某人现在的职业和住址”定义的关系R应是R(D1,D2,D3)=(王三,工人,上海), (丁平,商人,广州)而全部元素作为关系是无意义的。根据条件去挑选笛卡儿积中的元组组成一个集合,就构成一个关系(条件就是关系的名)。,记

8、录类型 关系模式,记录1 元组1,记录2 元组2,记录3 元组3,文件,关系 (或实例),字段值 属性值,字段.数据项 属性,一般术语 关系模型术语,术语对照,关系有三种基本类型基本关系(基本表)实际存在的表,是实际存储数据的逻辑表示。查询表查询结果所对应的表。视图表 由基本表或视图表导出的表,是虚表,不对 应实际存储的数据。,2. 关系的性质,每一分量必须是不可再分的数据项;表的列是同质的,即每一列中的所有值具有相同的性质,或说它们来自同一个域;属性(列)的顺序无关紧要;元组(行)的顺序无关紧要;同一关系中不存在两个完全相同的元组(各行相异);每一列称为属性。不同的属性要给予不同的属性名。,

9、关系性质1同质的列,姓名2 曾用名,关系性质2不同的属性名,关系性质3属性无序,关系性质4元组不重复,关系性质5元组无序,关系性质6分量是原子,非规范化关系,规范化关系,3. 有关关系术语解释 域和属性(Domain和Attribute)域是属性的取值范围,属性是列。属性名可以是域名,但有时不同的列名可以定义在同一域中,这时属性名就不能与域名同名了。, 关系的码(Key) 如果一个属性(或属性集合)的值能唯一地标识一个关系的元组而又不含有多余的属性,则称该属性(或属性集合)为关系的码(或候选码,也称键)。每个关系都有一个且只有一个主码(Primary Key)。码的属性称为主属性,不包含在任何

10、码中的属性称为非主属性。 外码(Foreign Key - FK) 如果某一个关系中的属性(或属性集合)在另一个关系中是主码,则称该属性(或属性集合)是外码。,关系的码,学生关系,课程关系,学习成绩关系,外部码,外部码,主码,主码,外部关系码,什么是关系模式?定义关系模式。关系模式与关系。,2.1.2 关系模式,关系模式是型 是对数据本身的特性描述元组集合的结构属性构成属性来自的域 属性与域之间的映象关系元组语义以及完整性约束条件属性间的数据依赖关系集合关系是值,是元组的集合关系模式是用DDL定义的 包括:关系名,属性名以及属性域的类型和长度。,1. 什么是关系模式,定义: 关系模型中的数据结

11、构就是关系模式,即是对关系的描述。它的形式化表示是一个5元组:R(U, D, dom, F)其中,R:关系名; U:属性名集合; D:域,属性组U中属性所来自的域; dom:属性向域的映射; F:属性间数据的依赖关系集合,2. 关系模式定义,关系模式通常可以简记为R (U) 或 R (A1,A2,An)R: 关系名A1,A2,An : 属性名注:域名及属性向域的映象常常直接说 明为属性的类型、长度属性间的数据依赖关系将在第6章中讨论。,关系的内涵和外延 关系的内涵是关系模式。它是静态的、稳定的,是对关系的描述。 关系的外延是关系(的值)。任何给定的时刻,出现在关系中的所有元组的集合,它是动态的

12、、随时间变化的,反映了关系模式在某一时刻的状态或内容。,3. 关系模式与关系,2.1.3 关系数据库,关系数据库 在一个给定的应用领域中,所有关系的集合构成一个关系数据库关系数据库的型与值,关系数据库的型: 关系数据库模式对关系数据库的描述。关系数据库模式包括若干域的定义在这些域上定义的若干关系模式关系数据库的值: 关系模式在某一时刻对应的关系的集合,简称为关系数据库,关系数据库,整个数据库,某关系的结构,某关系的实例,数据结构:单一的数据结构类型 -关系或表;数据操作:一组完备的高级关系运算;数据的约束条件:三类完整性规则。,2.2 关系的完整性,1. 关系模型关系模型的三要素:,例:学生-

13、课程数据库有三个关系,其关系模型结构(二维表)如下:,学生关系 S,课程关系 C,学习关系 SC,其关系模式描述如下:,S(SNO, SNAME, SDEPT, SCLASS,SAGE) C(CNO, CNAME, CTIME) SC(SNO, CNO, GRADE),可以看出:哪些关系之间有联系。到底哪些元组之间有联系,哪些元组之间无联系,这要看具体数据(值)而定。只有公共属性上具有相同属性值的元组之间才有联系。,2. 关系模型的完整性约束规则域完整性约束规则要求属性值必须取自其对应的值域。 域完整性约束是最基本的约束;一个属性值能否为空值由其语义决定。,实体完整性规则设属性A是基本关系R的

14、主属性(码的组成部分),则属性A不能取空值(NULL)。 实体完整性是针对基本关系的;本规则要求基本关系中的元组在组成码属性上不能有空值;现实世界中的实体是可区分的,即它们具有某种唯一性标识;大部分DBMS支持实体完整性规则。,S(SNO, SNAME, SDEPT, SCLASS,SAGE) C(CNO, CNAME, CTIME) SC(SNO, CNO, GRADE),关系S的主属性SNO不能取空值 关系C的主码CNO不能取空值 关系SC的主属性SNO、CNO不能取空值,参照(引用)完整性规则基本关系R中含有与另一个基本关系S的主码KS相对应的属性组F(F称为R的外码),则对于R中的每个

15、元组在F上的值必须为: 或者取空值(F的每个属性值均为空值); 或者等于S中某个元组的主码值,引用完整性约束是不同关系之间或同一关系的不同元组间的约束。本规则要求不允许引用不存在的元组;大部分DBMS支持引用完整性规则。,例2.1 职工关系EMP(ENO, ENAME, DNO) 部门关系 DEPT(DNO, DNAME) 在EMP中,DNO是外码。EMP中每个元组在DNO 上的值允许有两种可能: 取空值。这说明这个职工尚未分配到某个 部门; 若非空值,则DNO的值必须是DEPT中某个 元组中的DNO值。表示此职工不可能分配 到一个不存在的部门。,职工表(EMP),部门表(DEPT),关系主码,外部关系码,例2.2 学生实体及其内部的一对多联系 学生(学号,姓名,性别,专业号,年龄,班长),学生(学号,姓名,性别,专业号,年龄,班长)“学号”是主码,“班长”是外码,它引用了本关系的“学号” “班长” 必须是确实存在的学生的学号 “班长”属性值可以取两类值:(1)空值,表示该学生所在班级尚未选出班长(2)非空值,该值必须是本关系中某个元组的 学号值,例2.3 选修(学号,课程号,成绩)“学号”和“课程号”可能的取值 :(1)选修关系中的主属性,不能取空值(2)只能取相应被参照关系中已经存在的主码值,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号