数据库技术及应用 课件 第2章 数据模型_第1页
数据库技术及应用 课件 第2章 数据模型_第2页
数据库技术及应用 课件 第2章 数据模型_第3页
数据库技术及应用 课件 第2章 数据模型_第4页
数据库技术及应用 课件 第2章 数据模型_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

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适合处理各种各样的数据类型提高开发效率改善数据访问√逻辑数据模

温馨提示

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

评论

0/150

提交评论