库原据数理(课堂PPT)_第1页
库原据数理(课堂PPT)_第2页
库原据数理(课堂PPT)_第3页
库原据数理(课堂PPT)_第4页
库原据数理(课堂PPT)_第5页
已阅读5页,还剩71页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 目 录上一页下一页退 出关系数据库的基本概念关系数据库的基本概念关系模型概述关系模型概述 关系数据库系统是支持关系模型的数据库系统关系数据库系统是支持关系模型的数据库系统关系模型由三部分组成:关系模型由三部分组成: 数据结构数据结构 关系操作集合关系操作集合 关系的完整性关系的完整性。2目 录上一页下一页退 出在关系模型中最重要的数据结构就是关系;关系就是一张表,设计关系就是设计一张表;元组是表中的一行;属性是表中的一列,属性名是给属性起的名字;关键字是表中的某个属性组,唯一确定一个元组;关系模式是对关系的描述,一般表示为关系名(属性1,属性2,属性n);外键是关系中不是该关系的关键字或只

2、是关键字的一部分的某个属性或属性组合,但它同时是另一个关系的关键字;主表是以外键作为主键的表;从表指外键所在的表。在为数据库设计关系时,必须为每个关系指定一个关键字或主码,并且在该关系中,关键字的值不能为空,即关键字的值为空的元组在关系中是不允许存在的。在有些关系中关键字是由单个属性组成的,在另一些关系中关键字是由若干个属性的组合而构成的,即这种关系中的元组不能由任何一个属性惟一表示,必须由多个属性的组合才能惟一表示。关系模式是稳定的,而关系是随时间不断变化的,因为数据库中的数据在不断更新。3目 录上一页下一页退 出一单一的数据结构一单一的数据结构-关系关系 在关系模型中,无论是实体还是实体之

3、间的联系均由单一的结构类型即关系来表示。关系模型中数据的逻辑结构是一张二维表。4目 录上一页下一页退 出二关系操作二关系操作 关系操作指存储操作和检索操作,且以检索操作为核心。关系模型给出了关系操作的能力和特点,但不对DBMS的语言给出具体的语法要求。关系语言的特点是高度非过程化。用户不必请求DBA为他建立特殊的存取路径,存取路径由DBMS的优化机制来完成。此外,用户也不必求助于循环、递归来完成数据操作。5上一页下一页退 出要 点目 录 关系操作包括:关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增加操作、删除、修改操作,非关系的数据操作方式则为一次一记录方式。 关系操作的特点是集

4、合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合的方式。6 目 录上一页下一页退 出三、关系的三类完整性约束三、关系的三类完整性约束关系模型的三类完整性是实体完整性、参照完整性和用户定义的完整性。实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系自动支持。7目 录上一页下一页退 出关系数据结构及形式化定义关系数据结构及形式化定义在关系模型中,无论是实体还是实体之间的联系均由单一的结构类型即关系来表示。8目 录上一页下一页退 出1. 关系关系定义:域域(Domain)是值的集合。(属性的取值范围)例如:域名域名 基数基数姓名=张力,李红,王芳,刘吉 4职称=

5、高工,工程师,助工,技术员 4 X=男,女 29目 录上一页下一页退 出定 义 : 给 定 一 组 域 D 1 , D 2 , , D n , 则D1D2Dn=(d1,d2,dn)|diDi , I=1,2, n 称为D1,D2,Dn 的笛卡尔积。其中每一个(d1,d2,dn)叫做一个n元组元组(表中的一行,称为一个元组),元组中的每一个di是Di域中的一个值,称为一个分量分量(元组中的属性)。若Di(i=1,2,n)为有限集,其基数为mi(i=1,2,n),则D1D2Dn的基数为:m=m1*m2* *mn其中:m=笛卡尔积的基数10目 录上一页下一页退 出例:给定三个域:D1=王芳,刘吉,D

6、2=高工,助工, D3=男,女,则D1D2D3笛卡尔积是D1,D2,D3各域的各元素间的一切可能的组合。如表:姓名 职称 性别王芳 高工 男王芳 高工 女王芳 助工 男王芳 助工 女刘吉 高工 男刘吉 高工 女刘吉 助工 男刘吉 助工 女D1D D2 2D D3 3的基数的基数m=2m=22 22=82=811目 录上一页下一页退 出给定一组域D1,D2,Dn则D1D2D3的子集称为D1D2Dn上的关系关系。记作R(D1,D2,Dn),其中,R为关系名,n为关系R的度或目。当n=1时,称该关系为单元单元关系,当n=2时,称该关系为二元二元关系 定义定义12目 录上一页下一页退 出根据实际情况,

