UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt

上传人:s****8 文档编号:67273304 上传时间:2022-12-24 格式:PPT 页数:64 大小:389.50KB
返回 下载 相关 举报
UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt_第1页
第1页 / 共64页
UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt》由会员分享,可在线阅读,更多相关《UML与系统分析设计(第二版) 第13章 数据库分析与设计.ppt(64页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库的分析设计常是计算机系统分析设计中的一项十分数据库的分析设计常是计算机系统分析设计中的一项十分重要的工作。重要的工作。在计算机系统中数据库一般是独立于应用系统的,同时数在计算机系统中数据库一般是独立于应用系统的,同时数据库与应用系统又是密切相关的,一个大型数据库通常需据库与应用系统又是密切相关的,一个大型数据库通常需要向多个应用系统提供数据服务,实现数据共享。要向多个应用系统提供数据服务,实现数据共享。长期以来按照传统的应用软件设计方法,数据库设计与应长期以来按照传统的应用软件设计方法,数据库设计与应用系统设计是分别进行的,常常存在一个相互协调的问题。用系统设计是分别进行的,常常存在一个

2、相互协调的问题。如果采用如果采用UMLUML进行系统的分析与设计,则可以把系统的应进行系统的分析与设计,则可以把系统的应用程序(行为)设计和数据库设计统一起来,有效地提高用程序(行为)设计和数据库设计统一起来,有效地提高数据库设计的效率和质量,降低开发风险,提高软件成分数据库设计的效率和质量,降低开发风险,提高软件成分的可用性,降低开发成本。的可用性,降低开发成本。本章简要介绍本章简要介绍UMLUML用于关系数据库设计的规范、方法与过用于关系数据库设计的规范、方法与过程。程。UMLUML同样适用于对象数据库和对象同样适用于对象数据库和对象关系数据库设计。关系数据库设计。第第1313章章 数据库

3、分析与设计数据库分析与设计Home第第1313章章 数据库分析与设计数据库分析与设计1313.1 .1 数据库设计概述数据库设计概述13.2 13.2 UMLUML用于数据库设计的规范用于数据库设计的规范13.3 13.3 关系数据库逻辑设计关系数据库逻辑设计13.13.4 4 关系数据库物理设计关系数据库物理设计Home13.1 13.1 数据库设计概述数据库设计概述Home13.1.1 13.1.1 数据库与数据库设计数据库与数据库设计13.1.2 13.1.2 数据模型数据模型13.1.3 13.1.3 数据库设计方法与过程数据库设计方法与过程数据库(数据库(DatabaseDataba

4、se,DBDB)是某一组织中各种应用所需要保是某一组织中各种应用所需要保存和处理的数据的集合,数据结构化地存放在数据库中,存和处理的数据的集合,数据结构化地存放在数据库中,完全地或部分地消除了数据的冗余,实现数据共享。在物完全地或部分地消除了数据的冗余,实现数据共享。在物理上,数据库是磁盘上的一个存储数据的区域。理上,数据库是磁盘上的一个存储数据的区域。数据库设计指的是对于一个给定的应用环境,构造一个最数据库设计指的是对于一个给定的应用环境,构造一个最优的数据库模式,并据此建立一个既能反映现实世界信息优的数据库模式,并据此建立一个既能反映现实世界信息和信息联系、满足用户对数据要求和加工要求,又

5、能被某和信息联系、满足用户对数据要求和加工要求,又能被某个数据库管理系统(个数据库管理系统(DBMSDBMS)所接受的数据库及其应用系所接受的数据库及其应用系统,使得数据库既能有效、安全、完整地存储大宗数据,统,使得数据库既能有效、安全、完整地存储大宗数据,又能满足多个用户的信息要求和处理要求。又能满足多个用户的信息要求和处理要求。数据库设计是一个复杂的过程。在这个过程中需要将现实数据库设计是一个复杂的过程。在这个过程中需要将现实世界中的事物转化为由机器世界所存储和管理的数据。世界中的事物转化为由机器世界所存储和管理的数据。13.1.1 13.1.1 数据库与数据库设计数据库与数据库设计Hom

6、e一个数据库应用系统的设计包含两方面的内容:一个数据库应用系统的设计包含两方面的内容:(1 1)结构特性的设计,即数据库模式或数据结构的设计。)结构特性的设计,即数据库模式或数据结构的设计。(2 2)行为特性的设计,即应用程序、事务处理的设计。)行为特性的设计,即应用程序、事务处理的设计。按照传统的应用软件设计方法,这两者的设计是分别进行按照传统的应用软件设计方法,这两者的设计是分别进行的,常常存在一个相互协调的问题。的,常常存在一个相互协调的问题。如果采用如果采用UMLUML进行系统的分析与设计,则可以把系统的应进行系统的分析与设计,则可以把系统的应用程序(行为)设计和数据库设计统一起来。用

7、程序(行为)设计和数据库设计统一起来。单就数据库设计而言,不但可以设计数据库的静态结构单就数据库设计而言,不但可以设计数据库的静态结构(数据库模式),而且可以设计对数据库中数据的各种操(数据库模式),而且可以设计对数据库中数据的各种操作。作。13.1.1 13.1.1 数据库与数据库设计数据库与数据库设计Home数据模型(数据模型(Data ModelData Model)是对现实世界的抽象,是建立数据是对现实世界的抽象,是建立数据库的基础。通常,在一个数据模型中需要描述数据的组织库的基础。通常,在一个数据模型中需要描述数据的组织结构、对数据的操作和数据的完整性约束。结构、对数据的操作和数据的

8、完整性约束。当前存在的数据模型大体上可以分为两大类:当前存在的数据模型大体上可以分为两大类:(1 1)基于记录的逻辑模型)基于记录的逻辑模型传统的三种数据模型:层次模型、网状模型和关系模型,传统的三种数据模型:层次模型、网状模型和关系模型,都属于这一类。都属于这一类。它们都是以数据记录和数据项作为基本的数据结构。它们都是以数据记录和数据项作为基本的数据结构。(2 2)基于对象的逻辑模型)基于对象的逻辑模型常见的模型有:实体联系模型(常见的模型有:实体联系模型(ERER模型),面向对象数据模型),面向对象数据模型等。模型等。它们是更高抽象层次意义上的概念模型。它们是更高抽象层次意义上的概念模型。

