Powerdesigner和sysbase用法.docx
- 文档编号:6749362
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:10
- 大小:180.32KB
Powerdesigner和sysbase用法.docx
《Powerdesigner和sysbase用法.docx》由会员分享,可在线阅读,更多相关《Powerdesigner和sysbase用法.docx(10页珍藏版)》请在冰豆网上搜索。
Powerdesigner和sysbase用法
1、M,P,D表示的意思
后面的三列CheckBox分别代表:
∙M:
此属性不允许为空值
∙P:
此属性为主键标识
∙D:
为可显示属性
2、由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)
原因:
生成oracle脚本时对字符长度有限制,缺省设置是30,使得不能大于15个字符。
而mssqlserver2000就没有,缺省设置是128
解决方法:
1、直接修改出错的内容的长度,使之小于15个字符。
2、修改设置的长度【这样改会不会在以后oracle中有问题?
】
Database-EditCurrentDBMS-script-objects-Index-MaxLen
Database-EditCurrentDBMS-script-objects-MaxConstLen
另外,如果column的长度超过15也会出错,那就修改:
Database-EditCurrentDBMS-script-objects-column-MaxLen
出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
3、在修改name的时候,code的值将跟着变动,很不方便
修改方法:
PowerDesign中的选项菜单里修改,在[Tool]-->[GeneralOptions]->[Dialog]->[Operatingmodes]->[NametoCodemirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。
4、Powerdesigner的反向工程:
PowerDesigner的反向工程
PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统
进行分析设计,它几乎包括了数据库模型
设计的全过程。
利用PowerDesigner可以制作数据流程图
、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制
作结构模型,也能对团队设计模型进行控制。
PowerDesigner的4种模型:
概念数据模型(CDM)
物理数据模型(PDM)
面向对象模型(OOM)
业务程序模型(BPM)
我主要介绍一下PDM:
PDM叙述数据库的物理实现,帮助你考虑真实的物理实现的细节。
你能通过修正PDM来适合你的表现或物理约束。
主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。
PDM是适合于系统设计阶段的工具。
简单说:
就是PDM可以自动生成诸如’createtable’之类的sql脚本.
在数据建模
过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库
。
系统数据库设计
人员希望能够将数据库设计和关系数据库生成无缝地集成起来,如何保证物理数据模型与其对应数据库之间的双向同步成为数据建模非常关键的一点。
Powerdesigner作为强大的Case工具,为我们提供了方便的逆向工程
特性。
可以将目前所有流行的后端数据库(包括Sybase、DB2、Oracle等)的结构信息通过逆向
工程加入到PowerDesigner的物理数据模型和概念数据模型中,包括表、索引、触发器、视图等。
下面说一下如何用PowerDesigner进行逆向工程.
1.我用的数据库是oracle9i,我为了访问oracle数据库,在我的机器上安装了oracle客户端(提供了oracle客户端的驱动程序,而精简客户端则不可以),配置一个名称为mylcl的服务:
MYLCL=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.106)(PORT=1521))
)
(CONNECT_DATA=
(SID=pwsc)
)
)
用户名为:
testuser,密码为test.
2.在pd中,新建一个pdm,选择数据库为oracle9i
3.选择Database->configureconnections,转到systemdsn标签,点击"添加",选择驱动程序,由于我的数据库是oracle,所以我选择"oracleinoraclient10g_home1"
(安装了oracle客户端才有这个驱动,而精简客户端没有此驱动)
4.在datasourcename中,可以随便命名一个"ora-test",在tns-servername中选择第一步中的服务名称:
mylcl.点击"testconnection",输入用户名密码,connectionok!
5.点击database->reverseengineerdatabase,选择odbcdatasource:
ora-test.然后点击确定
哈哈,看见什么了.我就不说了吧
pdm的图表如何?
其实pd还可以通过sql来进行反向工程,我就不说了
特此存档.同时也希望对大家有帮助.
5、Powerdesigner自增字段的设置
(1)对于oracle,选择类型serial
(2)对于sqlserver,需要用到domain
6、Cdm生成pdm时不能显示出dbms的解决方法
原因:
做了反向工程,dbms的选择变成了选择具体的数据库了,不再是指向原来的安装文件里面的配置。
解决方法:
重新选择
7、建表建议
1)每个表有一个自增的字段,定为主键,建议用“表名+ID来命名”,这个字段没有任何实际意义。
2)表中有了自增ID后,不重复的(原来可能设为主键的)字段需要设置不重复,方法:
(1)双击表,选择identifers页:
增加一个identifier(identifier2)
(2)双击identifier2左边的“=>”,弹出以下框:
(3)选择Attributes页,点击
按钮来增加列
(4)选择字段,确定,…结果如下:
3)
联系:
一般一对一,一对多,如果多对多会产生新表。
注意:
一对多的话,在外码的那个表中会自动产生主码所在表中的那个字段,所以不需要手动增加外码的。
8、去掉PowerDesigner生成SQL脚本中字段名带的引号
例子:
createtableTAB_DQSHJJFZGK(
TAB_DQSH_IDNUMBER(6)notnull,
"City"VARCHAR2(10)notnull,
"RegionID"VARCHAR2(10)notnull,
"Name"VARCHAR2(300)notnull,
"Time"DATEnotnull,
"RegionArea"NUMBER,
"UrbanPopu"NUMBER(20,4),
"VillagePopu"NUMBER(22,6),
"FamilyNum"NUMBER(22,6),
"CensusPopu"NUMBER(22,6),
"UsualPopu"NUMBER(22,6),
"ForeignPopu"NUMBER(22,6),
"FlowPopu"NUMBER(22,6),
"GDPTotal"NUMBER(22,6),
DYCYDCZNUMBER(22,6),
DECYDCZNUMBER,
DSCYDCZNUMBER(22,6),
"TranComExpenses"NUMBER(22,6),
"Description"VARCHAR2(3000),
"TVNum"NUMBER,
"PCNum"NUMBER,
"TELNum"NUMBER,
"MobileNum"NUMBER,
HLWSWRSNUMBER,
"InfoOrigin"VARCHAR2(1000),
"SubmitTime"DATE,
"Submiter"VARCHAR2(30),
"LastUpdateTime"DATE,
"LastUpdater"VARCHAR2(30),
GEOIDVARCHAR2(500),
constraintPK_TAB_DQSHJJFZGKprimarykey(TAB_DQSH_ID),
constraintAK_IDENTIFIER_2_TAB_DQSHunique("City","RegionID")
);
上面的字段名有些有””,有些没有””,如果有””那么在作insertinto等操作时也必须加上””
如insertintoTAB_DQSHJJFZGK(DYCYDCZ,”TVNum”)values(30,20)
有””的原因是:
使用PowerDesigner生成数据库建表SQL脚本时,尤其是Oracle数据库时,表名一般会带引号。
其实加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照ORACLE默认的设置建表(DBASTUDIO里面),默认是全部大写,这样,在ORACLE数据库里的字段就如“Column_1”。
如果你把引号去掉,ORACLE自动默认为全部大写,即“COLUMN_1”,所以这段SQL在PL/SQL中执行的时候是没有任何问题的,如果不加引号,在PL/SQL会自动识别为大写。
如果加了引号,sql或者hql查询“Column_1='XXX'”时,就会报错:
ORA-00904:
"COLUMN_1":
无效的标识符,除非写为“‘Column_1’='XXX'”。
这个问题是生成脚本格式的问题,因此,我们可以尝试在DBMS配置文件中修改相应的格式设置来解决这个问题。
选择EditCurrentDBMS,
再选择Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determinesifthecasesensitivityforidentifiersismanagedusingdoublequotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Powerdesigner sysbase 用法