- 浏览: 1201190 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
1、去掉Oracle生成的SQL创建语句中的双引号
用powerdesigner导出orale数据库的建表sql时,默认会给表名和字段名加上双引号,如下图:
这样给操作数据库带来很大的不便,解决的办法是设置Database菜单,
然后点击Edit Current DBMS菜单,再依次点开Script->Format,然后找到CaseSensitivityUsingQuote
将其设为NO,即可。如下图:
如果带有包的话,导出时要选择包中的表。
2、PowerDesign高级应用
编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目录下的脚本示例。怎么运用这些脚本呢?
在Tools->Execute Commands里可以进行操作。具体说明在帮助里写的很清楚。帮助的位置在 PowerDesigner General Features Guide-> PART 2. Modeling Guide->CHAPTER 8. Managing Objects->Accessing objects using VBScript->VBScript uses in PowerDesigner
PowerDesign的使用主要是DBMS的配置
3、修改建表脚本生成规则。
如果每个表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展开 Script -> Object -> Table -> Create 见右下的Value值,可以直接修改如下:
/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
%TABLDEFN%
ts char(19) null default convert(char(19),getdate(),20),
dr smallint null default 0
)
[%OPTIONS%]
其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。
4、修改字段生成规则。
要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/
其中的%COLNNAME%就是列的Name值(可以是中文)
5、修改外键命名规则。
选择Database—>Edit Current DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了
生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。
6、添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段。如下图:
接着出现如下画面:
按照步骤操作即可。
7、取消name和code联动
在修改name的时候,code的值将跟着变动,很不方便。修改方法:PowerDesign中的选项菜单里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。如图:
编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目录下的脚本示例。怎么运用这些脚本呢?
在Tools-》Execute Commands里可以进行操作。具体说明在帮助里写的很清楚。帮助的位置在 PowerDesigner General Features Guide-> PART 2. Modeling Guide->CHAPTER 8. Managing Objects->Accessing objects using VBScript->VBScript uses in PowerDesigner
PowerDesign的使用主要是DBMS的配置
1、修改建表脚本生成规则。如果每个表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展开 Script -> Object -> Table -> Create 见右下的Value值,可以直接修改如下:
/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
%TABLDEFN%
ts char(19) null default convert(char(19),getdate(),20),
dr smallint null default 0
)
[%OPTIONS%]
其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。
2、修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/
其中的%COLNNAME%就是列的Name值(可以是中文)
3、修改外键命名规则。选择Database—>Edit Current DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了
生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。
4、添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段
5、去掉生成的SQL脚本双引号的问题:ORACLE 8I2::Script\Sql\Format\CaseSensitivityUsingQuote改成No,默认是Yes所以会有双引号。
PowerDesigner设计数据库规范<o:p></o:p>
----初稿 by 罗军<o:p></o:p>
需求:<o:p></o:p>
虽然目前我们的数据库设计模式能够满足开发要求,也节省了开发时间,但是这样的设计会对以后工程项目的维护、改版造成成本上的增加。数据库表的字段在修改上将对主程序造成影响;另外对于开发和维护人员来说,字段的编码也需要规范化,这样可以统一字段编码,让维护人员一看就懂,增添的字段对以后接手项目的人员来说则很容易上手。
针对上述问题,我建议数据开发需要定义一套简明扼要的规范。规范中包括三个部分:一是编码的规范;二是字段类型长度的定义;三是表设计的特殊说明。
<o:p> </o:p>
设计:<o:p></o:p>
数据库开发流程先知:在PowerDesigner中,我们主要设计物理数据模型(PDM文件),这时需要定义一个工程项目的数据字段域,定义字段域有一个好处就是以后设计数据表时,字段的类型可以选择用域中定义好的类型,更改了域的类型信息,表中与域引用相关的字段信息也相应改变,这样方便修改字段,也统一了字段类型和长度。
定义好域之后,就可以设计数据表以及字段了。设计完表,可以选择导出的数据库类型,并生成建数据和建表的sql,再通过数据库连接工具执行sql语句,一个工程项目的数据库就建立好了。以后只要有数据库的修改要求,则重新生成sql语句并执行之即可。注意:重新执行sql之前需要确定是否保留原表的数据,若需要保留则只能通过alert语句来修改,否则原表的数据将被冲洗掉。
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> </v:shapetype>
图I 数据库设计流程图
如图(图I)所示为数据库设计流程图,如果有修改内容,我们只需要重新执行箭头2所指的三个步骤就行。
以下说明数据库设计过程中的一些要求。
1) 编码规范
编码主要是要注意编码的前后缀,以便看到编码则知道是什么类型。
A. 主键pk_ [字符串or长整型] 例如:pk_company
B. 外键fk_ [字符串or长整型] 例如:fk_employee
C. 字符串 v 例如:vdetail
D. 字符型 c 例如:ccolor
E. 时间 d 例如:ddatetime
F. 逻辑 b 例如:bisdeleted
G. 整型 i 例如:itype
H. 数字型(浮点行) n 例如:nprice
I. 文本型 t 例如:tdescription
J. 对象类型 o 例如:opicture
给各个表与字段编码时,尽量保持编码的长度在20个字符以内,编码要求有一定意义,并且易懂。
2) 字段类型长度定义
主键、外键如果是字符串行的话,建议用20个字符的长度。字符串的长度一般定义20、30、50、100、256、512、1024、2048、4096,超过4096个字符可以建议用文本类型来定义。定义字段的长度主要用于定义域的字段长度,从而规范表字段的类型及长度。
3) 表设计的特殊说明
一般,表中的记录如果是假删除的话,则每个表需要统一的删除字段,另外,时间字段一般每一个表也要求出现,这样设计可以考虑目前或者以后做多线程访问的控制判断(即允许多读,但不允许多写),以后还有可能对一类表有固定必需字段的要求,这样的需求可以利用powerdesigner来统一添加。另外,每一表建议只有主键非空,其余字段均可空,字段的非空判断交由程序来处理,不用数据库来判断。
发表评论
-
并发行级锁超2秒报警监控sql
2010-07-20 16:18 1948并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1459按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1402Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1484Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1399Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1854一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19640oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1884Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3503去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2138一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
RMAN配置及备份与恢复练习
2009-09-27 18:06 16291.创建表空间SQL>create tablespace ... -
误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)
2009-09-27 18:01 3390要达到删除数据,有以下几种方式都可以:1、delete2、dr ... -
IMP数据到指定的表空间
2009-09-27 12:47 9114IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1887为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3073一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1987加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2068一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 7987AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1490select to_char(sysdate, 'Day'), ...
相关推荐
使用PowerDesigner 12.0创建Web服务... 22 开发人员应该如何使用PowerDesigner. 26 使用SQL Server时最容易忽略的21个问题... 27 使用PowerDesigner 建立企业知识库... 31 面向SOA企业业务过程建模的利器— ...
**PowerDesigner使用详解** PowerDesigner是一款强大的数据建模工具,由Sybase公司开发,广泛应用于数据库设计、系统分析和项目管理。它支持多种数据库模型,包括概念数据模型(CDM)、逻辑数据模型(LDM)和物理...
在"PowerDesigner使用教程9.5"中,我们将深入探讨这个工具的各个方面。 **一、PowerDesigner的基本操作** 1. **启动与界面介绍**:PowerDesigner启动后,用户会看到一个直观的界面,包括菜单栏、工具栏、工作区和...
使用PowerDesigner 12.0创建Web服务... 22 开发人员应该如何使用PowerDesigner. 26 使用SQL Server时最容易忽略的21个问题... 27 使用PowerDesigner 建立企业知识库... 31 面向SOA企业业务过程建模的利器— ...
### PowerDesigner 使用建议详解 #### 一、业务规则(Business Rule)的应用与封装 在数据库设计过程中,常常会遇到业务逻辑复杂且需跨多个表的情况。此时,将这些复杂的业务逻辑封装为**业务规则(Business Rule...
### 使用PowerDesigner进行数据库设计详解 #### 一、PowerDesigner简介 PowerDesigner是一款强大的数据库建模工具,由SAP公司开发。它可以帮助开发者快速高效地完成数据库的设计与维护工作,支持概念模型、逻辑模型...
3. **面向对象模型(OOM)**:OOM由一系列包、类、接口及其关系组成,形成了软件系统类结构的逻辑设计视图。OOM是软件系统的一个静态概念模型,可用于纯对象导向的开发,也可生成Java或PowerBuilder文件,甚至从中...
### PowerDesigner15.1使用教程知识点概览 #### 1. PowerDesigner简介 - **定义**: PowerDesigner是由Sybase公司开发的一款强大的CASE工具集,主要用于管理信息系统的设计和分析。 - **功能**: 支持数据流程图制作...
Powerdesigner使用
3. **逆向工程与正向工程**:PowerDesigner支持从现有数据库中生成PDM(逆向工程),这有助于理解和修改已有的数据库结构。同时,它可以将PDM转换为数据库脚本(正向工程),方便在数据库中创建实际的表结构。 4. *...
《PowerDesigner使用教程》,作者 gzllm。本资源解压缩后可以得到《PowerDesigner使用教程.pdf》和《PowerDesigner使用教程.chm》两个版本的电子书,方便不通阅读习惯的朋友选择阅读。 内容预览: 一、PowerDesigner...
### PowerDesigner16使用教程全攻略 #### 前言 PowerDesigner 是一款强大的数据库设计与建模工具,被广泛应用于数据库的设计与管理之中。它能够帮助开发者从概念设计到物理设计,再到最终的数据库构建与维护。本文...
PowerDesigner是一款强大的数据库设计与建模工具,广泛应用于软件开发、数据分析等领域。...《PowerDesigner 15.1使用手册》详细阐述了这些功能的使用方法和最佳实践,是掌握这款工具不可或缺的参考资料。
**PowerDesigner使用教程(中文)** Sybase PowerDesigner是一款强大的数据建模工具,广泛应用于数据库设计、数据分析和企业架构规划。本教程详细介绍了PowerDesigner 9.5版本的使用方法,旨在帮助用户全面掌握该软件...
【PowerDesigner 使用手册】 PowerDesigner 是一款强大的数据库设计和建模工具,广泛应用于软件开发的前期阶段,尤其在数据库的概念级设计中。本教程将详细阐述如何使用 PowerDesigner 创建概念数据模型(CDM),...
4. **资源分享**:描述中提到的“1分资源,很方便的哦”,可能指的是提供的`Powerdesigner使用方法.ppt`,这是一个PowerPoint演示文稿,可能包含了详细的步骤和截图,指导用户如何操作PowerDesigner。而`wwhz Report...
### PowerDesigner 15.1使用教程:深度解析与实用指南 #### 一、PowerDesigner简介及重要性 PowerDesigner,作为Sybase公司旗下的旗舰级CASE(Computer-Aided Software Engineering)工具,为软件开发和数据库设计...
Visio 和 PowerDesigner 使用方法 详解 图文并茂
使用PowerDesigner创建数据库表图文并茂版
【PowerDesigner的使用详解】 PowerDesigner是一款强大的数据库设计与建模工具,被广泛应用于系统分析、数据库设计和数据仓库建设等领域。它可以帮助我们创建清晰、规范的数据库模型,提高数据库设计的质量和效率。...