7、能从上表中找到两个元组。如表。构成名为 “职工”关系(表文件名)。可以记作:职工(姓名,职称,性别) 表213目 录上一页下一页退 出关系中的某一属性组,若它的值唯一地标识一个元组(记录),则称该属性组为候选键(码)若一个关系有多个候选键,则选定其中一个为主键(码)主键(码),主键的诸属性称为主属主属性性。不包含在任何候选码中的属性称为非非码属性码属性。关系模式的所有属性组是这个关系模式的候选码,称为全码。全码。14目 录上一页下一页退 出关系可以有三种类型关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表、视图表关系的性质关系的性质 ()任意两个元组(即二行)不能完全相同。 ()

8、关系中元组(行)的次序是不重要的,可以 任意交换。 ()属性(列)的次序也是不重要的,可以任意交换。 ()同一列中的分量,必须来自同一个域,是同类型的数据。15目 录上一页下一页退 出(5)属性必须有不同的名称,但不同的属性可以出自相同的域,即它们的分量可以取值于同一个域。例如在表,职业与兼职是两个不同的域,但都取自同一个域集合。 (6)每一分量必须是原子的,即是不可再分的数据项。满足上述性质的关系称为规范化关系。表316目 录上一页下一页退 出2关系的一阶谓词表示关系的一阶谓词表示定义:设有关系模式R,其原子谓词表示形式为P(t),其中P是谓词,t是个体变元,以元组为其表现形式。关系R与原子

