关系数据库基本原理-关系模型和关系代数.ppt
21关系模型的完整性规则用户定义的完整性规则示例1关系模型的基本概念21关系模型的完整性规则用户定义的完整性规则示例2关系模型的基本概念关系模型的基本概念关系模型的三层体系结构关系模型也遵循数据库的三级体系结构关系模式记录类型称为关系模式关系模式的集合就是数据库的概念模式,是问题域数据的全局逻辑视图是对数据的特征描述,不涉及物理存储方面的描述由数据定义语言(DDL)实现定义模式名、属性名、值域、模式主键定义时,模式名和属性名一般都用英文单词表示关系模型的基本概念关系模型的三层体系结构 关系模型也遵循数据库的三级体系结构关系模式用户(应用程序)用户记录模式/内模式映像外模式模式内模式DB模式/外模式映像关系模型的三层体系结构关系模型也遵循数据库的三级体系结构子模式1是用户所用到的局部数据的描述2构建子模式时,需要指出数据与关系模式中相应数据的联系3由数据定义语言(DDL)实现定义时需要考虑用户对数据的操作权限对子模式的操作(如插入、修改、删除)是受限的4关系模型的基本概念关系模型也遵循数据库的三级体系结构子模式关系模型的三层体系结构1例如构建成绩子模式,要求显示学号、姓名、课程号和成绩G(S#,SNAME,C#,SCORE)2关系模型的基本概念关系模型的基本概念关系模型的三层体系结构 关系模型也遵循数据库的三级体系结构子模式用户(应用程序)用户记录模式/内模式映像外模式模式内模式DB模式/外模式映像关系模型也遵循数据库的三级体系结构关系模型的三层体系结构在有些DBMS中,关系存储是作为文件看待的每个元组就是一个记录由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现如果关系的元组数目较少(100个以内),那么也可以用“堆文件”方式实现(即没有特定的次序)可对任意的属性集建立辅助索引存储模式关系模型的基本概念关系模型的形式定义和优点关系模型的三个要素关系数据结构关系,二维表数据库中全部数据及其相互联系都被组织成“关系”数据完整性约束规则实体完整性、参照完整性和用户自定义的完整性关系操作一组完备的关系运算,支持对数据库的各种操作关系运算分成关系代数、关系演算和关系逻辑等三类关系模型的基本概念关系模型的形式定义和优点关系模型的优点逻辑结构和相应的操作,完全独立于数据存储方式具有高度的数据独立性单一的数据结构形式,具有高度的简明性和精确性坚实的数学基础关系运算的完备性和规范化设计理论数据库技术的基础关系数据库语言与一阶谓词逻辑的固有内在联系,为以关系数据库为基础的推理系统和知识库系统研究提供了方便关系模型的基本概念关系模型的基本概念关系查询语言和关系运算数据库语言SQL分为:DDL,DML、QL和DCL数据操纵语言DML,描述插入、删除、修改等操作查询语言QL,描述用户的各种检索要求理论基础是“关系运算理论”,分为3部分:关系代数语言关系演算语言关系逻辑语言并(Union)五个基本操作相同的关系模式(并兼容:两关系具有相同的目,对应属性域相同且两个关系的属性排列次序一样)前提R和S的并,是由属于R或属于S的元组构成的集合记为R∪S定义R∪S≡{t|t∈R∨t∈S},t是元组变量形式定义关系代数五个基本操作差(Difference)前提相同的关系模式(并兼容:两关系具有相同的目,对应属性域相同且两个关系的属性排列次序一样)形式定义R-S≡{t|t∈R∧t∈S},t是元组变量定义R和S的差,是由属于R但不属于S的元组构成的集合记为R-S关系代数关系代数五个基本操作笛卡尔积(CartesianProduct)形式定义假设:R的元数r,基数为m;S的元数s,基数为nR×S≡{t|t=tr,ts∧tr∈R∧ts∈S}R×S的元数为r+s,基数m×n参与运算的R和S关系,不要求有同名属性若有同名属性,在属性名前加“关系名.”来标注五个基本操作投影(Projection)对关系进行垂直分割(感兴趣的列),属性可任意排列表示Π属性或序号列表(关系名)形式定义Πi1,…,im(R)≡{t|t=ti1,…,tim∧t1,…,tk∈R}性质Π属性表1(Π属性表2(R))≡Π属性表1(R)属性表1∈属性表2关系代数关系代数五个基本操作选择(Selection)据条件对关系做水平分割,选取符合条件的元组表示σ选择条件(关系名)→σF(R),F是命题公式形式定义σF(R)={