资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第2 2章章 数据库模型数据库模型 第第2讲讲 数据模型数据模型回顾数据库的发展历史数据库的基本概念数据库系统组成数据库系统的体系结构第第2讲讲 数据模型数据模型数据库数据库是长期存储在计算机内、有组织的、统一管理的、可共享的相数据库是长期存储在计算机内、有组织的、统一管理的、可共享的相关数据的集合。关数据的集合。数据库中的数据按一定的数据库中的数据按一定的数据模型数据模型组织、描述和存储,具有较小的冗组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为多用户共享。余度、较高的数据独立性和易扩展性,并可为多用户共享。 计算机不能直接处理现实世界中的具体事物,将现实计算机不能直接处理现实世界中的具体事物,将现实世界中的事物及其相互联系转换成数据库系统中计算机能世界中的事物及其相互联系转换成数据库系统中计算机能够处理的数据,借助数据模型来对现实世界进行建模,把够处理的数据,借助数据模型来对现实世界进行建模,把现实世界中具体的人、事、物等用数据模型这个工具来抽现实世界中具体的人、事、物等用数据模型这个工具来抽象、表示和处理。象、表示和处理。回顾第第2讲讲 数据模型数据模型2 数据模型概念模型数据模型关系模型关系模型半结构化数据模型半结构化数据模型面向对象数据模型面向对象数据模型第第2讲讲 数据模型数据模型2.1现实世界客观对象的抽象过程模型( Model)对现实世界中某个对象进行建模,对对现实世界中某个对象进行建模,对其特征进行抽象和模拟的工具。其特征进行抽象和模拟的工具。第第2讲讲 数据模型数据模型2.1现实世界客观对象的抽象过程对事物不同抽象层次中的对象采用不同的模型进行描述。物理模型物理模型第第2讲讲 数据模型数据模型2.1现实世界客观对象的抽象过程概念模型概念模型(Conceptual Model)用于信息世界的建模,是对现实世界用于信息世界的建模,是对现实世界的第一层抽象,它是按用户的观点来的第一层抽象,它是按用户的观点来对信息建模。对信息建模。概念模型通过各种概念来描述现实世概念模型通过各种概念来描述现实世界的事物以及事物之间的联系。界的事物以及事物之间的联系。 是数据库设计人员与用户之间进行交是数据库设计人员与用户之间进行交流的语言。不依赖于具体的计算机系流的语言。不依赖于具体的计算机系统。统。第第2讲讲 数据模型数据模型2.1现实世界客观对象的抽象过程数据模型(逻辑数据模型数据模型(逻辑数据模型Logical Data Model)是事物以及事物之间联系的数据描述,是事物以及事物之间联系的数据描述,是概念模型的数据化。是概念模型的数据化。数据模型是按计算机的观点对数据建数据模型是按计算机的观点对数据建模,提供了表示和组织数据的方法。模,提供了表示和组织数据的方法。第第2讲讲 数据模型数据模型2.1现实世界客观对象的抽象过程物理模型物理模型(Physical Model)是对数据最底层的抽象,它描述数据是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,在系统内部的表示方式和存取方法,如数据在磁盘上的存储方式和存取方如数据在磁盘上的存储方式和存取方法。法。是面向计算机系统的,由是面向计算机系统的,由DBMS具体具体实现。实现。第第2讲讲 数据模型数据模型2.1现实世界客观对象的抽象过程数据库设计人员数据库设计人员数据库设计人员数据库设计人员(利用数据库设(利用数据库设计工具)计工具)第第2讲讲 数据模型数据模型2.2 概念模型概念模型(Conceptual Model) 概念模型是从现实世界中抽取出对于一个概念模型是从现实世界中抽取出对于一个目标应用系统来说最有用的事物、事物特目标应用系统来说最有用的事物、事物特征以及事物之间的联系,通过各种概念精征以及事物之间的联系,通过各种概念精确地加以描述。确地加以描述。第第2讲讲 数据模型数据模型2.2 概念模型概念模型数据库设计人员进行数据库设计的有力工具。数据库设计人员进行数据库设计的有力工具。数据库设计人员与用户之间进行交流的语言。数据库设计人员与用户之间进行交流的语言。 应具有应具有较强的语义表达能力,能够方便、直接的表达较强的语义表达能力,能够方便、直接的表达应用中的各种语义知识应用中的各种语义知识;应该简单、清晰,易于用户理解应该简单、清晰,易于用户理解;概念模型的表示方法很多,最为著名的是实体概念模型的表示方法很多,最为著名的是实体-联系(联系(Entity Relationship)方法,该方法用)方法,该方法用E-R图来实现。图来实现。 第第2讲讲 数据模型数据模型2.2 概念模型概念模型实体实体(Entity)现实世界中客观存在并能相互区分的事物经现实世界中客观存在并能相互区分的事物经过加工,抽象成为信息世界的实体。过加工,抽象成为信息世界的实体。实体是信息世界的基本单位。可以是具体的,实体是信息世界的基本单位。可以是具体的,也可以是抽象的。也可以是抽象的。 第第2讲讲 数据模型数据模型概念模型属性属性(Attribute)现实世界的事物所具有的特征在概念模型中通过与现实世界的事物所具有的特征在概念模型中通过与其对应的实体反映出来,称之为属性。其对应的实体反映出来,称之为属性。是实体所具有的一个特征,用属性名表示。是实体所具有的一个特征,用属性名表示。一个实体可以由若干属性来刻画一个实体可以由若干属性来刻画属性的相关概念属性的相关概念属性值、属性域属性值、属性域简单属性(原子属性)和复合属性简单属性(原子属性)和复合属性单值属性和多值属性单值属性和多值属性存储属性(基本属性)和派生属性(导出属性)。存储属性(基本属性)和派生属性(导出属性)。2.2 概念模型第第2讲讲 数据模型数据模型2.2 概念模型概念模型域(域(Domain)属性的取值范围称为该属性的域。属性的取值范围称为该属性的域。关键字关键字(key,码,码)能唯一标识实体的最小属性集。每一个实体能唯一标识实体的最小属性集。每一个实体集一定有关键字。集一定有关键字。第第2讲讲 数据模型数据模型2.2 概念模型概念模型实体型实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体,称为实体型。学员(学号,姓名,性别,出生日期,所在系)学员(学号,姓名,性别,出生日期,所在系)实体集实体集(Entity Set)同一类型实体值的集合称为实体集。同一类型实体值的集合称为实体集。全体学员全体学员第第2讲讲 数据模型数据模型2.2 概念模型概念模型联系(联系(Relationship)现实世界中事物彼此的联系在概念模型中反现实世界中事物彼此的联系在概念模型中反映为实体间的联系。映为实体间的联系。联系的形式联系的形式实体集内的联系实体集内的联系实体集间的联系实体集间的联系第第2讲讲 数据模型数据模型2.2 概念模型概念模型联系联系联系的元数:联系的元数:与一个联系有关的实体的个数。与一个联系有关的实体的个数。一元联系、二元联系和多元联系一元联系、二元联系和多元联系多种联系:多种联系:两个实体集中有多个二元联系。两个实体集中有多个二元联系。包含联系:包含联系:两个实体两个实体X和和Y,若实体,若实体X是是Y的子的子类,即实体集类,即实体集X是实体集是实体集Y的一个子集,且具的一个子集,且具有比实体集有比实体集Y中的实体值更多的特性,则称中的实体值更多的特性,则称Y包含包含X,或,或X包含于包含于Y。第第2讲讲 数据模型数据模型2.2 概念模型概念模型联系联系两个实体集间的二元联系类型两个实体集间的二元联系类型第第2讲讲 数据模型数据模型2.3 数据模型数据模型实现了信息世界向计算机世界的过渡数据模型应该满足三方面的要求数据模型应该满足三方面的要求比较真实地模拟现实世界;比较真实地模拟现实世界;容易为人所理解;容易为人所理解;便于在计算机上实现。便于在计算机上实现。第第2讲讲 数据模型数据模型2.3 数据模型数据模型的概念数据模型是严格定义的一组概念的集合数据模型是严格定义的一组概念的集合概念精确地描述了系统的静态特性、动态特概念精确地描述了系统的静态特性、动态特性和完整性约束条件。性和完整性约束条件。数据模型的组成要素数据结构、数据操作和完整性约束数据结构、数据操作和完整性约束第第2讲讲 数据模型数据模型2.3 数据模型数据模型的组成要素数据结构数据结构数据结构描述数据库的组成对象以及对象之间的联数据结构描述数据库的组成对象以及对象之间的联系。系。是所描述的对象类型的集合,是对系统静态特性的是所描述的对象类型的集合,是对系统静态特性的描述。描述。通常按照数据结构的类型来命名数据模型。通常按照数据结构的类型来命名数据模型。层次结构层次结构层次模型层次模型网状结构网状结构网状模型网状模型关系结构关系结构关系模型关系模型 第第2讲讲 数据模型数据模型2.3 数据模型数据模型的组成要素数据操作数据操作是指对数据库中各种对象(型)的实例(值)允许是指对数据库中各种对象(型)的实例(值)允许执行的操作及操作规则的集合。执行的操作及操作规则的集合。是对系统动态特性的描述。是对系统动态特性的描述。主要有查询和更新(插入、删除和修改)两大类操主要有查询和更新(插入、删除和修改)两大类操作。作。数据模型必须定义这些操作的确切含义、操作符号、操数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及作规则(如优先级)以及实现操作的语言实现操作的语言。第第2讲讲 数据模型数据模型2.3 数据模型数据模型的组成要素数据的完整性约束数据的完整性约束是一组完整性规则。是一组完整性规则。是给定的数据模型中数据及其联系所具有的制约和依是给定的数据模型中数据及其联系所具有的制约和依存关系,用以限定符合数据模型的数据库状态以及状存关系,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。态的变化,以保证数据的正确、有效、相容。数据模型应该反映和规定本数据模型必须遵守的数据模型应该反映和规定本数据模型必须遵守的基本的通基本的通用的用的完整性约束条件,还应该提供定义完整性约束条件的完整性约束条件,还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的机制,以反映具体应用所涉及的数据必须遵守的特定的特定的语语义约束条件。义约束条件。 第第2讲讲 数据模型数据模型2.3数据模型数据模型的演变是数据库技术发展的一条主线19681968年美国年美国IBMIBM公司推出层次模型的公司推出层次模型的IMSIMS系统系统 。19691969年美国年美国CODASYLCODASYL组织发布了组织发布了DBTGDBTG报告,提出报告,提出网状模型。网状模型。19701970年美国年美国IBMIBM公司的公司的E.F.Codd E.F.Codd 连续发表论文,连续发表论文,提出关系模型。提出关系模型。2020世纪世纪8080年代以来,面向对象的数据模型得到年代以来,面向对象的数据模型得到研究和发展。许多研究和发展。许多RDBMSRDBMS厂商推出了其产品的对厂商推出了其产品的对象象- -关系版本,或关系版本,或OODBMSOODBMS原型系统。原型系统。第第2讲讲 数据模型数据模型2.3 数据模型数据模型的演变是数据库技术发展的一条主线层次模型(层次模型(Hierarchical Model)网状模型(网状模型(Network Model)关系模型关系模型(Relational Model)半结构化数据模型(半结构化数据模型(Semistructured-data Model)面向对象模型(面向对象模型(Object Oriented Model)对象关系模型(对象关系模型(Object Relational Model) 第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型数据库系统中最早出现的数据模型数据库系统中最早出现的数据模型层次数据模型是按照树形结构的形式来组织数层次数据模型是按照树形结构的形式来组织数据的,每棵树有且仅有一个无双亲节点,称为据的,每棵树有且仅有一个无双亲节点,称为根。树中除根外所有节点有且仅有一个双亲。根。树中除根外所有节点有且仅有一个双亲。层次数据库的典型代表是层次数据库的典型代表是1968年美国年美国IBM公司研发公司研发的数据库管理系统的数据库管理系统IMS(Information Management System)第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型层次模型用树形结构来表示各类实体以及实体层次模型用树形结构来表示各类实体以及实体间的联系。间的联系。第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型层次模型数据库在内部级是按照有序树结构来层次模型数据库在内部级是按照有序树结构来组织的,记录之间的联系通过指针来实现。组织的,记录之间的联系通过指针来实现。 第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型层次模型数据库在内部级是按照有序树结构来层次模型数据库在内部级是按照有序树结构来组织的,记录之间的联系通过指针来实现。组织的,记录之间的联系通过指针来实现。 第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型数据库的基本操作包括记录的查询、插入、删数据库的基本操作包括记录的查询、插入、删除和修改等操作。类似于数据结构中对有序树除和修改等操作。类似于数据结构中对有序树的操作。的操作。对于一个给定的记录值,只有按其路径查看,才能显对于一个给定的记录值,只有按其路径查看,才能显示出它的全部意义。示出它的全部意义。由于层次顺序的严格和复杂,引起数据查询和更新操由于层次顺序的严格和复杂,引起数据查询和更新操作很复杂,应用程序编写比较复杂。作很复杂,应用程序编写比较复杂。第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型完整性约束要求除根记录外,其他任何记录必完整性约束要求除根记录外,其他任何记录必须具有一个父记录。数据逻辑模式及其实例总须具有一个父记录。数据逻辑模式及其实例总保持树型结构。保持树型结构。插入一个记录(除根记录外)时,必须与其父记录插入一个记录(除根记录外)时,必须与其父记录相联系,如果没有相应的父结点就不能插入它的子相联系,如果没有相应的父结点就不能插入它的子女结点值。女结点值。删除一个记录时,其所有子女记录也自动被删除。删除一个记录时,其所有子女记录也自动被删除。第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型优点优点层次模型的数据结构比较简单;层次模型的数据结构比较简单;层次数据库的查询效率高;层次数据库的查询效率高;因记录间的联系用有向边表示,在因记录间的联系用有向边表示,在DBMSDBMS中用指针来实现,中用指针来实现,路径明确,快速。路径明确,快速。层次模型提供了良好的完整性支持。层次模型提供了良好的完整性支持。第第2讲讲 数据模型数据模型2.3.1 关系模型层次数据模型缺点缺点由于层次顺序的严格和复杂,引起数据查询和更新由于层次顺序的严格和复杂,引起数据查询和更新操作很复杂,应用程序编写比较复杂。操作很复杂,应用程序编写比较复杂。只能表示只能表示1:N的联系,虽然有辅助手段实现的联系,虽然有辅助手段实现M:N联联系,但较复杂,用户不易掌握。系,但较复杂,用户不易掌握。第第2讲讲 数据模型数据模型2.3.1 关系模型网状数据模型采用网状结构作为数据的组织方式。采用网状结构作为数据的组织方式。网状数据库系统的典型代表是网状数据库系统的典型代表是DBTG系统,亦称系统,亦称CODESYL系统。系统。20世纪世纪70年代数据库系统语言研究会(年代数据库系统语言研究会(CODASYL)下属的数据库任务组(下属的数据库任务组(DBTG)提出的一个)提出的一个系统方案系统方案DBTG系统提出的基本概念、方法和技术具有普遍意系统提出的基本概念、方法和技术具有普遍意义,对于网状数据库系统的研制和发展起了重大的影义,对于网状数据库系统的研制和发展起了重大的影响。响。Cullinet Software公司的公司的IDMS、Univac公司的公司的DMS1100、Honeywell公司的公司的IDS/2、HP公司的公司的IMAGE等。等。第第2讲讲 数据模型数据模型2.3.1 关系模型网状数据模型网状模型是一种比层次模型更具普遍性的结构网状模型是一种比层次模型更具普遍性的结构允许一个以上的结点没有双亲结点允许一个以上的结点没有双亲结点一个节点可以有多于一个双亲节点一个节点可以有多于一个双亲节点允许两个节点之间有多种联系允许两个节点之间有多种联系第第2讲讲 数据模型数据模型2.3.1 关系模型网状数据模型数据库的基本操作包括记录的查询、插入、数据库的基本操作包括记录的查询、插入、删除和修改等操作。其操作类似于数据结构删除和修改等操作。其操作类似于数据结构中对图的操作。中对图的操作。网状数据模型记录间的联系比较复杂。它没网状数据模型记录间的联系比较复杂。它没有层次模型那样严格的完整性约束条件。具有层次模型那样严格的完整性约束条件。具体的网状数据库系统对数据操纵都加了一些体的网状数据库系统对数据操纵都加了一些限制,提供了一定的完整性约束。限制,提供了一定的完整性约束。第第2讲讲 数据模型数据模型2.3.1 关系模型网状数据模型优点优点能够更为直接地描述现实世界,描述实体间多对多能够更为直接地描述现实世界,描述实体间多对多的联系;的联系;具有良好的性能,存储效率比较高。具有良好的性能,存储效率比较高。第第2讲讲 数据模型数据模型2.3.1 关系模型网状数据模型的优缺点缺点缺点网状模型的数据结构复杂,而且随着应用环境的扩大,网状模型的数据结构复杂,而且随着应用环境的扩大,数据库的结构会变得越来越复杂,不利于用户使用和数据库的结构会变得越来越复杂,不利于用户使用和掌握。掌握。模型的模型的DDL和和DML复杂,嵌入到某一种高级语言中复杂,嵌入到某一种高级语言中后,用户不容易掌握和使用。后,用户不容易掌握和使用。记录之间的联系是通过存取路经实现的,应用程序在访问记录之间的联系是通过存取路经实现的,应用程序在访问数据时必须选择适当的存取方法。数据时必须选择适当的存取方法。第第2讲讲 数据模型数据模型2.3.1 关系模型关系数据模型是由是由IBM的于的于20世纪世纪70年代初提出的。年代初提出的。自自20世纪世纪80年代以来,计算机厂商推出的年代以来,计算机厂商推出的DBMS几乎都支持关系模型,非关系模型的产几乎都支持关系模型,非关系模型的产品也大都加了关系接口。品也大都加了关系接口。现在流行的数据库系统大都是基于关系模型。现在流行的数据库系统大都是基于关系模型。数据库领域当前的研究工作也都是以关系模型数据库领域当前的研究工作也都是以关系模型为基础的。为基础的。第第2讲讲 数据模型数据模型关系模型关系数据模型关系数据模型的数据结构建立在集合论中关系数据模型的数据结构建立在集合论中“关关系系”这个数学概念的基础之上,有着严格的数这个数学概念的基础之上,有着严格的数学基础。学基础。从用户观点来看,每个关系可用一张二维表来从用户观点来看,每个关系可用一张二维表来描述。描述。关系既可以表示实体也可以用来描述实体间的关系既可以表示实体也可以用来描述实体间的联系。联系。第第2讲讲 数据模型数据模型关系模型学号学号姓名姓名 年龄年龄性别性别98001王丙王丙20男男98005李甲李甲21女女课程号课程号课程名课程名课时数课时数C601数据库数据库50C602数据结构数据结构70C603程序设计程序设计80学号学号课程名课程名成绩成绩98001数据库数据库6298001数据结构数据结构7398005程序设计程序设计80实体:学生实体:课程联系:选课关系数据库示例第第2讲讲 数据模型数据模型关系模型关系数据模型对关系的操作主要是数据查询和更新,关系中对关系的操作主要是数据查询和更新,关系中的数据操作是集合操作。的数据操作是集合操作。关系的操作语言是高度非过程化的语言,用户关系的操作语言是高度非过程化的语言,用户只要指出干什么而不必详细说明怎么干,用户只要指出干什么而不必详细说明怎么干,用户对关系的操作非常简单。对关系的操作非常简单。 第第2讲讲 数据模型数据模型关系模型关系数据模型完整性约束完整性约束实体完整性实体完整性参照完整性参照完整性用户定义的完整性用户定义的完整性第第2讲讲 数据模型数据模型关系模型关系模型的优缺点优点优点关系模型的概念单一,实体与实体间的联系关系模型的概念单一,实体与实体间的联系均用关系来表示;均用关系来表示;建立在严格的数学概念基础上;建立在严格的数学概念基础上;数据的物理存储和存取路径对用户透明,从数据的物理存储和存取路径对用户透明,从而具有较高的数据独立性、更好的安全保密而具有较高的数据独立性、更好的安全保密性,便于数据库的开发;性,便于数据库的开发;关系数据库的语言是非过程化的。关系数据库的语言是非过程化的。第第2讲讲 数据模型数据模型关系模型关系模型的优缺点缺点缺点由于存取路径对用户透明,由于存取路径对用户透明, 查询效率往往不查询效率往往不如非关系数据模型。如非关系数据模型。为提高效率,关系数据库管理系统必须对用为提高效率,关系数据库管理系统必须对用户的查询请求进行优化,这样增加了开发户的查询请求进行优化,这样增加了开发DBMS的难度。的难度。第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型半结构化数据(Semistructured-data)模型半结构数据是半结构数据是“无模式无模式”的,数据是自描的,数据是自描述(述(self describing)的。)的。数据携带了关于其模式的信息,模式可以数据携带了关于其模式的信息,模式可以随着时间在单一数据库内任意改变,易于随着时间在单一数据库内任意改变,易于修改和变化。修改和变化。第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型半结构化数据模型是一种适于数据库集成(是一种适于数据库集成(integration)的)的数据模型,适于描述包含在两个或多个数数据模型,适于描述包含在两个或多个数据库(这些数据库含有不同模式的相似数据库(这些数据库含有不同模式的相似数据)中的数据。据)中的数据。是一种标记服务的基础模型,适于在是一种标记服务的基础模型,适于在Web上共享信息。上共享信息。第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型半结构化数据模型半结构化数据类似树或图,是结点(半结构化数据类似树或图,是结点(node)的)的集合。集合。叶子叶子结点(点(leaf)与具体数据相关,数据的)与具体数据相关,数据的类型可以型可以是任意原子是任意原子类型,如数字和字符串。型,如数字和字符串。内部内部结点(点(interior)至少都有一条向外的弧。每条)至少都有一条向外的弧。每条弧都有一个弧都有一个标签(label),该标签指明弧开始指明弧开始处的的结点与弧末端的点与弧末端的结点之点之间的关系。的关系。要有一个根(要有一个根(root)结点,它代表整个数据点,它代表整个数据库,每个,每个结点都从根可达。点都从根可达。目前半目前半结构化数据最主要的体构化数据最主要的体现就是就是XML,它利用一,它利用一系列分系列分层嵌套的嵌套的标签元素来表述数据。元素来表述数据。第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型半结构化数据模型描述电影和影星的半结构化数据 第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型XML(Extensible Markup Language,可,可扩展标记语言)扩展标记语言)一种基于标签的、为了一种基于标签的、为了“标记标记”文档而设计的文档而设计的符号语言,符号语言,XML标签描述的是文档各部分的含标签描述的是文档各部分的含义。义。类似于类似于HTML,但是,但是HTML标签描述的是文档中信息标签描述的是文档中信息的表示方式的表示方式。第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型XMLXML的标记实体是元素的标记实体是元素一个元素包括开始标记、内容和结束标记。一个元素包括开始标记、内容和结束标记。 John 其中其中是开始标记,是开始标记,“John”是内容,是内容,是结束是结束标记标记,“person”被称为元素名或标记名。被称为元素名或标记名。元素名可以是几乎任意给定的标志符(必须以字母、元素名可以是几乎任意给定的标志符(必须以字母、下划线或冒号开头,且开头不能是下划线或冒号开头,且开头不能是“XML”及其变化及其变化形式)形式)元素内容可以包含其他元素、文本或者它们的混合,元素内容可以包含其他元素、文本或者它们的混合,也可以为空,即也可以为空,即XML元素是可以嵌套的。因此子元元素是可以嵌套的。因此子元素出现的顺序是重要的。素出现的顺序是重要的。第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型XMLXML的标记实体是元素的标记实体是元素元素可以带有属性,每个属性是一个由属性名、属性元素可以带有属性,每个属性是一个由属性名、属性值构成的对值构成的对 其中其中 “name”、“age” 就是属性。就是属性。属性和元素之间的区别仅仅是表示形式上的属性和元素之间的区别仅仅是表示形式上的 25 元素的属性是不能嵌套的,而且一个元素不能有两个元素的属性是不能嵌套的,而且一个元素不能有两个相同属性名的属性。相同属性名的属性。第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型一个关于影星和电影的XML文档 第第2讲讲 数据模型数据模型2.3.2 半结构化数据模型XML为为XML提供模式定义的方式主要有两种:提供模式定义的方式主要有两种:文档类型定义(文档类型定义(document type definition,简称,简称DTD)XML模式(模式(XML Schema)半结构化数据上的操作常常会涉及在隐含的树结构中跟半结构化数据上的操作常常会涉及在隐含的树结构中跟踪路径,从一个标签元素开始跟踪到它的一个或多个嵌踪路径,从一个标签元素开始跟踪到它的一个或多个嵌套子元素,然后再沿着路径跟踪嵌套在其中的子元素,套子元素,然后再沿着路径跟踪嵌套在其中的子元素,如此一直跟踪下去。如此一直跟踪下去。半结构化数据上的约束包括定义与一个标签相关联的数半结构化数据上的约束包括定义与一个标签相关联的数据值的类型,或确定标签间的嵌套关系等。据值的类型,或确定标签间的嵌套关系等。第第2讲讲 数据模型数据模型2.3.3 面向对象数据模型 面向对象数据模型(面向对象数据模型(object-oriented data model,简称简称OO data model)吸收了概念数据模型和知识表示模型的一些基吸收了概念数据模型和知识表示模型的一些基本概念,同时又借鉴了面向对象程序设计语言本概念,同时又借鉴了面向对象程序设计语言和抽象数据类型的一些思想,是一种可扩充的和抽象数据类型的一些思想,是一种可扩充的数据模型。数据模型。面向对象数据模型的基本概念是对象和类。面向对象数据模型的基本概念是对象和类。第第2讲讲 数据模型数据模型2.3.3 面向对象数据模型 面向对象数据模型面向对象数据模型 对象、属性和消息对象、属性和消息现实世界的任意实体都是对象。现实世界的任意实体都是对象。一个对象可以包含多个属性,用来描述对象的状态、组成和特一个对象可以包含多个属性,用来描述对象的状态、组成和特性。性。对象还包括若干方法,用以描述对象的行为特性,通过方法可对象还包括若干方法,用以描述对象的行为特性,通过方法可以改变对象的状态,对对象进行各种数据库操作。以改变对象的状态,对对象进行各种数据库操作。每个对象都有一个在系统内惟一不变的标志符,称为对象标志每个对象都有一个在系统内惟一不变的标志符,称为对象标志符(符(object identifier,简称简称OID)。)。对象是封装的,对象之间的通信和面向对象程序设计中的通信对象是封装的,对象之间的通信和面向对象程序设计中的通信机制相似,也是通过消息传递来实现的,即消息从外部传递给机制相似,也是通过消息传递来实现的,即消息从外部传递给对象,存取和调用对象中的属性和方法,在内部执行要求的操对象,存取和调用对象中的属性和方法,在内部执行要求的操作,操作的结果仍以消息的形式返回。作,操作的结果仍以消息的形式返回。 第第2讲讲 数据模型数据模型2.3.3 面向对象数据模型 面向对象数据模型面向对象数据模型类(类(Class)和实例()和实例(instance)共享同一属性集合和方法集合的所有对象组合在一起构成了一共享同一属性集合和方法集合的所有对象组合在一起构成了一个对象类(简称为类),一个对象是某一类的一个实例。个对象类(简称为类),一个对象是某一类的一个实例。例如,学生是一个类,具体的某个学生,例如张山是学生例如,学生是一个类,具体的某个学生,例如张山是学生类中的一个对象。类中的一个对象。在数据库系统中有在数据库系统中有“型型”和和“值值”的概念,而在面向对象数据的概念,而在面向对象数据模型中,模型中,“型型”就是类,对象是某个类的就是类,对象是某个类的“值值”。类属性的定义域可以为基本类,如字符串、整数、布尔型,也类属性的定义域可以为基本类,如字符串、整数、布尔型,也可以为一般类,即包括属性和方法的类。一个类的属性也可以可以为一般类,即包括属性和方法的类。一个类的属性也可以定义为这个类自身。定义为这个类自身。第第2讲讲 数据模型数据模型2.3.3 面向对象数据模型 面向对象数据模型面向对象数据模型类层次(类层次(Class hierarchy)面向对象数据模型中,类的子集称为该类的子类,该面向对象数据模型中,类的子集称为该类的子类,该类称为子类的超类。子类还可以有子类,也就是类可类称为子类的超类。子类还可以有子类,也就是类可以有嵌套结构。以有嵌套结构。系统中所有的类组成了一个有根的有向无环图,称为系统中所有的类组成了一个有根的有向无环图,称为类层次。类层次。一个类可以从类层次的直接或间接祖先那里继承所有一个类可以从类层次的直接或间接祖先那里继承所有的属性和方法。用这个方法实现了软件的可重用性。的属性和方法。用这个方法实现了软件的可重用性。第第2讲讲 数据模型数据模型小结层次模型层次模型网状模型网状模型关系模型关系模型面向对象模型面向对象模型创始创始1968年年IBM公司公司的的IMS系统系统1969年年CODASYL的的DBTG报告报告1970年年E.F.Codd提提出关系模型出关系模型20世纪世纪80年代年代数据结构数据结构复杂(树)复杂(树)复杂(有向图)复杂(有向图)简单(二维表)简单(二维表)复杂(嵌套、递归)复杂(嵌套、递归)数据联系数据联系指针指针指针指针表间的公共属性表间的公共属性对象标识对象标识查询语言查询语言过程性语言过程性语言过程性语言过程性语言非过程性语言非过程性语言面向对象语言面向对象语言典型产品典型产品IMSIDS/2,IMAGE/3000,IDMS,TOTALOracle,Sybase,DB2,SQL Server, InformaxONTOS DB盛行期盛行期20世纪世纪70年代年代20世纪世纪70至至80年年代中期代中期20世纪世纪80年代至今年代至今20世纪世纪90年代至今年代至今
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号