数据库技术及应用课件汇 上 林育蓓 从数据到信息-关系模式的分解_第1页
数据库技术及应用课件汇 上 林育蓓 从数据到信息-关系模式的分解_第2页
数据库技术及应用课件汇 上 林育蓓 从数据到信息-关系模式的分解_第3页
数据库技术及应用课件汇 上 林育蓓 从数据到信息-关系模式的分解_第4页
数据库技术及应用课件汇 上 林育蓓 从数据到信息-关系模式的分解_第5页
已阅读5页,还剩289页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DatabaseTechnology&Applications数据库技术及应用数据、信息和数据处理数据与信息指一切能被计算机存储和处理、反映客观实体信息的物理符号。数据Data指有一定含义的、经过加工的、对决策有价值的数据。信息Information数据处理数据的表现形式3.1415926雷暴雨可感知可理解可存储可传递信息的特征数据与信息的联系数据是信息表现的载体。信息是数据的内涵。同一信息可有不同的数据表现形式。-如“雷暴雨”、同一数据可以有不同的解释。-如“2046”可指王家卫的电影或是两千零四十六从计算工具看数据处理算盘(中国)1642BlaisePascal加法器(法国)差分机(英国)1822CharlesBabbage1890HermanHollerith和制表机1946ENIAC电子计算机时代从处理方式看数据处理空间分布方式集中式处理分散式处理分布式处理集中式集中式处理指的是数据集的存储和处理都由一台计算机完成。设备利用率高能保证被处理数据的完整性和有效性×处理能力非常有限从处理方式看数据处理空间分布方式集中式处理分散式处理分布式处理集中式分散式分散式处理指的是数据集被分块分别存储在多台计算机上,这些计算机之间没有通信联系,对数据的管理和操纵都是相互独立的。简单,能就地提取数据进行格式转换和加工×随着数据分散程度的加大,实现统一和控制信息流的困

难也增大从处理方式看数据处理空间分布方式集中式处理分散式处理分布式处理集中式分散式分布式分散式处理指的是数据集被分块分别存储在多台计算机上,这些计算机通过网络连接,不仅可以对存储在本机的数据进行单独处理,也可以和其他联网的计算机一起对整个数据集进行全局处理。既能克服分散式处理的缺点,又可避免集中式处理的困难

难也增大。从处理方式看数据处理时间分配方式批处理联机处理实时处理延迟处理批处理指的是对某些对象进行批量的处理。能有效地提高设备的利用率×用户把作业交给系统后便失去了

对作业控制和修改的能力×获得结果的时间久从处理方式看数据处理时间分配方式批处理联机处理实时处理延迟处理实时处理指的是对输入的数据立即加以处理并得到结果。从处理方式看数据处理时间分配方式批处理联机处理实时处理延迟处理延迟处理指的是先将输入的数据存储起来,过一段时间再加以处理。数据管理技术的发展数据管理——数据处理的核心环节20世纪50年代中期以前卡片、磁带等顺序存取设备汇编语言人工管理阶段20世纪50年代后期-60年代中期磁盘等直接存取设备高级语言和操作系统文件系统阶段20世纪60年代末网络、大容量磁盘数据库管理系统数据库系统阶段数据管理20世纪50年代中期以前卡片、磁带等顺序存取设备汇编语言人工管理阶段×数据的组织面向应用,数据的修改会引起程序也需要修改。×数据随程序一起送入内存,任务完成后全部撤出计算机,不能长期保留。×数据的管理由程序员个人考虑安排,应用程序与计算机物理地址直接关联,数据管理低效且缺乏安全性。×不同应用之间存在着大量重复的数据,数据无法共享。数据管理数据被组织成文件存储在外存。文件组织多样化。操作系统为文件提供了友好的界面,用户只需要通过文件名就能访问文件,实现对数据的增删改。数据以文件为单位被多个应用程序共享,数据和程序之间有了一定的独立性。×数据冗余较严重,会导致数据不一致和数据异常。×以文件为基本单位进行数据存储,在数据共享与安全保密方

面无法做到更细的粒度。20世纪50年代后期-60年代中期磁盘等直接存取设备高级语言和操作系统文件系统阶段数据管理从整体关联用户出发而不再只针对某种特定的应用来考虑数据的组织和存储。数据的存储独立于使用它的程序。对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。降低了数据冗余,实现了数据共享。降低了软件研发和维护的费用。20世纪60年代末网络、大容量磁盘数据库管理系统数据库系统阶段数据库技术的发展关系模型层次模型网状模型数据库技术的应用共同特点*涉及的数据量大*数据需要长期保存*数据需要被多个应用程序(或多个用户)所共享本章小结数据与信息的联系与区别数据处理方式的若干种分类文件系统实现数据管理的特点数据库系统实现数据管理的特点感谢观看!DatabaseTechnology&Applications数据库技术及应用数据模型概述如何描述数据数据模型(DataModel)模型是人们依据特定目的,在一定的假设条件下,对现实世界中某些对象若干特征的抽象和模拟。数据模型是对现实世界的抽象和模拟。能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型指一切能被计算机存储和处理、反映客观实体信息的物理符号。数据对现实世界数据对象特征的抽象。数据模型建模数据模型的作用数据模型设计师程序员普通用户概念数据模型物理数据模型逻辑数据模型数据模型的组成数据模型数据结构完整性约束数据操作描述系统的静态特性:数据类型、内容、性质、数据间联系描述系统的动态特性:如何实现数据的增、删、改、查描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则信息世界的相关术语现实世界现实世界中客观存在并可相互区分的事物称为实体(Entity)实体所具有的特征称为属性(Attribute)用实体名及其属性名集合来抽象刻画的同类实体称为实体型(EntityType)同型实体的集合称为实体集(EntitySet)在实体所有的属性中,能唯一区分每一个实体的最小的属性集合称为实体标识符(Identifier)信息世界三个世界中各术语的对应关系数据联系实体内部联系实体间的联系1:11:NM:N实体型1