9、13.1.2 13.1.2 数据模型数据模型Home 1 1传统的关系数据库设计传统的关系数据库设计传统的关系数据库设计的过程分为四个阶段:需求分析,传统的关系数据库设计的过程分为四个阶段:需求分析,概念结构设计,逻辑结构设计,物理结构设计。概念结构设计,逻辑结构设计,物理结构设计。需求分析阶段的主要任务是通过对现行的手工系统或已有需求分析阶段的主要任务是通过对现行的手工系统或已有的计算机系统进行调查和分析,以确定对即将建立的数据的计算机系统进行调查和分析,以确定对即将建立的数据库应用系统的信息要求和处理要求,并对数据的存储要求库应用系统的信息要求和处理要求,并对数据的存储要求和处理要求进行描

10、述,编制出数据库需求分析说明书,作和处理要求进行描述,编制出数据库需求分析说明书,作为后续各设计阶段的依据。为后续各设计阶段的依据。数据库的概念结构,或称为企业的组织模式,它是独立于数据库的概念结构,或称为企业的组织模式,它是独立于任何一种数据模型和任何具体的数据库管理系统任何一种数据模型和任何具体的数据库管理系统(DBMSDBMS)的信息结构模型,它是现实世界的的信息结构模型,它是现实世界的“纯粹纯粹”表表示。示。13.1.3 13.1.3 数据库设计方法与过程数据库设计方法与过程Home概念结构设计需要借助于某种工具或方法,当前应用最广概念结构设计需要借助于某种工具或方法,当前应用最广泛的

