StevenBot-Saltsam

          眼睛能裝下世界,為何卻裝不下眼淚? 一只風箏一輩子只為一根線冒險。 那不是一場游戲,為何總有一根線牽著心懷,隱隱作疼? 那不是一段邂逅,為何飄在橋上的影子,總纏進夢鄉? 那不是一個夢境,為何你的溫柔私語,總是不經意的響起?

          導航

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

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          datas link

          OSChinal Sources codes Library

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          PowerDesigner技巧(轉)

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

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

            2、PowerDesigner去掉SQL腳本中的雙引號 
            
           ◇問題描述: 
             PD生成Oracle數據庫建表SQL時,默認會給表名和字段名加上雙引號,怎樣能去掉SQL腳本中的雙引號呢?

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

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

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

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

             ◇解決方法: 
             Tools → Display Preferences... → Format → Entity → Modity... → Font → 進行相應修改并保存設置 → Set As Default

            5、PowerDesigner中設置Entity自動調整尺寸大小 
            
           ◇問題描述: 
             當給Entity添加了字段或其他修改時,Entiry的顯示尺寸大小不會自動調整,怎樣解決呢?

             ◇解決方法: 
             在Entity上點擊右鍵 → 單擊Format...菜單項 → 選擇size標簽頁 → 勾選Auto adjust to text即可

           

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

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

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

            取消Name和Code關聯的設置 
               在設計PDM文件的時候,設計一張表,在填寫欄位的時候,如果我們輸入Name,Code會跟著變化.這個完全是西方人的習慣,因為他們的Name和 Code都是E文,所以不會出現什么問題.但是,我們使用的時候,就會很不習慣,Name應該是中文名字,Code才是資料庫的實際字段名.
               下面記錄修改設置的步驟:
                   Step 1:
                       菜單欄找到Tools,點開,找到General Options,點擊 
           
          Step 2:打開Dialog將Operating modes中的 Name To Code mirroring 將前面的勾去掉
           
          OK!完成


          sql語句中表名與字段名前的引號去除:

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

          在修改name的時候,code的值將跟著變動,很不方便

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

          由pdm生成建表腳本時,字段超過15字符就發生錯誤(oracle)

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

          由CDM生成PDM時,自動生成的外鍵的重命名

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


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

          如何防止一對一的關系生成兩個引用(外鍵) 
          要定義關系的支配方向,占支配地位的實體(有D標志)變為父表。
          在cdm中雙擊一對一關系->Detail->Dominant role選擇支配關系

          修改報表模板中一些術語的定義 
          即文件: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里可以設置標題信息

          PowerDesigner11中批量根據對象的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:    把對象name拷入comment屬性中
          '* Version: 1.0
          '* Author:
          '* 執行方法: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錯誤問題 
          現象:用PowerDesigner生成SQL語句時,提示Existence of refernce錯誤。
          原因:該表沒有與其他表的關聯(如外鍵等),而PowerDesigner需要存在一個refernce才能生成SQL.
          解決方法:
              在工具欄空白處右鍵打開Palette面板,選中Link/Extended Dependency 按鈕,然后在提示出錯的表上添加到自己的Dependency。
              重新生成SQL,你將發現剛才提示的錯誤沒有了,問題解決。
             
          利用PowerDesigner批量生成測試數據 
          主要解決方法:
          A:在PowerDesigner 建表
          B:然后給每一個表的字段建立相應的摘要文件
          步驟如下:
          Model->Test Data Profiles配置每一個字段摘要文件General:輸入Name、Code、
          選擇Class(數字、字符、時間)類型
          選擇Generation Source: Automatic、List、ODBC、File Detail:配置字段相關信息
          所有字段摘要文件配置完成后雙擊該表->選擇字段->Detail->選擇Test Data Parameters 摘要文件如果字段值與其它字段有關系在: Computed Expression 中輸入計算列--生成測試數據:
          DataBase->Generation Test Data->
          選擇:Genration 類型(Sript、ODBC)
               Selection(選擇要生成的表)
               Test Data Genration(Default number of rows 生成記錄行數)

          1.使用PD12時出現以下錯誤:

          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

          ……

          導致生成建表SQL時通不過,細究原因原來是默認設置的問題,改下就可以了。

          調整以下參數:

          Database=>Edit current DBMS 數據庫類型::Script\Objects\MaxConstLen value=>255

          Database=>Edit current DBMS 數據庫類型::Script\Objects\Table\Maxlen value=>255

          Database=>Edit current DBMS 數據庫類型::Script\Objects\Column\Maxlen value=>255

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

          2.附:生成數據庫腳本

          Database=>Generate database

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

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

          默認生成的SQL語句(表名、字段名等)都帶雙引號,導致用SQLPlus插入Oracle數據庫時表名與表列都帶""號,要解決這個問題,在數據庫中做如下設置:

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

          Format-> CaseSensitivityUsingQuote 改為No

          3.如何在powerDesigner中給字段賦默認值

          雙擊表,出現column列表,雙擊要設置的列的左邊的灰色框,應該會彈出新的窗口,然后在新窗口上選擇standard checks ,里面有default的


                  我一直用的是Oracle數據庫,所以在設計CDM的時候,就沒有選定表主鍵自動增長。這是SQL Server和MYSQL才有的方式。Oracle中一般是采用SEQUENCE的方式來處理主鍵增長的問題的。相對寫程序來說,Oracle的處理方式比較復雜一點。

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

          要一個表一個表的手工去修改。這要改到什么時候啊!

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

                  在PD中執行腳本方法也很簡單,Tools——Excecute Commands——Edit/Run Scripts。

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

           

          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yycc2008/archive/2009/05/18/4198230.aspx

           

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

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

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

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

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

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

          7、如何防止一對一的關系生成兩個引用(外鍵) 
          要定義關系的支配方向,占支配地位的實體(有D標志)變為父表。 
          在cdm中雙擊一對一關系->Detail->Dominant role選擇支配關系 

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

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

          主站蜘蛛池模板: 万宁市| 赣榆县| 宁陵县| 洞口县| 贵溪市| 西林县| 玛纳斯县| 内江市| 新巴尔虎右旗| 舟山市| 梁山县| 昂仁县| 嘉义县| 锡林郭勒盟| 永康市| 新泰市| 阿巴嘎旗| 四会市| 琼海市| 达州市| 南康市| 南陵县| 吉木乃县| 宕昌县| 原阳县| 旌德县| 青海省| 永城市| 新竹市| 嘉禾县| 太保市| 张家港市| 渭南市| 新巴尔虎右旗| 中西区| 龙泉市| 大悟县| 濮阳县| 溆浦县| 城口县| 清涧县|