联系名实体型2111:1联系实体型1

联系名实体型21N1:N联系实体型1

联系名实体型2MNM:N联系数据联系实体型1

联系名实体型2111:1联系一对一联系(One-to-oneRelationship)有两个类型不同的实体集E1和E2,如果E1中的每个实体最多和E2中的一个实体有联系;反之,E2中的每个实体也是最多和E1中的一个实体有联系,则称E1和E2的联系是一对一联系,简记为1:1联系。如:“班”和“正班长”之间的联系是1:1联系。一对多联系(One-to-manyRelationship)有两个类型不同的实体集E1和E2,如果E1中的每个实体与E2中的任意个(包括零个)实体有联系,但E2中的每个实体最多和E1中的一个实体有联系,则称E1和E2的联系是一对多联系,简记为1:N联系。如:“母亲”和“孩子”之间的联系是1:N联系。实体型1

联系名实体型21N1:N联系多对多联系(Many-to-manyRelationship)有两个类型不同的实体集E1和E2,如果E1中的每个实体与E2中的任意个(包括零个)实体有联系,反之,E2中的每个实体也是和E1中的任意个实体(包括零个)有联系,则称E1和E2的联系是多对多联系,简记为M:N联系。如:“学生”和“课程”之间的联系是M:N联系。实体型1

联系名实体型2MNM:N联系概念数据模型实体联系模型及ER图

