关系数据库基本原理关系模型和关系代数

上传人:平*** 文档编号:47354647 上传时间:2018-07-01 格式:PPT 页数:60 大小:2.04MB
返回 下载 相关 举报
关系数据库基本原理关系模型和关系代数_第1页
第1页 / 共60页
关系数据库基本原理关系模型和关系代数_第2页
第2页 / 共60页
关系数据库基本原理关系模型和关系代数_第3页
第3页 / 共60页
关系数据库基本原理关系模型和关系代数_第4页
第4页 / 共60页
关系数据库基本原理关系模型和关系代数_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《关系数据库基本原理关系模型和关系代数》由会员分享,可在线阅读,更多相关《关系数据库基本原理关系模型和关系代数(60页珍藏版)》请在金锄头文库上搜索。

1、内容与要求n知识点q(1)知识点一:关系模型概述q(2)知识点二:关系数据结构q(3)知识点三:关系代数理论q(4)知识点四:关系数据库标准语言SQLq(5)知识点五:关系数据库的规范化理论q实验1 SQL语言的应用n教学基本要求q了解关系数据结构的基本概念,了解关系模型的各种操作和关 系代数的基本原理,掌握关系数据模型的完整性约束机制,掌 握SQL语言,了解函数依赖等基本概念,掌握关系模式的规范 化概念、方法、原理与过程。引言n关系模型是当前的主流逻辑数据模型 q由IBM公司的高级研究员E.F.Codd于1970年提出 n应用广泛的原因:q单一的数据建模概念 q坚实的数学理论基础 q提供高级

2、接口:数据库语言SQL关系模型的基本概念n关系模型(Relational Model)q用二维表格表示实体集,用关键码表示实体之间联系的数据模型 称为关系模型q理解n用二维表格(table)表示实体集及其间联系,n用关键码(或键)进行数据导航n关系模型是逻辑模型的一种,也具有三个要素q关系数据结构q关系操作q数据完整性约束规则关系模型的基本概念n示例关系模型的基本概念n关系数据结构:二维表q字段称为属性,也称为列(column)n反映事物的一个特征,每个字段都有字段名和字段值n属性的取值范围(所有可取值的集合) 称为属性域Domain n大写字母A、B、C、 表示单个属性;大写字母 、X、Y

3、、Z 表示属性集n小写字母a、b、c、 表示属性值q记录称为元组(tuple),也称为行(row)n记录类型称为关系模式,由模式名和属性列表组成n元组集合称为关系(relation)或实例(instance),也称 为表格关系模型的基本概念n关系数据结构:二维表q元组用关键字(Key word简称键)来标识q属性个数称为元数(Arity),也称为目q元组个数为基数(Cardinality) 一般术语关系模型术语字段、数据项属性记录类型关系模式记录1元组1记录2元组2记录3元组3记录4元组4字段值属性值文 件关 系R(A,B,C,D,E)关系模型的基本概念n关键码(key,简称键)q由一个或多个

4、属性组成。在实际使用中,有下列几种键q1)超键(Super Key)n其值能唯一地决定其它所有属性的值的属性集q2)候选键(Candidate Key)n不含多余属性的超键n其值能唯一地决定关系中其它所有属性的值、而它的任何真 子集无此性质的属性或属性组 q3)主键(Primary Key)n用户选作元组标识的候选键,称为主键(PK),简称键关系模型的基本概念n关键码(key,简称键)q4)候补键(Alternate Key)n主键之外的候选键q5)全键 :由关系的所有属性构成的主键 q6)外键(Foreign Key,FK)n如果模式R中的属性K是其它模式的主键,那么K在模式R中 称为外键n

