物理数据模型(PDM)
- 格式:ppt
- 大小:3.33 MB
- 文档页数:297
声明:本博文即使自己学习知识的一种简单记录,方便自己使用,也是把自己在遇到问题,找到解决办法拿来与大家分享,方便大家学习中也会遇到同样的问题不知怎样解决提供一种方案,其中内容都出自笔者手稿,并经过亲身实践,有错误地方希望多多评论并指正,方便后面看的人。
关系数据库数据模型设计及设计工具PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)博文摘要关系数据库从应用以来,一直是数据关系系统数据存储方式的不二选择,本博文是在一个关系数据库学习过程中对一个简单的关系数据库进行系统分析和模型设计的基础上,应用数据建模工具PowerDesigner工具来描叙概念数据模式CDM图,并转化成特定数据库中的物理数据模式的过程PDM,其中包括对Powerdesigner工具的使用方法的简单讲解,及从概念模型设计到物理模型实现的全过程。
实践过程一、任务描述根据下面的需求描述,使用Sybase Power Designer设计相应的数据库概念模型,并转换成MS SQL Server上的物理数据库结构。
二、问题描叙某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求:银行有多个支行。
各个支行位于某个城市,每个支行有唯一的名字。
银行要监控每个支行的资产。
银行的客户通过其身份证号来标识。
银行存储每个客户的姓名及其居住的街道和城市。
客户可以有帐户,并且可以贷款。
客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。
银行员工也通过身份证号来标识。
员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。
每个支行的管理机构存储每个员工的姓名、电话号码、家庭地址及其经理的身份证号。
银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。
银行提供两类帐户——储蓄帐户和支票帐户。
帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。
一、概念数据模型概述概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。
它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。
通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。
换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。
CDM是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。
1)数据结构表达为实体和属性;2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作;3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);二、实体、属性及标识符的定义实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。
例如,学校中的每个学生,医院中的每个手术。
每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干个属性来描述。
如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。
实体集(Entity Set)是具体相同类型及相同性质实体的集合。
例如学校所有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。
实体类型(Entity Type)是实体集中每个实体所具有的共同性质的集合,例如“患者”实体类型为:患者{门诊号,姓名,性别,年龄,身份证号.............}。
实体是实体类型的一个实例,在含义明确的情况下,实体、实体类型通常互换使用。
产品数据管理(PDM)技术概述1产品数据管理系统(PDM)发展及现状1.1PDM技术的基本概念及产生的背景产品数据管理(PDM)是以软件技术为基础,以产品为核心,实现对产品相关的数据、过程、资源一体化集成管理的技术。
PDM明确定位为面向制造企业,以产品为管理的核心,以数据、过程和资源为管理信息的三大要素。
它继承并发展了CIM(Computer integration Manufacture)等技术的核心思想,在系统工程思想的指导下,用整体优化的思想对产品设计过程进行描述,规范产品生命周期管理,保持产品数据的一致性和可跟踪性。
其进行信息管理的两条主线是静态的产品结构和动态的产品设计流程,核心思想是设计数据的有序、设计过程的优化和资源的共享。
在20世纪的60、70年代,企业在其设计和生产过程中开始使用CAD、CAM等技术,新技术的引用在促进生产力发展的同时也带来了新的挑战。
对于制造企业而言,虽然各单元的计算机辅助技术己经日益成熟,但各自动化单元自成体系,彼此之间缺乏有效的信息沟通与协调,这就是所谓的“信息孤岛”问题。
进入20世纪末,以信息技术为主要特征的高新技术飞速发展,推动了技术进步和经济全球化,加速了技术革新、管理革新,企业面临的商业环境和市场环境发生了根本的变化。
具体表现在以下几个方面:(1)技术进步和高新技术的应用,信息量急剧增加。
(2)全球化市场与全球化竞争。
(3)用户对产品的需求呈现多样化和个性化。
(4)产品更新换代加快,生命周期缩短,人们对交货期的期望越来越高。
(5)生产方式的多样化。
但很多企业在技术、管理、技术与管理的协调发展以及适应新的生产模式和管理模式等方面还存在一些问题,影响了企业的竞争能力和向现代企业的发展。
这些问题具体表现在:(1)设计手段和加工技术落后。
(2)管理落后,特别是技术先进性与管理落后的矛盾日益突出。
CAD技术的全面推广,大大提高了设计质量,减少了差错,降低了返工率,大大提高了企业的产品开发能力和市场竞争力。
PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一。
Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesigner则与其正好相反,它是以数据库建模起家,后来才发展为一款综合全面的Case工具。
PowerDesigner主要分为7种建模文件:1. 概念数据模型 (CDM)对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性。
2. 逻辑数据模型 (LDM)PowerDesigner 15 新增的模型。
逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。
具体来说,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的引用等在实体的属性中进行展示。
逻辑模型介于概念模型和物理模型之间,具有物理模型方面的特性,在概念模型中的多对多关系,在逻辑模型中将会以增加中间实体的一对多关系的方式来实现。
逻辑模型主要是使得整个概念模型更易于理解,同时又不依赖于具体的数据库实现,使用逻辑模型可以生成针对具体数据库管理系统的物理模型。
逻辑模型并不是在整个步骤中必须的,可以直接通过概念模型来生成物理模型。
3. 物理数据模型 (PDM)基于特定DBMS,在概念数据模型、逻辑数据模型的基础上进行设计。
由物理数据模型生成数据库,或对数据库进行逆向工程得到物理数据模型。
4. 面向对象模型 (OOM)包含UML常见的所有的图形:类图、对象图、包图、用例图、时序图、协作图、交互图、活动图、状态图、组件图、复合结构图、部署图(配置图)。
OOM 本质上是软件系统的一个静态的概念模型。
5. 业务程序模型 (BPM)BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。
BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。
PowerDesigner概念数据模型在软件工程实践中,数据库设计通常都是从概念结构设计开始的。
在这个层次上,并不需要考虑实际物理实现的细节,而只需要考虑实体和实体之间的联系,这样也便于分析和理解。
PowerDesigner的概念数据模型(conceptual data model,CDM) 用于完成数据库的逻辑结构设计(概要设计) ,而与任何数据库平台(例如Oracle或SQL Server) 的具体数据存储结构和工具(例如PowerBuilder) 无关。
CDM表达的是数据库的整体逻辑结构,它是系统分析人员、应用程序设计人员、维护人员和用户之间相互理解的共同语言。
CDM所包含的对象通常并没有在物理数据库中实现。
它仅仅给出了商业或业务活动中所需要的数据的形式化表示。
通过建立CDM可以完成以下工作:1) 数据图形化、形象化。
2) 数据表设计的合法性校验。
3) 转化为PDM (physical data model,物理数据模型) 。
4) 生成OOM (object-oriented model,面向对象模型) 的类图。
通常,CDM采用实体-联系图(E-R图) 来表示。
例如,学生选课实例的E-R图如图4-40(a) 所示,而PowerDesigner CDM很简单地实现了这一E-R图设计,如图4-40(b) 所示。
CDM实例中设计了两个实体:1) Student:学生。
属性包括:student_id (学号) ,student_name (姓名) ,student_sex (性别) ,student_birthday (出生日期) 。
2) Class:课程。
属性包括:class_id (课程号) ,class_name (课程名) 。
Student和Class建立了名为选课(Study) 的多对多联系:一个学生可以选择多门课程,每一门课程都可以由多名学生选修。
每一个学生都必须选课,每一门课程都必须有学生选修。
一、本文主要介绍PowerDesigner中概念数据模型CDM的基本概念一、概念数据模型概述数据模型是现实世界中数据特征的抽象。
数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2)容易为人所理解3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。
它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。
通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。
换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。
CDM是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。
1)数据结构表达为实体和属性;2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作;3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);二、实体、属性及标识符的定义实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。
例如,学校中的每个学生,医院中的每个手术。
每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干个属性来描述。
如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。
实体集(Entity Set)是具体相同类型及相同性质实体的集合。
例如学校所有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。
powerdesign中将cdm转化为pdm,然后转powerdesign 中将cdm转化为pdm,powerdesign 中将cdm 转化为pdm,化为数据库表2011-01-10 22:39 PowerDesigner 是一款非常优秀的数据库建模工具,熟练的使用该工具进行数据库建模,对软件系统的分析和设计有很大的帮助。
PowerDesigner 中有几种模型可以创建,不过最常见的是概念模型CDM(Conceptual Data Model)和物理模型PDM(Physical Data Model)。
毕竟PowerDesigner 在数据库建模方面有很强大的功能。
概念模型不针对任何具体的数据库语法,而以一种抽象的数据库为模型进行设计,物理模型则通常需要指定某一种具体的数据库,在物理模型的设计中,数据库语法将根据该具体的数据库进行设计和定义。
下面说说具体在使用PowerDesigner 时需要我们留意的地方:1.建议所有数据表中应该含有一个主键ID,这个ID 没有特别的意义,只是用来唯一区别于每一条记录的,且它也应该只能有这种作用,不应该含有其他作用。
虽然在有些表中,表中的某一字段我们能保证其是唯一的,但是我认为还是应该加上这样一个主键ID。
这样做的好处是可以使我们在做表与表之间的关系时,比较明显易懂。
这个ID 应该设为这个表的主键,且该字段名可以命名为:"表名_ID"这样的名字,这样在做关系时,是非常明显的区别于不同的表的主键,另一方面这样做的好处是在用PD 从概念模型转化为物理模型时,一些关联关系之间命名产生冲突(如果你将所有表的主键命名相同的话)。
另外再说一点,这个与PD 无关,就是在做数据库表设计时,主键建议都采用同一种数据类型和长度,这样有好处。
2.每个表的主键的存在会在表(实体)属性的Identifiers 中产生对应的记录,该记录会与表的主键进行关联,但我们需要改变一下该记录的默认Name 和Code,建议以表名加字段名加_PK 命名之。