实体联系模型简称ER模型,ER模型通过ER图来表示实体及其联系。ER图有四个基本成分:矩形框:表示实体型菱形框:表示联系型椭圆形框:表示实体型或联系型的属性直线:用来连接上述三种图框选课管理ER图课程学生选修成绩MN课程号课程名学时学分身份证号姓名性别学号班级生日建立ER图的过程画实体型用矩形框画出实体型用椭圆框画出实体属性用直线把实体型和属性连接起来在实体标识符属性底下画下划线画联系型用菱形框画出实体间的联系型用直线把联系型和相关实体型连接起来用椭圆框画出联系属性(如有)在直线上标记联系类型【例2.1】选课管理E-R图课程学生选修成绩MN课程号课程名学时学分身份证号姓名性别学号班级生日E-R模型设计常见问题两个不同实体型之间的联系(二元联系)多个不同实体型之间的联系两个不同实体型之间的多种联系同一实体型内各实体之间的联系弱实体问题泛化(Generalization)多值属性问题派生属性问题用实体型还是用联系型联系型属性的布局问题两个不同实体型之间的联系(二元联系)两个不同实体型之间的联系(二元联系)多个不同实体型之间的联系(二元联系)多个不同实体型之间的联系(多元联系)两个不同实体型之间的多种联系同一实体型内各实体之间的联系弱实体问题依赖于另一实体而存在的实体称为弱实体。不依赖于任何实体而存在的实体称为强实体。弱实体与其依赖的强实体之间的联系称为强联系。如果一个实体与另一个实体之间不存在依赖关系,它们之间的联系称为弱联系。泛化(Generalization)泛化关系是指抽取多个实体型的共同属性作为超类实体型。泛化关系中的低层次实体型为子类实体型,它对超类实体型中的属性进行了继承与添加。重叠性约束表示各个子类实体型之间是否是排他的。若为排他的则用字母“d”标识,否则用“o”标识(o表示overlap)。完备性约束表示所有子类实体型在当前系统中是否能完全覆盖超类实体型。若能完全覆盖则在超类实体型与圆圈之间用双线标识。多值属性问题只能有一个取值的属性称为单值属性,如性别。能同时有多个取值的属性称为多值属性,如电话号码。不能再一步划分出属性的属性称为简单属性,如性别。可以进一步划分出属性的属性称为复合属性,如地址。派生属性问题能由其他属性计算或推导出值的属性称为派生属性。用实体型还是用联系型若属性A和B被访问的频率相差很大的时候,采用图(b)的ER图结构进行设计,把“贷款”作为实体型来处理,将申请贷款和提供贷款的属性分开,这样会更节省空间,提高访问的效率。联系型属性的布局问题若联系型为1:1联系时,联系型的属性既可以画在联系型上,也可以画在参与该联系的任意一个实体型中,作为实体型的属性画出。联系型属性的布局问题若联系型为1:1联系时,联系型的属性既可以画在联系型上,也可画在参与该联系的任意一个实体型中,作为实体型的属性画出。联系型属性的布局问题若联系型为1:N联系时,联系型的属性既可以画在联系型上,也可画在参与该联系的N方对应的实体型上,作为实体型的属性画出。联系型属性的布局问题若联系型为1:N联系时,联系型的属性既可以画在联系型上,也可画在参与该联系的N方对应的实体型上,作为实体型的属性画出。E-R模型的优点与缺陷能表示的数据约束很有限表示实体内部属性之间的关系的能力有限对信息内容的表示不全面没有对应的数据操作语言x能捕获现实世界的数据需求将概念格外简单化、形式化地表示出来√逻辑数据模型逻辑数据模型——能够在计算机中真正实现的模型逻辑数据模型数据结构数据操作完整性约束阿波罗计划的数据管理飞船有200万个零部件ROCKWELL基于文件的零部件管理系统18盘磁带60%冗余GUAM通用更新访问方法GUAM通用更新访问方法IMSIMS基于树的层次模型树有且仅有一个结点没有父亲结点,这个结点称为根。如:A。树除根以外的其他结点有且只有一个父亲结点。除了根结点外,每个子女结点可以分为多个不相交的子树;没有子女结点的结点称为叶子结点。如:D、E、F。层次模型用一棵倒立的“有向树”的数据结构来表示各类实体以及实体间的联系。在树中,每个结点表示一个记录类型,结点间的连线表示记录类型间的关系。学生层次模型实例层次模型的完整性约束条件进行插入操作时,如果没有相应的父亲结点值就不能插入它的子女结点值。进行删除操作时,如果删除父亲结点值,则相应的子女结点值也被同时删除。进行更新操作时,应更新所有相应记录,以保证数据的一致性。如果新调入一名学生,但尚未分配到某个班,这时就不能将新学生插入到数据库中。如果删除了21软件工程3班,则该班所有学生的数据将全部丢失。层次模型的优点与缺陷表示的局限性实现复杂缺乏结构独立性应用程序编写复杂缺乏标准x数据结构比较简单清晰查询效率高提供了良好的完整性支持数据共享具有数据安全保障√DBTG体系结构CharlesW.Bachman基于图的网状模型在这个有向图中,每个结点表示一个记录型(实体型),每个记录型可包含若干个字段(实体型的属性),结点间的连线表示记录型(实体型)间的父子关系。网状模型中允许有一个以上的结点无父亲结点。如:A和B。网状模型中至少有一个结点可以有多于一个父亲结点。如:C和D。学生所属组织网状模型实例网状模型转化为系类型两个或两个以上的记录类型之间联系称为系类型。一个系类型就是一棵二级树。在一个系类型中,有一个记录类型处于主导地位,称为系主记录类型,其它记录类型称为成员记录类型。系主和成员之间的联系是一对多的联系。网状模型的完整性约束条件进行插入操作时,允许插入尚未确定父亲结点的子女结点。进行删除操作时,允许只删除父亲结点。进行更新操作时,只需更新指定记录即可。可插入一些刚来报到但还未分配到班的学生,也可增加一名尚未参加社团的新同学。一个社团解散了,可只删除社团结点,而该社团所有学生的信息仍保留在数据库中。网状模型的优点与缺陷网状模型的结构更加复杂应用程序在访问数据时要指定存取路径,从而导致网状数据库的结构独立性较差x更为直接地描述客观世界中实体间的复杂联系结点间的联系简单,数据访问灵活,存取效率较高有对应的数据库行业标准√基于二维表的关系模型EdgarFrankCodd在关系数据模型中,无论是实体还是实体与实体间的联系均用关系(Relation)来表示。每个关系的是一个规范化的二维表。在这个二维表中,每一行称为元组;每一列是一个属性,也称为字段。关系中元组的一个属性值称为分量。关系模型的完整性约束条件实体完整性参照完整性用户自定义的完整性关系模型的优点与缺陷复合属性往往需要拆分成若干个简单属性,会割裂了数据间的层次关系不能表示变长的属性用户设计和使用的门槛低,有可能助长一些拙劣的数据库设计和实现对系统性能提出了更高的要求x有较强的数学理论根据数据结构简单、清晰关系数据库语言是非过程化的,大大降低了用户编程的难度,同时提高了数据独立性数据操作是面向集合的操作,提高了数据访问的便利程度√面向对象数据模型对象(Object)表示现实世界中的实体。每个对象包含一组属性和一组方法。属性用来描述对象的状态、组成和特性,是对象的静态特征,如学生的姓名、性别等。方法是用来改变对象一个或多个属性的值的操作(通常使用函数过程实现),是对象的动态特征。在对象状态上操作的方法集称为对象的行为。具有相同的属性集和方法集的所有对象的集合称为类(Class)。类允许嵌套结构。现有的类称为超类,新子类是从现有类派生出来的,称为派生类。子类继承了超类上定义的全部属性和方法,从而实现软件的可重用性。同时,子类本身还可包含其他的属性和方法。通过继承构造了子类后,还可以为每个子类指定其独特的表现行为,这称为多态。继承体现了这些对象的共性,而多态则可体现每个对象的个性。面向对象模型的优点与缺陷没有准确的定义维护困难不适合所有应用x适合处理各种各样的数据类型提高开发效率改善数据访问√逻辑数据模型的演化第一代层次模型网状模型第二代关系模型第三代面向对象模型物理数据模型物理数据模型又称为物理模型,是一种面向计算机物理表示的模型,用于描述数据在储存介质上的组织结构,包括数据如何在计算机中存储、如何表达记录结构和访问路径等。每一种逻辑模型在实现时都有其对应的物理模型。物理模型的目标是指定如何用数据库模式来实现逻辑模型,以及真正地保存数据。本章小结数据模型的作用与组成实体型之间的联系的三种类型E-R图的画法层次模型的特点网状模型的特点关系模型的特点面向对象模型的特点感谢观看!DatabaseTechnology&Applications数据库技术及应用数据库系统的组成数据库系统的组成……计算机存储设备DBDB……DBDBMSDBA应用程序OS最终用户最终用户计算机系统数据库(Database)

