




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021-11-211第第2章章 数据库系统结构数据库系统结构软件工程系软件工程系 刘金岭刘金岭2021-11-212 本章主要内容本章主要内容 (1) 数据库设计中的数据库设计中的数据描述数据描述 。 (2) 数据模型的描述。数据模型的描述。 (3) 数据库的体系结构数据库的体系结构 。 2021-11-213 本章的重要概念本章的重要概念 概念、逻辑和物理设计中的数据描述概念、逻辑和物理设计中的数据描述,数据联系的描述,数据联系的描述,数据模型的数据模型的定义,实体间二元联系,定义,实体间二元联系,ER模型,模型,数据库的体系结构,数据库的体系结构,三级结构,两级三级结构,两级映象,两级数
2、据独立性。映象,两级数据独立性。2021-11-2142.1 数据描述数据描述 z概念设计中的数据描述概念设计中的数据描述z逻辑设计中的数据描述逻辑设计中的数据描述z物理存储中的数据描述物理存储中的数据描述z数据联系的描述数据联系的描述 2021-11-215概念设计中的数据描述概念设计中的数据描述 数据库的概念设计是根据用户的需求设计数据库的概念结构。数据库的概念设计是根据用户的需求设计数据库的概念结构。实体(实体(Entity):): 客观存在、可以相互区别的事物称为实体。客观存在、可以相互区别的事物称为实体。实体可以实体可以是具体的对象,例如一名男学生,一辆汽车等。也可以是抽象的对象,例
3、是具体的对象,例如一名男学生,一辆汽车等。也可以是抽象的对象,例如一次借书,一场足球比赛等。实体集(如一次借书,一场足球比赛等。实体集(Entity Set) 性质相同的同类实性质相同的同类实体的集合,称为实体集。例如所有的男学生,全国足球锦标赛的所有比赛体的集合,称为实体集。例如所有的男学生,全国足球锦标赛的所有比赛等。有时,在不引起混淆的情况下也称实体集为实体。等。有时,在不引起混淆的情况下也称实体集为实体。属性(属性(Attribute):): 实体有很多特性,每一个特性称为一个属性。实体有很多特性,每一个特性称为一个属性。每每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。
4、例如一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。例如实体学生有属性学号、姓名、年龄、性别等。实体学生有属性学号、姓名、年龄、性别等。实体标识符(实体标识符(Identifier):): 能惟一标识实体的属性或属性集,称为实能惟一标识实体的属性或属性集,称为实体标识符。体标识符。有时也称为关键码(有时也称为关键码(Key),或简称为键。例如学生的学号可),或简称为键。例如学生的学号可以作为学生实体的标识符。以作为学生实体的标识符。2021-11-216逻辑设计中的数据描述逻辑设计中的数据描述 数据库的逻辑设计是根据概念设计得到的,逻辑设计中的术语如下:数据库的逻辑设计是根据概念设
5、计得到的,逻辑设计中的术语如下:字段(字段(Field):): 标记实体属性的命名单位称为字段或数据项。标记实体属性的命名单位称为字段或数据项。它是可它是可以命名的最小信息单位,所以又称为数据元素或数据项。字段的命名往往以命名的最小信息单位,所以又称为数据元素或数据项。字段的命名往往和属性名相同。例如学生有学号、姓名、年龄、性别等字段。和属性名相同。例如学生有学号、姓名、年龄、性别等字段。记录(记录(Record):): 字段的有序集合称为记录。字段的有序集合称为记录。一般用一个记录描述一一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。例如一个实体,所以记录又可以
6、定义为能完整地描述一个实体的字段集。例如一个学生记录,由有序的字段集组成:学号,姓名,年龄,性别。个学生记录,由有序的字段集组成:学号,姓名,年龄,性别。 文件(文件(File):): 同一类记录的集合称为文件。同一类记录的集合称为文件。文件是用来描述实体集的。文件是用来描述实体集的。例如所有的学生记录组成了一个学生文件。例如所有的学生记录组成了一个学生文件。 关键码(关键码(Key) 能惟一标识能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。 2021-11-217概念设计和逻辑设计中两套术语的对应关系概念设计
7、和逻辑设计中两套术语的对应关系 概念设计概念设计逻辑设计逻辑设计实体实体属性属性实体集实体集实体标识符实体标识符记录记录字段(或数据项)字段(或数据项)文件文件关键码关键码 在数据库技术中,每个概念都有类型(在数据库技术中,每个概念都有类型(Type)和值()和值(Value)之)之区分。例如区分。例如“学生学生”是一个实体类型,而具体的人是一个实体类型,而具体的人“张三张三”、“李四李四”是实体值。记录也有记录类型和记录值之分。是实体值。记录也有记录类型和记录值之分。 在不会引起误解时,不去仔细区分类型和值,笼统地称在不会引起误解时,不去仔细区分类型和值,笼统地称“记录记录”。 2021-1
8、1-218物理存储中的数据描述物理存储中的数据描述 v数据描述有两种形式:数据描述有两种形式:物理描述和逻辑描述。物理描述和逻辑描述。物理数据描述指数据在物理数据描述指数据在存储设备上的存储方式的描述,物理数据是实际存放在存储设备上的数据。存储设备上的存储方式的描述,物理数据是实际存放在存储设备上的数据。 v在数据库系统中,逻辑数据与物理数据之间可以是差别很大的。在数据库系统中,逻辑数据与物理数据之间可以是差别很大的。 v数据库系统的一个目标是使用户能简单、方便、容易地存取数据,不数据库系统的一个目标是使用户能简单、方便、容易地存取数据,不必关心数据库的存储结构和具体实现方式。必关心数据库的存
9、储结构和具体实现方式。 2021-11-219数据联系的描述数据联系的描述 (1)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体集内部的联系和实体集之间的联系。世界中反映为实体集内部的联系和实体集之间的联系。实体内部的联系通实体内部的联系通常是指组成实体的各属性之间的联系;常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体实体之间的联系通常是指不同实体集之间的联系。集之间的联系。 v两个实体集之间的联系两个实体集之间的联系 一对一联系(一对一联系(1:1):):如果对于实体集如果对于实体集A
10、中中的每一个实体,实体集的每一个实体,实体集B中有中有N个实体个实体(N0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一中至多只有一个实体与之联系,则称实体集个实体与之联系,则称实体集A与实体集与实体集B有一对多联系,记为有一对多联系,记为1:N。 实体集实体集A联系名联系名实体集实体集B112021-11-2110数据联系的描述数据联系的描述 (2)一对多联系(一对多联系(1:N):): 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有N个实体(个实体(N0)与之联系,反之,对于实体集)
11、与之联系,反之,对于实体集B中的每一个实体,实体中的每一个实体,实体集集A中至多只有一个实体与之联系,则称实体集中至多只有一个实体与之联系,则称实体集A与实体集与实体集B有一对多联系,有一对多联系,记为记为1:N。 1N实体集实体集A联系名联系名实体集实体集B2021-11-2111数据联系的描述数据联系的描述 (3)例例一对一联系一对一联系一对多联系一对多联系2021-11-2112数据联系的描述数据联系的描述 (4)多对多联系(多对多联系(M:N):): 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有N个实体(个实体(N0)与之联系,反之,对于实体集)
12、与之联系,反之,对于实体集B中的每一个实体,中的每一个实体,实体集实体集A中也有中也有M个实体(个实体(M0)与之联系,则称实体集)与之联系,则称实体集A与实体集与实体集B具有具有多对多联系,记为多对多联系,记为M:N。 实体集实体集A联系名联系名实体集实体集BMN 一对一联系是一对多联系的特例,而一对多联系又一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。是多对多联系的特例。 2021-11-2113数据联系的描述数据联系的描述 (5)例例多对多联系2021-11-2114数据联系的描述数据联系的描述 (6)v 实体间的联系实体间的联系 若实体若实体E1,E2,En之间存在联
13、系,对于实体之间存在联系,对于实体Ej与(与(j=1,2,i-1,i+1,n)中给定实体,最多只和)中给定实体,最多只和Ei中的一个实体相联系,则中的一个实体相联系,则说说Ei与与E1,E2,Ej-1,Ej+1,En联系是一对多的。联系是一对多的。 对于课程、教师与参考书对于课程、教师与参考书3个实体,如果一门课程可以有若干个教师讲个实体,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。书只供一门课程使用,则课程与教师、参考书之间的
14、联系是一对多的。 1课程课程讲授讲授教师教师参考书参考书MN2021-11-2115数据联系的描述数据联系的描述 (7)有有3个实体:供应商、项目、零件,一个供应商可以供给多个项目多个实体:供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此看出供应商、项目、零件三者之间是多对多的联系。同供应商供给,由此看出供应商、项目、零件三者之间是多对多的联系。 M供应商供应商供应供应项目项目零件零件NP 3个实体之间多对多的联系和个实体之间多对多的联系和3个实体两两之
15、间的(共个实体两两之间的(共3个)个)多对多联系的语义是不同的。多对多联系的语义是不同的。 2021-11-2116数据联系的描述数据联系的描述 (8)v单个实体集内的联系单个实体集内的联系同一个同一个实体集内实体集内的各实体之间也可以存在一对一、一对多、多对多的的各实体之间也可以存在一对一、一对多、多对多的联系。例如,职工实体集内部具有领导与被领导的联系,即某一职工(干联系。例如,职工实体集内部具有领导与被领导的联系,即某一职工(干部)部)“领导领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系。这是一对多的联系。
16、单个实体集之间单个实体集之间 一对多联系示例一对多联系示例N1职工职工领导领导2021-11-21172.2 数据模型数据模型 z数据模型的定义数据模型的定义z实体联系模型实体联系模型z层次模型层次模型 z网状模型网状模型 z关系模型关系模型z面向对象模型面向对象模型能表示实体类型及实体间联系的模型称为能表示实体类型及实体间联系的模型称为“数据模型数据模型”。2021-11-2118数据模型的定义数据模型的定义 数据模型数据模型的种类很多,的种类很多, 目前被广泛使用的可分为目前被广泛使用的可分为两种类型。一种是独立于两种类型。一种是独立于计算机系统的数据模型,计算机系统的数据模型,完全不涉及
17、信息在计算机完全不涉及信息在计算机中的表示,只是用来描述中的表示,只是用来描述某个特定组织所关心的信某个特定组织所关心的信息结构,这类模型称为息结构,这类模型称为“概念数据模型概念数据模型”;另一;另一种数据模型是直接面向数种数据模型是直接面向数据库的逻辑结构,它是对据库的逻辑结构,它是对现实世界的第二层抽象。现实世界的第二层抽象。这类模型直接与这类模型直接与DBMS有有关,称为关,称为“逻辑数据模逻辑数据模型型”,简称,简称“逻辑模型逻辑模型”。 现实世界现实世界认认识识抽抽象象概念模型概念模型逻辑模型逻辑模型信息世界信息世界机器世界机器世界 现实世界中客观对象的抽象过程现实世界中客观对象的
18、抽象过程2021-11-2119实体联系模型实体联系模型 (1) ER(实体实体联系方法联系方法)图提供了表示实体型、属性和联系的方法:)图提供了表示实体型、属性和联系的方法: 实体型:实体型:用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。 属性:属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。用椭圆形表示,并用无向边将其与相应的实体型连接起来。 例如,学生实体具有学号、姓名、性别、出生年份、系、入学时间例如,学生实体具有学号、姓名、性别、出生年份、系、入学时间等属性,用等属性,用ER图表示如图所示。图表示如图所示。 学生学生学号学号姓名姓名性别性别系系出生年份出生
19、年份入学时间入学时间2021-11-2120实体联系模型实体联系模型 (2)联系:联系:用菱形表示,菱形框内写明用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的连接起来,同时在无向边旁标上联系的类型(类型(1:1,1:N或或M:N)。)。需要注意的是,需要注意的是,如果一个联系具有如果一个联系具有属性,则这些属性也要用无向边与该联属性,则这些属性也要用无向边与该联系连接起来,如右图。系连接起来,如右图。M供应商供应商供应供应项目项目零件零件NP供应量供应量 联系的属性表示联系的属性表示2021-11-2121实体联系
20、模型实体联系模型 (3)现以学校的教学情况为例来建立现以学校的教学情况为例来建立ER图。图。教学情况可由学生、课程、教师、学习、任课等组成。教学情况可由学生、课程、教师、学习、任课等组成。 学生对课学生对课程是多对多联系:一个学生可以学多门课程,而一门课程又有多个学生学程是多对多联系:一个学生可以学多门课程,而一门课程又有多个学生学习;习; 教师对课程是一对多联系:一个教师可以讲授多门课程,但一门教师对课程是一对多联系:一个教师可以讲授多门课程,但一门课程至多只能由一个教师任教(当一门课程分别在不同的班开课时,可看课程至多只能由一个教师任教(当一门课程分别在不同的班开课时,可看做几门课程,它们
21、的课程名可以相同,但课程号不能相同,用以区别,这做几门课程,它们的课程名可以相同,但课程号不能相同,用以区别,这样就可以满足一对多的假设)。样就可以满足一对多的假设)。 学号学号姓名姓名性别性别年龄年龄学生学生课程课程教师教师学习学习任课任课学号学号课程号课程号成绩成绩课程号课程号课程名课程名课时数课时数课程号课程号姓名姓名姓名姓名性别性别年龄年龄MNN1一般在划一般在划ER图图时这两个属性要时这两个属性要去掉!去掉!一般在划一般在划ER图时这两个属图时这两个属性要去掉!性要去掉!2021-11-2122层次模型层次模型 (1)v 层次数据模型的数据结构层次数据模型的数据结构 n在数据库中定义
22、满足下面两个条件的基本层次联系的集合为层在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。有且只有一个结点没有双亲结点,这个结点称为根结点;次模型。有且只有一个结点没有双亲结点,这个结点称为根结点;n根以外的其他结点有且只有一个双亲结点。根以外的其他结点有且只有一个双亲结点。 每个记录类型可包含若干个字每个记录类型可包含若干个字段。这里,记录类型描述的是实体,段。这里,记录类型描述的是实体,字段描述实体的属性。各个记录类字段描述实体的属性。各个记录类型及其字段都必须命名。各个记录型及其字段都必须命名。各个记录类型、同一记录类型中各个字段不类型、同一记录类型中各个字段不能同名。每个记
23、录类型可以定义一能同名。每个记录类型可以定义一个排序字段,也称为个排序字段,也称为码字段码字段,如果,如果定义该排序字段的值是唯一的,则定义该排序字段的值是唯一的,则它能唯一地标识一个记录值。它能唯一地标识一个记录值。 R1R2R3R4R5根节点根节点叶节点叶节点叶节点叶节点叶节点叶节点兄弟节点兄弟节点兄弟节点兄弟节点树形结构图树形结构图2021-11-2123层次模型层次模型 (2)v 层次模型的优点主要有:层次模型的优点主要有: 层次模型的数据结构比较简单清晰。层次模型的数据结构比较简单清晰。 层次数据库的查询效率高。因为层次模型中记录之间的联系用有层次数据库的查询效率高。因为层次模型中记
24、录之间的联系用有向边表示,这种联系在向边表示,这种联系在DBMSDBMS中常常用指针来实现。因此这种联系也就是记中常常用指针来实现。因此这种联系也就是记录之间的存取路径。当要存取某个结点的记录值,录之间的存取路径。当要存取某个结点的记录值,DBMSDBMS就沿着这一条路径就沿着这一条路径很快找到该记录值,所以,层次数据库的查询性能优于关系数据库,不低很快找到该记录值,所以,层次数据库的查询性能优于关系数据库,不低于网状数据库。于网状数据库。 层次数据模型提供了良好的完整性支持。层次数据模型提供了良好的完整性支持。 2021-11-2124层次模型层次模型 (3)v 层次模型的缺点主要有层次模型
25、的缺点主要有 现实世界中很多联系是非层次型的,如结点之间具有多对多联系。现实世界中很多联系是非层次型的,如结点之间具有多对多联系。 一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据结构只能通过引入冗余数据(易产生不一致性)或创建非自然的数据结构(引入虚拟结点)来解决。对插入和删除操作的限制比较多,因此应用(引入虚拟结点)来解决。对插入和删除操作的限制比较多,因此应用程序的编写比较复杂。程序的编写比较复杂。 查询子女结点必须通过双亲结点。查询子女结点必须通过双亲结点。 由于
26、结构严密,层次命令趋于程序化。由于结构严密,层次命令趋于程序化。 2021-11-2125网状模型网状模型 (1)v网状数据模型的数据结构网状数据模型的数据结构在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。v网状数据模型的优点网状数据模型的优点: 能够更为直接地描述现实世界,如一个结点可以有多个双亲。结能够更为直接地描述现实世界,如一个结点可以有多个双亲。结点之间可以有多种联系。点之间可以有多种联系。 具有
27、良好的性能,存取效率较高。具有良好的性能,存取效率较高。 2021-11-2126网状模型网状模型 (2)v 网状数据模型的缺点主要有:网状数据模型的缺点主要有: 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。来越复杂,不利于最终用户掌握。 网状模型的网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如复杂,并且要嵌入某一种高级语言(如COBOL、C)中。因此用户不易掌握和使用。)中。因此用户不易掌握和使用。 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据由于记录之间的联系是通
28、过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节。这样时必须选择适当的存取路径,因此,用户必须了解系统结构的细节。这样就加重了编写应用程序的负担。就加重了编写应用程序的负担。 2021-11-2127关系模型关系模型 (1)v 关系数据模型的数据结构关系数据模型的数据结构 从用户观点看,关系模型由一组关系组成。每个关系的数据结构是从用户观点看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。一张规范化的二维表。学号学号姓名姓名年龄年龄性别性别系名系名年级年级200912004王小明王小明19女女计算机系计算机系20092009120
29、06黄大鹏黄大鹏20男男数学系数学系2009200912008张文斌张文斌18女女经管系经管系20092021-11-2128关系模型关系模型 (2)关系(关系(Relation):): 一个关系对应通常说的一张表,如表一个关系对应通常说的一张表,如表2.2中的这张中的这张学生登记表。元组(学生登记表。元组(Tuple) 表中的一行即为一个元组。表中的一行即为一个元组。属性(属性(Attribute):): 表中的一列即为一个属性,给每一个属性起一个表中的一列即为一个属性,给每一个属性起一个名称即属性名。如这张表有名称即属性名。如这张表有6列,对应列,对应6个属性:学号,姓名,年龄,性别,个属
30、性:学号,姓名,年龄,性别,系名和年级。系名和年级。 码(码(Key):): 也称为码键。表中的某个属性组,它可以惟一确定一个也称为码键。表中的某个属性组,它可以惟一确定一个元组,如表元组,如表2.2中的学号,可以惟一确定一个学生,也就成为本关系的码。中的学号,可以惟一确定一个学生,也就成为本关系的码。域(域(Domain):): 属性的取值范围,如人的年龄一般在属性的取值范围,如人的年龄一般在1150岁之间,岁之间,大学生年龄属性的域是(大学生年龄属性的域是(1438),性别的域是(男,女),系名的域是),性别的域是(男,女),系名的域是一个学校所有系名的集合。分量一个学校所有系名的集合。分
31、量 元组中的一个属性值。元组中的一个属性值。关系模式关系模式 :对关系的描述,一般表示为对关系的描述,一般表示为 关系名(属性关系名(属性l,属性,属性2,属性,属性n) 2021-11-2129关系模型关系模型 (3)关系术语关系术语一般表格术语一般表格术语关系名关系名关系模式关系模式关系关系元组元组属性属性属性名属性名属性值属性值分量分量非规范关系非规范关系表名表名表头(表格的描述)表头(表格的描述)(一张)二维表(一张)二维表记录或行记录或行列列列名列名列值列值一条记录中的一个列值一条记录中的一个列值表中有表(大表中嵌有小表)表中有表(大表中嵌有小表)关系和现实生活中的表格所使用的术语做
32、一个粗略的对比关系和现实生活中的表格所使用的术语做一个粗略的对比 如下:如下:2021-11-2130关系模型关系模型 (4)v关系数据模型具有下列优点:关系数据模型具有下列优点: 关系模型与非关系模型不同,它是建立在严格的数学概念的基础上关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。的。 关系模型的概念单一。无论实体还是实体之间的联系都用关系来表关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。清晰,用户易懂易用。 关系模
33、型的存取路径对用户透明,从而具有更高的数据独立性、更关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。v关系数据模型最主要的缺点是:关系数据模型最主要的缺点是:由于存取路径对用户透明,查询效率由于存取路径对用户透明,查询效率往往不如非关系数据模型。往往不如非关系数据模型。 2021-11-2131面向对象模型面向对象模型 (1)v面向对象的基本概念面向对象的基本概念 对象(对象(Object):): 对象是现实世界中实体的模型化,与记录概念相对象是现实世界中实体的模型
34、化,与记录概念相仿,但远比记录复杂。每个对象有一个惟一的标识符,把状态(仿,但远比记录复杂。每个对象有一个惟一的标识符,把状态(State)和行为(和行为(Behavior)封装()封装(Encapsulate)在一起。其中,对象的状态)在一起。其中,对象的状态是该对象属性值的集合,对象的行为是在对象状态上操作的方法集。是该对象属性值的集合,对象的行为是在对象状态上操作的方法集。类(类(Class):): 将属性集和方法集相同的所有对象组合在一起,构将属性集和方法集相同的所有对象组合在一起,构成了一个类。类的属性值域可以是基本数据类型(整型、实型、字符串成了一个类。类的属性值域可以是基本数据类
35、型(整型、实型、字符串型),也可以是记录类型和集合类型。也就是类可以有嵌套结构。系统型),也可以是记录类型和集合类型。也就是类可以有嵌套结构。系统中所有的类组成了一个有根的有向无环图,叫类层次。中所有的类组成了一个有根的有向无环图,叫类层次。 2021-11-2132面向对象模型面向对象模型 (2)v面向对象数据库系统的优点:面向对象数据库系统的优点: 能有效地表达客观世界和有效地查询信息:面向对象方法综合了能有效地表达客观世界和有效地查询信息:面向对象方法综合了在关系数据库中发展的全部工程原理、系统分析、软件工程和专家系统领在关系数据库中发展的全部工程原理、系统分析、软件工程和专家系统领域的
36、内容。域的内容。 可维护性好:在耦合性和内聚性方面,面向对象数据模型的性能尤可维护性好:在耦合性和内聚性方面,面向对象数据模型的性能尤为突出。为突出。 能很好地解决能很好地解决“阻抗不匹配阻抗不匹配”(impedance mismatch)问题:应)问题:应用程序语言与数据库管理系统对数据类型支持的不一致问题,这一问题通用程序语言与数据库管理系统对数据类型支持的不一致问题,这一问题通常称之为阻抗不匹配问题。常称之为阻抗不匹配问题。 2021-11-2133面向对象模型面向对象模型 (3)v面向对象数据库系统的缺点面向对象数据库系统的缺点 : 技术还不成熟:面向对象模型还存在着标准化问题,是否修
37、改技术还不成熟:面向对象模型还存在着标准化问题,是否修改SQL以适应面向对象的程序,还是用新的对象查询语言来代替它,目前还以适应面向对象的程序,还是用新的对象查询语言来代替它,目前还没有解决。没有解决。 面向对象系统开发的有关原理才刚开始,只是具有雏形,还需要面向对象系统开发的有关原理才刚开始,只是具有雏形,还需要一段时间的研究。但在可靠性、成本等方面还是令人可以接受的。一段时间的研究。但在可靠性、成本等方面还是令人可以接受的。 理论还需完善:到现在为止没有关于面向对象分析的一套清晰的理论还需完善:到现在为止没有关于面向对象分析的一套清晰的概念模型,怎样设计独立于物理存储的信息还不明确。概念模
38、型,怎样设计独立于物理存储的信息还不明确。 2021-11-21342.3 数据库的体系结构数据库的体系结构 主要内容主要内容z 三级模式结构三级模式结构 z 三级结构和两级映像三级结构和两级映像z 两级数据独立性两级数据独立性从数据库管理系统的抽象层次看,数据库系统通常采用三级模式结构从数据库管理系统的抽象层次看,数据库系统通常采用三级模式结构2021-11-2135三级模式结构三级模式结构 (1)数据库的体系结构分成三级:外部级(数据库的体系结构分成三级:外部级(External)、概念级)、概念级(Conceptual)和内部级()和内部级(Internal)。这个结构称为)。这个结构称
39、为“数据库的体系结数据库的体系结构构”,有时亦称为,有时亦称为“三级模式结构三级模式结构”,或,或“数据抽象的三个级别数据抽象的三个级别”。 从某个角度看到的数据特性,称为从某个角度看到的数据特性,称为“数据视图数据视图”(Data View)。)。外部级外部级最接近用户,是单个用户能看到的数据特性。最接近用户,是单个用户能看到的数据特性。概念级概念级涉及到所有用户的数据定义,也就是全局性的数据视图。涉及到所有用户的数据定义,也就是全局性的数据视图。内部级内部级最接近于物理存储设备,涉及到物理数据存储的结构。最接近于物理存储设备,涉及到物理数据存储的结构。数据库的三个模式结构是对数据的三个抽象
40、级别。它把数据的具体组数据库的三个模式结构是对数据的三个抽象级别。它把数据的具体组织留给织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储。中的表示和存储。 2021-11-2136三级模式结构三级模式结构 (2)数据库系统的三级模式结构如下图:数据库系统的三级模式结构如下图: 应用应用A应用应用B应用应用C应用应用D应用应用E外模式外模式1外模式外模式2外模式外模式3模式模式内模式内模式数据库数据库外模外模式式/ /模模式映式映像像内模内模式式/ /模模式映式映像像外部级外部级最接近用户,最接近用户,是单个用户能看到的是单个用户能看到的数据特性。单个用户数据特性。单个用户使用的数据视图的描使用的数据视图的描述称为述称为“外模式外模式”。概念级概念级涉及到所有用户的数据涉及到所有用户的数据定义,也就是全局性的数据视定义,也就是全局性的数据视图。全局数据视图的描述称为图。全局数据视图的描述称为“概念模式概念模式”,也称为,也称为“模模式式”。内部级内部级最接近于物理存储设最接近于物理存储设备,涉及到物理数据存储的备,涉及到物理数据存储的结构。物理存储数据视图的结构。物理存储数据视图的描述称为描述称为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务承诺协议书
- 2025年中国工艺试题及答案
- 2025年16型人格权威测试题及答案
- 2025年gmp基础知识培训试题及答案多选题
- 2025年车厢调度试题及答案python
- 2025年陶瓷专业单招考试题及答案
- 2025年中医食疗试题及答案
- 机构退款协议书
- 材料上涨协议书
- 材料购买协议书
- GB/T 3452.2-2007液压气动用O形橡胶密封圈第2部分:外观质量检验规范
- GB/T 26820-2011物流服务分类与编码
- GB/T 12771-2019流体输送用不锈钢焊接钢管
- GB/T 11881-2006羽毛球
- GB/T 10051.1-2010起重吊钩第1部分:力学性能、起重量、应力及材料
- 低压电工培训教案课件
- 2023年北京信息职业技术学院辅导员招聘考试笔试题库及答案解析
- GB35114-2017公共安全视频监控联网信息安全技术要求
- 水稻的一生课件
- 响应性评审表
- 留守儿童之家各类工作制度
评论
0/150
提交评论