《关系模型三要素》由会员分享,可在线阅读,更多相关《关系模型三要素(43页珍藏版)》请在人人文库网上搜索。

1、第2章 关系数据库,本讲内容,一、关系数据结构及形式化定义 二、关系操作 三、关系的完整性 四*、关系模型的三级体系结构,内容要求,掌握关系模型的三个组成部分及各部分所包括的主要内容 牢固掌握关系数据结构及其形式化定义 掌握关系的三类完整性约束的概念,关系模型简史,1.关系模型的提出 由E.F.Codd在他的论文“A Relational Model of Data for Large Shared Data Banks”(大型共享资料库的关系数据模型,1970)中首次提出。 2.关系模型的发展推动力 (1)20世纪70年代末,IBM在加利福尼亚州成立了San Jose研究所开发的实验性RDB。

2、MS System R。System R项目推动了两类重大成果: 结构化查询语言SQL的发展 涌现了各种各样的商业化RDBMS产品,如DB2、Oracle等,关系模型简史,2)加州大学伯克利分校开发的INGRES(交互式制图检索系统)项目,它与System R项目几乎是同时进行的。它对普及关系概念做出了贡献,同时也诞生了一些商业化产品。 (3)IBM UK Scientific Centre开发的Peterlee关系测试工具(1976),这个项目更偏重理论研究,特别是对查询处理和优化及功能扩展等问题的研究。 20世纪70年代末至80年代初出现了基于关系模型 的商业系统,关系模型,什么是关系模型。