数据库指长期存储在计算机中按照一定的结构组织在一起的、可共享的、相互关联的数据集合,是数据库系统的基础。表示真实世界中的某些方面是一个固有某些含义的、在逻辑上保持一致的数据的集合基于某个特定目的而开发的数据库管理系统(DatabaseManagementSystem)DBMS是数据库系统的核心,指帮助用户创建和管理数据库的应用程序的集合。数据定义数据操纵数据库运行管理数据组织、存储与管理数据库的建立与维护通信数据库管理系统的层次结构常见的数据库管理系统及其特点传统关系型数据库IBMDB2、Oracle(大型)Sybase、MicrosoftSQLServer(中型)MicrosoftAccess、MySQL(小型)openGauss(国产开源)非关系型数据库MongoDB(基于分布式文件存储)BigTable(基于Google文件系统的数据存储系统)Cassandra(类似于BigTable的混合型非关系数据库)计算机系统数据库管理员

(DatabaseAdministrator)数据库的设计与创建数据库的日常运行监控数据库的用户管理数据库的备份管理故障处理DBA要具有高度的信息安全意识2011年9月西安警方破获了全国首例非法出售、获取公民个人信息的案件。这一案件导致陕西省近1400万手机用户(占全省手机用户总量的60%~70%)的个人信息被泄露。犯罪嫌疑人是一家科技公司的技术人员,他利用工作便利,多次侵入这家通信公司的用户数据库,盗取手机用户的个人信息。盗取手机信息的技术人员,既违反了民事法律规定,须承担相应民事赔偿责任;还违反了刑法中涉及泄露、盗取私人信息的相关规定:非法泄露个人信息,最高可判三年有期徒刑。最终用户Query/Update数据库系统的体系结构三级模式结构外模式可称用户模式,描述的是数据库用户能够看见和使用的局部数据的逻辑结构和特征。概念模式简称为模式,是数据库中全体数据的逻辑结构和特征的描述,是数据库的框架,是所有用户的公共数据视图。内模式是整个数据库的最底层表示,用于描述数据库的数据物理结构和存储方式。数据库的三级模式结构两级映射数据库的三级模式结构外模式可有多个。对于每一个外模式,都存在一个外模式/概念模式映射,它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。

概念模式、内模式只有一个。概念模式/内模式映射是唯一的,它确定了数据的全局逻辑结构与存储结构之间的对应关系。

数据独立性数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变。由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不需修改,从而保证了数据与程序间的逻辑独立性。

数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,所以应用程序也不必修改,从而保证了数据与程序间的物理独立性。

指在数据库三级模式结构中,某一层模式的改变不会使它的上一层模式也发生改变的能力。数据库的三级模式结构数据库系统的分类数据库系统的分类单用户数据库系统分布式数据库系统C/S结构的数据库系统主从式数据库系统NetworksDBDBDBDBDBDBDBDB数据库系统的特点与意义数据库系统与文件系统的比较特点系统类型文件系统数据库系统数据结构化程度低高数据共享程度低高数据冗余程度高低数据独立性低高用户接口单一多样化数据的统一管理无有数据库技术的研究与发展数据库技术的研究方向DBMS软件的研制数据库设计数据库理论数据库技术的发展现状数据库多媒体数据库分布式数据库嵌入式移动数据库Web数据库演绎数据库空间数据库……数据库技术的发展趋势从集中式逐渐转到分布式从SQL到NoSQL从云下到云上智能化我国在数据库技术领域的突破威讯柏睿数据科技提出基于全内存的数据库技术GaussDB通过中金国盛金融行业标准符合性试点测评蚂蚁金服分布式关系数据库OceanBase于TPC-C数据库基准性能测试(“数据库领域世界杯”)登顶我国在数据库技术领域的突破2019年被称为国产数据库元年本章小结数据库系统的组成数据库管理系统的功能数据库管理员的职责数据库的三级模式结构数据独立性基于三级模式结构的用户访问数据的过程感谢观看!DatabaseTechnology&Applications数据库技术及应用关系与关系模式笛卡尔乘积