5、不是本关系的键,却引用了其它关系或本关系的键的属性或 属性组q7)主属性与非主属性nSUPPLY(供应商,零件名,工程名) 项目供应mp 零件供应商2.1 关系模型的基本概念n示例q关系模式STUDENT(学号,姓名,性别,出生日期,籍贯)q假设:不允许学生重名,问:n(学号,姓名,性别,出生日期,籍贯)?n(学号,性别)?n(学号,姓名)?n(学号)?n(姓名)?n哪些是主属性?关系模型的基本概念n关系的定义和性质q关系是一个属性数目相同的元组的集合n有限关系q在关系模型中,关系的规范性限制:n1)关系中每一个属性值都是不可分解的(原子的)n2)关系中不允许出现重复元组(即不允许出现相同的元

6、组 )n3)由于关系是一个集合,因此不考虑元组间的顺序,即没 有行序q注:关系中元组的排列是有序的,取决于索引n4)元组中的属性在理论上也是无序的,但使用时按习惯考 虑列的顺序关系模型的基本概念n关系模型的完整性规则q实体完整性规则(entity integrity rule)n关系内的约束n每个关系都应有一个主键n每个元组的主键的值应当唯一;组成主键的属性,不能有空 值(NULL)q否则,主键值就起不了惟一标识元组的作用关系模型的基本概念n关系模型的完整性规则q实体完整性规则(entity integrity rule)n例如关系模型的基本概念n关系模型的完整性规则q参照完整性规则(refe

7、rence integrity rule)n不同关系或同一关系的不同元组间的约束n参照完整性规则的形式定义q如果属性集K是关系模式R1的主键,K也是关系模式R2的 外键,那么在R2的关系中,K的取值只允许两种可能,或 者为空值,或者等于R1关系中某个主键值n规则的实质:不允许引用不存在的实体n在上述形式定义中q关系模式R1的关系称为“参照关系”,也称“主表”、“父表”q关系模式R2的关系称为“依赖关系”,也称“副表”、“子表”关系模型的基本概念n关系模型的完整性规则q参照完整性规则(reference integrity rule)n规则在具体使用时,有三点变通:n外键和相应主键可以不同名,只

8、要定义在相同值域上即可nR1和R2可以是不同关系模式,也可以是同一个关系模式q同一个关系模式中,表示了同一个关系中不同元组之间的 联系n外键值是否允许空,应视具体问题而定q当外键属性是主键的组成成分时,不允许为空关系模型的基本概念n关系模型的完整性规则q参照完整性规则(reference integrity rule)n示例关系模型的基本概念n关系模型的完整性规则q用户定义的完整性规则n和数据的具体内容有关的约束n构建关系模式时,属性的数据类型,可能满足不了需求,需 要显式定义额外的约束规则说明qCHECK()子句、触发器、断言、过程n说明q各种DBMS产品对完整性约束的支持程度不同q 数据库

9、中完整性约束检查,由DBMS实现对DB进行更新 (I/D/U)操作时检查,保证数据与现实世界的一致性关系模型的基本概念n关系模型的完整性规则q用户定义的完整性规则n示例1关系模型的基本概念n关系模型的完整性规则q用户定义的完整性规则n示例2关系模型的基本概念n关系模型的三层体系结构 关系模型也遵循数据库的三级体系结构q关系模式n记录类型称为关系模式n关系模式的集合就是数据库的概念模式,是问题域数据的全 局逻辑视图n是对数据的特征描述,不涉及物理存储方面的描述n由数据定义语言(DDL)实现q定义模式名、属性名、值域、模式主键q定义时,模式名和属性名一般都用英文单词表示关系模型的基本概念n关系模型

10、的三层体系结构 关系模型也遵循数据库的三级体系结构q关系模式用户(应用程序) 用户记录模式/内模式映像外模式模式内模式DB模式/外模式映像关系模型的基本概念n关系模型的三层体系结构 关系模型也遵循数据库的三级体系结构q子模式n是用户所用到的局部数据的描述n构建子模式时,需要指出数据与关系模式中相应数据的联系n由数据定义语言(DDL)实现q定义时需要考虑用户对数据的操作权限q对子模式的操作(如插入、修改、删除)是受限的关系模型的基本概念n关系模型的三层体系结构 关系模型也遵循数据库的三级体系结构q子模式n例如q构建成绩子模式,要求显示学号、姓名、课程号和成绩G(S#,SNAME,C#,SCORE

11、) 关系模型的基本概念n关系模型的三层体系结构 关系模型也遵循数据库的三级体系结构q子模式用户(应用程序) 用户记录模式/内模式映像外模式模式内模式DB模式/外模式映像关系模型的基本概念n关系模型的三层体系结构 关系模型也遵循数据库的三级体系结构q存储模式n在有些DBMS中,关系存储是作为文件看待的n每个元组就是一个记录n由于关系模式有键,因此存储一个关系可用散列方法或索引 方法实现n如果关系的元组数目较少(100个以内),那么也可以用“堆 文件”方式实现(即没有特定的次序)n可对任意的属性集建立辅助索引关系模型的基本概念n关系模型的形式定义和优点q关系模型的三个要素n1)关系数据结构q关系,

