《数据库规划与设计》实验指导/实验六物理数据模型的创建及管理 《数据库规划与设计》实验指导 实验六物理数据模型的创建及管理 、实验目的 1、熟悉数据库的物理结构设计; 2、掌握使用 Power Designer工具建立PDM的方法和过程; 3、熟练掌握将CDM或者LDM转换为PDM: 4、掌握PDM对象的管理。 、实验学时 2学时 、实验类型 验证性 四、实验环境 1、硬件 每位学生配备计算机一台,满足下列软件的安装; 2、软件 Windows操作系统, MySQL Workbench、 Powerdesigner5、 Visio2003等工具的安装文件 安装有Aces、 SQL Server、 MySQL等数据库管理软件。 3、网络 需要局域网支持 4、工具 无 五、实验理论与预备知识 数据库应用系统案例分析; 2、物理数据模型的对象及对象间关系 esigner工具在PDM中的使用 4、物理数据模型PDM与数据库系统的关系。 六、实验任务 1、熟悉物理数据模型PDM 2、创建数据库应用案例的PDM: 3、PDM模板文档的创建及管理。 管理科学与工程学科/共8页第1页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 1 管理科学与工程学科 / 共 8 页,第 1 页 《数据库规划与设计》实验指导 实验六 物理数据模型的创建及管理 一、实验目的 1、熟悉数据库的物理结构设计; 2、掌握使用 PowerDesigner 工具建立 PDM 的方法和过程; 3、熟练掌握将 CDM 或者 LDM 转换为 PDM; 4、掌握 PDM 对象的管理。 二、实验学时 2 学时 三、实验类型 验证性 四、实验环境 1、硬件 每位学生配备计算机一台,满足下列软件的安装; 2、软件 Windows 操作系统,MySQL Workbench、Powerdesigner15、Visio 2003 等工具的安装文件; 安装有 Access、SQL Server、MySQL 等数据库管理软件。 3、网络 需要局域网支持; 4、工具 无 五、实验理论与预备知识 1、数据库应用系统案例分析; 2、物理数据模型的对象及对象间关系; 3、PowerDesigner 工具在 PDM 中的使用; 4、物理数据模型 PDM 与数据库系统的关系。 六、实验任务 1、熟悉物理数据模型 PDM; 2、创建数据库应用案例的 PDM; 3、PDM 模板文档的创建及管理
《数据库规划与设计》实验指导/实验六物理数据模型的创建及管理 七、实验内容及步骤 熟悉物理数据模型PDM 物理数据模型( Physical Data Model,PDM)是以常用的DBMS(数据库管理系统)理论为基础, 将 CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本,利用该SQL脚本在数 据库中产生现实世界的存储结构(表、约束等),并保证数据在数据库中的完整性和一致性 (1)熟悉PDM示例 基本步骤:启动 Power Designer,,选择【Fl】→【open】→【 Examples】→【 project pdm】,即 可打开逻辑数据模型示例,如图1所示; 图1物理数据模型示例 任务1:图1是关于员工数据相关的物理结构设计,请描述该PDM使用的对象有哪些(建议用 中文),并将结果填写在表1中 表1PDM对象描述 对象 内容 备注 具体表的中文名称 如规则 (2)CDM示例生成PDM 基本步骤: 第一步:打开CDM示例。启动 PowerDesigner,选择【Fle→【open】→【 Examples】 【 project. cdm】,即可打开概念数据模型示例 第二步:检査CDM示例。选择菜单栏【 Tools】→【 Check model】,即可打开“检査模型参数 管理科学与工程学科/共8页第2页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 2 管理科学与工程学科 / 共 8 页,第 2 页 七、实验内容及步骤 1、熟悉物理数据模型 PDM 物理数据模型(Physical Data Model,PDM)是以常用的 DBMS(数据库管理系统)理论为基础, 将 CDM/LDM 中所建立的现实世界模型生成相应的 DBMS 的 SQL 语言脚本,利用该 SQL 脚本在数 据库中产生现实世界的存储结构(表、约束等),并保证数据在数据库中的完整性和一致性。 (1)熟悉 PDM 示例 基本步骤:启动 PowerDesigner,选择【File】→【Open】→【Examples】→【project.pdm】,即 可打开逻辑数据模型示例,如图 1 所示; 图 1 物理数据模型示例 任务 1:图 1 是关于员工数据相关的物理结构设计,请描述该 PDM 使用的对象有哪些(建议用 中文),并将结果填写在表 1 中; 表 1 PDM 对象描述 对象 内容 备注 如 表 具体表的中文名称 如 规则 (2)CDM 示例生成 PDM 基本步骤: 第一步:打开 CDM 示例。启动 PowerDesigner,选择【File】→【Open】→【Examples】→ 【project.cdm】,即可打开概念数据模型示例; 第二步:检查 CDM 示例。选择菜单栏【Tools】→【Check Model】,即可打开“检查模型参数
《数据库规划与设计》实验指导/实验六物理数据模型的创建及管理 3 设置”窗口,选择“ Option”选项中每个要进行检查的节点,单击【确定】即可 第三步:将CDM转换为PDM。如果CDM检查无误后,选择菜单栏【 Tools】→【 Generate Physical Data model】→【 Generate new Physical Data Model】,即可打开“物理数据模型生成”窗口,选择 DBMS,如“ Microsoft SQL Server2000”,并输入物理数据模型的名称及代码,在“ Selection”选项 中选择需转换的实体; 第四步:设置“ Detail”选项,确定“ Option”选项中选择是否检査模型、保存依赖等,选择索 引的命名方式,以及外键选项中, Update rule和 Delete rule是否选择“ Cascade”,外键约束的名称 命名,默认选择“%3 PARENT%% COLUMN%”等,具体如图2所示; General Detail Target Nodels selection 回 Check model 回 Save generation dependenciesInde 口 Convert names nto codes PX index names:ZTABLE*_PK AK index names:*TABLE*_AK Enable fransformations EK index names:2REFR*_FK Update rulec FK column 来3 PARENT之 COLUMN of confect 确定□取消应用Q)匚帮助 图2设置“ Detail”选项 第五步:设置完成后,单击【确定】即可开始CDM向PDM模型的转换,转换后的PDM初始 界面如图3所示 = 图3PDM模型的初始图片 任务1:在CDM向PDM转换过程中,请设置外键约束中更新和删除的不同类型及它们的作用, 并将结果填写在表2中; 管理科学与工程学科/共8页第3页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 3 管理科学与工程学科 / 共 8 页,第 3 页 设置”窗口,选择“Option”选项中每个要进行检查的节点,单击【确定】即可; 第三步:将 CDM 转换为 PDM。如果 CDM 检查无误后,选择菜单栏【Tools】→【Generate Physical Data Model】→【Generate new Physical Data Model】,即可打开“物理数据模型生成”窗口,选择 DBMS,如“Microsoft SQL Server 2000”,并输入物理数据模型的名称及代码,在“Selection”选项 中选择需转换的实体; 第四步:设置“Detail”选项,确定“Option”选项中选择是否检查模型、保存依赖等,选择索 引的命名方式,以及外键选项中,Update rule 和 Delete rule 是否选择“Cascade”,外键约束的名称 命名,默认选择“ %.3:PARENT%_%COLUMN% ”等,具体如图 2 所示; 图 2 设置“Detail”选项 第五步:设置完成后,单击【确定】即可开始 CDM 向 PDM 模型的转换,转换后的 PDM 初始 界面如图 3 所示; 图 3 PDM 模型的初始图片 任务 1:在 CDM 向 PDM 转换过程中,请设置外键约束中更新和删除的不同类型及它们的作用, 并将结果填写在表 2 中;
《数据库规划与设计》实验指导/实验六物理数据模型的创建及管理 表2PDM中外键约束转换类型 类型 中文 作用 如 Restrict 如 Cascade 任务2:在PDM中,主要包括了数据表、规则、域、关系等对象,请依次查看所有对象的SQL 语句,其中数据表 Employee的对应的SQL语句如表3所示,请对相应的SQL语句进行注释,并将 结果填写在对应空格内 查看SQL语句步骤:【双击数据表对象】→【 Proview】 表3数据表 Employee对应SQL语句 if exists(select 1 from dbo. sysreferences r join dbo. sysobjects o on(o id =r consti and o type=F) where r. fkeyid =object id( C EMPLOYEE)and o name=FK C EMPLOY BELONGS T C DIVISI) alter table C EMPlOYee drop constraint FK_C_ EMPLOY BELONGS_TC_ DIVIsI if exists(select I from dbo. sysreferences r join dbo. sysobjects o on(o id =rconsti and o type=F) where r. fkeyid =object id(C EMPLOYEE)and o. name=FK C EMPLOY CHIEF C EMPLOY,) alter table C EmPloyee drop constraint FK_C_EMPLOY_ CHIEF_C_ EMPLOY if exists(select I from dbo. sysreferences r join dbo. sysobjects o on(o id =r consid and o type=F) where r. fkeyid =object id( C_ MEMBEr) and o name =FKC_ MEMBER MEMBER_ C EMPLOY) alter table C member drop constraint FK C MEMBER MEMBER C_ EMPLOY if exists(select 1 from dbo. sysreferences r join dbo. sysobjects o on(o id=rconsid and o type=F) where r. fkeyid = object id(C PARTICIPATE)and o name K C PARTIC WORKS ON C EMPLOY) alter table C Participate drop constraint FK C PARTIC WORKS ON C EMPLOY if exists(select 1 from dbo. sysreferences r join dbo. sysobjects o on(oid =r consti and o type=F) 管理科学与工程学科/共8页第4页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 4 管理科学与工程学科 / 共 8 页,第 4 页 表 2 PDM 中外键约束转换类型 类型 中文 作用 如 Restrict 如 Cascade 任务 2: 在 PDM 中,主要包括了数据表、规则、域、关系等对象,请依次查看所有对象的 SQL 语句,其中数据表 Employee 的对应的 SQL 语句如表 3 所示,请对相应的 SQL 语句进行注释,并将 结果填写在对应空格内; 查看 SQL 语句步骤:【双击数据表对象】→【Proview】; 表 3 数据表 Employee 对应 SQL 语句 if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('C_EMPLOYEE') and o.name = 'FK_C_EMPLOY_BELONGS_T_C_DIVISI') alter table C_EMPLOYEE drop constraint FK_C_EMPLOY_BELONGS_T_C_DIVISI go /* */ if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('C_EMPLOYEE') and o.name = 'FK_C_EMPLOY_CHIEF_C_EMPLOY') alter table C_EMPLOYEE drop constraint FK_C_EMPLOY_CHIEF_C_EMPLOY go /* */ if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('C_MEMBER') and o.name = 'FK_C_MEMBER_MEMBER_C_EMPLOY') alter table C_MEMBER drop constraint FK_C_MEMBER_MEMBER_C_EMPLOY go /* */ if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('C_PARTICIPATE') and o.name = 'FK_C_PARTIC_WORKS_ON_C_EMPLOY') alter table C_PARTICIPATE drop constraint FK_C_PARTIC_WORKS_ON_C_EMPLOY go /* */ if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F')
《数据库规划与设计》实验指导/实验六物理数据模型的创建及管理 where r. fkeyid=object id(C PROJECT)and o. name =FK C PROJEC IS RESPON C EMPLOY) alter table C Project drop constraint FK_C_PROJEC_IS_ RESPON_C_ EMPLOY if exists(select 1 from dbo. sysreferences r join dbo. sysobjects o on(o id =r consti and o type =F where r. fkeyid =object id(C_ USED) and o name=FKC USED USED C EMPLOY ter table C USED drop constraint FK_C_USED_ USED_C_ EMPLOY if exists(select I from sysing where id =object id(C EMPLOyee nd name =BELONGS TO FK and indid >0 and indid 0 and indid <255) drop index C EMPLOYEE. CHIEF FK if exists(select 1 from sysobjects here id =object id(C EMPLOYEE drop table C EMPLOYEE A Table: C EMPLOYEE create table C EMPLOYEE( EMPNUM not null C E EMPNUM ID 管理科学与工程学科/共8页第5页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 5 管理科学与工程学科 / 共 8 页,第 5 页 where r.fkeyid = object_id('C_PROJECT') and o.name = 'FK_C_PROJEC_IS_RESPON_C_EMPLOY') alter table C_PROJECT drop constraint FK_C_PROJEC_IS_RESPON_C_EMPLOY go /* */ if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('C_USED') and o.name = 'FK_C_USED_USED_C_EMPLOY') alter table C_USED drop constraint FK_C_USED_USED_C_EMPLOY go /* */ if exists (select 1 from sysindexes where id = object_id('C_EMPLOYEE') and name = 'BELONGS_TO_FK' and indid > 0 and indid 0 and indid < 255) drop index C_EMPLOYEE.CHIEF_FK go if exists (select 1 from sysobjects where id = object_id('C_EMPLOYEE') and type = 'U') drop table C_EMPLOYEE go /* */ /*==============================================================*/ /* Table: C_EMPLOYEE */ /*==============================================================*/ create table C_EMPLOYEE ( EMPNUM ID not null, C_E_EMPNUM ID null
《数据库规划与设计》实验指导/实验六物理数据模型的创建及管理6 DIVNUM EMPFNAM EMPLNAM NAME not null EMPFUNC NAME EMPSAL MONEY constraint PK C EMPlOyeE primary key nonclustered (EMPNUM) Index: CHIEF FK create index CHIeF FK on C EMPLOYEE C E EMPNUM ASC Index: BELONGS TO FK create index BELONGS TO FK on C EMPLOYEE DIVNUM ASC alter table C EmPloyee add constraint FK C EMPLOY BELONGS TC DIVISI foreign key (DIVNUM) references C DIVISION (DIVNUM) on update cascade on delete cascade alter table C EmPloyee add constraint FK C EMPLOY CHIEF C EMPLOY foreign key(C E EMPNUM) references C EMPLOYEE(EMPNUM on update cascade on delete cascade 任务3:编辑PDM的初始界面,调整为类似物理数据模型示例图“ project pdm”,在实验报告 中描述主要出现的问题及解决方法。 管理科学与工程学科/共8页第6页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 6 管理科学与工程学科 / 共 8 页,第 6 页 DIVNUM ID not null, EMPFNAM NAME null, EMPLNAM NAME not null, EMPFUNC NAME null, EMPSAL MONEY null, constraint PK_C_EMPLOYEE primary key nonclustered (EMPNUM) ) go /* */ /*==============================================================*/ /* Index: CHIEF_FK */ /*==============================================================*/ create index CHIEF_FK on C_EMPLOYEE ( C_E_EMPNUM ASC ) go /* */ /*==============================================================*/ /* Index: BELONGS_TO_FK */ /*==============================================================*/ create index BELONGS_TO_FK on C_EMPLOYEE ( DIVNUM ASC ) go /* */ alter table C_EMPLOYEE add constraint FK_C_EMPLOY_BELONGS_T_C_DIVISI foreign key (DIVNUM) references C_DIVISION (DIVNUM) on update cascade on delete cascade go /* */ alter table C_EMPLOYEE add constraint FK_C_EMPLOY_CHIEF_C_EMPLOY foreign key (C_E_EMPNUM) references C_EMPLOYEE (EMPNUM) on update cascade on delete cascade go /* */ 任务 3:编辑 PDM 的初始界面,调整为类似物理数据模型示例图“project.pdm”,在实验报告 中描述主要出现的问题及解决方法
《数据库规划与设计》实验指导/实脸六物理数据模型的创建及管理7 3、将数据库应用案例的CDM转换为PDM 任务:根据课程网站中“课程设计”提供的数据库应用系统案例,将之前实验创建的CDM转 换为相应的PDM,请描述具体转换操作(DBMS、 table、name等)及设置细节,并详细描述最终 PDM中包含的对象 4、将数据库应用案例的DM转换为PDM 任务:根据课程网站中“课程设计”提供的数据库应用系统案例,将之前实验创建的CDM转 换为相应的PDM,请描述具体转换操作及设置细节,并详细描述最终PDM中包含的对象 5、物理数据棋型报告文档的制作 在完成整个物理数据模型的基础上,可应用 Power Designer转换成物理模型说明文档的创建 基本步骤:在模型PDM的基础上,选择菜单栏【 Report】→【 Generate Report】,选择【Ful Requirement report.】→【 Generate rTF】→【 Simplified Chinese】,输入文档名称及保存的位置 即可完成物理模型报告文档的生成,请根据实际情况进行修改并完成最终制作 八、实验分析 1、在CDM向PDM转换过程中,如果想给所有表名增加前缀名“W”,如何实现? 2、请描述创建PDM的多种方法; 在转换后的PDM模型中,已查看过所有对象对应的SQL语句,对于数据表 EMPLOYEE 有哪些地方需要改进? 4、如何设置列的默认值? 九、课外自主实验 1、创建视图 方法一:打开PDM模型,选择【 Tools】→【 Create View】,在打开的“ Selection”对话框中选 择相应的数据表,如“ Employee”,单击【ok】即可创建一个包含所选表全部字段的视图 方法二:打开PDM模型,选择 Palette工具栏中的vew图标,并在窗口的空白区域单击,则可 以增加一个视图图形符号。在 View Properties窗口定义视图相关属性,选择“ SQL Query”选项卡为 视图定义对应的SQL语句。 十、实验扩展资源 1、图书 (1)王珊,萨师煊数据库系统概论(第四版)[M高等教育出版社,2006 (2)刘亚军高莉莎数据库设计与应用[M]清华大学出版社,2008 2、期刊论文 (1)朱晓辉王杰华石振国等.NET下基于 PowerDesigner和 Code Smith的软件自动化开发技 术门计算机科学,2010(07) (2)轩兴涛基于 PowerDesigner模型驱动机制下的全程建模研究叮西安石油大学学报(自然 科学版),2008(08) 管理科学与工程学科/共8页第7页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 7 管理科学与工程学科 / 共 8 页,第 7 页 3、将数据库应用案例的 CDM 转换为 PDM 任务:根据课程网站中“课程设计”提供的数据库应用系统案例,将之前实验创建的 CDM 转 换为相应的 PDM,请描述具体转换操作(DBMS、table、name 等)及设置细节,并详细描述最终 PDM 中包含的对象。 4、将数据库应用案例的 LDM 转换为 PDM 任务:根据课程网站中“课程设计”提供的数据库应用系统案例,将之前实验创建的 CDM 转 换为相应的 PDM,请描述具体转换操作及设置细节,并详细描述最终 PDM 中包含的对象。 5、物理数据模型报告文档的制作 在完成整个物理数据模型的基础上,可应用 PowerDesigner 转换成物理模型说明文档的创建; 基本步骤:在模型 PDM 的基础上,选择菜单栏【Report】→【Generate Report】,选择【Full Requirement report】→【Generate RTF】→【Simplified Chinese】,输入文档名称及保存的位置, 即可完成物理模型报告文档的生成,请根据实际情况进行修改并完成最终制作。 八、实验分析 1、在 CDM 向 PDM 转换过程中,如果想给所有表名增加前缀名“W_”,如何实现? 2、请描述创建 PDM 的多种方法; 3、在转换后的 PDM 模型中,已查看过所有对象对应的 SQL 语句,对于数据表 EMPLOYEE, 有哪些地方需要改进? 4、如何设置列的默认值? 九、课外自主实验 1、创建视图 方法一:打开 PDM 模型,选择【Tools】→【Create View】,在打开的“Selection”对话框中选 择相应的数据表,如“Employee”,单击【ok】即可创建一个包含所选表全部字段的视图; 方法二:打开 PDM 模型,选择 Palette 工具栏中的 View 图标,并在窗口的空白区域单击,则可 以增加一个视图图形符号。在 View Properties 窗口定义视图相关属性,选择“SQL Query”选项卡为 视图定义对应的 SQL 语句。 十、实验扩展资源 1、图书 (1)王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2006. (2)刘亚军,高莉莎.数据库设计与应用[M].清华大学出版社,2008. 2、期刊论文 (1)朱晓辉,王杰华,石振国 等. .NET 下基于 PowerDesigner 和 CodeSmith 的软件自动化开发技 术[J].计算机科学,2010(07). (2)轩兴涛. 基于 PowerDesigner 模型驱动机制下的全程建模研究[J]. 西安石油大学学报(自然 科学版) ,2008(08)
《数据库规划与设计》实验指导/实验六物理数据模型的创建及管理8 (3)井小沛,武斌蔣蒋东星等.基于 Power Designer的通信台站数据库的设计门计算机工程与 设计.2008(08) (4)肖海蓉基于 Power Designer的员工医疗保险系统的数据库设计现代计算机(专业版) 2010(06) 3、在线学习平台 (1)http://xg.hactcm.edu.cn 4、其他资源 (1)http://www.sybase.com 管理科学与工程学科/共8页第8页
《数据库规划与设计》实验指导 /实验六 物理数据模型的创建及管理 8 管理科学与工程学科 / 共 8 页,第 8 页 (3)井小沛,武斌,蒋东星 等. 基于 PowerDesigner 的通信台站数据库的设计[J]. 计算机工程与 设计. 2008(08). (4)肖海蓉. 基于 PowerDesigner 的员工医疗保险系统的数据库设计[J]. 现代计算机(专业版). 2010(06). 3、在线学习平台 (1)http://xg.hactcm.edu.cn 4、其他资源 (1)http://www.sybase.com