笛卡尔乘积

研究生导师专业研究生汤友德工商管理刘星汤友德软件工程刘星汤友德工商管理关文清汤友德软件工程关文清汤友德工商管理张蔷汤友德软件工程张蔷林娜工商管理刘星林娜软件工程刘星林娜工商管理关文清林娜软件工程关文清林娜工商管理张蔷林娜软件工程张蔷表4.1笛卡尔乘积的二维表表示从笛卡尔乘积到关系研究生导师专业研究生汤友德工商管理刘星汤友德软件工程刘星汤友德工商管理关文清汤友德软件工程关文清汤友德工商管理张蔷汤友德软件工程张蔷林娜工商管理刘星林娜软件工程刘星林娜工商管理关文清林娜软件工程关文清林娜工商管理张蔷林娜软件工程张蔷表4.1笛卡尔乘积的二维表表示研究生导师专业研究生汤友德软件工程刘星汤友德软件工程张蔷林娜工商管理关文清表4.2“研究生导师指导学生”关系关系的数学定义

研究生导师专业研究生汤友德软件工程刘星汤友德软件工程张蔷林娜工商管理关文清表4.2“研究生导师指导学生”关系关系的键超键(SuperKey)若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性或属性组为超键。身份证号码学号(身份证号码,姓名)(学号,姓名)(身份证号码,学号)(身份证号码,学号,姓名)学生(身份证号码,学号,姓名)关系的键超键(SuperKey)若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性或属性组为超键。候选键(CandidateKey)若关系中的某一超键,当去掉其中任一属性后,均不再能为超键,则称其为候选键。身份证号码学号学生(身份证号码,学号,姓名)关系的键超键(SuperKey)若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性或属性组为超键。候选键(CandidateKey)若关系中的某一超键,当去掉其中任一属性后,均不再能为超键,则称其为候选键。单属性键:只包含一个属性的候选键多属性键:由多个属性构成的候选键全键(All-key):若关系当中只有一个候选键,且这个候选键包含了关系的全部属性主属性(PrimeAttribute):候选键中的属性非主属性(Non-keyAttribute):不包含在任何候选键中的属性学生(身份证号码,学号,姓名)关系的键超键(SuperKey)若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性或属性组为超键。候选键(CandidateKey)若关系中的某一超键,当去掉其中任一属性后,均不再能为超键,则称其为候选键。主键(PrimaryKey)在关系的候选键中可选择其中一个作为元组的唯一标识符,这就是主键。身份证号码

学号学生(身份证号码,学号,姓名)关系的键超键(SuperKey)若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性或属性组为超键。候选键(CandidateKey)若关系中的某一超键,当去掉其中任一属性后,均不再能为超键,则称其为候选键。主键(PrimaryKey)在关系的候选键中可选择其中一个作为元组的唯一标识符,这就是主键。外键(ForeignKey)若关系R的某个属性或属性组A不是R的候选键,却是另一个关系S的候选键,则称A为R的外键。选修(课程号,学号,成绩)学生(身份证号码,学号,姓名)关系模式的数学定义

