StevenBot-Saltsam

          眼睛能裝下世界,為何卻裝不下眼淚? 一只風(fēng)箏一輩子只為一根線冒險(xiǎn)。 那不是一場(chǎng)游戲,為何總有一根線牽著心懷,隱隱作疼? 那不是一段邂逅,為何飄在橋上的影子,總纏進(jìn)夢(mèng)鄉(xiāng)? 那不是一個(gè)夢(mèng)境,為何你的溫柔私語,總是不經(jīng)意的響起?

          導(dǎo)航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          datas link

          OSChinal Sources codes Library

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          PowerDesigner技巧(轉(zhuǎn))

          PowerDesigner使用MySQL的auto_increment 
            ◇問題描述: 
            PD怎樣能使主鍵id使用MySQL的auto_increment呢?

             ◇解決方法: 
             打開table properties窗口 → columns → 選中id列 → 打開columns properties窗口 → 勾選identity即可 
             注意:概念模型沒有此選項(xiàng),物理模型才有

            2、PowerDesigner去掉SQL腳本中的雙引號(hào) 
            
           ◇問題描述: 
             PD生成Oracle數(shù)據(jù)庫建表SQL時(shí),默認(rèn)會(huì)給表名和字段名加上雙引號(hào),怎樣能去掉SQL腳本中的雙引號(hào)呢?

             ◇解決方法: 
             把Database → Edit Current DBMS → General → Script → Sql → Format → CaseSensitivityUsingQuote設(shè)置為NO即可

            3、PowerDesigner生成SQL語句時(shí)不使用Domain
            
           ◇問題描述: 
             如果在PD中使用了Domain,生成SQLServer的數(shù)據(jù)庫SQL的腳本中會(huì)使用與Domain對(duì)應(yīng)的自定義數(shù)據(jù)類型,而不會(huì)使用 SQLServer自己的數(shù)據(jù)類型,怎樣能讓PD生成SQL語句時(shí)使用SQLServer自己的數(shù)據(jù)庫類型,而不是Domain對(duì)應(yīng)的自定義數(shù)據(jù)類型呢?

             ◇解決方法: 
             把Database → Edit Current DBMS → General → Script → Objects → Domain → Enable設(shè)置為NO即可

            4、PowerDesigner中設(shè)置Entity的默認(rèn)字體 
            
           ◇問題描述: 
             創(chuàng)建Entity時(shí),如果PD默認(rèn)字體不適合自己的個(gè)人習(xí)慣,每次創(chuàng)建了一個(gè)實(shí)體后都要修改實(shí)體的字體,非常麻煩,是否有只修改一次一勞永逸的方法呢?

             ◇解決方法: 
             Tools → Display Preferences... → Format → Entity → Modity... → Font → 進(jìn)行相應(yīng)修改并保存設(shè)置 → Set As Default

            5、PowerDesigner中設(shè)置Entity自動(dòng)調(diào)整尺寸大小 
            
           ◇問題描述: 
             當(dāng)給Entity添加了字段或其他修改時(shí),Entiry的顯示尺寸大小不會(huì)自動(dòng)調(diào)整,怎樣解決呢?

             ◇解決方法: 
             在Entity上點(diǎn)擊右鍵 → 單擊Format...菜單項(xiàng) → 選擇size標(biāo)簽頁 → 勾選Auto adjust to text即可

           

          powerdesiner的自增長列,以前都是生成sql語句后,再在自增長列中添加Identity(1,1).找了好久,終于打到了方法 .

          1.        如果dbms是MsSql,則選定表后,database-> edit current dbms-> 出現(xiàn)DBMS properties對(duì)話框,選擇General頁,左側(cè)的樹選擇SQL 2000-> Profile-> Column-> Extended Attributes 下面的ExtIdentityIncrement是步進(jìn)值,ExtIdentitySeed是起始值,分別設(shè)定默認(rèn)值,后返回。 
          2.      在表的屬性對(duì)話框里面,選擇Clumns頁,按Ctrl+U,在Idenitity前面打上鉤。如有必要,也可以將 
          ExtIdentityIncrement和ExtIdentitySeed也打上勾,這樣在設(shè)定Idenitity時(shí)也可以直接指定起始值和步進(jìn)值了。 
          btw:我用的是PD11,剛剛開始學(xué)PD,關(guān)于Identity的設(shè)定也是找了好久。

          3.     對(duì)于ql server ,在表的屬性對(duì)話框里面,選擇Clumns頁,按Alt+enter進(jìn)入列的屬性頁面,在右下角勾選Idenitity屬性即可.

            取消Name和Code關(guān)聯(lián)的設(shè)置 
               在設(shè)計(jì)PDM文件的時(shí)候,設(shè)計(jì)一張表,在填寫欄位的時(shí)候,如果我們輸入Name,Code會(huì)跟著變化.這個(gè)完全是西方人的習(xí)慣,因?yàn)樗麄兊腘ame和 Code都是E文,所以不會(huì)出現(xiàn)什么問題.但是,我們使用的時(shí)候,就會(huì)很不習(xí)慣,Name應(yīng)該是中文名字,Code才是資料庫的實(shí)際字段名.
               下面記錄修改設(shè)置的步驟:
                   Step 1:
                       菜單欄找到Tools,點(diǎn)開,找到General Options,點(diǎn)擊 
           
          Step 2:打開Dialog將Operating modes中的 Name To Code mirroring 將前面的勾去掉
           
          OK!完成


          sql語句中表名與字段名前的引號(hào)去除:

          打開cdm的情況下,進(jìn)入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項(xiàng)設(shè)置成Uppercase或者Lowercase,只要不是Mixed Case就行!
          或者選擇Database->Edit current database->Script->Sql->Format,有一項(xiàng)CaseSensitivityUsingQuote,它的 comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號(hào)來規(guī)定標(biāo)識(shí)符的大小寫,可以看到右邊的values默認(rèn)值為“YES”,改為“No”即可!
          或者在打開pdm的情況下,進(jìn)入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項(xiàng)設(shè)置成Uppercase就可以!

          在修改name的時(shí)候,code的值將跟著變動(dòng),很不方便

          修改方法:PowerDesign中的選項(xiàng)菜單里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],這里默認(rèn)是讓名稱和代碼同步,將前面的復(fù)選框去掉就行了。

          由pdm生成建表腳本時(shí),字段超過15字符就發(fā)生錯(cuò)誤(oracle)

          原因未知,解決辦法是打開PDM后,會(huì)出現(xiàn)Database的菜單欄,進(jìn)入Database - Edit Current DBMS -script-objects-column-maxlen,把value值調(diào)大(原為30),比如改成60。出現(xiàn)表或者其它對(duì)象的長度也有這種錯(cuò)誤的話都可以選擇對(duì)應(yīng)的objects照此種方法更改!
          或者使用下面的這種方法:
               生成建表腳本時(shí)會(huì)彈出Database generation提示框:把options - check model的小勾給去掉,就是不進(jìn)行檢查(不推薦)!
              或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
               修改好后,再cdm轉(zhuǎn)為pdm時(shí),選擇“Copy the DBMS definition in model”把把這個(gè)資源文件拷貝到模型中。

          由CDM生成PDM時(shí),自動(dòng)生成的外鍵的重命名

          PDM Generation Options->Detail->FK index names默認(rèn)是%REFR%_FK,改為FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自動(dòng)生成的父字段的規(guī)則是PDM Generation Options->Detail->FK column name template中設(shè)置的,默認(rèn)是%.3:PARENT%_%COLUMN%,可以改為Par%COLUMN%表示是父字段!


          建立一個(gè)表后,為何檢測(cè)出現(xiàn)Existence of index的警告 
              A table should contain at least one column, one index, one key, and one reference.
          可以不檢查 Existence of index 這項(xiàng),也就沒有這個(gè)警告錯(cuò)誤了!
          意思是說沒有給表建立索引,而一個(gè)表一般至少要有一個(gè)索引,這是一個(gè)警告,不用管也沒有關(guān)系!

          如何防止一對(duì)一的關(guān)系生成兩個(gè)引用(外鍵) 
          要定義關(guān)系的支配方向,占支配地位的實(shí)體(有D標(biāo)志)變?yōu)楦副怼?br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />在cdm中雙擊一對(duì)一關(guān)系->Detail->Dominant role選擇支配關(guān)系

          修改報(bào)表模板中一些術(shù)語的定義 
          即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
          Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標(biāo)
          修改某些對(duì)象的名稱:Object Attributes\Physical Data Model\Column\
                  ForeignKey:外鍵
                  Mandatory:為空
                  Primary:主鍵
                  Table:表
          用查找替換,把“表格”替換成“表” 
          修改顯示的內(nèi)容為別的:Values Mapping\Lists\Standard,添加TRUE的轉(zhuǎn)化列為是,F(xiàn)ALSE的轉(zhuǎn)化列為空
          另外Report-Title Page里可以設(shè)置標(biāo)題信息

          PowerDesigner11中批量根據(jù)對(duì)象的name生成comment的腳本

          '******************************************************************************
          '* File:     name2comment.vbs
          '* Purpose: Database generation cannot use object names anymore
          '            in version 7 and above.
          '            It always uses the object codes.
          '
          '            In case the object codes are not aligned with your
          '            object names in your model, this script will copy
          '            the object Name onto the object comment for
          '            the Tables and Columns.
          '
          '* Title:    把對(duì)象name拷入comment屬性中
          '* Version: 1.0
          '* Author:
          '* 執(zhí)行方法:PD11 -- Open PDM -- Tools -- Execute Commands -- Run Script
          '******************************************************************************

          Option Explicit
          ValidationMode = True
          InteractiveMode = im_Batch

          Dim mdl ' the current model

          ' get the current active model
          Set mdl = ActiveModel
          If (mdl Is Nothing) Then
             MsgBox "There is no current Model"
          ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
             MsgBox "The current model is not an Physical Data model."
          Else
             ProcessFolder mdl
          End If

          ' This routine copy name into code for each table, each column and each view
          ' of the current folder
          Private sub ProcessFolder(folder)
             Dim Tab 'running table
             for each Tab in folder.tables
                if not tab.isShortcut then
                   tab.comment = tab.name
                   Dim col ' running column
                   for each col in tab.columns
                      col.comment= col.name
                   next
                end if
             next

             Dim view 'running view
             for each view in folder.Views
                if not view.isShortcut then
                   view.comment = view.name
                end if
             next

             ' go into the sub-packages
             Dim f ' running folder
             For Each f In folder.Packages
                if not f.IsShortcut then
                   ProcessFolder f
                end if
             Next
          end sub

           

          PowerDesigner 生成SQL的Existence of refernce錯(cuò)誤問題 
          現(xiàn)象:用PowerDesigner生成SQL語句時(shí),提示Existence of refernce錯(cuò)誤。
          原因:該表沒有與其他表的關(guān)聯(lián)(如外鍵等),而PowerDesigner需要存在一個(gè)refernce才能生成SQL.
          解決方法:
              在工具欄空白處右鍵打開Palette面板,選中Link/Extended Dependency 按鈕,然后在提示出錯(cuò)的表上添加到自己的Dependency。
              重新生成SQL,你將發(fā)現(xiàn)剛才提示的錯(cuò)誤沒有了,問題解決。
             
          利用PowerDesigner批量生成測(cè)試數(shù)據(jù) 
          主要解決方法:
          A:在PowerDesigner 建表
          B:然后給每一個(gè)表的字段建立相應(yīng)的摘要文件
          步驟如下:
          Model->Test Data Profiles配置每一個(gè)字段摘要文件General:輸入Name、Code、
          選擇Class(數(shù)字、字符、時(shí)間)類型
          選擇Generation Source: Automatic、List、ODBC、File Detail:配置字段相關(guān)信息
          所有字段摘要文件配置完成后雙擊該表->選擇字段->Detail->選擇Test Data Parameters 摘要文件如果字段值與其它字段有關(guān)系在: Computed Expression 中輸入計(jì)算列--生成測(cè)試數(shù)據(jù):
          DataBase->Generation Test Data->
          選擇:Genration 類型(Sript、ODBC)
               Selection(選擇要生成的表)
               Test Data Genration(Default number of rows 生成記錄行數(shù))

          1.使用PD12時(shí)出現(xiàn)以下錯(cuò)誤:

          Reference constraint name maximum

          length is limited to 30 characters

          Key constraint name maximum length

          is limited to 30 characters

          Table code maximum length

          Column code maximum length

          ……

          導(dǎo)致生成建表SQL時(shí)通不過,細(xì)究原因原來是默認(rèn)設(shè)置的問題,改下就可以了。

          調(diào)整以下參數(shù):

          Database=>Edit current DBMS 數(shù)據(jù)庫類型::Script\Objects\MaxConstLen value=>255

          Database=>Edit current DBMS 數(shù)據(jù)庫類型::Script\Objects\Table\Maxlen value=>255

          Database=>Edit current DBMS 數(shù)據(jù)庫類型::Script\Objects\Column\Maxlen value=>255

          但是要注意的是,表名、列名、主鍵等不要超過30個(gè)字符,否則Oracle不認(rèn)。

          2.附:生成數(shù)據(jù)庫腳本

          Database=>Generate database

          -----------------------------

          -----------------------------

          默認(rèn)生成的SQL語句(表名、字段名等)都帶雙引號(hào),導(dǎo)致用SQLPlus插入Oracle數(shù)據(jù)庫時(shí)表名與表列都帶""號(hào),要解決這個(gè)問題,在數(shù)據(jù)庫中做如下設(shè)置:

          Database-> Edit Current DBMS...-> Script-> Sql->

          Format-> CaseSensitivityUsingQuote 改為No

          3.如何在powerDesigner中給字段賦默認(rèn)值

          雙擊表,出現(xiàn)column列表,雙擊要設(shè)置的列的左邊的灰色框,應(yīng)該會(huì)彈出新的窗口,然后在新窗口上選擇standard checks ,里面有default的


                  我一直用的是Oracle數(shù)據(jù)庫,所以在設(shè)計(jì)CDM的時(shí)候,就沒有選定表主鍵自動(dòng)增長。這是SQL Server和MYSQL才有的方式。Oracle中一般是采用SEQUENCE的方式來處理主鍵增長的問題的。相對(duì)寫程序來說,Oracle的處理方式比較復(fù)雜一點(diǎn)。

                 打開PDM,選中一張表,雙擊打開表屬性,選擇Columns列,選中主鍵字段,雙擊打開,界面的最下方右下角有一個(gè)Identity,選中這個(gè)之后,生成的表主鍵就是自動(dòng)增長的了。

          要一個(gè)表一個(gè)表的手工去修改。這要改到什么時(shí)候啊!

          在google上搜索了一下,發(fā)現(xiàn)居然有很多人碰到這個(gè)問題,還有一個(gè)vbs的腳本執(zhí)行一次就解決了。大家可以去搜索一下,腳本名字叫SetIdentity.vbs。

                  在PD中執(zhí)行腳本方法也很簡(jiǎn)單,Tools——Excecute Commands——Edit/Run Scripts。

          另外還有一個(gè)腳本,是用來把字段的name統(tǒng)一設(shè)置為數(shù)據(jù)庫字段的comments字段內(nèi)容的name2comment.vbs代碼。也很好用。(一般name都是中文描述,code就是代碼)

           

          本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/yycc2008/archive/2009/05/18/4198230.aspx

           

          2、由pdm生成建表腳本時(shí),字段超過15字符就發(fā)生錯(cuò)誤(oracle) 
          原因未知,解決辦法是打開PDM后,會(huì)出現(xiàn)Database的菜單欄,進(jìn)入Database - Edit Current DBMS -script-objects-column-maxlen,把value值調(diào)大(原為30),比如改成60。出現(xiàn)表或者其它對(duì)象的長度也有這種錯(cuò)誤的話都可以選擇對(duì)應(yīng)的objects照此種方法更改! 

          或者使用下面的這種方法: 
          生成建表腳本時(shí)會(huì)彈出Database generation提示框:把options - check model的小勾給去掉,就是不進(jìn)行檢查(不推薦)! 
          或者可以修改C:Program FilesSybasePowerDesigner Trial 11Resource FilesDBMSoracl9i2.xdb文件 
          修改好后,再cdm轉(zhuǎn)為pdm時(shí),選擇“Copy the DBMS definition in model”把把這個(gè)資源文件拷貝到模型中。 

          3、生成的建表腳本中如何把對(duì)象的雙引號(hào)去掉? 
          打開cdm的情況下,進(jìn)入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項(xiàng)設(shè)置成Uppercase或者Lowercase,只要不是Mixed Case就行! 
          或者選擇Database->Edit current database->Script->Sql->Format,有一項(xiàng)CaseSensitivityUsingQuote,它的comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號(hào)來規(guī)定標(biāo)識(shí)符的大小寫,可以看到右邊的values默認(rèn)值為“YES”,改為“No”即可! 
          或者在打開pdm的情況下,進(jìn)入Tools-Model Options-Naming Convention,把Name和Code的標(biāo)簽的Charcter case選項(xiàng)設(shè)置成Uppercase就可以! 

          4、建立一個(gè)表后,為何檢測(cè)出現(xiàn)Existence of index的警告 
          A table should contain at least one column, one index, one key, and one reference. 
          可以不檢查 Existence of index 這項(xiàng),也就沒有這個(gè)警告錯(cuò)誤了! 
          意思是說沒有給表建立索引,而一個(gè)表一般至少要有一個(gè)索引,這是一個(gè)警告,不用管也沒有關(guān)系! 

          5、創(chuàng)建一個(gè)表在修改字段的時(shí)候,一修改name的內(nèi)容,code也跟著變化,如何讓code不隨著name變化 
          Name和Code 的右側(cè)都有一個(gè)按鈕“=”,如果需要不同步的話,把這個(gè)按鈕彈起來就可以了。 
          Tools->General Options->Dialog->Name to Code Mirroring (去掉) 

          6、由CDM生成PDM時(shí),自動(dòng)生成的外鍵的重命名 
          PDM Generation Options->Detail->FK index names默認(rèn)是%REFR%_FK,改為FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自動(dòng)生成的父字段的規(guī)則是PDM Generation Options->Detail->FK column name template中設(shè)置的,默認(rèn)是%.3:PARENT%_%COLUMN%,可以改為Par%COLUMN%表示是父字段! 

          7、如何防止一對(duì)一的關(guān)系生成兩個(gè)引用(外鍵) 
          要定義關(guān)系的支配方向,占支配地位的實(shí)體(有D標(biāo)志)變?yōu)楦副怼?nbsp;
          在cdm中雙擊一對(duì)一關(guān)系->Detail->Dominant role選擇支配關(guān)系 

          8、修改報(bào)表模板中一些術(shù)語的定義 
          即文件:C:Program FilesSybasePowerDesigner Trial 11Resource FilesReport LanguagesChinese.xrl 
          Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標(biāo) 
          修改某些對(duì)象的名稱:Object AttributesPhysical Data ModelColumn 
          ForeignKey:外鍵 
          Mandatory:為空 
          Primary:主鍵 
          Table:表 
          用查找替換,把“表格”替換成“表” 
          修改顯示的內(nèi)容為別的:Values MappingListsStandard,添加TRUE的轉(zhuǎn)化列為是,F(xiàn)ALSE的轉(zhuǎn)化列為空 
          另外Report-Title Page里可以設(shè)置標(biāo)題信息

          posted on 2011-10-08 10:35 Steven_bot 閱讀(1617) 評(píng)論(0)  編輯  收藏 所屬分類: powerdesigner

          主站蜘蛛池模板: 团风县| 惠东县| 永善县| 清徐县| 咸宁市| 衢州市| 佛教| 全州县| 宣化县| 郓城县| 平湖市| 惠水县| 沧源| 论坛| 安泽县| 平定县| 安国市| 安丘市| 慈溪市| 无锡市| 新安县| 永安市| 宜昌市| 安丘市| 大兴区| 娱乐| 萨迦县| 长沙市| 龙游县| 开江县| 全椒县| 镇坪县| 黎川县| 孝义市| 潜山县| 清水县| 肇东市| 井冈山市| 沙洋县| 石林| 卢龙县|