9、谓词P之间的关系如下:集合的表示方法为:R=t | P(t) 表示所有使谓词为真的元组t 都属于关系R。17目 录上一页下一页退 出4.1.3 关系模式关系模式定义定义 关系的描述称为关系模式关系模式。它可以形式化地表示为:R(U,D,dom, F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中所来自的域,dom为属性向域的映像集合。F为属性间数据的依赖关系集合。关系模式通常可以简记为R(U),通常简记为:关系名(属性名,属性名,属性n)。18目 录上一页下一页退 出属性向域的映象常用属性的类型、长度来说明。如表的职工关系其域可定义为: DOMAIN 姓名 PIC ()DOMAIN

10、 职称 PIC ()DOMAIN 性别 PIC ()以上三行分别定义了三个域。姓名、职称、性别为三个域名; PIC说明域的数据类型和长度。19目 录上一页下一页退 出某一时刻对应某个关系模式的内容称为相应模式的状态状态,它是元组的集合,称为关系关系。关系模式和关系常常统称为关系。20目 录上一页下一页退 出对于关系数据库要分清型型和值值的概念。关系数据库的型即数据库描述,它包括若干域定义以及在这些域上定义的若干关系模式(是这些域的子集);数据库的值是这些关系模式在某一时刻对应的关系的集合。数据库的型型亦称为数据库的内涵(二维表格的框内涵(二维表格的框架)架),数据库的值值亦称为数据库的外延外延

11、。关系模式是稳定的,而关系是随时间不断变化的,因为数据库中的数据在不断更新。 21目 录上一页下一页退 出关系数据库模式关系数据库模式多个关系的集合构成了关系数据库多个关系的集合构成了关系数据库例:学生选课数据库系统的模式:由三个关系例:学生选课数据库系统的模式:由三个关系模式构成。模式构成。S(S#,SN,SEX,SA,SD)C(C#,CN,PC#)S-C(S#,C#,G)22目 录上一页下一页退 出四种基本数据操纵功能:四种基本数据操纵功能: () 数据检索数据检索 ()() 数据插入数据插入 ()() 数据删除数据删除 ()() 数据修改数据修改 对关系模型的数据操纵可描述为:对关系模型

12、的数据操纵可描述为: ()操纵的对象)操纵的对象 ()基本操纵方式五种:属性指定、元组选()基本操纵方式五种:属性指定、元组选择、关系合并、元组插入、元组删除择、关系合并、元组插入、元组删除23目 录上一页下一页退 出 1关系模式数据库系统的结构 2关系数据语言的分类 独立型 宿主型 3关系数据语言与宿主语言的接口方式 显式过程调用 隐式过程调用 按系统固有语法调用关系数据库的用户接口和关系数据语言关系数据库的用户接口和关系数据语言24目 录上一页下一页退 出关系代数关系代数 关系数据库的数据操作分为查询和更新两类。查询语句用于各种检索操作,更新操作用于插入、删除和修改等操作。 关系查询语言根

13、据其理论基础的不同分成两大类:1.关系代数语言:查询操作是以集合操作为基础运算的DML语言。2.关系演算语言:查询操作是以谓词演算为基础运算的DML语言。25目 录上一页下一页退 出关系代数是以关系为运算对象的一组高级运算的集合。关系定义为元数相同的元组的集合。集合中的元素为元组,关系代数中的操作可分为两类: 传统的集合操作:并、差、交、笛卡尔积。 扩充的关系操作:投影,选择,联接和自然联接,除。关系代数的基本运算关系代数的基本运算26目 录上一页下一页退 出传统的集合运算主要指并、交、差、笛卡尔积四种运算。它们传统地用于两个集合之间的运算。当用于关系运算时,参加运算的关系必须是相容的和可并的

14、,即它们应有相同的度(属性个数相等),且相应的属性值来自同一域。如下表中的关系R和S就是两个相容的关系。相容的关系。4.3.1 传统的集合运算传统的集合运算27目 录上一页下一页退 出记作,由属于和属于S的元组合并而得,但须除去重复的元组。可用于元组的插入操作。1关系与关系之并关系与关系之并28目 录上一页下一页退 出2关系与关系之差关系与关系之差记作一,由属于 但不属于S 的元组组成。可用于删除操作。29目 录上一页下一页退 出记作,由属于 又属于S 的元组组成。3关系与关系之交关系与关系之交30目 录上一页下一页退 出 两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组

15、的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。记作:trts|trR tsS4. 广义笛卡尔积广义笛卡尔积31目 录上一页下一页退 出32目 录上一页下一页退 出在存储操作中,并运算可实现插入;差运算可实现删除;修改相当于“删除加插入” 。例:见例:见P63 P63 例例4-2 4-34-2 4-333目 录上一页下一页退 出4.3. 2 专门的关系运算专门的关系运算( (选择、投影、连接、除选择、投影、连接、除) )(1)(1)选择运算选择运算性质性质:单目运算,即操作对象仅有一个关系。文字

16、表示:文字表示:SELECT WHERE 公式表示:公式表示:记为:c(R)t t属于RC(t)=true34目 录上一页下一页退 出 C表示逻辑条件表达式,这个表达式按以下规则组成: 关系模型中表示大于、小于、等于、不等于、大于或等于、小于或等于这些比较运算符中的一种。35目 录上一页下一页退 出作用:在关系的水平方向上选取符合给定条件的子集。其中的条件是以逻辑表达式给出的 ,该逻辑表达式的值为真的元组被选取。这是从行的角度进行的运算,即水平方向抽取元组。经过选择运算得到的结果可以形成新的关系,其关系模式不变,但其中元组的数目小于或等于原来的关系中的元组的个数,它是原关系的一个子集.36目

17、录上一页下一页退 出例:找出关系GP中单价小于或等于1.80元的通用零件。 这实际上是从关系GP中找一个水平子集。用公式表示可写成:单价1.80(GP)t t属于GPC(t)=true37目 录上一页下一页退 出性质:单目运算,即操作对象仅有一个关系。文字表示: (关系名)作用:在关系的垂直方向取含有给定属性的子集。注意:在属性表中可包括一至若干个属性。(2 2)投影运算)投影运算38目 录上一页下一页退 出从关系中挑选若干属性组成的新的关系称为投影。这是从列的角度进行运算。经过投影运算可以得到一个新关系,其关系所包含的属性个数往往比原关系少,或者属性的排列顺序不同。如果新关系中包含重复元组,

18、则要删除重复元组 (2 2)投影运算)投影运算39目 录上一页下一页退 出例:列出关系中所有产品的名称与型号。其公式应写为:产品名,产品型号(P) (2 2)投影运算)投影运算40目 录上一页下一页退 出注意:投影后,如出现内容完全相同的元组,应将重复的元组取消。所以投影不仅会取消一些列,也可能会取消某些行。例:找出所有选用了通用零件的产品号 即取关系PGP在属性“产品号”上的投影: 产品号( )如左图产品号 P1 P2 P4 (2 2)投影运算)投影运算41目 录上一页下一页退 出联接有三种类型:-连接(条件连接)自然连接半连接(3)连接JOIN运算42目 录上一页下一页退 出性质:二目运算