关系的性质分量原子性学号成绩语文数学20211022522190852021105646138076学号语文成绩数学成绩20211022522190852021105646138076关系的性质分量原子性元组有限性在关系中元组的个数是有限的。计算机不能处理无限的数据。关系的性质分量原子性元组有限性元组各异性关系是一个集合,由集合的性质决定,集合里不存在两个相同的元素。在现实生活当中不存在完全相同的两个实体。关系的性质分量原子性元组有限性元组各异性元组次序任意性在关系的二维表中,元组对应行的次序可以任意交换。在实际的应用当中,为了加快检索速度,提高数据处理的效率,经常会对关系中的元组进行排序。关系的性质分量原子性元组有限性元组各异性元组次序任意性属性名各异性在同一个关系的二维表中不能存在相同的属性名。即使关系中的两个属性来自同一个域,也要为它们取不同的名字加以区分。关系的性质分量原子性元组有限性元组各异性元组次序任意性属性名各异性属性同质性在关系的二维表中同一列的数据必须是同一种数据类型且来自同一个值域。关系的性质分量原子性元组有限性元组各异性元组次序任意性属性名各异性属性同质性属性次序任意性在定义一个关系模式时,其属性的先后次序不会影响关系的实际意义。在关系模式定义之后,不能随意地调换属性值在元组中顺序,否则,会引起歧义。从E-R图到关系模型的数据结构E-R图向关系模型转换的原则对于E-R图中的每一个实体型,都应将其转换为一个关系模式。该关系模式应包含对应实体型的全部属性,实体标识符就是关系模式的主键。对于E-R图中的每一个二元联系型,要根据实体型之间联系的类型采取不同的方法加以处理。1:1联系1:N联系M:N联系E-R图向关系模型的转换图4.2校长管理学校E-R图校长(身份证号,姓名,性别,生日,职称,年薪,学校名)学校(学校名,地址,级别)校长(身份证号,姓名,性别,生日,职称)学校(学校名,地址,级别,年薪,身份证号)E-R图向关系模型的转换图4.3学生考试排名E-R图学生(学号,姓名,性别,名次,下一名次的学号)E-R图向关系模型的转换图4.4学校聘任教师E-R图学校(学校名,地址,级别)教师(身份证号,姓名,性别,生日,职称,年薪,学校名)E-R图向关系模型的转换图4.5教师团队E-R图教师(工号,姓名,性别,生日,职称,负责人工号)E-R图向关系模型的转换图4.6学生选课E-R图学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)E-R图向关系模型的转换图4.7教学情况E-R图学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)教师(工号,身份证号,姓名,性别,生日,学院)教学(工号,学号,课程号,时间,地点,成绩)E-R图向关系模型的转换图4.8人员与教师、学生等的泛化关系人员(身份证号,姓名,性别,生日)教师(身份证号,工号,学院)学生(身份证号,学号,班级)关系模型的体系结构基本关系学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)根据关系概念模式构建出来的表称为基本关系。视图一个用户可以使用的全部的“表”和“虚表”,构成这个用户的数据视图,简称为视图(View)。视图中所有“表”和“虚表”的框架组成关系数据库的外模式,又称为关系外模式。关系的完整性关系的完整性约束实体完整性(EntityIntegrity)关系中不允许出现相同的元组;若属性A是关系R的主属性,则属性A不能取空值。参照完整性(ReferentialIntegrity)若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键KS相对应,则R中每个元组在F上的值必须等于S中某个元组的主键值或为空。用户自定义完整性(User-definedIntegrity)针对某一属性定义的约束条件关系的不变性实体完整性学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)学号为“学生”关系的主键,不允许为空值。课程号为“课程”关系的主键,不允许为空值。(学号,课程号)是“选修”关系的主键,因此无论是学号还是课程号都不允许为空值。参照完整性学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)若关系A中的某属性或属性集是关系B的主键,则称A为参照关系(ReferencingRelation),称B为被参照关系(ReferencedRelation)。课程号是“课程”关系的主键,也是“选修”关系的外键。“选修”关系中的课程号要么为空,要么等于“课程”关系中的某个主键值。根据实体完整性规定,“选修”关系中的课程号不能取空值,因此,它只能等于“课程”关系中的某个主键值。用户自定义完整性学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)“学生”关系中的性别取值为“男”或“女”“课程”关系的学时和学分不小于0。“选修”关系的成绩在[0,100]之间。……本章小结关系与笛卡尔乘积的联系与区别关系的超键、候选键、主键和外键关系的性质从E-R图导出关系模式的方法关系的完整性约束感谢观看!DatabaseTechnology&Applications数据库技术及应用关系代数关系代数147以关系为运算对象的一组高级运算的组合传统的集合操作并差交乘积专门的关系操作选择投影连接自然连接除法……关系代数最小完备运算集并(union)

SR关系代数并运算图示

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231236陈心仪女202101231238王冲男202101231239刘学明男【例5.1】设有同类关系街舞社团R和声乐社团S如下,求R∪S。

关系R关系S

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男202101231238王冲男202101231239刘学明男关系R∪S【例5.2】设有同类关系街舞社团R和声乐社团S如下,求R-S和S-R。

关系R关系S

差(difference)

关系代数差运算图示SR学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231236陈心仪女202101231238王冲男202101231239刘学明男学号姓名性别202101231234张怡女202101231235李述男202101231237张鑫奕男学号姓名性别202101231238王冲男202101231239刘学明男关系R-S关系S-R乘积(product)

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男课程号课程名1000语文1001英语【例5.3】设有关系学生R和课程S如下,求R×S。关系R关系S学号姓名性别课程号课程名202101231234张怡女1000语文202101231235李述男1000语文202101231236陈心仪女1000语文202101231237张鑫奕男1000语文202101231234张怡女1001英语202101231235李述男1001英语202101231236陈心仪女1001英语202101231237张鑫奕男1001英语关系R×S选择(selection)

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男【例5.4】设有关系学生R如下,求σ性别=‘女’(R)。关系R关系σ性别=‘女’(R)学号姓名性别202101231234张怡女202101231236陈心仪女投影(projection)

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男

性别姓名女张怡男李述女陈心仪男张鑫奕

【例5.7】设有同类关系街舞社团R和声乐社团S如下,求R∩S。

关系R关系S

交(intersection)

SR关系代数交运算图示学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231236陈心仪女202101231238王冲男202101231239刘学明男学号姓名性别202101231236陈心仪女关系R∩S

交与差的联系

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别202101231234张怡女202101231235李述男202101231237张鑫奕男学号姓名性别202101231236陈心仪女关系R–(R–S)

学号课程号成绩202101231234100084202101231236100178

关系R

关系S学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男R.学号姓名性别S.学号课程号成绩202101231234张怡女202101231234100084202101231236陈心仪女202101231236100178关系

