PowerDesigner数据建模1实验报告共14页Word文档下载推荐.docx
《PowerDesigner数据建模1实验报告共14页Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《PowerDesigner数据建模1实验报告共14页Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
在Modeltype(模型类型)框中,可以看到:
BusinessProcessModel(BPM——业务处理模型)、ConceptualDataModel(CDM——概念数据模型)、Object-OrientedModel(OOM——面向对象模型)和PhysicalDataModel(PDM——物理数据模型)等选项。
在此,我们选择CDM并按“确定”按钮。
步骤3:
进入PowerDesigner的CDM操作窗口,如图3所示。
图3CDM操作窗口
在窗口上方横向有一组工具按钮图标,其中有实体的边框、联线、字体加粗、加黑等图标,但最常用的工具图标在Palette工具栏中,包括实体、关系、放大、缩小、移动等26个图标工具。
读者用鼠标单击某个图标,再到界面中央单击(例如,画实体框),或拖动(例如,画实体关系联线)即可。
比如,“图书信息系统”的E-R图有5个基本实体,所以,单击实体图标(Entity),然后在操作界面中单击5下,得到5个实体框并适当布局,如图4所示。
图4画实体框
此时,这5个实体还是空的,其名字可以临时任意选取,并且还没有属性。
接下来,要逐步对每个实体的名字及其属性进行定义。
步骤4:
定义实体。
用鼠标双击第一个实体框,打开实体属性定义窗口,如图5所示,开始定义实体“图书”。
在该窗口中,有许多对实体进行描述的选项卡,用户可以根据需要,对实体的宏观特征进行定义或描述。
图5定义实体
此例中,对Name栏输入“图书”,在Code处输入“Book”,在Number处输入实体中实例(记录)的最大个数“10000000”,它表示图书馆的最大藏书量最大可达一亿册。
这个数字的作用,是便于计算并估计数据库服务器的磁盘容量。
步骤5:
定义属件、属性的约束和算法。
单击Attributes按钮,进入定义该实体的属性界面,如图6所示。
图6定义属性图7数据类型选项
每一行定义一个属性,包括:
属性名称,属性代码,数据类型,使用域、是否强制(M)、是否为主键(P)以及是否显示属性(D)等。
属性名称在概念数据模型中显示,但在物理数据模型中忽略。
本次操作中,需要定义的属性内容如表1所示。
表1定义“图书”(Book)属性
序号
Name
Code
DataType
Domain
M
P
D
1
图书号
Book_No
A10
<
None>
✓
2
书名
Book_Name
VA20
3
单价
Book_Price
N6,2
4
作者
Book_Author
VA60
5
出版社
Book_Concern
VA40
6
出版日期
Book_Date
7
借出标志
Book_ID
A1
属性定义完毕,单击“确定”按钮返回。
在定义字符类型的时候,可以通过单击“…”按钮显示全部类型选项并从中选择,如图7所示。
步骤6:
同理,依次完成其他四个实体的属性定义。
如图8和表2~5所示。
a)b)
c)d)
图8其他实体的属性设置
表2定义“借还书”(Return)属性
借还日期
Return_Date
DT
借还标志
Return_ID
表3定义“读者”(Reader)属性
Reader_No
A8
姓名
Reader_Name
VA8
证件号
Reader_ID
电话
Reader_Phone
VA18
地址
Reader_Address
VA50
E-mail
Reader_Email
表4定义“书库”(Library)属性
架位号
Library_No
A20
架位地址
Library_Address
VA38
表5定义“单位”(Unit)属性
单位号
Unit_No
VA10
单位地址
Unit_Address
单位电话
Unit_Phone
步骤7:
定义关系。
当实体及其属性定义完成后,开始定义实体间的关系。
在Palette工具栏中选择Relationship图标,在相关联两个实体中的一个实体的图形符号上单击左键,拖动鼠标到另外一个实体释放,就可在两个实体之间建立联系,如图9所示。
图书和借还书之间是1:
1的关系
借还书与读者之间是n:
读者和单位之间是n:
图书和书库之间是n:
其中关系name自定义,code参照图12
图9定义关系
基本关系分为一对一、一对多、多对多三种。
连线的开叉一端代表多,不开叉的一端代表一,带小圆圈的—端代表可选,即记录可能有也可能没有;
带小十字的一端代表强制(必须有记录)。
步骤8:
双击表示联系的图形符号,可打开联系属性定义窗口,其中的General选项卡内容如图9.13a)所示。
•Name:
此联系的名称,可以是中文信息。
•Code:
此联系的代码,必须是英文。
•Comment:
对联系的进一步说明,可以是中文信息,也可以为空。
•Entity1和Entity2:
两个关联实体的名称。
Cardinalities选项卡用来填写联系的细节信息,如图10b)所示。
其中:
a)b)
图10联系属性定义窗口
•One–Many:
联系的类型,如一对一、一对多、多对一、多对多等。
•Cardinality:
基数,“0,n”表示一个实体可以有0到n个联系实体;
“1,1”表示一个实体必须对应另一个实体。
•Dependent:
依赖关系。
表示实体所包含的基本信息必须依赖于另一个实体的基本信息。
步骤9:
系统所有的实体、属性、关系都定义完毕后,单击“确定”按钮返回CDM主窗口。
步骤10:
可以在Tools菜单中单击CheckModel命令来检查E-R图的错误。
检查结果分为没有错误、错误和警告三类:
错误是必须要改正的,警告(例如,一个实体有外键而无主键)可以改正也可以不改正。
若没有错误,则保存此E-R图。
至此,“图书信息系统”的概念数据模型CDM已经生成。
CDM模型完成的是系统的概要设计,还需要通过PDM模型完成详细设计,并对CDM模型中的E-R图进行检验和修改。
有了CDM模型之后,可以利用系统提供的自动转换功能将CDM模型转换成PDM模型,而不需要重新定义。
步骤11:
选择生成PDM。
在Tools菜单中单击GeneratePhysicalDataModel命令,打开物理数据模型设置窗口,如图11所示。
•GeneratePhysicalDateModel:
选中此项,表示生成新的物理数据概念模型。
•DBMS:
选择数据库类型。
例如,选择SybaseASAnywhere9。
物理数据模型的名称,例如“图书信息系统物理数据模型”。
物理数据模型的代码,例如“tsgl_pdm”。
在Detail选项卡中,可以进行物理数据模型的细节属性设置。
图11物理数据模型设置窗口
在Selection选项卡,可以选择概念数据模型中已定义的实体。
选择完毕后,单击“确定”按钮,开始生成物理数据模型,如图12所示。
图12生成PDM
可以利用鼠标拖动实体框和关联线,对PDM图形进行调整,直到图形整齐、美观为止,最后进行保存。
从图上可见,PDM与物理建表已经很接近。
步骤12:
此外,可以通过在File菜单中单击New…命令,在打开的窗口中选择Multi-ModelReport选项,来生成并打印CDM或PDM的各类文档资料。
还可以生成创建表、创建索引、创建触发器的程序。
2、将PDM模型转换成数据库表
打开ODBC数据源管理器
在前面的步骤中,物理数据模型创建好了。
接下来就是如何把这两张表导入到已知的数据库中。
首先我们要新建一个数据库,方法:
开始——控制面板——管理工具——数据源
(ODBC)——添加,弹出对话框如下:
选中SQLServer——完成。
弹出对话框:
名称自己输入即可,服务器的名称是打开SQLserver数据库后复制
单击完成——测试数据源——确定
这样就成功的创建好了!
接下来,数据库——changecurrentDBMS,弹出对话框:
如上图所示,选择microsoftSQLserver2005(自己电脑上所安装的数据库版
本!
)——确定
数据库——generatedatabase——确定——edit——自蓝色部分开始复制到最后——
数据库——executeSQL(注意数据库要选刚才建立的test)——connect——在所弹出
的对话框里粘贴——run
即如下一系列图:
接下来,在数据库里(开始菜单-→程序-→microsoftSQLserver-→查询分析器),数据库——系统数据库——master——表——右键,刷新,
就出来了新建的表。
如下图。
四.实验结果
CDM图(ER图):
PDM图:
SQL代码:
ifexists(select1
fromsysobjects
whereid=object_id('
Library'
)
andtype='
U'
droptableLibrary
go
Unit'
droptableUnit
book'
droptablebook
reader'
droptablereader
"
return"
'
droptable"
/*==============================================================*/
/*Table:
Library*/
createtableLibrary(
Library_Nochar(20)notnull,
Library_Addressvarchar(38)notnull,
constraintPK_LIBRARYprimarykeynonclustered(Library_No)
Unit*/
createtableUnit(
Unit_Novarchar(10)notnull,
Unit_Addressvarchar(50)null,
Unit_Phonevarchar(18)null,
constraintPK_UNITprimarykeynonclustered(Unit_No)
book*/
createtablebook(
Book_Nochar(10)notnull,
Return_Datedatetimenull,
Library_Nochar(20)null,
"
bookname"
varchar(20)notnull,
bookprice"
numeric(6,2)notnull,
bookauthorvarchar(60)notnull,
bookconcern"
varchar(40)notnull,
bookdate"
datetimenotnull,
Book_IDchar
(1)notnull,
constraintPK_BOOKprimarykeynonclustered(Book_No)
reader*/
createtablereader(
Reader_Nochar(8)notnull,
Unit_Novarchar(10)null,
Reader_Namevarchar(8)notnull,
Reader_IDvarchar(20)notnull,
Reader_Phonevarchar(18)notnull,
Reader_Addressvarchar(50)notnull,
Reader_Emailvarchar(20)notnull,
constraintPK_READERprimarykeynonclustered(Reader_No)
*/
createtable"
(
Return_Datedatetimenotnull,
Reader_Nochar(8)null,
Book_Nochar(10)null,
Return_IDchar
(1)notnull,
constraintPK_RETURNprimarykeynonclustered(Return_Date)
教师评语:
签名:
徐冬日期:
11.07
成绩
内容摘要
(1)《信息系统分析与设计》实验报告
实验序号: