计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院

上传人:策**** 文档编号:53364088 上传时间:2018-08-30 格式:PPT 页数:65 大小:622KB
返回 下载 相关 举报
计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院_第1页
第1页 / 共65页
计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院_第2页
第2页 / 共65页
计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院_第3页
第3页 / 共65页
计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院_第4页
第4页 / 共65页
计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院》由会员分享,可在线阅读,更多相关《计算机数据库系统概论讲义之关系数据库-北京邮电大学软件学院(65页珍藏版)》请在金锄头文库上搜索。

1、软件学院 2004.08,数据库系统概论讲义,2. 关系数据库,关系数据库是建立在集合代数理论基础上的,有着坚实的数学基础。 E.F.Codd于1970年提出关系数据理论,他因此获得1981年的ACM图灵奖。 在美国计算机学会会刊Communication of the ACM发表“A Relational Model of Data for Shared Data Banks”论文。 早期代表系统 System:由IBM研制。 INGRES:由加州Berkeley分校研制。 目前主流的商业数据库系统 Oracle,Informix,Sybase,SQL Server,DB2。 Access,

2、Foxpro,Foxbase。,软件学院 2004.08,数据库系统概论讲义,2.1 关系基本概念,域(Domain):是一组具有相同数据类型的值的集合。 一组值的集合,这组值具有相同的数据类型。 如整数的集合、字符串的集合、全体学生的集合。 笛卡尔积(Cartesian Product): 一组域D1 , D2 , Dn的笛卡尔积为: D1D2Dn = (d1 , d2 , , dn) | diDi , i=1,n 笛卡尔积的每个元素(d1 , d2 , , dn)称作一个n-元组(n-tuple),简称元组(Tuple)。 元组的每一个值di叫做一个分量(component)。 若Di的基

3、数为mi,则笛卡尔积的基数为,软件学院 2004.08,数据库系统概论讲义,2.1 关系基本概念,例:设 D1为教师集合(T)= t1,t2D2为学生集合(S)= s1,s2 ,s3D3为课程集合(C)= c1,c2则D1D2D3是个三元组集合,元组个数为232,是所有可能的(教师,学生,课程)元组集合。 笛卡尔积可表为二维表的形式:,软件学院 2004.08,数据库系统概论讲义,2.1 关系基本概念,关系(Relation) 笛卡尔积D1D2Dn的子集叫做在域D1 , D2, ,Dn上的关系,用R(D1 , D2 , Dn )表示。 R是关系的名字,n是关系的度或目。 关系是笛卡尔积中有意义

4、的子集。 关系也可以表示为二维表。关系TEACH(T, S, C),元组 行,属性 列,软件学院 2004.08,数据库系统概论讲义,2.1关系基本概念,表(TABLE): An arrangement of words, numbers, or signs, or combinations of them, as in parallel columns, to exhibit a set of facts or relations in a definite,compact, and comprehensive form; a synopsis or scheme.Websters Dict

5、ionary of the English Language,软件学院 2004.08,数据库系统概论讲义,2.1 关系基本概念,关系的性质 列是同质的 即每一列中的分量来自同一域,是同一类型的数据。 如TEACH(T, S, C)=(t1 , s1 , c1), (t1 , t2 , c1)是错误的。 不同的列可来自同一域,每列必须有不同的属性名。 如P=t1,t2 , s1,s2 ,s3,C= c1,c2,则TEACH不能写成TEACH (P, P, C),还应写成TEACH(T, S, C)。 行、列的顺序无关紧要。 任意两个元组不能完全相同(集合内不能有相同的两个元素)。 每一分量必须