3、 用二维表格表示实体集,用码进行数据导航的数据模型称为关系模型。 关系模型的三要素 关系数据结构 关系操作 关系的完整性,一、 关系数据结构及形式化定义,关系定义 关系模式 关系数据库,数学关系,假设有两个集合D1和D2,其中D1=2,4, D2 =1,3,5。这两个集合的笛卡尔积 D1 D2=? D1 D2=(2,1),(2,3),(2,5),(4,1),(4,3),(4,5) 这个笛卡尔积的任何子集都是一个关系,关系定义,笛卡尔积 给定一组域D1,D2,Dn,这些域中可以有相同的。D1, D2,Dn的笛卡尔积为: D1D2Dn(d1,d2,dn)diDi,I1, 2,n,其中每一个元素(d。

4、1,d2,dn)叫作一个n 元组(n-tuple)或简称元组。 笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量。 若Di(i1,2,n)为有限集,其基数为mi(i1,2,n),则D1D2Dn的基数M为,笛卡尔积(例,笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。 例 给出三个域: D1=SUPERVISOR = 张清玫,刘逸 D2=SPECIALITY=计算机专业,信息专业 D3=POSTGRADUATE=李勇,刘晨,王敏 则D1,D2,D3的笛卡尔积为: D1D2D3 (张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,。

5、王敏),(张清玫,信息专业,李勇), (张清玫,信息专业,刘晨),(张清玫,信息专业,王敏), (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇), (刘逸,信息专业,刘晨),(刘逸,信息专业,王敏),笛卡尔积的表示方法(续,关系,关系 D1D2Dn的子集叫作在域D1,D2,Dn上的关 系,表示为 R(D1,D2,Dn) R:关系名 n:关系的目或度(Degree) (1)当n=1时,称该关系为单元关系(Unary relation)。 (2)当n=2时,称该关系为二元关系(Binary relation)。 说明:笛卡尔积是每个域内所。

6、有元素的排列组合,因 此其中的许多元组是无实际意义的,而关系一般是具 有实际意义的元组的组成的,关系的基本术语,在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。 记录称为元组,元组的集合称为关系或实例,有时也称关系为表或表格,元组为行,属性为列。 关系中属性的个数称为元数,元组个数称为基数,关系(例,例 在表2.1 的笛卡尔积中取出有实际意义的元组 来构造关系 关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) 关系名,属性名 假设:专业与导师:1:n,导师与研究生:1:n 于是:SAP关系可以包含三个元组 (张清玫,信息专业,李勇), (。

7、张清玫,信息专业,刘晨), (刘逸,信息专业,王敏),关系的表示,关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域,关系中的码,基本关系的性质,列是同质的(Homogeneous)。 每一列中的分量是同一类型的数据,来自同一个域 不同的列可出自同一个域 列的顺序无所谓 任意两个元组不能完全相同 行的顺序无所谓 分量必须取原子值,关系的类型,关系可以分为三种类型: (1)基本表: 是数据库实际存储数据的逻辑表示,是实际存在的表。 (2)视图表: 是由基本表或其他视图表导出的表,不对应实际存储的数据,是虚表。 (3)查询表: 是对基本表或视图表进行查询,查询结果对应的表,关系模式,定义。

8、:关系的描述称为关系模式。 它可以形式化的表示为: R(U,D,DOM,F) 其中, R 关系名 U 组成该关系的属性名集合 D 属性组U中属性所来自的域 DOM 属性向域的映象集合 F 属性间的数据依赖关系集合 关系模式是型,关系是值,关系模式例子,例:学生选修课成绩登记表,定义关系模型SC如下: SC( SNO,CNO,GRADE, N(10),N(3), (SNO,N(10),(CNO,N(3),(GRADE,N(3), (SNO,CNO) GRADE ) 其中,SNO表示学号,CNO表示课程号,GRADE表示选修课成绩,关系数据库,关系数据库也有型和值之分,二、关系操作,基本的关系操作。

9、 关系数据语言的分类,常用的关系操作,常用的关系操作 查询 选择、投影、连接、除、并、交、差 数据更新 插入、删除、修改 其中选择、投影、并、差、笛卡尔积是五种基本操作。其他操作可以用基本操作来定义和导出 关系操作的特点 集合操作方式,即操作的对象和结果都是集合。 非关系数据模型的数据操作方式:一次一记录,关系数据语言,关系语言是一种高度非过程化的语言 关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价,三、关系的完整性,实体完整性(Entity Integrity) 参照完整性(Referential Integrity) 用户定义的完整性(User-defined Integr。

10、ity,1.实体完整性,规则2.1 实体完整性规则 若属性A是基本关系R的主属 性,则属性A不能取空值。 说明:规则要求关系中元组在组成 主键的属性上不能有空值,课程(课程号,课程名,学分,选修(课程号,学号,成绩,关系间的引用,在关系模型中实体及实体间的联系都是用关系来描述的,因 此可能存在着关系与关系间的引用。 例1 学生实体、专业实体以及专业与学生间的一对多联系 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名,关系间的引用(续,例2 学生、课程、学生与课程之间的多对 多联系 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩,学生。

11、,学生选课,课程,外码(Foreign Key,设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本 关系S的主码Ks相对应,则称F是基本关系R的外码基本关系R称为参照 关系(ReferencingRelation)基本关系S称为被参照关系 (ReferencedRelation)或目标关系(Target Relation)。 例1 学生实体、专业实体以及专业与学生间的1:n联系 R学生(学号,姓名,性别,专业号,年龄) S 专业(专业号,专业名,F,KS,2.参照完整性,规则2.2 若属性(或属性组)F是基本关系R的外码它 与基本关系S的主码Ks相对应(基本关系R和S不一定是不 。

12、同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值。 说明:这条规则的实质是不允许引用不存在的实体,Student,Department,主码,外码,不是Student的主码,但是Department的主码。 Student中Sdept中的值都取自Deparment表中相应Sdept的值。 指定外码时,列名不一定要求相同,3.用户定义的完整性,用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用。

13、程序承担这一功能。 关系模型应提供定义和检验这类完整性的机制。不应由应用程序承担,用户定义的完整性(续,例: 课程(课程号,课程名,学分) “课程名”属性必须取唯一值 非主属性“课程名”也不能取空值 “学分”属性只能取值1,2,3,4,补充:ER模型向关系模型的转换,规则1(实体类型的转换) 将每个实体类型转换成一个关系模式,实体的属性即为 关系模式的属性,实体的码即为关系模式的码。 规则2(二元联系类型的转换) (1)1:1联系:可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的码和联系类型的属性。 (2)1:n联系:则在n端实体类型转换成的关系模式中加入1。

14、端实体类型的码和联系类型的属性。 (3)m:n联系:则将联系类型也转换成关系模式,其属性为两端实体类型的码加上联系类型的属性,而它的码为两端实体码的组合,示例1(1:1联系类型,关系模式如下: 学校(校名,地址,电 话,校长名,任职年月) 校长(姓名,性别,年 龄,职称,学校,校长,任职,校名,地址,电话,任职年月,姓名,性别,年龄,职称,1,1,示例2(1:n联系类型,关系模式: 系(系号,系名,电话) 教师(工号,姓名,性 别,年龄,系号,聘期,系,教师,聘用,系号,系名,电话,聘期,工号,姓名,性别,年龄,1,n,示例3(m:n联系类型,关系模式: 学生(学号,姓名,年 龄,性别) 课程。

15、(课程号,课程 名,教师名) 选课(学号,课程号, 成绩,学生,课程,选课,学号,姓名,年龄,性别,成绩,课程号,课程名,教师名,m,n,四、关系模型的三级体系结构,关系模式也遵循数据库的三级体系结构,称为关系模式、外模式和内模式。 1.关系模式 在关系模型中,关系模式的集合就是数据库的 概念模式。关系模式用数据定义语言(DDL)定 义。关系模式不涉及到物理存储方面的描述,仅 仅是对数据本身的一些特性的描述,示例学生-选课数据库,关系模式集,四、关系模型的三级体系结构,2.外模式 外模式是用户用到的那部分数据的描述,它可来源与多 个模式,四、关系模型的三级体系结构,3.内模式(存储模式) 由于关系模式有码,因此存储一个关系可用散列方法或 索引方法实现。如果关系的元组数目较少,也可以用“堆 文件”方式实现,本讲小结,关系模型包括关系数据结构、关系操作、完整性约束三个要素。 关系数据结构的形式化定义主要通过域、笛卡儿积、关系等的定义来表现。 关系的完整性包括实体完整性、参照完整性和用户定义的完整性。

oracle数据模型三要素,关系模型三要素相关推荐

  1. mysql第三章关系模型_一个MySQL关系模型只有三个关系(二维表)组成。_学小易找答案...

    [判断题]DELETE语句功能是对表中所有记录或满足条件的记录进行批量删除. [填空题]The computer's entire ____ was on a single board. [单选题]下 ...

  2. 数据库系统概念 - 数据模型,关系模型,关系,候选码,主码,外码

    目录 什么是数据模型 什么是关系模型 什么是关系 候选码 Candidate Key 主码 Primary Key 外码 Foreign Key 什么是数据模型 模式是对数据的结构的抽象,模型是对模式 ...

  3. 1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)

    文章目录 0.思维导图 1.数据模型的概念 2.两大类数据模型 客观对象的抽象过程---两步抽象 3.数据模型的组成要素 (1)数据结构 (2)数据操作 (3)数据的完整性约束条件 4.概念模型 (1 ...

  4. 【组合数学】排列组合 ( 多重集组合数示例 | 三个计数模型 | 选取问题 | 多重集组合问题 | 不定方程非负整数解问题 )

    文章目录 一.多重集组合示例 二.三个计数模型 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | ...

  5. Halcon三维测量(2):三维点云模型三角化+切片处理+边缘宽度测量

    这一篇文章叙述一个开关测量的项目 先讲解项目需求: 1.如图是一个开关的三维点云模型,需要检测开关边缘间的距离(红圈部分),以及检测拨动部位的高度. 一.调平操作 1.看我下面的博文,对点云模型调平处 ...

  6. er图转为数据流程图_「数据架构」实体关系模型介绍

    实体-关系模型(或ER模型)描述特定知识领域中相关的事物.基本的ER模型由实体类型(对感兴趣的事物进行分类)和指定实体之间可能存在的关系(那些实体类型的实例)组成. 在软件工程中,为了执行业务流程,E ...

  7. 「数据架构」实体关系模型溯源

    实体-关系模型(或ER模型)描述特定知识领域中相关的事物.基本的ER模型由实体类型(对感兴趣的事物进行分类)和指定实体之间可能存在的关系(那些实体类型的实例)组成. 在软件工程中,为了执行业务流程,E ...

  8. 数据库之关系模型的组成,特点以及完整性约束

    关系模型就是用二维表描述数据本身,以及数据之间的关系. 关系模型的组成: 数据结构(表结构)+关系操作(八个操作)+完整性约束(三个完整性) 实体完整性 在关系表中,所有元组主码的值都不能为空. 参照 ...

  9. 数据库模型:关系模型、层次模型、网状模型

    数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征.动态行为和约束条件, 为数据库系统的信息表示与操作提供一个抽象的框架. 数据模型所描述的内容有三部分,分别是数据结 ...

  10. 第二章 关系模型和关系运算理论 3类完整性

    1.关系模型的基本概念 用二维表格(关系)作为数据结构的数据模型,称为关系模型,其中实体及实体之间的联系均用关系表示. 1.关系模型的三大要素 1)关系模型的结构 -关系 2)关系模型的操作-关系运算 ...

最新文章

  1. 概述VB.NET正则表达式简化程序代码
  2. OpenCV直方图均衡化
  3. mysql insert replace_mysql 操作总结 INSERT和REPLACE
  4. 【CEOI2017】Building Bridges【任意坐标斜率优化】【李超线段树】
  5. 环形队列出队的元素怎么输出出来_队列的知识讲解与基本实现(数据结构)
  6. 一起学并发编程 - 优雅关闭
  7. QQ动态头像和动态主页
  8. android百度地图定位自定义图标,百度地图SDK集成及根据坐标实现定位(android studio开发)...
  9. 和电商有关的词语_关于电商的一些词
  10. 1.swoole 简介
  11. 一文带你详尽剖析Miracast投屏开发和调试
  12. 渗透测试中利用社会工程学的巧妙之处
  13. android project build with ant
  14. ATSC/DVB/ISDB三大标准比较
  15. html页面上传文件mui,mui 文件上传注意问题
  16. python 画等边三角形
  17. 谷歌浏览器打开后是360导航界面解决办法
  18. 张赐荣 | 浅谈 UIAutomation 自动化技术在读屏软件中的应用
  19. Mysql教程(五)---SQL正则表达式
  20. JAVA核心技术,卷1

热门文章

  1. 读《未来世界的幸存者》 -- 阮一峰
  2. 网易云自动签到云函数【详细版】-2022.5.4
  3. 机器学习读书笔记: 概率图模型
  4. 解决notepad++ php代码美化
  5. Laser Safety
  6. 【verilog】 AB相旋转编码器驱动(fpga,正交编码器,霍尔编码器驱动)
  7. openwrt编译smartdns_LEDE/OpenWRT 部署SmartDNS
  8. java摇两个色子代码_[代码全屏查看]-html5+原生js实现的一个简易双色子游戏
  9. 正交实验法,软件测试用例的特性,编写方法,软件缺陷的基础知识
  10. python 扫描枪_python实现超市扫码仪计费