12、二维表q数据库中全部数据及其相互联系都被组织成“关系” n2)关系操作q一组完备的关系运算,支持对数据库的各种操作q关系运算分成关系代数、关系演算和关系逻辑等三类n3)数据完整性约束规则q实体完整性、参照完整性和用户自定义的完整性关系模型的基本概念n关系模型的形式定义和优点q关系模型的优点n1)单一的数据结构形式,具有高度的简明性和精确性n2)逻辑结构和相应的操作,完全独立于数据存储方式q具有高度的数据独立性n3)坚实的数学基础q关系运算的完备性和规范化设计理论n4)数据库技术的基础q关系数据库语言与一阶谓词逻辑的固有内在联系,为以关 系数据库为基础的推理系统和知识库系统研究提供了方便关系模型

13、的基本概念n关系查询语言和关系运算q数据库语言SQL分为:DDL,DML、QL和DCLq数据操纵语言DML,描述插入、删除、修改等操作q查询语言QL,描述用户的各种检索要求n理论基础是“关系运算理论”,分为3部分:q1)关系代数语言q2)关系演算语言q3)关系逻辑语言关系代数n五个基本操作q并(Union)n前提q相同的关系模式(并兼容:两关系具有相同的目,对应属 性域相同且两个关系的属性排列次序一样)n定义qR和S的并,是由属于R或属于S的元组构成的集合q记为RSn形式定义qRS t | tR tS,t是元组变量关系代数n五个基本操作q差(Difference)n前提q相同的关系模式(并兼容

14、:两关系具有相同的目,对应属 性域相同且两个关系的属性排列次序一样)n定义qR和S的差,是由属于R但不属于S的元组构成的集合q记为RSn形式定义qRS t | tR tS, t是元组变量关系代数n五个基本操作q笛卡尔积(Cartesian Product)n形式定义q假设:R的元数r,基数为m;S的元数s,基数为nqRSt | t trR tsS RS的元数为r + s,基数mn 参与运算的R和S关系,不要求有同名属性 若有同名属性,在属性名前加“关系名.”来标注关系代数n五个基本操作q投影(Projection)n对关系进行垂直分割(感兴趣的列),属性可任意排列n表示q()n形式定义qi1,

15、im(R)t | t R n性质q((R) ) (R)属性表1属性表2关系代数n五个基本操作q选择(Selection)n据条件对关系做水平分割,选取符合条件的元组n表示q() F(R),F是命题公式 n形式定义qF(R) t | tR F(t)= true n性质qa) (R) ) (R)qb) ( ( R) (R)关系代数n五个基本操作q示例关系代数n四个组合操作q交(intersection)n前提q相同的关系模式(并兼容:两关系具有相同的目,对应属 性域相同且两个关系的属性排列次序一样)n定义qR和S的交,是由属于R又属于S的元组构成的集合q记为RSn形式定义qRS ttR tS n推

16、导qRS = R-(R-S),或 RS = S-(S-R)关系代数n四个组合操作q交(intersection)n示例关系代数n四个组合操作q连接(join)n形式定义qR S tt = trRtsStritsj n推导qR S i(r+j) (R S),其中r是关系R的元数q表示连接是在(R S)中,挑选第i个分量和第(r+j)个分 量满足操作的元组n说明:两个关系的同域属性比较q连接: , q等值连接: qF连接: F F1 Fn,Fk i j (、)关系代数n四个组合操作q连接(join)n示例q1)连接: R S, 或 R Sq2)等值连接: R S,或 R Sq3)F连接: R S, 或

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

当前位置:首页 > 高等教育 > 大学课件

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