19、。联接是从关系R和S的笛卡尔积中选取属性值满足某一操作的元组。连接可看成是有选择的笛卡尔乘积。记为:R RijijS S ,这里i和j 分别是关系R和S中第 i个、第j个属性的序号。它的含义是:R RijijS S i (n+j)i (n+j)(R RS S)如果是等号“=”,该联接操作称为“等值联接”。 -连接连接43目 录上一页下一页退 出例:给定两个关系R、S:RR.z=s.zS44目 录上一页下一页退 出两个关系R和S的自然联接用R S表示。具体计算过程如下: 计算RS 设R和S的公共属性是A1,Ak,挑选RS中满足下列条件的那些元组。R.A1=S.A1,R.A1=S.A1,,R.Ak

20、=S.AkR.Ak=S.Ak 去掉S.A1,, S.Ak的这些列。自然连接自然连接45目 录上一页下一页退 出 如果与的等值属性表中含有 n(n1)个属性,则新关系的原关系与的度数之间应满足以下条件:dp=dr+ds-n,选择R和S公共属性值均相等的元组,并去掉RS中重复的公共属性列。如果两个关系中没有公共属性,那么其自然联接就转化为广义笛卡尔积操作。46目 录上一页下一页退 出例:求选用通用零件号为GP1的零件单价及使用GP1的产品名称和型号。47目 录上一页下一页退 出第一步可先将它们自然连接,得出新关系NEW=PGP P,NEW48目 录上一页下一页退 出NEW1=零件号GP1(NEW)

21、NEW2=零件名,单价,产品名,产品型号(NEW1)然后用选择和投影求得所需要的信息49目 录上一页下一页退 出半连接半连接 两个关系R和S的半连接运算定义为:两个关系R和S的连接运算可以用半连接运算作为中间步骤来实现:50目 录上一页下一页退 出例:求P与PGP自然连接。先对关系P与PGP进行半连接运算,一个连接运算可用半连接运算作为中间步骤来实现。它的意义在于减少参与连接运算的数据量51目 录上一页下一页退 出半连接的结果如表PP,连接的结果如表PL 。表PP表PL52目 录上一页下一页退 出P66 例 48 例 4953目 录上一页下一页退 出性质:二目运算,但被除数关系必须包含除数关系

22、的全部属性。文字表示: DIVIDE BY 公式表示: / 作用:设T=R/S,由于R包含了S的全部属性,故可以表示为 T=R(X,Y)/S(Y),其中:X、均可为单个属性或属性组。在商关系T中,只包含属性表(或者说属性表Y已被除去)。但中只允许保留这样的元组:当它们与连接所组成的新元组全部能在原来的关系R 中找到.(4) 除法运算除法运算54目 录上一页下一页退 出例:找出同时选用通用零件GP3与GP4 和同时选用GP1、GP2 、GP3的产品号。PG/S1=T1 PG/S2=T2PGS1S2T1T255目 录上一页下一页退 出在关系代数运算中,把由基本操作经过有限次复合的式子称为关系代数表

23、达式。这种表达式的结果仍然是一个关系。可以使用关系代数表达式表示各种数据查询操作。关系代数表达式及其应用实例56目 录上一页下一页退 出例题:设教学库中有三个关系:例题:设教学库中有三个关系: 学生关系学生关系S(SNOS(SNO,SNAMESNAME,SAGESAGE,SEX) SEX) 学习关系学习关系SC(SNOSC(SNO,CNOCNO,GRADE)GRADE) 课程关系课程关系C(CNOC(CNO,CNAMECNAME,TEACHER)TEACHER) 下面用关系代数表达式表达各个查询语句下面用关系代数表达式表达各个查询语句1.1.检索学习课程号为检索学习课程号为C2C2的学生学号与

24、成绩。的学生学号与成绩。57目 录上一页下一页退 出3.3.检索选修课程名为检索选修课程名为MATHSMATHS的学生学的学生学号与姓名。号与姓名。58上一页下一页退 出要 点目 录4.4.检索选修课程号为检索选修课程号为C2C2或或C4C4的学生学号。的学生学号。5.5.检索至少选修课程号为检索至少选修课程号为C2C2和和C4C4的学生学号。的学生学号。59 目 录上一页下一页退 出6.检索不学C2课的学生姓名与年龄。7.检索学习全部课程的学生姓名。60目 录上一页下一页退 出8.检索所学课程包含S3所学课程的学生学号。61目 录上一页下一页退 出关系演算 用谓词演算作为关系数据查询语言的思