6、是不可再分的数据。满足这一条件的关系称作满足第一范式(1NF)的。,软件学院 2004.08,数据库系统概论讲义,2.2 关系模型,数据结构 单一的数据结构关系。 关系操作 关系数据语言:关系代数、关系演算、SQL。 语言具有完备的表达能力。 非过程化的集合操作。 关系的完整性约束 实体完整性 参照完整性 用户自定义完整性,软件学院 2004.08,数据库系统概论讲义,数据结构,单一的数据结构关系实体集、联系都表示成关系。,学生,课程,选修,属于,系别,系别:DEPT(D#,DN,DEAN) 学生:S(S#,SN,SEX,AGE,D#) 课程:C(C#,CN,PC#,CREDIT) 教师:PR

7、OF(P#,PN,SAL,D#) 选修:SC(S#,C#,SCORE) 教授:TEACH(P#,C#),教师,教授,工作,管理,软件学院 2004.08,数据库系统概论讲义,数据结构,候选码(Candidate Key) 关系中的一个属性组,其值能唯一标识一个元组。若从属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。如DEPT中的D#,DN都可作为候选码。 任何一个候选码中的属性称作主属性。如SC中的S#,C#。 主码(Primary Key) 进行数据库设计时,从一个关系的多个候选码中选定一个作为主码。如可选定D#作为DEPT的主码。 外部码(Foreign Key)

8、 关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码。如S关系中的D#属性。,软件学院 2004.08,数据库系统概论讲义,数据结构,关系模式 关系的描述称作关系模式,包括关系名、关系中的属性名、属性向域的映象、属性间的数据依赖关系等,记作R(A1 , A2 , An ) 。 属性向域的映象一般直接说明为属性的类型、长度等。 某一时刻对应某个关系模式的内容(元组的集合)称作关系。 关系模式是型,是稳定的。关系是某一时刻的值,是随时间不断变化的。,软件学院 2004.08,数据库系统概论讲义,数据结构,关系数据库 其型是关系模式的集合,即数据库描述,称作

9、数据库的内涵(Intension) 其值是某一时刻关系的集合,称作数据库的外延(Extension)。,软件学院 2004.08,数据库系统概论讲义,关系操作,关系操作是集合操作,操作的对象及结果都是集合,是一次一集合(Set-at-a-time)的方式。而非关系型的数据操作方式是一次一记录(Record-at-a-time)。 关系操作可以用关系代数和关系演算两种方式来表示,它们是相互等价的。如用关系代数来表示关系的操作,可以有选择、投影、连接、除、交、差、并等。,软件学院 2004.08,数据库系统概论讲义,关系完整性,实体完整性 关系的主码中的属性值不能为空值。 空值:不知道或无意义。

10、意义:关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的。 参照完整性 如果关系R2的外部码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk值或者等于R1 中某个元组的Pk 值,或者为空值。 意义:如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在。,软件学院 2004.08,数据库系统概论讲义,关系完整性,例如关系S在D#上的取值有两种可能: 空值,表示该学生尚未分到任何系中。 若非空值,则必须是DEPT关系中某个元组的D#值,表示该学生不可能分到一个不存在的系中。 用户定义的完整

11、性 用户针对具体的应用环境定义的完整性约束条件。 如S#要求是8位整数,SEX要求取值为“男”或“女”。 系统支持 实体完整性和参照完整性由系统自动支持。 系统应提供定义和检验用户定义的完整性的机制。,软件学院 2004.08,数据库系统概论讲义,2.3 关系数据语言概述,抽象的查询语言 关系代数:用对关系的运算来表达查询,需要指明所用操作。 关系演算:用谓词来表达查询,只需描述所需信息的特性。 元组关系演算:谓词变元的基本对象是元组变量。 域关系演算:谓词变元的基本对象是域变量。 具体系统中的实际语言 SQL:介于关系代数和关系演算之间,由IBM公司在研制System R时提出的。 QUEL

12、:基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现。 QBE:基于域关系演算,由IBM公司研制。,软件学院 2004.08,数据库系统概论讲义,2.3 关系数据语言概述,关系数据语言的特点 一体化一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。对象单一,都是关系,因此操作符也单一。而非关系型系统,如DBTG,有对记录的操作,有对系的操作。 非过程化用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成。 面向集合的存取方式操作对象是一个或多个关系,结果是一个新的关系(一次一关系)。非关系系统是一次一记录的方式。

13、,软件学院 2004.08,数据库系统概论讲义,2.4 关系代数,关系代数中,这些运算经有限次复合后形成的式子称为关系代数表达式。,软件学院 2004.08,数据库系统概论讲义,2.4 关系代数,基本运算 一元运算 选择、投影、更名。 多元运算 笛卡儿积、并、差。 其它运算 集合交、自然连接、除、赋值。 扩展运算 广义投影、外连接、聚集。 修改操作 插入、删除、更新。,软件学院 2004.08,数据库系统概论讲义,2.4 关系代数,约定: 元组给定关系模式R(A1 , A2 , , An),设R是它的一个具体的关系,tR是关系的一个元组。 分量设tR,则tAi表示元组t中相应于属性Ai的一个分

14、量。 属性列A = Ai1 ,Ai2 , ,AikA1 ,A2 , ,An,称A为属性列。A表示A1 ,A2 , ,An中去掉A后剩余的属性组。 tA = ( tAi1, tAi2, , tAik)。,软件学院 2004.08,数据库系统概论讲义,2.4.1选择运算,基本定义 在关系R中选择满足给定条件的元组(从行的角度)。 F(R)=t | t R , F(t) = 真 F是选择的条件,t R, F(t)要么为真,要么为假。 F的形式:由逻辑运算符连接算术表达式而成。逻辑表达式:,算术表达式:X YX,Y是属性名、常量、或简单函数。是比较算符, , , , , , ,软件学院 2004.08

15、,数据库系统概论讲义,2.4.1选择运算,示例 找年龄不小于20的男学生。 AGE20 SEX=男(S),软件学院 2004.08,数据库系统概论讲义,2.4.2投影运算,定义 从关系R中取若干列组成新的关系(从列的角度)。 A(R) = tA | tR , AR 投影的结果中要去掉相同的行。示例 找001号学生所选修的课程号。 C#( S#=001 (SC),R,B , C(R),软件学院 2004.08,数据库系统概论讲义,2.4.3并运算,定义 所有至少出现在两个关系中之一的元组集合。 RS = t | tR tS 两个关系R和S若进行并运算,则它们必须是相容的: 关系R和S必须是同元的,即它们的属性数目必须相同。 对i,R的第i个属性的域必须和S的第i个属性的域相同。,RS,软件学院 2004.08,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 经济/贸易/财会 > 综合/其它

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