关系R关系S课程号学费选课存款余额学号100045010001000202101231234关系

课程号学费10004501001500选课存款余额学号100010002021012312341001480202101231236关系R关系S

自然连接(naturaljoin)

学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号姓名性别课程号成绩202101231234张怡心仪女100178关系R∞S关系R关系S

自然连接(naturaljoin)

课程号课程名1000语文1000英语学号姓名202101231234张怡202101231235李述202101231236陈心仪202101231237张鑫奕关系R∞S学号姓名课程号课程名202101231234张怡1000语文202101231235李述1000语文202101231236陈心仪1000语文202101231237张鑫奕1000语文202101231234张怡1001英语202101231235李述1001英语202101231236陈心仪1001英语202101231237张鑫奕1001英语关系R关系S

除法(division)

课程号课程名1000语文1001英语学号课程号课程名2021012312341000语文2021012312341001英语2021012312351000语文2021012312361001英语2021012312371000语文2021012312371001英语

学号202101231234202101231237关系R关系S

外连接(outerjoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,并为空缺值的属性填上空值NULL。外连接操作符为。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡心仪述男202101231237张鑫奕男100096关系R关系S

左外连接(leftouterjoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外连接是在R和S自然连接的基础上,把R原来要舍弃的元组都放到新关系中,并为空缺值的属性填上空值NULL。左外连接操作符为。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡心仪述男202101231237张鑫奕男关系R关系S

右外连接(rightouterjoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外连接是在R和S自然连接的基础上,把S原来要舍弃的元组都放到新关系中,并为空缺值的属性填上空值NULL。右外连接操作符为。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡心仪女100178202101231238100096关系R关系S

半连接(semijoin)

关系R

S设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。

学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别202101231234张怡女202101231236陈心仪女关系S

R学号课程号成绩202101231234100084202101231236100178关系R关系S

外部并(outerunion)

关系R

和S的外部并设有关系R和S,外连接是在R和S自然连接的基础上,把R和S原来要舍弃的元组都放到新关系中,若对方关系没有相应的元组,新元组中其他的属性填上空值NULL。外连接操作符为。设有关系R和S,外部并的结果关系是由R和S所有属性组成(公共属性只取一次),结果关系的元组由属于R或属于S的元组构成,对于那些没有具体值的新增加的属性,全部填上空值NULL。学号姓名性别202101231234张怡女202101231235李述男202101231236陈心仪女202101231237张鑫奕男学号课程号成绩202101231234100084202101231236100178202101231238100096学号姓名性别课程号成绩202101231234张怡女202101231236陈心仪女202101231235李述男202101231237张鑫奕男202101231234100084202101231236100178202101231238100096关系代数表达式的应用关系代数表达式166使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.19】检索学习了课程号为1001的学生学号与成绩。

关系代数表达式167使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.20】检索学习了课程号为1001的学生学号与姓名。

或或关系代数表达式168使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.21】检索学习了课程名为英语的学生学号与姓名。

关系代数表达式169使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.22】检索学习了课程号为1000或1001的学生学号。

关系代数表达式170使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.23】检索至少选修了课程号为1000和1001的学生学号。

关系代数表达式171使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.24】检索没选课程号为1000的学生学号与姓名。

关系代数表达式172使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.25】检索选修了全部课程的学生姓名。

关系代数表达式173使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.26】检索所学课程包含学号为202101231234的同学所学全部课程的学生学号。

关系代数表达式174使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.27】为“课程”关系增加一条新元组(‘1002’,’数学’,64,4)。

关系代数表达式175使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.28】在“选修”关系中删除学号为202101231234的学生学习课程号1000的信息。

关系代数表达式176使用上述关系代数运算经过有限次组合得到的表达式在选课管理数据库中包括以下3个关系模式:学生(学号,身份证号,姓名,性别,班级,生日)课程(课程号,课程名,学时,学分)选修(学号,课程号,成绩)【例5.29】在“选修”关系中将学号为202101231234的学生学习课程号1001的成绩改为80。

查询优化关系代数表达式等价178在关系代数运算中,若用同样的关系实例代入两个不同的关系代数表达式E1和E2的相应关系,最终得到一样的查询结果,我们就称这两个关系代数表达式等价,记为E1≡E2。思考:对于同一个查询问题,若存在多个等价的关系代数表达式能获取一样的查询结果,这些等价的关系代数表达式的执行效率(包括时间开销和空间开销)有何不同?关系代数表达式等价179【例5.30】设有两个关系:学生(学号,身份证号,姓名,性别,班级,生日)和选修(学号,课程号,成绩),“学生”关系和“选修”关系包含的元组个数分别为1000和5000,且“选修”关系中满分的元组为5个。查询获得满分的学生姓名,请写出两种不同的关系代数表达式表示该查询,并比较它们的效率。

1000*5000次比较运算

5000次比较运算5*1000次比较运算方法1:方法2:关系代数表达式优化策略尽可能早地执行选择及投影操作把笛卡尔乘积和随后的选择合并成连接操作一连串的选择操作和一连串的投影操作可同时执行若在关系代数表达式中多次出现某个子表达式,可预先将该子表达式算出结果并保存起来在连接前对关系文件进行预处理,如排序和建立索引关系演算关系演算182把数理逻辑的谓词演算推广到关系运算中元组演算域演算

元组关系演算元组关系演算的原子公式184

元组关系演算的原子公式185

元组关系演算的原子公式186

元组变量的性质187存在量词

(

t)是一个量词,其含义为“存在这样的t”或“至少有这样一个t”。全称量词

(

t)是一个量词,其含义为“对所有的t”或“对任意一个t”。

元组变量的性质188自由元组变量在一个公式中,如果没有对元组变量使用存在量词∃或全称量词∀,则称这些元组变量为自由元组变量。约束元组变量若在一个公式中对元组变量使用了存在量词∃或全称量词∀,则称这些元组变量为约束元组变量。元组关系演算公式189

定理5.2-5.6190

元组关系演算表达式191在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.31】检索女生的基本信息。

元组关系演算表达式192在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.32】检索学习了课程号为1001的学生学号与成绩。

元组关系演算表达式193在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.33】检索学习了课程号为1000或1001的学生学号。

元组关系演算表达式194在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.34】检索学习了课程号为1001的学生学号与姓名。

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S

并的元组演算课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322差的元组演算

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322乘积的元组演算

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322选择的元组演算

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322选出关系R中学时数等于32的课程信息:投影的元组演算

元组关系演算的完备性课程号课程名学时学分1000语文3221001英语6440211计算机概论322关系R关系S课程号课程名学时学分0211计算机概论3220212离散数学6440213计算机图形学322检索关系R中的课程号和课程名:元组关系演算表达式

域关系演算域关系演算的原子公式202

域关系演算的原子公式203

域关系演算的原子公式204

域变量的性质205存在量词

全称量词

域变量的性质206自由域变量在一个公式中,如果没有对域变量使用存在量词∃或全称量词∀,那么这些域变量称为自由域变量。约束域变量若在一个公式中对域变量使用了存在量词∃或全称量词∀,则称这些域变量为约束域变量。元组关系演算公式207

元组关系演算表达式与域关系演算表达式的转换208

元组关系演算表达式与域关系演算表达式的转换209

域关系演算表达式应用实例210在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.37】检索女生的基本信息。

域关系演算表达式应用实例211在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.38】检索学习了课程号为1001的学生学号与成绩。

可简写为:域关系演算表达式应用实例212在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.39】检索学习了课程号为1000或1001的学生学号。

域关系演算表达式应用实例213在选课管理数据库中包括以下3个关系模式:学生S(学号,身份证号,姓名,性别,班级,生日)课程C(课程号,课程名,学时,学分)选修E(学号,课程号,成绩)【例5.40】检索学习了课程号为1001的学生学号与姓名。

可简写为:域关系演算的完备性元组关系演算的完备性元组关系演算表达式都可以转换为等价的域关系演算表达式域关系演算的完备性本章小结关系代数的五种基本运算关系代数的其他运算关系代数的运用元组关系演算的运用域关系演算的运用感谢观看!DatabaseTechnology&Applications数据库技术及应用关系模式规范化的必要性关系模式设计问题219设有以下关系模式:学生选课关系(学号,姓名,班级,课程号,课程名,成绩)

存在着下列问题:

数据冗余学号姓名班级课程号课程名成绩202101231234张怡21软件工程3班0211计算机概论85202101231234张怡21软件工程3班0212离散数学88202101231234张怡21软件工程3班0213高等数学83202101231235李述21软件工程4班0211计算机概论76202101231235李述21软件工程4班0212离散数学70202101231235李述21软件工程4班0214大学物理关系模式设计问题220设有以下关系模式:学生选课关系(学号,姓名,班级,课程号,课程名,成绩)

存在着下列问题:

数据冗余更新异常学号姓名班级课程号课程名成绩202101231234张怡21软件工程3班0211计算机概论85202101231234张怡21软件工程3班0212离散数学88202101231234张怡21软件工程3班0213高等数学83202101231235李述21软件工程4班0211计算机概论76202101231235李述21软件工程4班0212离散数学70202101231235李述21软件工程4班0214大学物理关系模式设计问题221设有以下关系模式:学生选课关系(学号,姓名,班级,课程号,课程名,成绩)

存在着下列问题:

数据冗余更新异常插入异常学号姓名班级课程号课程名成绩202101231234张怡21软件工程3班0211计算机概论85202101231234张怡21软件工程3班0212离散数学88202101231234张怡21软件工程3班0213高等数学83202101231235李述21软件工程4班0211计算机概论76202101231235李述21软件工程4班0212离散数学70202101231235李述21软件工程4班0214大学物理不能插入没有选课的学生关系模式设计问题222设有以下关系模式:学生选课关系(学号,姓名,班级,课程号,课程名,成绩)

存在着下列问题:

数据冗余更新异常插入异常删除异常学号姓名班级课程号课程名成绩202101231234张怡21软件工程3班0211计算机概论85202101231234张怡21软件工程3班0212离散数学882021012312

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论