25、想,最早见于Kuhns的论文,而把它真正用于关系数据语言,提出关系演算概念的则是EFCdd。他首先给出了关系演算语言ALPHA, 把数理逻辑的谓词演算引入到关系运算中,就可以得到以关系演算为基础的运算。关系演算又可分为元组关系演算和域关系演算,前者以元组为变量,后者以属性为变量,分别称为元组演算和域演算。62目 录上一页下一页退 出元组关系演算元组关系演算表达式的一般形式为:tP(t)。其中,t是元组变量,表示一个元数固定的元组;P是公式。tP(t)表示满足公式P的所有元组t的集合。定义4-3:关系演算的原子公式(简称原子公式)定义如下:在元组表达式中,公式由原子公式组成。原子公式有三种形式:

26、63上一页下一页退 出要 点目 录(1) 原子谓词原子谓词R(u)R(u)是原子公式是原子公式。其中,R是关系名,u是元组变量。它表示这样一个命题:“u是关系R的一个元组”。(2) uivjuivj。其中,v和u是元组变量,是算术比较运算符,ui和vj分别是u的第i个分量和v的第j个分量。uivj表示这样一个命题:“元组u的第i个分量和v的第j个分量之间满足关系。”例如:s1u2表示元组s的第1个分量值必须小于元组u的第2个分量值。(3) uia (3) uia 或或 avjavj。这里a是常量。sia表示命题:“元组s的第i个分量值与常量a之间满足关系。”例如:s4=3,表示元组s的第4个分

27、量值为3。(4) 原子公式仅有上面三种定义方式。原子公式仅有上面三种定义方式。64 上一页下一页退 出要 点目 录在定义关系演算操作时,要用到“自由”和“约束”变量概念。在一个公式中,如果元组变量未用存在量词 或全称量词 符号定义,那么称为自由元组变量,否则称为约束变量。约束变量类似于程序设计语言过程内部定义的局部变量,自由变量类似于过程外部定义的外部变量或全局变量。 65 上一页下一页退 出要 点目 录公式的递归定义如下公式的递归定义如下: 1.每个原子公式是一个公式。其中的元组变量是自由变量。 2.如果P1和P2 是公式,那么 P1、P1P2、P1P2、P1P2都是公式。分别表示如下命题:

28、“P1不是真”,“P1或P2或两者是真”,“P1和P2都是真”,“若P1为真则P2为真”。公式中的元组变量性质如同在P1和P2中一样,依然是自由的或约束的。66 上一页下一页退 出要 点目 录3.如果P1是公式,那么(s)(P1)也是公式。它表示这样一个命题,“存在一个元组s使得公式P1为真”。元组变量s在P1中是自由的,在(s)(P1)中是约束的。P1中其它元组变量的自由约束性,在(s)(P1)中也没有变化。4.如果P1是公式,那么(s)(P1)也是公式。它表示这样一个命题,“对于所有元组s都使得公式P1为真”。元组变量的自由约束性与前一个命题相同。67 上一页下一页退 出要 点目 录5在公

29、式中各种运算符的优先级从高到低依次为:;和;和;。在公式外可以加括号,以改变上述优先顺序。6公式只能由上述五种形式组成,除此之外构成的都不是公式。在元组表达式 tP(t)中,t必须是P(t)中惟一的自由元组变量。68 上一页下一页退 出要 点目 录 在元组关系演算的公式中,有下列三个等价的规则:1.P1P2等价于(P1P2); P1P2等价于(P1P2)2.(s)(P1(S)等价于(s)(P1(S) (s)(P1(S)等价于(s)(P1(S);3.P1P2等价于P1P2。69 目 录上一页下一页退 出关系模型一般提供五种基本操作:元组插入、元组删除、元组指定、属性指定和关系合并,对应于关系代数

30、中的五种运算:并、差、选择、投影和笛卡尔积。这五种运算可用一阶谓词演算中的公式表示出来。设设r r目关系目关系R R和目关系和目关系S S的谓词分别为的谓词分别为R(u)R(u)和和S(v)S(v),用它们表示并、差、选择、投影和,用它们表示并、差、选择、投影和笛卡尔积。笛卡尔积。关系代数表达式到元组表达式的转换关系代数表达式到元组表达式的转换70上一页下一页退 出要 点目 录1.RS=tR(t)S(t) 2.RS=tR(t)S(t)3.RS=t(r+s)(u(r)(v(s)(R(u)S(v) t1=u1t2=u2tr=urtr+1=v1t2=v2tr+s=vs)4.设投影操作是i1,i2,ik(R),那么元组表达式可写成:t(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论