1、PowerDesigner数据建模1实验报告共14页信息系统分析(fnx)与设计实验报告实验(shyn)序号:04 实验项目名称:PowerDesigner数据建模1学号 姓名专业、班级软件工程1103 实验地点计201指导教师时 间2014.10.27一、实验目的1) 了解系统分析和建模工具PowerDesigner的基本概念和操作界面。2) 了解PowerDesigner的4个模型:业务处理模型 (BPM) 、概念数据模型 (CDM) 、物理数据模型 (PDM) 和面向对象模型 (OOM) 及其相互关系与作用。3) 用PowerDesigner工具进行简单系统分析建模操作。二、实验内容1、
2、绘制E-R图,并转换成PDM模型步骤1:启动PowerDesigner,进入PowerDesigner的操作主界面,如图1所示。图1 PowerDesigner主界面步骤2:在File菜单中单击New命令,或者单击New (新建) 按钮,屏幕进一步显示如图2所示。图2 新建项目选择在Model type (模型类型) 框中,可以看到:Business Process Model (BPM业务处理模型) 、Conceptual Data Model (CDM概念数据模型) 、Object-Oriented Model (OOM面向对象模型) 和Physical Data Model (PDM物理
3、数据模型) 等选项。在此,我们选择CDM并按“确定”按钮。步骤3:进入PowerDesigner的CDM操作窗口,如图3所示。图3 CDM操作窗口在窗口上方横向有一组工具按钮图标,其中有实体的边框、联线、字体加粗、加黑等图标,但最常用的工具图标在Palette工具栏中,包括实体、关系、放大、缩小、移动等26个图标工具。读者用鼠标单击某个图标,再到界面中央单击 (例如,画实体框) ,或拖动 (例如,画实体关系联线) 即可。比如,“图书信息系统”的E-R图有5个基本实体,所以,单击实体图标 (Entity) ,然后在操作界面中单击5下,得到5个实体框并适当布局,如图4所示。图4 画实体框此时,这5
4、个实体还是空的,其名字可以临时任意选取,并且还没有属性。接下来,要逐步对每个实体的名字及其属性进行定义。步骤4:定义实体。用鼠标双击第一个实体框,打开实体属性定义窗口,如图5所示,开始定义实体“图书”。在该窗口中,有许多对实体进行描述的选项卡,用户可以根据需要,对实体的宏观特征进行定义或描述。图5 定义实体此例中,对Name栏输入“图书”,在Code处输入“Book”,在Number处输入实体中实例 (记录) 的最大个数“10000000”,它表示图书馆的最大藏书量最大可达一亿册。这个数字的作用,是便于计算并估计数据库服务器的磁盘容量。步骤5:定义属件、属性的约束和算法。单击Attribute
5、s按钮,进入定义该实体的属性界面,如图6所示。 图6 定义属性 图7 数据类型选项每一行定义一个属性,包括:属性名称,属性代码,数据类型,使用域、是否强制 (M) 、是否为主键 (P) 以及是否显示属性 (D) 等。属性名称在概念数据模型中显示,但在物理数据模型中忽略。本次操作中,需要定义的属性内容如表1所示。表1 定义“图书”(Book) 属性序号NameCodeData TypeDomainMPD1图书号Book_NoA102书名Book_NameVA203单价Book_PriceN6,24作者Book_AuthorVA605出版社Book_ConcernVA406出版日期Book_Dat
6、eD7借出标志Book_IDA1属性定义完毕,单击“确定”按钮返回。在定义字符类型的时候,可以通过单击“”按钮显示全部类型选项并从中选择,如图7所示。步骤6:同理,依次完成其他四个实体的属性定义。如图8和表25所示。 a) b) c) d)图8 其他实体的属性设置表2 定义“借还书”(Return) 属性序号NameCodeData TypeDomainMPD1借还日期Return_DateDT2借还标志Return_IDA1表3 定义“读者”(Reader) 属性序号NameCodeData TypeDomainMPD1Reader_NoA82姓名Reader_NameVA83证件号Read
7、er_IDVA204电话Reader_PhoneVA185地址Reader_AddressVA506E-mailReader_EmailVA20表4 定义“书库”(Library) 属性序号NameCodeData TypeDomainMPD1架位号Library_NoA202架位地址Library_AddressVA38表5 定义“单位”(Unit) 属性序号NameCodeData TypeDomainMPD1单位号Unit_NoVA102单位地址Unit_AddressVA503单位电话Unit_PhoneVA18步骤7:定义关系。当实体及其属性定义完成后,开始定义实体间的关系。在Pal
8、ette工具栏中选择Relationship图标,在相关联两个实体中的一个实体的图形符号上单击左键,拖动鼠标到另外一个实体释放,就可在两个实体之间建立联系,如图9所示。 图书和借还书之间是1:1的关系借还书与读者之间是n:1的关系读者和单位之间是n:1的关系图书和书库之间是n:1的关系其中关系name 自定义,code参照图12图9 定义关系基本关系分为一对一、一对多、多对多三种。连线的开叉一端代表多,不开叉的一端代表一,带小圆圈的端代表可选,即记录可能有也可能没有;带小十字的一端代表强制 (必须有记录) 。步骤8:双击表示联系的图形符号,可打开联系属性定义窗口,其中的General选项卡内容
9、如图9.13 a) 所示。 Name:此联系的名称,可以是中文信息。 Code:此联系的代码,必须是英文。 Comment:对联系的进一步说明,可以是中文信息,也可以为空。 Entity1和Entity2:两个关联实体的名称。Cardinalities选项卡用来填写联系的细节信息,如图10 b) 所示。其中: a) b)图10 联系属性定义窗口 One Many:联系的类型,如一对一、一对多、多对一、多对多等。 Cardinality:基数,“0,n”表示一个实体可以有0到n个联系实体;“1,1”表示一个实体必须对应另一个实体。 Dependent:依赖关系。表示实体所包含的基本信息必须依赖于
10、另一个实体的基本信息。步骤9:系统所有的实体、属性、关系都定义完毕后,单击“确定”按钮返回CDM主窗口。步骤10:可以在Tools菜单中单击Check Model命令来检查E-R图的错误。检查结果分为没有错误、错误和警告三类:错误是必须要改正的,警告 (例如,一个实体有外键而无主键) 可以改正也可以不改正。若没有错误,则保存此E-R图。至此,“图书信息系统”的概念数据模型CDM已经生成。CDM模型完成的是系统的概要设计,还需要通过PDM模型完成详细设计,并对CDM模型中的E-R图进行检验和修改。有了CDM模型之后,可以利用系统提供的自动转换功能将CDM模型转换成PDM模型,而不需要重新定义。步
11、骤11:选择生成PDM。在Tools菜单中单击Generate Physical Data Model命令,打开物理数据模型设置窗口,如图11所示。 Generate Physical Date Model:选中此项,表示生成新的物理数据概念模型。 DBMS:选择数据库类型。例如,选择Sybase AS Anywhere 9。 Name:物理数据模型的名称,例如“图书信息系统物理数据模型”。 Code:物理数据模型的代码,例如“tsgl_pdm”。在Detail选项卡中,可以进行物理数据模型的细节属性设置。图11 物理数据模型设置窗口在Selection选项卡,可以选择概念数据模型中已定义的实
12、体。选择完毕后,单击“确定”按钮,开始生成物理数据模型,如图12所示。图12 生成PDM可以利用鼠标拖动实体框和关联线,对PDM图形进行调整,直到图形整齐、美观为止,最后进行保存。从图上可见,PDM与物理建表已经很接近。步骤12:此外,可以通过在File菜单中单击New命令,在打开的窗口中选择Multi-Model Report选项,来生成并打印CDM或PDM的各类文档资料。还可以生成创建表、创建索引、创建触发器的程序。2、将PDM模型转换成数据库表打开ODBC数据源管理器 在前面的步骤中,物理数据模型创建好了。接下来就是如何把这两张表导入到已知的数据库中。 首先我们要新建一个数据库,方法:开
13、始控制面板管理工具数据源(ODBC)添加,弹出对话框如下:选中 SQL Server完成。弹出对话框:名称自己输入即可,服务器的名称是打开 SQL server数据库后复制单击完成测试数据源确定这样就成功的创建好了! 接下来,数据库change current DBMS,弹出对话框:如上图所示,选择 microsoft SQL server2005(自己电脑上所安装的数据库版本!)确定数据库generate database确定edit自蓝色部分开始复制到最后数据库execute SQL(注意数据库要选刚才建立的 test)connect在所弹出的对话框里粘贴run 即如下一系列图:接下来,在
14、数据库里(开始菜单-程序- microsoft SQL server-查询分析器),数据库系统数据库master表右键,刷新,就出来了新建的表。如下图。四实验结果CDM图(ER图):PDM图:SQL代码:if exists (select 1 from sysobjects where id = object_id(Library) and type = U) drop table Librarygoif exists (select 1 from sysobjects where id = object_id(Unit) and type = U) drop table Unitgoif e
15、xists (select 1 from sysobjects where id = object_id(book) and type = U) drop table bookgoif exists (select 1 from sysobjects where id = object_id(reader) and type = U) drop table readergoif exists (select 1 from sysobjects where id = object_id(return) and type = U) drop table returngo/*=*/* Table:
16、Library */*=*/create table Library ( Library_No char(20) not null, Library_Address varchar(38) not null, constraint PK_LIBRARY primary key nonclustered (Library_No)go/*=*/* Table: Unit */*=*/create table Unit ( Unit_No varchar(10) not null, Unit_Address varchar(50) null, Unit_Phone varchar(18) null,
17、 constraint PK_UNIT primary key nonclustered (Unit_No)go/*=*/* Table: book */*=*/create table book ( Book_No char(10) not null, Return_Date datetime null, Library_No char(20) null, book name varchar(20) not null, book price numeric(6,2) not null, bookauthor varchar(60) not null, book concern varchar
18、(40) not null, book date datetime not null, Book_ID char(1) not null, constraint PK_BOOK primary key nonclustered (Book_No)go/*=*/* Table: reader */*=*/create table reader ( Reader_No char(8) not null, Unit_No varchar(10) null, Reader_Name varchar(8) not null, Reader_ID varchar(20) not null, Reader_
19、Phone varchar(18) not null, Reader_Address varchar(50) not null, Reader_Email varchar(20) not null, constraint PK_READER primary key nonclustered (Reader_No)go/*=*/* Table: return */*=*/create table return ( Return_Date datetime not null, Reader_No char(8) null, Book_No char(10) null, Return_ID char(1) not null, constraint PK_RETURN primary key nonclustered (Return_Date)go教师评语: 签名:徐冬 日期:11.07成绩内容摘要(1)信息系统分析与设计实验报告实验序号:04 实验项目名称:PowerDesigner数据建模1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1