<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ice world

    There is nothing too difficult if you put your heart into it.
    posts - 104, comments - 103, trackbacks - 0, articles - 0

    PowerDesigner中一些有用的設置

    Posted on 2011-04-23 15:24 IceWee 閱讀(901) 評論(0)  編輯  收藏 所屬分類: Database

    最近使用PD比較頻繁,也被PD給搞的焦頭爛額,網上好的東西還是比較多的,摘了點留作備用。

     

    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”把把這個資源文件拷貝到模型中。
    ----------------------------------------------------------------------------------------------------------------------------------

    修改外鍵命名規則

    選擇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鉤選項即可。

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

    建立一個表后,為何檢測出現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里可以設置標題信息
    ----------------------------------------------------------------------------------------------------------------------------------

     
    批量根據對象的name生成comment的腳本

    執行方法: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 NothingThen
    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

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

    逆向工程將數據庫中comment腳本賦值到PDM的name

    執行方法: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 NothingThen
    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
    if len(tab.comment) <> 0 then
    tab.name 
    = tab.comment
    end if
    On Error Resume Next
    Dim col 'running column
    for each col in tab.columns
    if len(col.comment) <>0 then
    col.name 
    =col.comment
    end if
    On Error Resume Next
    next
    end if
    next
    end sub

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

    刪除概念模型中沒用的Data Items

    '*****************************************************************************
    '
    文件:Delete useless data items.vbs
    '
    版本:1.0
    '
    版權:floodzhu (floodzhu@hotmail.com),2005.1.6
    '
    功能:遍歷概念模型,把無用的Data Items刪除。
    '
    *****************************************************************************
    dim index
    index 
    = 0

    dim model 'current model
    set model = ActiveModel


    If (model Is NothingThen
       
    MsgBox "當前沒有活動的模型。"
    ElseIf Not model.IsKindOf(PdCDM.cls_Model) Then
       
    MsgBox "當前模型不是概念模型。"
    Else
       View model
       
    MsgBox index & "個無用字段被刪除。"
    End If

    '*****************************************************************************
    '
    函數:View
    '
    功能:遞歸遍歷
    '
    *****************************************************************************
    sub View(folder)
       
    dim item
       
    for each item in folder.DataItems
          
    if not item.IsShortCut then
             Visit item
          
    end if
       
    next
      
       
    '對子目錄進行遞歸
       dim subFolder
       
    for each subFolder in folder.Packages
          View subFolder
       
    next
    end sub

    '*****************************************************************************
    '
    函數:Visit
    '
    功能:處理節點
    '
    *****************************************************************************
    sub Visit(node)
     
    if node.UsedBy="" then
          node.delete
          index 
    = index + 1
       
    end if
    end sub

     

    主站蜘蛛池模板: 亚洲综合无码精品一区二区三区 | 久久国产精品免费网站| 激情内射亚洲一区二区三区| 欧洲精品成人免费视频在线观看 | 亚洲色欲久久久久综合网| 爽爽爽爽爽爽爽成人免费观看| 亚洲视频国产视频| 国产成人精品免费视频大全五级 | 中文字幕成人免费高清在线视频| 91亚洲国产在人线播放午夜| 高清国语自产拍免费视频国产 | 免费观看91视频| 亚洲综合av一区二区三区不卡 | 亚洲AV无码一区二区二三区入口| 男人的好免费观看在线视频| 久久久受www免费人成| 最新国产精品亚洲| 亚洲成人在线电影| 亚洲av片一区二区三区| 永久免费视频网站在线观看| 亚洲国产免费综合| 亚洲AV无码一区二区乱子仑| 亚洲精品自产拍在线观看动漫| 国产极品粉嫩泬免费观看| 在线成人爽a毛片免费软件| 一级毛片在线完整免费观看| 亚洲一卡2卡3卡4卡乱码 在线| 亚洲啪啪综合AV一区| 亚洲av日韩av欧v在线天堂| 波多野结衣在线免费观看| 三年片免费高清版| 精品国产_亚洲人成在线| 亚洲AV无码久久久久网站蜜桃| 亚洲VA中文字幕无码毛片 | 亚洲国产一区在线观看| 亚洲国产婷婷六月丁香| 国产免费卡一卡三卡乱码| 18禁超污无遮挡无码免费网站国产| 久久免费视频99| a级片在线免费看| 一级一级一级毛片免费毛片|