首页 UML第课数据建模ppt课件

UML第课数据建模ppt课件

举报
开通vip

UML第课数据建模ppt课件第4章数据建模第4章数据建模第4章数据建模*主要内容:关系数据库模型的概念面向对象数据模型到关系设计模型的转换映射面向对象数据模型中类、类之间的关系到关系数据库设计模型的转换方法与步骤利用Rose完成面向对象系统的数据库设计与建模第4章数据建模*对于一个面向对象的系统,持久对象的存储依赖于面向对象数据库系统来完成,但至今还没有公认的面向对象数据库管理系统。目前成熟的商业数据库都是关系数据库,可以用关系数据库来代替面向对象数据库系统。数据库设计是系统开发的关键部分,系统数据库设计的关键就是完成面向对象数据模型到关系数...

UML第课数据建模ppt课件
第4章数据建模第4章数据建模第4章数据建模*主要内容:关系数据库模型的概念面向对象数据模型到关系 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 模型的转换映射面向对象数据模型中类、类之间的关系到关系数据库设计模型的转换方法与步骤利用Rose完成面向对象系统的数据库设计与建模第4章数据建模*对于一个面向对象的系统,持久对象的存储依赖于面向对象数据库系统来完成,但至今还没有公认的面向对象数据库管理系统。目前成熟的商业数据库都是关系数据库,可以用关系数据库来代替面向对象数据库系统。数据库设计是系统开发的关键部分,系统数据库设计的关键就是完成面向对象数据模型到关系数据库设计模型的转换。作为一个面向对象的信息管理系统,数据库设计是系统开发的关键部分,好的数据库设计有助于保证系统数据的整体性、完整性和共享特性。目前成熟的商业数据库都是关系数据库,本章以MicrosoftSQLServer2000关系数据库管理系统为例作简要介绍。4.1基本概念第4章数据建模*数据库数据的总体逻辑结构称为模式(Schemas)。关系数据库数据的总体逻辑结构是关系模式,这些数据结构的关系模式通过各种表来描述。一个面向对象的系统,要利用关系数据库来表示对象模型需要进行一定的转换,即把面向对象模式的数据模型转换成关系模式的数据模型。其思想可以用如图所示的建模方法表示。第4章数据建模*面向对象系统的类模型向关系数据库模式转换的映射方式主要包括两方面的映射:一种是对象类的映射。另一种是类之间关系的映射。4.1.1对象类映射第4章数据建模*对象类映射主要是指对象标识、属性类型和类三个方面的映射。对象标识符(OID)映射为一张表的主键,如果类中缺少对象标识可以为每个类增加一个对象标识符属性,并将其映射为数据库中相应表的主键。属性类型映射对应于数据库相应表中的域,域的使用可使数据库设计更具一致性,优化数据库应用的可移植性。在实际应用中应为映射域的约束条件加入SQL语句,用以约束、检查域的取值。类映射为一张数据库表,类的属性映射为表的各列(各个域),类的对象映射为表中的各条记录。第4章数据建模*注意下面几种特殊情况:类的属性中某些属性只是暂时性使用,不需要在数据库中永久保存,则该类属性无须映射。类由于附加对象标识符OID或附加关联关系等原因,需要在表中增加一些新的列(域)。映射后的列(域)应符合关系模型的范式要求,如果不符合则需要应用范式设计理论优化,以达到较好的数据冗余、数据完整性以及灵活性。4.1.2类间关系映射第4章数据建模*类间关系映射相对对象类映射更复杂一些。类间关系包括关联、聚集、泛化、组合等。关联关系映射关联关系描述了系统中对象或实例之间的离散连接,是一种结构关系,关联涉及的对象数目称为阶元,阶元的大小反映了关联的多重性。第4章数据建模*根据阶元不同关联关系可以分为一对一、一对多和多对多等关联。对象类间的一对一关联。可以在两个对象类转换成的关系模式中的任意一个模式内加入一个外键,指向另一个模式的主键,即可建立两个表之间的连接。对象类间的一对多关联。可以通过在具有多个对象的类的关系模式中加入一个外键,指向另一模式的主键建立两个表的连接。实现对象类间的多对多关联。需要将类之间的关联也设计成一个类——关联类,把一个多对多的关联转化成两个一对多的关联。引入的该关联类映射为关系数据库中的一个关联表,用来映射关联对象。在新增的关联表中设置一个标识符作为主键,加入两个外键分别指向初始关联的两个关系模式表的主键。第4章数据建模*聚集关系映射聚集是一种特殊的关联关系,表示“has-a”关系。将这种关系映射到关系模式时可分为两种情况:聚集关系较为紧密的情况下两个类可以映射到一张表中。聚集关系较为松散的时候可以参照一对多关联的映射方法,在子类映射的表中增加一个指向超类类表主键的外键。第4章数据建模*泛化关系映射对于泛化关系的映射有三种方法。一种是把类层次映射成一张表,泛化关系中的所有类都映射在单个表中,同时增加一个对象标识符和一个用于标识角色类型的对象类型。这种方法的耦合度高。另一种方法是每个子类映射为单个表,将超类的属性复制到子类中。在各子类中增加各自的对象标识符。这种方法的耦合度也比较高。第三种方法是每个类映射为单个表,每张表中的对象标识符都设为超类的类表中的对象标识符,在子类的类表中,对象标识符既是主键又是外键。这种方法将创建过多的表,增加数据库访问时间。第4章数据建模*组合关系映射组合关系是一种特殊的聚集关系,表示“contains-a”关系。向关系模式的映射可以参照聚集关系。此时整体和部分的所有关系存在很强相互依赖和—致的生命周期(共生死),子类(部分)映射成的子表的外键不能为空。UML中的动态结构转换成关系数据模式时可能映射成唯一性约束、主键约束、外键约束、检查约束、索引或者触发器等。4.2数据库设计的基本过程第4章数据建模*数据库设计主要涉及3个阶段,即:概念设计。逻辑设计。物理设计。如图:第4章数据建模*概念设计阶段把用户的信息要求统一到一个整体逻辑结构中,此结构能表达用户的要求,且独立于任何数据库管理系统(DBMS)软件和硬件。逻辑设计阶段的任务就是把概念设计阶段得到的结果转换为与选用的DBMS所支持的数据模型相符合的逻辑结构。对于关系数据库而言,逻辑设计的结果是一组关系模式的定义,它是DBMS能接受的数据库定义。物理设计阶段的任务是对给定的逻辑数据模型选取一个最适合应用要求的物理结构。数据库的物理结构包括数据库的存储记录格式、存储记录安排、存取方法等,数据库的物理设计是完全依赖于给定的硬件环境和数据库产品的。第4章数据建模*在进行数据库设计时,有几个关键的概念,如:模式(schema)、主键(primarykey)、外键(foreignkey)、域(domain,也称attributetypes)、关系(relationship)、约束(constraint)、索引(index)、触发器(trigger)、存储过程(storedprocedure)、视图(view)等。从某种意义上说,用UML进行数据建模就是要考虑如何用UML中的建模元素来表示这些概念,同时考虑满足引用完整性(referentialintegrity)、范式等要求。一般对于数据库中的这些概念,在UML中大都用版型来表示,在数据建模中常用的一些版型如表所示。第4章数据建模*4.3数据库设计的步骤第4章数据建模*结合Rose2003工具提供的功能来说明如何用UML的类图进行数据库设计,在Rose2003中数据库设计的步骤如下:创建数据库对象。这里所说的数据库对象是指Rose中构件图中的一个构件,其版型为Database。创建模式(schema)。对于关系数据库来说,模式可以理解为所有表及表与表之间的关系的集合。创建域包(domainpackage)和域(domain)。域可以理解成某一特定的数据类型,它起的作用和VARCHAR2、NUMBER等数据类型类似,但域是用户定义的数据类型。第4章数据建模*创建数据模型图(datamodeldiagram)。表、视图等可以放在数据模型图中,类似于类放在类图中一样。创建表(table)。如果有必要,也可以创建视图,视图是类的<>版型。创建列(column)。在表中创建每一列,包括列名、列的属性等。创建关系(relationship)。如果表与表之间存在关系,则创建它们之间的关系。在必要的情况下对数据模型进行规范化,如从第二范式转变为第三范式。在必要的情况下对数据模型进行优化。实现数据模型。在Rose2003中,可以直接根据数据模型生成具体数据库(如SQLServer、Oracle等)中的表、触发器、存储过程等,也可以根据数据模型先生成SQL语句,以后再执行这些SQL语句,得到具体数据库中的表、触发器、存储过程等。第4章数据建模*在Rose2003中用于数据建模的菜单都在DataModeler下。在Rose2003的浏览窗口中用鼠标右击选中的对象,在弹出式菜单中选DataModeler菜单项,如图所示。其中灰色的选项表示当前不可用的菜单项。第4章数据建模*下面是具体的操作步骤:在构件视图(componentview)中创建数据库对象。创建数据库对象时默认的目标数据库为ANSISQL92,也可设为其他数据库,如SQLServer2000、Oracle9.x、IBMDB2等。如图所示创建的数据库对象名为DB_0,目标数据库设为SQLServer2000。第4章数据建模*第4章数据建模*第4章数据建模*在逻辑视图(logicalview)中创建模式,并选定目标数据库。如图所示创建的模式名为schema0,选定的目标数据库是DB_0。第4章数据建模*在逻辑视图中创建域包和域。首先创建域包。如图所示创建的域包的名字为DP_0,设定的DBMS是SQLServer,也就是说,在这个域包下定义的域是针对SQLServer数据库的。第4章数据建模*第4章数据建模*再创建域。域可看作是定制的数据类型,可以为每个域加检查语句。如图所示创建的域的名字是DOM_0,数据类型为VARCHAR,长度为4,有惟一性约束和非空约束。创建了域DOM_0后,以后在定义表的列的时候,就可以把该列的类型定义为DOM_0。第4章数据建模*第4章数据建模*创建数据模型图。数据模型图在模式下创建。创建表。在数据模型图中创建表。创建列。在表上建立列。如图所示创建的表数据模型图的名字是DataModelDiagram,表是Table1和Table2。在表Table1中创建了列COL_0和COL_1,其中列COL_0为主键。在表Table2中创建了列COL_2、COL_3、COL_4,其中列COL_2为主键,列COL_4的类型为步骤3②中创建的域DOM_0。第4章数据建模*第4章数据建模*第4章数据建模*第4章数据建模*第4章数据建模*创建表与表之间的关系。表与表之间存在两种关系,即非确定性(non-identifying)关系和确定性(identifying)关系。非确定性关系表示子表不依赖于父表,可以离开父表单独存在。用关联、聚集关系的<>版型表示。确定性关系表示子表不能离开父表而单独存在。用组合关系的<>版型表示。创建了数据模型后,还要将模型规范化,如转换为3NF。第4章数据建模*优化数据模型,如创建索引、视图、存储过程、非规范化(denormalization)、使用域等。索引可以用操作的<>版型表示。视图是类的<>版型。存储过程是操作的<>版型。由于存储过程不是单独作用于表的,而是跟特定的数据库联系在一起的,具有全局性,所以把所有的存储过程放在效用(utility)中(效用是类的版型,用于表示全局性的变量或操作),如图所示。第4章数据建模*触发器是作为操作的<>版型,由于触发器一定是和具体的表相关的,所以建模时触发器是作为某个表的操作部分的版型表示的,如图所示。第4章数据建模*实现数据模型,也就是利用Rose2003产生数据定义语言(DDL)或直接在数据库中创建表。下面对第7步中涉及的表与表之间的非确定性关系和确定性关系做些说明。在这两种关系中,子表中都增加外键以便支持关系。对非确定性关系,外键并不成为子表中主键的一部分;对确定性关系,外键成为子表中主键的一部分。当非确定性关系的父表一端的多重性为1或1..n时,称作强制的(mandatory)非确定性关系。当非确定性关系的父表一端的多重性为0..1或0..n时,称作可选的(optional)非确定性关系。下面是表与表之间的各种关系的例子。第4章数据建模*第4章数据建模*4.4对象模型和数据模型的相互转换第4章数据建模*在Rose2003中,对象模型(类图)和数据模型可以相互转换。这种转换不是UML规范说明中要求的,是Rose2003提供的一个功能,在转换过程中会用到包这种结构。4.4.1对象模型转换为数据模型第4章数据建模*所谓对象模型转换为数据模型,简单地说,就是把类转换为表,类与类之间的关系转换为表与表之间的关系,或者也转换为表。在Rose2003中可以把逻辑视图下的包直接转换为数据模型,但这种转换必须是对包进行的。也就是说,要转换的类要放在某个包中,然后把整个包中的所有类都转换过去。第4章数据建模*下面给出转换的具体步骤:首先按照上节中介绍的步骤在Rose2003的构件视图下创建数据库对象。在逻辑视图下创建包,例如Demo包,并在包中创建类,例如类Flight和类FlightAttendant,在类Flight和类FlightAttendant之间建立多对多的关联,如图下所示。需要注意的是,类Flight和类FlightAttendant必须要设置为Persistent(表示该类具有持久性,这个属性可以在类的Specification对话框的Detail标签下设置),对于非Persistent的类(创建类时,默认是非Persistent的),在转换时不会生成对应的表。在这个例子中,类与类之间是多对多的关联,也可以是别的关系,如1对多关联、泛化关系等,同样可以转换过去。第4章数据建模*第4章数据建模*用鼠标右击包DEMO,在弹出的菜单中选DataModeler→TransformtoDataModel…第4章数据建模*弹出对话框,如下图所示。在这个对话框中,可以对要生成的数据模型做一些设置,如要生成的模式的名字、目标数据库、所生成的表名的前缀等,也可以选择是否要对外键生成索引。这里把目标数据库设为在第1步中创建的数据库对象DB_0,其他的选项采用默认值,然后单击OK按钮即可。第4章数据建模*这时在逻辑视图的Schemas包下会创建S_1模式(实际上也是一个包),在S_1模式中有表T_Flight、T_0、T_FlightAttendant。为了显示表与表之间的关系,还需要按上节中介绍的步骤手工创建一个数据模型图,例如NewDiagram1。然后把这3个表拖动到数据模型图中,表与表之间的关系就自动显示出来了。如图所示。第4章数据建模*第4章数据建模*需要说明的是,把对象模型转换为数据模型,其结果并不是惟一的。Rose2003中生成的对象模型只是其中的一种结果,如果用户觉得需要,也可以自己根据对象模型创建数据模型,结果可以不一样。4.4.2数据模型转换为对象模型第4章数据建模*对象模型和数据模型的开发往往是并行进行的,所以在建模过程中不只是有对象模型向数据模型转换的需要,同样也有数据模型向对象模型转换的需要。所谓数据模型向对象模型的转换,简单地说,就是把表转换为类,表与表之间的关系转换为类与类之间的关系。下面给出数据模型向对象模型转换的例子,这里的数据模型以上节中得到的数据模型为例,然后把它转换为对象模型,并与最初的对象模型做比较。第4章数据建模*转换的具体步骤如下:数据模型向对象模型的转换是对模式(即包的<>版型)进行的。Rose2003会把一个模式中的所有表及其关系转换为对象模型,而不会对单个的表进行转换。用鼠标右击图中的<>S_1,在弹出的菜单中选择DataModeler→TransformtoObjectModel…菜单项,如图所示。第4章数据建模*第4章数据建模*这时会弹出一个对话框;如图所示。在这个对话框中,可以对要生成的对象模型做一些设置,如要生成的包的名字、所生成的类名的前缀等,也可以选择是否根据表的主键生成类中对应的属性。这里使用默认值,即包名为OM_S_1,类名的前缀为OM_,不选择生成对应主键的属性,然后单击OK按钮即可。第4章数据建模*这时在逻辑视图下会创建包OM_S_1,在这个包中有M_T_Flight类和OM_T_FlightAttendant类。为了显示类与类之间的关系,还需要创建一个类图,例如NewDiagram2。然后把这两个类拖动到类图中,类与类之间的关系就自动显示出来了。如图所示。第4章数据建模*4.5数据库案例 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 第4章数据建模*依照下图所示的类图作为案例,采用Rose对其进行关系数据库设计建模。第4章数据建模*在上图中,各个类之间的关糸有:1)泛化关系。People类和SalesClerk类是泛化(继承)关系,People类是超类,SalesClerk类是子类。2)一对多的关联关系。SalesClerk类和SalesContract类是一对多的关联关系,表示一个SalesClerk类对象可对应多个SalesContract类对象,而一个SalesContract类对象只能对应一个SalesClerk类对象。同样,Client类和SalesContract类也是一对多的关联关系。3)多对多的关联关系。SalesContract类和Product类之间是多对多的关联关系,其实际意义是一个SalesContract类对象可以对应多个Product类对象,一个Product类对象也可以对应多个SalesContract类对象。第4章数据建模*首先对People类和SalesClerk类进行映射转换,它们之间是泛化(继承)关系,采用每个子类映射为单个表,将超类的属性复制到子类映射的表中。然后在各子类映射的表中增加各自的对象标识符。4.5.1创建数据库关系模式生成器第4章数据建模*首先运行RationalRose系统。在左侧浏览器窗口用鼠标右键单击逻辑视图“LogicView”,在弹出的菜单中选择数据模型生成器选项“DataModeler”,在弹出的下一级菜单中选择“New”选项,然后在弹出的下一级菜单中再选择模式“Schema”选项,即可开始将类生成相应的关系模式。后续的操作都在此基础上进行。第4章数据建模*在展开的模式“Schemas”对话框中,系统默认生成的名字为“S_0”的模式,右键单击打开模式规格说明“OpenSpecification…”对话框,将模式名称“S_0”修改为“进销存管理系统”。如图所示。第4章数据建模*在“进销存管理系统”选项上单击鼠标右键,在弹出的菜单中选择“DataModeler”,然后选择其“New-DataModelDiagram”子菜单创建一个新数据模型图。双击该图,工具栏按钮变成如图所示。4.5.2泛化关系映射的关系模式第4章数据建模*建立泛化关系映射的关系模式过程如下:单击工具栏上的“Table”图标按钮,在右侧窗口空白处单击鼠标添加一个表对象。打开表规格说明“Tablespecification…”对话框,在“General”页修改表名为“People”。在“Columns”页编辑表的列(域)属性,单击新建图标,或者在列表空白处选择右键快捷菜单“Insert”可创建一个新列,如图所示。第4章数据建模*在新添加的列(域)上单击右键,选择“OpenSpeclfication”,打开设置对话框设置该列(域)的名称、数据类型、长度、是否主键以及默认值。把People类的属性映射成表列,应为People类增加一个标识符属性PID,并将其映射为对应表的主键(表中右侧有红色“PK”字样的域)。完成后的People类对应的关系数据库二维表如图所示。依照以上方法完成salesClerk类映射的表单,如图所示4.5.3关联关系映射的关系模式第4章数据建模*类之间的关联关系映射到关系数据库中二维表关系模式的步骤如下。(1)一对多关联关系映射对销售人员类salesClerk与销售 合同 劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载 类SalesContract的一对多关联关系进行映射:1)分别建立两个类映射的关系数据库二维表。第4章数据建模*从图中可以看出,在销售人员SalesClerk表中有主键SalesClerkID,在销售合同salesContract表中有主键sConID。在SalesContract表中又增加了一个外键(表中右侧有红色“FK”字样的域)SalesClerkID,其指向为SalesClerk表的主键。第4章数据建模*客户Client类与销售合同SalesContract类之间也是一对多的关联,它们的映射可以仿照上面的步骤添加客户Client表和销售合同SalesContract表的关联。2)然后为两个类添加关联,选择“关联”图标,添加从销售人员SalesClerk表到销售合同SalesContract表的关联。3)双击刚添加的关联可以打开关联规格说明“OpenSpecification…”对话框,设置关联的属性,如图所示。此处添加的关联两端的阶元反映了实际业务的情况,保留默认的设置。完成后的两个表之间的关联模型图如图所示。第4章数据建模*(2)多对多关联关系映射在类图中产品Product类和销售合同SalesContract类是多对多的关联。在实际业务中,一个商品可能出现在多个销售合同中,一个销售合同也可能包括多个商品。1)添加关联类。依照多对多关联的映射方法,将产品Product类和销售合同SalesContract类之间的关联关系设计成一个新类——关联类,命名为SCon_Prod。这样就将一个多对多的关联转化成两个一对多的关联。2)各个类映射为关系数据库中的二维表。按照一对多的关联的映射方法步骤将关联双方的类(包括关联类)映射成相应的表,对应关联类,在映射表中增加一个关联表,其名为SCon_Prod,为该表添加一个标识符列(域)SCon_ProdID(在实际业务中需要添加更多的字段才能支持系统的功能)。第4章数据建模*3)添加三个表之间的关联。实际业务中一个销售合同对应至少一个商品列表,所以编辑SalesContract表和SCon_Prod表之间的关联,把SCon_Prod表端的阶元改为“1..n”。最终得到类图中五个类(再增加一个关联类)的类图映射的关系数据库的二维表,如下图所示。第4章数据建模*经过以上步骤,可以得到关系模式的表单,可以存放在关系型数据库中。4.5.4前项工程——代码生成第4章数据建模*RationalRose提供了前向工程(ForwardEngineering)支持,用来生成程序代码。1)在“进销存管理系统”模式上单击右键,选择弹出菜单中的选项“DataModeler”,在弹出的子菜单中再选择前向工程“ForwardEngineering…”,打开前向工程对话框,如图。第4章数据建模*第4章数据建模*2)单击“Next”进入下一个对话框进行功能设置,选择希望生成代码的模型元素。功能选项如图所示。第4章数据建模*3)单击“Next”选择保存脚本代码的文件。输入保存代码的文件名,选择好文件路径,点击“Next”完成。显示的对话框如图所示。第4章数据建模*第4章数据建模*此 课件 超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载 下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!
本文档为【UML第课数据建模ppt课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:ppt
大小:4MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2021-03-15
浏览量:0