name和code的输入错误:有一位网友使用PowerDesigner进行数据库建模,由于对PowerDesigner的使用不熟悉,勿以为对表中的列生成脚本会使用name而不是code。该网友的本意是:使用中文作为注释便于理解和沟通,而sql脚本则采用英文。但是正是由于对这个概念没有弄清楚,恰恰将name和code弄错,code输入列中输入了中文,name列中输入了英文。如下图所示:
< language="JavaScript" type="text/javascript">resizeImage('http://dev.csdn.net/Develop/ArticleImages/22/22565/CSDN_Dev_Image_2003-12-51405510.gif','image0')
所以生成的脚本如下:
========================================
create table 学生 (
学号 int null,
姓名 varchar(20) null,
年龄 smallint null,
性别 bit null,
已婚 bit null,
身份证号 varchar(18) null,
备注 varchar(50) null
)
========================================
这恰恰和他的本意相违背,所以,为了正确的生成英文脚本时,不得不手动将name和code以正确的中英文次序再重新输入一次,模型中有几十张表,该工作耗费了大量宝贵的开发的时间,造成了不必要的损失。
讨论:
要解决这个问题我们要首先要了解PowerDesigner是如何成脚本。在2.15PowerDesigner的变量一节中曾经提到,很多对象都既包含一个代码变量(code variable)又包含一个生成代码变量(generated code variable)。代码(code)变量是在对象属性窗口中定义的属性代码,而生成代码(generated code)变量则是根据对象的属性代码和生成选项计算而产生的,如果代码(Code)的长度超过了DBMS中限制的最大长度,则会自动截取code产生生成代码(generated code)。而PowerDesigner在默认情况下生成脚本既不是采用name也不是code,而是代码(code)生成的“生成代码”(generated code)作为对象的名称。而通常情况下由于code本身没有超过DBMS规定的最大长度,所以会给人一种错误的认识,认为脚本生成使用的是code作为名称。
这样,在这个例子中解决问题的思路就很清楚了,如果可以采用name来生成英文代码就可以解决该问题,换句话说,就是用name(名称)替换generated code(生成代码)。参考2.15PowerDesigner的变量一节中的变量列表:“用于定义表的变量”,可得知COLUMN是列的生成代码,COLNNAME是列名称(name),COLNCODE是列代码(code)。
COLNCODE和COLUMN不同之处在于COLUMN是列的生成代码,即COLNCODE在DBMS最大长度范围内的code,如果code太长,就会被截取一部分,这时候的COLUMN就和COLNCODE就不相等了,但通常情况下code不会超过最大长度即与COLUMN相等。
解决方案:
如下图所示,选择Database->Edit current database,选择script->object->column->add
< language="JavaScript" type="text/javascript">resizeImage('http://dev.csdn.net/Develop/ArticleImages/22/22565/CSDN_Dev_Image_2003-12-51405512.gif','image1')
图表 2.15.2.1
可以在窗口右方的Value编辑框中看到定义表中列的代码模板:
==========================================
%20:COLUMN%[%COMPUTE%?AS(%COMPUTE%):%20:DATATYPE%[%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]
==========================================
参考2.15.2 PowerDesigner中对变量格式化一节,此外,由于变量在PowerDesigner中的引用需要加“% %”,所以很容易理解代码模板中的“%20:COLUMN%”表示对列的生成代码(generated code)采用固定长度20位,而我们需要做的正是将COLUMN换为COLNNAME,也就是将“%20:COLNNAME%”换为“%20:COLNNAME%”,然后点击确定,弹出确认窗口,点击“是”表示保存该修改。进入表中的priview属性页中可以查看代码发生变化,基本上解决了这个问题:
==========================================
create table 学生 (
studenNo int null,
studentName varchar(20) null,
age smallint null,
gender bit null,
isMarried bit null,
idCardNo varchar(18) null,
description varchar(50) null
)
==========================================
观察代码发现表名称还是采用了这位网友输入的相反的中文,我们可以用相同的方法,Database->Edit current database,选择Script->Object->Table->Create将%TABLE%换为%TNAME%,这样,便会发现脚本中的“学生”也会正确的成为“student”。
通过这种方法,这个问题的解决只需要花费不到一分钟的时间,而不需要动辄手动修改数小时,让人头晕眼花没有一丝成就感。
分享到:
相关推荐
PowerDesigner 是一个功能强大的数据建模工具,广泛应用于数据仓库设计、数据库设计和 BUSINESS INTELLIGENCE 等领域。然而,在使用 PowerDesigner 进行数据建模时,经常会遇到 Name 与 Code 同步的问题。本文将介绍...
在IT领域,数据库建模工具PowerDesigner是一款广泛使用的软件,它可以帮助开发者设计和规划复杂的数据库架构。在使用PowerDesigner的过程中,有时会遇到一个常见的问题,即Name(名称)与Code(代码)同步的问题。这...
在IT行业中,数据库建模工具PowerDesigner是一款广泛使用的软件,它可以帮助开发者设计和管理复杂的数据库模型。本篇文章将深入探讨如何在PowerDesigner中处理name和code的关联问题,以及如何调整导出SQL代码的格式...
在PowerDesigner这款数据建模和设计工具中,name和comment的互换是一个重要的操作,尤其对于数据模型的管理和维护来说。当我们处理复杂的数据模型时,我们可能需要将模型中对象的name(名称)和comment(注释)字段...
PowerDesigner是一款强大的数据库设计和建模工具,常用于软件开发过程中的数据库设计。本指南主要介绍了如何使用PowerDesigner进行概念模型和物理模型的设计,以及如何利用仓库进行版本管理和协同工作。 首先,工作...
PowerDesigner是一款强大的数据库设计和建模工具,广泛应用于软件开发的前期阶段,尤其在数据建模领域。本指南主要聚焦于使用PowerDesigner进行概念模型(Conceptual Data Model)和物理模型(Physical Data Model)...
在现代软件开发与数据库设计领域,PowerDesigner作为一款强大的数据建模工具,为数据库架构师、分析师和开发者提供了全面而深入的功能支持。本文旨在深入探讨PowerDesigner的使用技巧,特别是在创建实体关系图(ERD...
根据提供的文件内容,我们可以提炼出关于PowerDesigner 16.5的数据库模型操作教程的...同时,掌握如何在PowerDesigner中进行数据库建模,可以大大提升数据模型设计的效率和质量,对数据库的设计和维护工作至关重要。
- `General`选项卡中的`Name`和`Code`可以根据实际情况进行修改。 - 切换到`Physical Options`选项卡,设置以下内容: - `Start With`: 设置序列的起始值,通常设置为1。 - `Increment By`: 设置序列每次增加的...
### PowerDesigner 数据库建模工具使用教程 #### 一、PowerDesigner 简介与安装 **PowerDesigner** 是一款非常强大的数据建模工具,它能够帮助用户进行数据库设计、概念设计以及物理设计等,广泛应用于数据库开发...
PowerDesigner是企业级的数据建模工具,它允许用户设计复杂的数据库模型,包括物理数据模型(PDM)、概念数据模型(CDM)和逻辑数据模型(LDM)。在日常使用中,为了提高效率,开发人员和数据库管理员经常编写脚本来...
PowerDesigner是一款强大的数据库建模工具,广泛应用于管理信息系统的分析和设计。它涵盖了从概念数据模型(CDM)到物理数据模型(PDM)的全过程,支持多种数据模型,并能与其他开发工具如PowerBuilder、Delphi、VB...
在IT行业中,数据库设计是软件开发过程中的关键环节,PowerDesigner是一款强大的数据库设计工具,它提供了数据建模、数据库设计和数据库反向工程等功能。本文将深入探讨如何使用PowerDesigner进行MySQL数据库的逆向...
在IT行业中,PowerDesigner是一款强大的数据建模工具,它被广泛用于数据库设计、逆向工程、数据仓库建模以及业务流程建模等多个领域。在处理复杂的数据库模型时,用户经常需要查看并比较对象的name、code和comment等...
PowerDesigner是一款强大的数据库设计工具,尤其在数据建模和代码生成方面表现卓越。在PowerDesigner 12中,用户可以通过以下步骤创建数据库模型并自动生成相应的数据库代码: 1. **新建文件**:启动PowerDesigner ...
### PowerDesigner 常用设置大全 #### 设置1:取消Name与Code的联动 在进行数据库设计时,可能会遇到Name与Code同步...以上是关于PowerDesigner中一些常用设置的详细介绍,希望能够帮助您更高效地进行数据库建模工作。
通过以上步骤,我们可以有效地利用PowerDesigner进行SQL脚本与数据库模型之间的转换,同时也能灵活地处理模型中的大小写问题和表名与Code的一致性问题。这些技能对于数据库开发者来说是非常实用且重要的。
PowerDesigner 是一款功能强大的数据建模工具,广泛应用于数据库设计、开发和维护中。本文将对 PowerDesigner 12 的一些使用心得进行总结,包括安装、生成建表脚本、对象命名、报表模板修改等方面。 一、安装 ...
然而,在使用 PowerDesigner 进行数据建模时,经常会遇到表名和列名使用汉字的问题,这就需要将汉字表名和列名转换为汉语拼音抽头以便于数据存储和管理。 本文将介绍如何使用 VBScript 脚本将 PowerDesigner 中的...