11、是实体泛的是实体联系方法(联系方法(ERER方法),它使用方法),它使用ERER图定义企业图定义企业的信息组织模式,即概念结构。的信息组织模式,即概念结构。逻辑结构设计的任务是按照一定的规则,将概念结构转换逻辑结构设计的任务是按照一定的规则,将概念结构转换为某种数据库管理系统(为某种数据库管理系统(DBMSDBMS)所能接受的数据模型。所能接受的数据模型。物理结构设计是指对一个给定的逻辑数据模型选取一个最物理结构设计是指对一个给定的逻辑数据模型选取一个最合适应用环境的物理结构的过程。合适应用环境的物理结构的过程。传统的关系数据库设计存在着不少的缺点,其主要问题是传统的关系数据库设计存在着不少的

12、缺点,其主要问题是把数据库设计与系统的应用行为设计分离。把数据库设计与系统的应用行为设计分离。13.1.3 13.1.3 数据库设计方法与过程数据库设计方法与过程Home 2 2使用使用UMLUML做数据库设计做数据库设计 使用使用UMLUML设计数据库,可把数据库设计与系统的应用行为设计数据库,可把数据库设计与系统的应用行为设计结合在一起进行,而且设计结合在一起进行,而且UMLUML具有更强的建模表现能力。具有更强的建模表现能力。使用使用UMLUML进行关系数据库设计的做法有两种:进行关系数据库设计的做法有两种:其一是以其一是以ERER图为基础进行数据库设计,设计工作按照图为基础进行数据库设

13、计,设计工作按照ERER模模型的概念和方法进行,只是用型的概念和方法进行,只是用UMLUML表达;表达;其二是用其二是用UMLUML直接进行数据库的分析设计和表达。直接进行数据库的分析设计和表达。第二第二种做法可以把数据库设计与应用系统软件的设计统一种做法可以把数据库设计与应用系统软件的设计统一进行。进行。13.1.3 13.1.3 数据库设计方法与过程数据库设计方法与过程HomeUMLUML的对象类图能够更好地用于对数据库建模。的对象类图能够更好地用于对数据库建模。UMLUML的对的对象类图不但对数据,而且能对行为建模。这些行为在物理象类图不但对数据,而且能对行为建模。这些行为在物理数据库中

14、被设计成触发器和存储过程数据库中被设计成触发器和存储过程,或者专用的例行程或者专用的例行程序(序(UtilityUtility)。)。使用使用UMLUML进行数据库分析设计的过程一般分为四个阶段:进行数据库分析设计的过程一般分为四个阶段:业务业务Use CaseUse Case模型设计模型设计 逻辑数据模型设计逻辑数据模型设计 物理数据模型设计物理数据模型设计 物理实现设计。物理实现设计。在业务在业务Use CaseUse Case模型设计阶段,实际上是进行数据库的需求模型设计阶段,实际上是进行数据库的需求分析,使用分析,使用Use CaseUse Case图、类图、顺序图、活动图等建立业图、

15、类图、顺序图、活动图等建立业务务Use CaseUse Case模型。模型。13.1.3 13.1.3 数据库设计方法与过程数据库设计方法与过程Home在逻辑数据模型设计阶段,主要是确定应用系统所需要的在逻辑数据模型设计阶段,主要是确定应用系统所需要的持久数据,使用持久数据,使用Use CaseUse Case图、顺序图、活动图等建立系统图、顺序图、活动图等建立系统Use CaseUse Case模型模型,使用类图、顺序图、活动图、状态机图等使用类图、顺序图、活动图、状态机图等建立数据库逻辑模型建立数据库逻辑模型。对于关系数据库,须要设计出表达持久数据的实体类对于关系数据库,须要设计出表达持久

16、数据的实体类(Entity ClassEntity Class)及其联系,并把它们映射成为关系数据库及其联系,并把它们映射成为关系数据库表表、视图等。视图等。在物理数据模型设计阶段,使用类图、组件图、配置图等,在物理数据模型设计阶段,使用类图、组件图、配置图等,设计数据库的物理模型。设计数据库的物理模型。在物理实现设计阶段,把物理数据模型转换到实际的数据在物理实现设计阶段,把物理数据模型转换到实际的数据库环境。库环境。13.1.3 13.1.3 数据库设计方法与过程数据库设计方法与过程HomeUMLUML用于数据库设计的规范(用于数据库设计的规范(UML profile for Databas

17、e UML profile for Database DesignDesign)是是UMLUML语言中针对数据库建模和设计需要的专用语言中针对数据库建模和设计需要的专用部分部分。它它遵循遵循UMLUML标准,而且容易使用和理解。标准,而且容易使用和理解。本节介绍的内容主要基于关系数据库的概念,适用于关系本节介绍的内容主要基于关系数据库的概念,适用于关系数据库的建模和设计。数据库的建模和设计。13.2 13.2 UMLUML用于数据库设计的用于数据库设计的规范规范 Home13.2 13.2 UMLUML用于数据库设计的用于数据库设计的规范规范Home13.2.1 13.2.1 表表13.2.2

18、 13.2.2 关键字与索引关键字与索引13.2.3 13.2.3 约束约束13.2.4 13.2.4 联系联系13.2.5 13.2.5 视图视图13.2.6 13.2.6 数据库与数据库模式数据库与数据库模式13.2.7 13.2.7 表空间与节点表空间与节点表(表(TableTable)是关系数据库的基本建模结构。是关系数据库的基本建模结构。表又称为二维表、关系,它是具有相同结构的行的集合,表又称为二维表、关系,它是具有相同结构的行的集合,行又称为元组,其中包含数据。行又称为元组,其中包含数据。表中的每一列又称为关系的属性。表中的每一列又称为关系的属性。任一行与列交叉点的元素称作分量。每

19、一个数据必须作为任一行与列交叉点的元素称作分量。每一个数据必须作为一个分量值存储。一个分量值存储。每个属性所对应的变化范围简称域每个属性所对应的变化范围简称域,它是一个值的集合,它是一个值的集合,关系中所有属性的实际值均来自于它所对应的域。关系中所有属性的实际值均来自于它所对应的域。每一个表有一个关系模式(每一个表有一个关系模式(Relational SchemeRelational Scheme),),它由一个它由一个表名以及它所有的列名构成,它是一个二维表的表头,规表名以及它所有的列名构成,它是一个二维表的表头,规定该表的组成、列的特性,以及完整性约束等。定该表的组成、列的特性,以及完整性

20、约束等。表结构及有关的术语如图表结构及有关的术语如图13.113.1所示。所示。13.2.1 13.2.1 表表Home例:一个例:一个学生表学生表,如图如图13.113.1所示。所示。13.2.1 13.2.1 表表Home图13.1 表结构与术语 列、属性 学号 姓名 年龄 性别 籍贯 03010027 胡 伟 22 男 湖南 03010652 张春明 24 男 河北 03011091 程会军 23 男 山西 03020668 王 翌 22 女 四川 03020675 贺正生 23 男 广东1525地名集男/女4位汉字8位字符 关系模式 行、元组 域学生关系在在UMLUML中表用类表示,带

21、有构造型图标中表用类表示,带有构造型图标“”或或Table,类名即表名,类的属性描述表的列特性,包括类名即表名,类的属性描述表的列特性,包括列名、数据类型,以及有关的约束。在类的行为部分,根列名、数据类型,以及有关的约束。在类的行为部分,根据需要可以给出对表的一些操作,也可以缺省。据需要可以给出对表的一些操作,也可以缺省。例:图例:图13.113.1的学生表的的学生表的UMLUML类图标表示,如图类图标表示,如图13.213.2所示所示 13.2.1 13.2.1 表表HomeSTUDENTSPK Sno:LONG INTSname:CHAR(8)Sex:CHAR(2)Birth:DATEBp

22、lace:VARCHAR(48)PK_Student()COURSESPK Cno:CHAR(4)Cname:CHAR(24)Credit:INTHours:INTPK_Course()图13.2 学生表与课程表 1 1关键字关键字关键字(关键字(KeyKey)用于存取表中的数据。用于存取表中的数据。主关键字(主关键字(PrimeryPrimery Key Key)是一个属性或属性组,它的值唯是一个属性或属性组,它的值唯一地标识表中的行。一地标识表中的行。外来关键字(外来关键字(Foreign KeyForeign Key)是一个属性或属性组,它在本是一个属性或属性组,它在本表中不是关键字,不

23、能唯一地标识表中的行,但它在另一表中不是关键字,不能唯一地标识表中的行,但它在另一个表中是主关键字,能够唯一地标识该表中的行。外来关个表中是主关键字,能够唯一地标识该表中的行。外来关键字体现了两个表的联系,实现表之间的参照完整性。键字体现了两个表的联系,实现表之间的参照完整性。设置设置在属性前面的图标在属性前面的图标“PKPK”表明该属性是主关键字,图表明该属性是主关键字,图标标“FKFK”标志外来关键字。标志外来关键字。主关键字和外来关键字的表示也可以分别使用构造型主关键字和外来关键字的表示也可以分别使用构造型PK和和FK。13.2.2 13.2.2 关键字与索引关键字与索引Home 2 2

24、索引索引 索引(索引(IndexIndex)支持快速数据支持快速数据存取的物理结构。存取的物理结构。在表中可以指定某个属性作在表中可以指定某个属性作为索引项,或指定某几个属为索引项,或指定某几个属性组成多级索引项。性组成多级索引项。在表的在表的UMLUML图标中,索引用图标中,索引用加在一个操作前面的构造型加在一个操作前面的构造型“index”表示,如图表示,如图13.313.3所示。所示。13.2.2 13.2.2 关键字与索引关键字与索引HomeTEACHERS PK Tno:LONG INT Tname:CHAR(8)Sex:CHAR(2)Position:CHAR(12)FK Dept

25、:CHAR(24)PK_Teachers11()FK_Teachers12()TC_Teachers210()TC_Teachers211()TRIG_Teachers13()TC_Teachers14()图13.3 带有索引与约束的表 约束(约束(ConstraintConstraint)是一种施加于数据库结构的规则,用于保证数据库的是一种施加于数据库结构的规则,用于保证数据库的完整性。完整性。约束描述数据库的动态行为,而表和列只表示数据库的静态结构方面。约束描述数据库的动态行为,而表和列只表示数据库的静态结构方面。在在UMLUML数据库设计规范中定义了多种约束,包括主关键字约束、外来数据库

26、设计规范中定义了多种约束,包括主关键字约束、外来关键字约束、触发器约束(关键字约束、触发器约束(TriggerTrigger)、)、值检验约束(值检验约束(Value Value VerificationVerification)、)、值唯一性约束(值唯一性约束(UniquenessUniqueness)等。等。它们都用带有相应构造型的一个操作实现,如图它们都用带有相应构造型的一个操作实现,如图13.313.3所示。所示。(1 1)主关键字约束)主关键字约束 主关键字约束定义一个表的主关键字,每一个表中只允许有一个主关键主关键字约束定义一个表的主关键字,每一个表中只允许有一个主关键字。字。主关

27、键字约束使用构造型主关键字约束使用构造型PK表示。表示。构造型构造型PK也可以用一个小图标也可以用一个小图标“PKPK”代替。代替。构造型构造型PK可以加在一个属性名称的前面,以指定该属性为主关键可以加在一个属性名称的前面,以指定该属性为主关键字,也可以加在一个操作名称的前面,以标志该操作的类型。字,也可以加在一个操作名称的前面,以标志该操作的类型。13.2.3 13.2.3 约束约束Home(2 2)外来关键字约束)外来关键字约束 外来关键字约束是实现表之间联系的约束,通常定义在子表中。外来关键字约束是实现表之间联系的约束,通常定义在子表中。外来关键字是这样的列,它在父表中是主关键字,而在子

28、表中则不是关外来关键字是这样的列,它在父表中是主关键字,而在子表中则不是关键字。键字。外来关键字约束使用构造型外来关键字约束使用构造型FK表示。表示。构造型构造型FK也可以用一个小图标也可以用一个小图标“FKFK”代替。代替。构造型构造型FK可以加在一个属性名称的前面,以指定该属性为外来关可以加在一个属性名称的前面,以指定该属性为外来关键字,也可以加在一个操作名称的前面,以标志该操作的类型。键字,也可以加在一个操作名称的前面,以标志该操作的类型。(3 3)触发器约束)触发器约束 触发器(触发器(TriggerTrigger)是一种特殊类型的存储过程,触发器的活动是由其它是一种特殊类型的存储过程

29、,触发器的活动是由其它活动的结果自动触发执行的,这一般是对数据库中的数据进行更新操活动的结果自动触发执行的,这一般是对数据库中的数据进行更新操作(插入、删除、修改)的一种副作用。作(插入、删除、修改)的一种副作用。触发器用于保证数据库的完整性。触发器用于保证数据库的完整性。触发器约束使用构造型触发器约束使用构造型Trigger表示,它加在一个操作名称的前面。表示,它加在一个操作名称的前面。13.2.3 13.2.3 约束约束Home(4 4)值检验约束)值检验约束 表中的列值可以按照某个规则检验其值的正确性,不但可表中的列值可以按照某个规则检验其值的正确性,不但可以把列值与一个固定的值范围作比

30、较,而且可以把列值与以把列值与一个固定的值范围作比较,而且可以把列值与数据库中的其它数据作比较。数据库中的其它数据作比较。值检验约束使用构造型值检验约束使用构造型Check表示,它可以加在一个操表示,它可以加在一个操作名称的前面,以标志该操作是一个值检验约束操作。作名称的前面,以标志该操作是一个值检验约束操作。(5 5)值唯一性约束)值唯一性约束 值唯一性约束保证所指定的列的所有值都是互不相同的,值唯一性约束保证所指定的列的所有值都是互不相同的,即该列的每一个值都是唯一的。即该列的每一个值都是唯一的。值唯一性约束使用构造型值唯一性约束使用构造型Unique表示,它可以加在一表示,它可以加在一个

31、操作名称的前面,以标志该操作是一个值唯一性约束操个操作名称的前面,以标志该操作是一个值唯一性约束操作。作。13.2.3 13.2.3 约束约束Home表之间的任何依赖关系称为联系(表之间的任何依赖关系称为联系(RelationshipRelationship)。)。一个联系是一个带有联系构造型的关联(一个联系是一个带有联系构造型的关联(AssociationAssociation)和一和一组主关键字、外来关键字的整合(组主关键字、外来关键字的整合(SummarySummary)。)。每一个联系都存在于父表和子表之间,父表中必须定义有每一个联系都存在于父表和子表之间,父表中必须定义有主关键字,而

32、子表则有外来关键字列和外来关键字约束,主关键字,而子表则有外来关键字列和外来关键字约束,用于访问父表。用于访问父表。联系有两种:非确定联系和确定联系。联系有两种:非确定联系和确定联系。非确定联系(非确定联系(Non-Identifying RelationshipNon-Identifying Relationship)是存在于两个独是存在于两个独立表之间的联系,在子表中的外来关键字为非主关键字。立表之间的联系,在子表中的外来关键字为非主关键字。确定联系(确定联系(Identifying RelationshipIdentifying Relationship)是存在于有依赖的两个是存在于有依

33、赖的两个表之间的联系,若父表不存在,则子表也不可能存在,子表之间的联系,若父表不存在,则子表也不可能存在,子表的存在依赖于父表的存在。在父表中的全部的主关键字表的存在依赖于父表的存在。在父表中的全部的主关键字列成为子表中的主关键字列和外来关键字列。列成为子表中的主关键字列和外来关键字列。13.2.4 13.2.4 联系联系Home ENROLLS Sno:LONG INT Cno:CHAR(8)Grade:INTPK_Enrolls10()FK_Enrolls11()FK_Enrolls12()TC_Enrools20()联系的构造型和图形表示,如图联系的构造型和图形表示,如图13.413.4

34、所示。所示。13.2.4 13.2.4 联系联系Home TEACHERSPK Tno:LONG INT Tname:CHAR(8)S ex:CHAR(2)Position:CHAR(12)FK Dept:CHAR(24)PK_ Teachers11()FK_Teachers12()STUDENTSPK Sno:LONG INT Sname:CHAR(8)Sex:CHAR(2)Birth:DATE Bplace:VARCHAR(48)PK_Student()STUDENTSPK Sno:LONG INT Sname:CHAR(8)Sex:CHAR(2)Birth:DATE Bplace:VAR

35、CHAR(48)PK_Student()图13.4 表之间的联系 视图(视图(ViewView)是一个虚表,它代表具有相同结构的一组数据记录,只不是一个虚表,它代表具有相同结构的一组数据记录,只不过它的物理上的数据来源是某一个或多个表。过它的物理上的数据来源是某一个或多个表。视图不是物理存在的,它不包含真正存储的数据,不占存储空间;但视视图不是物理存在的,它不包含真正存储的数据,不占存储空间;但视图可以象一般的表那样操作(少有限制)图可以象一般的表那样操作(少有限制)。真正物理存在的表称作实表或基本表。真正物理存在的表称作实表或基本表。在同一个基本表上可以创建多个视图,一个视图也可以在几张表上

36、创建。在同一个基本表上可以创建多个视图,一个视图也可以在几张表上创建。此外,一个视图也可以从另一个视图创建。此外,一个视图也可以从另一个视图创建。在在UMLUML中,视图用带有构造型图标中,视图用带有构造型图标“”“”或或View的类表示。的类表示。视图的属性必须与其来源表中相应的属性一致。在视图的行为部分,根视图的属性必须与其来源表中相应的属性一致。在视图的行为部分,根据需要可以给出一些操作,也可以缺省。视图与其存储来源数据的父据需要可以给出一些操作,也可以缺省。视图与其存储来源数据的父表或父视图之间的关系用带有构造型表或父视图之间的关系用带有构造型Derived的依赖表示。的依赖表示。视图

37、象数据库的一个窗口。它提高了数据库对于应用程序的独立性,有视图象数据库的一个窗口。它提高了数据库对于应用程序的独立性,有利于保持数据的一致性;简化了复杂查询,可以只在视图上查询,而利于保持数据的一致性;简化了复杂查询,可以只在视图上查询,而不必在基本表上查询;提供了一种保持数据库安全性的手段。不必在基本表上查询;提供了一种保持数据库安全性的手段。13.2.5 13.2.5 视图视图Home例:从学生表建立的一个视图男学生,如图例:从学生表建立的一个视图男学生,如图13.513.5所示。它只所示。它只包含全部男生的数据。包含全部男生的数据。13.2.5 13.2.5 视图视图Home BOYST

38、UDENT Sno:STUDENTS.SnoSname:STUDENTS.SnameSex:STUDENTS.SexBirth:STUDENTS.BirthSTUDENTSPK Sno:LONG INT Sname:CHAR(8)Sex:CHAR(2)Birth:DATE Bplace:CHAR(24)PK_Student()STUDENTS图13.5 视图男学生 1 1数据库数据库数据库(数据库(DatabaseDatabase,DBDB)是一种对用户透明的物理结构,是一种对用户透明的物理结构,用于存储数据,并控制对所存储的数据的存取。用于存储数据,并控制对所存储的数据的存取。数据库中的数据

39、常是某一组织中各种应用所需要保存和处数据库中的数据常是某一组织中各种应用所需要保存和处理的数据的集合,数据结构化地存放在数据库中,完全地理的数据的集合,数据结构化地存放在数据库中,完全地或部分地消除了数据的冗余,数据库中的数据供用户共享。或部分地消除了数据的冗余,数据库中的数据供用户共享。在数据库中定义了数据库的类型(在数据库中定义了数据库的类型(TypeType),),以及对数据的以及对数据的约束,如数据类型、存储过程、语法等。约束,如数据类型、存储过程、语法等。在在UMLUML中,数据库用带有构造型中,数据库用带有构造型Database的组件表示,的组件表示,也可用一个柱型图标表示。也可用

40、一个柱型图标表示。在数据建模的组件图中,数据库经常与其它的类型的组件在数据建模的组件图中,数据库经常与其它的类型的组件一起定义应用和数据库之间的依赖关系。一起定义应用和数据库之间的依赖关系。13.2.6 13.2.6 数据库与数据库模式数据库与数据库模式Home例:例:组件图中的数据库示例,如图组件图中的数据库示例,如图13.613.6所示,其中有构造型为所示,其中有构造型为EJB_JAR的三个组件:的三个组件:WebWeb服务器、应用服务器、数据库服务器,服务器、应用服务器、数据库服务器,以及三个数据库:以及三个数据库:ERPERP、ACCOUNTSACCOUNTS、ORDERORDER。1

41、3.2.6 13.2.6 数据库与数据库模式数据库与数据库模式Home图13.6 组件图中的数据库 Web服务器应用服务器数据库服务器ERPOracle ACCOUNTSDB2 ORDER 2 2数据库模式数据库模式 数据库模式(数据库模式(SchemaSchema)是表的组织的基本单位,它存储了是表的组织的基本单位,它存储了用于数据存储和检索的数据模型的完整的描述。用于数据存储和检索的数据模型的完整的描述。一个数据库模式必须指派给一个数据库,而一个数据库可一个数据库模式必须指派给一个数据库,而一个数据库可以有一个或多个数据库模式。以有一个或多个数据库模式。对于关系数据库而言,一个具体的关系数

42、据库(对于关系数据库而言,一个具体的关系数据库(RelatioalRelatioal databasedatabase)是一个关系(表)的集合,而关系数据库模式是一个关系(表)的集合,而关系数据库模式(RelatioalRelatioal database Schema database Schema)是关系模式的集合,它存储是关系模式的集合,它存储了对关系数据的描述,包括对表的静态结构和完整性约束了对关系数据的描述,包括对表的静态结构和完整性约束的定义。的定义。在在UMLUML中,数据库模式用带有构造型中,数据库模式用带有构造型Schema的包表示,的包表示,通常用在类图中。通常用在类图中。

43、13.2.6 13.2.6 数据库与数据库模式数据库与数据库模式Home例:一个电子超市的数据库系统的数据库模式用包例:一个电子超市的数据库系统的数据库模式用包“E-E-Business-Business-DBDB”表示,表示,如如图图13.713.7所示。所示。13.2.6 13.2.6 数据库与数据库模式数据库与数据库模式HomeWeb InterfaceBusinessLogicE-Business-DB(from Schemas)DatabaseAccess图13.7 数据库与数据库模式 1 1表空间表空间 表空间(表空间(TablespaceTablespace)是指数据的存是指数据

44、的存储区域。表空间代表数据库系统,储区域。表空间代表数据库系统,它是数据库与节点之间的联系。它是数据库与节点之间的联系。一个数据库可以分布在一个或多个一个数据库可以分布在一个或多个表空间,这取决于数据库的数据量、表空间,这取决于数据库的数据量、数据访问要求和安全性要求。数据访问要求和安全性要求。表空间用带有构造型表空间用带有构造型的组件表示,表空的组件表示,表空间与数据库的联系用依赖表示。间与数据库的联系用依赖表示。例:一个在两个表空间上实现的数例:一个在两个表空间上实现的数据库据库TeachingDBTeachingDB,如如图图13.8 13.8 所示所示。13.2.7 13.2.7 表空

45、间与节点表空间与节点HomeTSP1TSP2TeachingDB图13.8 在两个表空间实现数据库 2 2节点节点 数据库驻留在节点(数据库驻留在节点(NodeNode)上。上。节点在配置图中使用,通过节点和节点之间节点在配置图中使用,通过节点和节点之间的联系,表达计算机系统的物理配置构造。的联系,表达计算机系统的物理配置构造。例:一个数据库系统的服务器端配置图,如例:一个数据库系统的服务器端配置图,如图图13.913.9所示。所示。13.2.7 13.2.7 表空间与节点表空间与节点Home13.2.7 13.2.7 表空间与节点表空间与节点HomeOraNetODBC应用服务器Oracle

46、 ServerMyDBServer1Web服务器DB2 ServerMyDBServer2SQL ServerMyDBServer3XMLJDBC图13.9 数据库系统(服务器端)配置图示例 13.3 13.3 关系数据库逻辑模型设计关系数据库逻辑模型设计Home13.3.1 13.3.1 逻辑数据模型设计逻辑数据模型设计13.3.2 13.3.2 从类创建表从类创建表13.3.4 13.3.4 触发器与存储过程触发器与存储过程13.3.3 13.3.3 联系的映射联系的映射在逻辑数据模型设计阶段,主要任务是确定应用系统所需要长期保存的在逻辑数据模型设计阶段,主要任务是确定应用系统所需要长期保

47、存的持久性数据,建立数据库的逻辑模型。持久性数据,建立数据库的逻辑模型。对于关系数据库,则需要根据系统中的实体类,创建关系数据库模式,对于关系数据库,则需要根据系统中的实体类,创建关系数据库模式,包括表、视图、索引等数据结构元素的设计,以及相应的触发器、存包括表、视图、索引等数据结构元素的设计,以及相应的触发器、存储器的设计。储器的设计。数据库设计是在对数据库应用系统做常规数据库设计是在对数据库应用系统做常规的的UMLUML系统分析设计的基础系统分析设计的基础上进行的。上进行的。要从众多的对象类中分离并确定具有持久性数据的实体类。把它们转换要从众多的对象类中分离并确定具有持久性数据的实体类。把

48、它们转换成相应的关系数据库表,并且根据实体类的属性的特征,以及类之间成相应的关系数据库表,并且根据实体类的属性的特征,以及类之间的联系,进行适当的映射与处理,从而建立起一个完整的关系数据库的联系,进行适当的映射与处理,从而建立起一个完整的关系数据库逻辑模型。逻辑模型。与数据的增、删、改等有关的约束控制,可以采用触发器实现;更一般与数据的增、删、改等有关的约束控制,可以采用触发器实现;更一般的与数据存取有关的操作,可以采用存储过程实现。的与数据存取有关的操作,可以采用存储过程实现。在设计中应强调注意以下二点:注意关系数据库的结构特点在设计中应强调注意以下二点:注意关系数据库的结构特点,注意数据注

49、意数据库应用系统的性能。库应用系统的性能。13.3.1 13.3.1 逻辑数据模型设计逻辑数据模型设计Home将类转换为表的最简单做法是一对一映射,即为每一个实体类创建一个将类转换为表的最简单做法是一对一映射,即为每一个实体类创建一个表。类中的属性就是表中的列,类中的关键字就是表的关键字。表。类中的属性就是表中的列,类中的关键字就是表的关键字。在进行属性的映射时,必须注意数据类型的转换,即要把对象类的属性在进行属性的映射时,必须注意数据类型的转换,即要把对象类的属性在原来所采用的应用模型中的数据类型,转换为数据库模型中的列的在原来所采用的应用模型中的数据类型,转换为数据库模型中的列的数据类型。

50、数据类型。导出属性往往不必作为持久性数据存储在数据库中。当须要使用这些导导出属性往往不必作为持久性数据存储在数据库中。当须要使用这些导出属性数据时,只要调用某个相关的程序进行计算推演即可。这可用出属性数据时,只要调用某个相关的程序进行计算推演即可。这可用存储过程或一个程序段实现。存储过程或一个程序段实现。从类创建表的过程中,需要根据数据的完整性和安全性方面的要求,指从类创建表的过程中,需要根据数据的完整性和安全性方面的要求,指定主关键字和外来关键字,增加必要的约束条件,如合法输入值校验定主关键字和外来关键字,增加必要的约束条件,如合法输入值校验等,做成操作函数列入相应的表模型中。等,做成操作函

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com