程序人生

不甘寂寞^_^
posts - 2, comments - 2, trackbacks - 0, articles - 4
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2012年2月13日

一、创建"概念数据模型"-CDM(Conceptual Data Model) 
(1)打开PowerDesigner,点击File(文件)->New(新建) 
(2)选择Conceptual Data Model,并修改Model name(模型名). 
(3)在Palette工具栏中点击Entity(实体)工具,并在工作区中建立Entity
(4)双击一个Entity.在弹出的Entity Properties中输入Name,Code.其中Name是在显示时使用的名称,而Code是在代码中使用的名称. 
注:修改name的内容,code也跟着变化,如何让code不随着name变化,Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools(工具)->General Options(常规)->Dialog(对话)->Name to Code Mirroring(名字编码映射) 去掉
    
    
(5)点击Attributes(属性),建立相应的属性:Name:显示名称,Code:代码名称,Data Type:数据类型,Length:数据长度,Precision:数据精度,M:必须的,P:主键,D:显示. 
注:允许字段同名,.默认不允许有相同字段 
Tools-->model options-->model settings(模型设置)-->Data Item(数据选项)-->unique code去勾则可
(6)选中主键列,点击工具列中的Create Identifier(标识符)按钮. 
(7)输入Name及Code,因为是主键列,所以选中Primary identifier. 
(8)建关系: 点击工具栏中的关系工具,在学生表Entity上点击并拖至成绩表Entity. 
           双击关系-->name关系描述/code约束名-->Detail(细节): 一对一,一对多, 多对多,多对一
(9)建约束:双击字段名-->Standard checks(标准检查)可设置最大值|最小值|默认值-->additional Checks(附加检查):可手写check约束
(10)检查是否有错 Tools-->check  model
注:删除未改名的字段,不然报错
二、根据CDM生成"物理数据模型"-PDM(Physical Data Model)
1.Tools-->generate  physical(产生物理模型)-->选择数据库类型,例sql  server 2000
注:a.不能改文件夹,必须是DBMS文件夹中
2.主外键设置:双击关系-->joins(连接)选择各表的主外键字段
3.建标识列:双击字段名 -->Genral-->identity前面加勾 
三、为特定DBMS创建数据库的SQL语句。
Data base-->generate  database(产生数据库)-->Director选择文件生成的位置
注:(1)可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
     Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照
    (2)由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)
       打开PDM后Database-->Edit Current-->DBMS -script-objects-column-maxlen,把value值调大(原为 30),比如改成60。出现表或其它对象的长度也有这种错误都可以选择对应的objects照此种方法更改!
    (3)执行sql语句时,需先建数据库,因为该工具生成的脚本建表不建库。
       且脚本用的修改表,执行两次就OK了
四、利用已现有模块导出数据字典文件
(1)”数据字典模板”,并将它复制到安装目录的Resource Files\Report Templates文件夹中
(2)右击"PDM"-->新增-->report(报表)-->新建-->ReportName报表名,language语言(选择Simplified Chinese简体中文),report template报表模块(选择数据字典模板)-->编辑或直接使用使用该模板
(3)选择report工具栏中-->Generate Html生成HTML字典| Generate RTF生成DOC字典
注:修改报表模板中一些术语的定义
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model(物理数据模型)\Column\
        ForeignKey:外键
        Mandatory:为空
        Primary:主键
        Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息
五、根据已存在的数据库反向生成PDM,CDM及创建数据库的SQL脚本。
 
DataBase -->reverse Engineer DataBase(反转数据库) -->  Using an ODBC data source 
注:需要配置数据源。问:如何反向MYsql
    
如果报以下错误的解决方案:
Unable to list the users.
[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句
SQLSTATE = 37000
解决方案:修改语法检查规范
步骤一:选择菜单栏中的Database -> Change Current DBMS ,给DBMS选择SQL Server2005。
步骤二:重新配置ODBC连接,取消"更改默认的数据库为"选择。
步骤三:从PD里选择File -> Reverse Engineer -> Database 
步骤四:选择数据库,选择表,OK,大功造成。

posted @ 2012-02-15 21:18 阿星 阅读(4952) | 评论 (0)编辑 收藏

         作为一个程序员所操作的数据库肯定不至一两个,在这个项目可能用这个数据库。换下一个项目可能数据库也跟着换了,虽然接触的数据库很多,但我们可能并不是对每一个数据库都能操作自如。有时对一些特殊的数据进行批量修改或更新时,没有在自己熟悉的数据库上操作自如,因此我们会想到将数据导出至我们熟练的数据库中修改好之后再将其导入。

        下面以Access和Oralce为例,跟大家简单介绍下导入导出过程:1、Access

1、将Access中的数据导出到Orcale:

  1>用Access打开要导出的数据库

   2>按下图操作:

















2、修改数据,这个过程省略,因为各有所需...

3、将修改好的数据导入:











如以上图操作两数据库的导入导出应该没有问题啦...


posted @ 2012-02-13 22:57 阿星 阅读(442) | 评论 (0)编辑 收藏