关系模型和关系运算理论.ppt
《关系模型和关系运算理论.ppt》由会员分享,可在线阅读,更多相关《关系模型和关系运算理论.ppt(67页珍藏版)》请在三一办公上搜索。
1、第2章 关系模型和运算理论,王传栋南京邮电大学计算机学院软件工程系,2,内容提纲,1)基本概念关系模型关键码(主键和外键)关系的定义和性质三类完整性规则过程性语言与非过程性语言2)关系代数五个基本操作四个组合操作七个扩充操作,3,内容提纲,3)关系演算元组关系演算和域关系演算的原子公式、公式的定义关系演算的安全性和等价性4)关系代数表达式的优化关系代数表达式的等价及等价转换规则启化式优化算法5)关系逻辑谓词、原子、规则和查询规则的安全性用规则模拟关系代数表达式,4,引言,关系模型是当前的主流逻辑数据模型 由IBM公司的高级研究员于1970年提出 应用广泛的原因:单一的数据建模概念 坚实的数学理
2、论基础 提供高级接口:数据库语言SQL,5,2.1 关系模型的基本概念,基本术语定义2.1 用二维表格表示实体集,用关键码表示实体之间联系的数据模型称为关系模型(Relational Model)理解用二维表格(table)表示实体集及其间联系,用关键码(或键)进行数据导航关系模型是逻辑模型的一种,也具有三个要素关系数据结构关系操作数据完整性约束规则,6,2.1 关系模型的基本概念,基本术语示例,7,2.1 关系模型的基本概念,基本术语关系数据结构:二维表字段称为属性,也称为列(column)反映事物的一个特征,每个字段都有字段名和字段值属性的取值范围(所有可取值的集合)称为属性域Domain
3、 大写字母A、B、C、表示单个属性;大写字母、X、Y、Z 表示属性集小写字母a、b、c、表示属性值记录称为元组(tuple),也称为行(row)记录类型称为关系模式,由模式名和属性列表组成元组集合称为关系(relation)或实例(instance),也称为表格,8,2.1 关系模型的基本概念,基本术语关系数据结构:二维表元组用关键字(Key word简称键)来标识属性个数称为元数(arity),也称为目;元组个数为基数(cardinality),9,2.1 关系模型的基本概念,基本术语关键码(key,简称键)由一个或多个属性组成。在实际使用中,有下列几种键1)超键(Super Key)其值能
4、唯一地决定其它所有属性的值的属性集2)候选键(Candidate Key)不含多余属性的超键其值能唯一地决定关系中其它所有属性的值、而它的任何真子集无此性质的属性或属性组 3)主键(Primary Key)用户选作元组标识的候选键,称为主键(PK),简称键,10,2.1 关系模型的基本概念,基本术语关键码(key,简称键)4)候补键(Alternate Key)主键之外的候选键5)全键:由关系的所有属性构成的主键 6)外键(Foreign Key,FK)如果模式R中的属性K是其它模式的主键,那么K在模式R中称为外键不是本关系的键,却引用了其它关系或本关系的键的属性或属性组7)主属性与非主属性,
5、11,2.1 关系模型的基本概念,基本术语示例关系模式STUDENT(学号,姓名,性别,出生日期,籍贯)假设:不允许学生重名,问:(学号,姓名,性别,出生日期,籍贯)?(学号,性别)?(学号,姓名)?(学号)?(姓名)?哪些是主属性?,12,2.1 关系模型的基本概念,关系的定义和性质定义2.2 关系是一个属性数目相同的元组的集合有限关系在关系模型中,关系的规范性限制:1)关系中每一个属性值都是不可分解的(原子的)2)关系中不允许出现重复元组(即不允许出现相同的元组)3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序注:关系中元组的排列是有序的,取决于索引4)元组中的属性在理论上也是无
6、序的,但使用时按习惯考虑列的顺序,13,2.1 关系模型的基本概念,关系模型的完整性规则实体完整性规则(entity integrity rule)关系内的约束每个关系都应有一个主键每个元组的主键的值应当唯一;组成主键的属性,不能有空值(NULL)否则,主键值就起不了惟一标识元组的作用,14,2.1 关系模型的基本概念,关系模型的完整性规则实体完整性规则(entity integrity rule)例如,15,2.1 关系模型的基本概念,关系模型的完整性规则参照完整性规则(referenceintegrityrule)不同关系或同一关系的不同元组间的约束定义2.3 参照完整性规则的形式定义如果
7、属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值规则的实质:不允许引用不存在的实体在上述形式定义中关系模式R1的关系称为“参照关系”,也称“主表”、“父表”关系模式R2的关系称为“依赖关系”,也称“副表”、“子表”,16,2.1 关系模型的基本概念,关系模型的完整性规则参照完整性规则(reference integrity rule)规则在具体使用时,有三点变通:外键和相应主键可以不同名,只要定义在相同值域上即可R1和R2可以是不同关系模式,也可以是同一个关系模式同一个关系模式中,表示了同一个关系中不同
8、元组之间的联系外键值是否允许空,应视具体问题而定当外键属性是主键的组成成分时,不允许为空,17,2.1 关系模型的基本概念,关系模型的完整性规则参照完整性规则(reference integrity rule)示例,18,2.1 关系模型的基本概念,关系模型的完整性规则用户定义的完整性规则和数据的具体内容有关的约束构建关系模式时,属性的数据类型,可能满足不了需求,需要显式定义额外的约束规则说明CHECK()子句、触发器、断言、过程说明各种DBMS产品对完整性约束的支持程度不同 数据库中完整性约束检查,由DBMS实现对DB进行更新(I/D/U)操作时检查,保证数据与现实世界的一致性,19,2.1
9、 关系模型的基本概念,关系模型的完整性规则用户定义的完整性规则示例1,20,2.1 关系模型的基本概念,关系模型的完整性规则用户定义的完整性规则示例2,21,2.1 关系模型的基本概念,关系模型的三层体系结构回顾数据库的三级体系结构,22,2.1 关系模型的基本概念,关系模型的三层体系结构关系模型也遵循数据库的三级体系结构关系模式记录类型称为关系模式关系模式的集合就是数据库的概念模式,是问题域数据的全局逻辑视图是对数据的特征描述,不涉及物理存储方面的描述由数据定义语言(DDL)实现定义模式名、属性名、值域、模式主键定义时,模式名和属性名一般都用英文单词表示,23,2.1 关系模型的基本概念,关
10、系模型的三层体系结构关系模型也遵循数据库的三级体系结构关系模式,24,2.1 关系模型的基本概念,关系模型的三层体系结构关系模型也遵循数据库的三级体系结构子模式是用户所用到的局部数据的描述构建子模式时,需要指出数据与关系模式中相应数据的联系由数据定义语言(DDL)实现定义时需要考虑用户对数据的操作权限对子模式的操作(如插入、修改、删除)是受限的,25,2.1 关系模型的基本概念,关系模型的三层体系结构关系模型也遵循数据库的三级体系结构子模式例如构建成绩子模式,要求显示学号、姓名、课程号和成绩,G(S#,SNAME,C#,SCORE),26,2.1 关系模型的基本概念,关系模型的三层体系结构关系
11、模型也遵循数据库的三级体系结构子模式,27,2.1 关系模型的基本概念,关系模型的三层体系结构关系模型也遵循数据库的三级体系结构存储模式在有些DBMS中,关系存储是作为文件看待的每个元组就是一个记录由于关系模式有键,因此存储一个关系可用散列方法或索引方法实现如果关系的元组数目较少(100个以内),那么也可以用“堆文件”方式实现(即没有特定的次序)可对任意的属性集建立辅助索引,28,2.1 关系模型的基本概念,关系模型的形式定义和优点关系模型的三个要素1)关系数据结构关系,二维表数据库中全部数据及其相互联系都被组织成“关系”2)关系操作一组完备的关系运算,支持对数据库的各种操作关系运算分成关系代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 模型 运算 理论
链接地址:https://www.31ppt.com/p-5928604.html