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

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

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

    (轉)使用 PowerDesigner 設計數據庫

    數據庫的結構(例如表、關系、視圖和觸發器)稱為數據庫模式。可使用 SQL 語句創建這些元素并按照所需的方式進行排列,但是如果不使用圖形工具,則可能會造成混淆。

    PowerDesigner 提供了一種數據庫結構的圖形表示。只需繪制新表或輸入信息,即可更好地修改數據庫的結構或創建全新的表。在設計完成后,PowerDesigner 可生成一個 SQL 腳本以生成新的數據庫。

    下面的圖示顯示了示例數據庫的結構,可以使用 PowerDesigner 方便地創建此圖示。


    數據庫的性能主要取決于設計。一般地,應將不同類型對象的信息(例如雇員或產品)存儲在單獨的表中。

    可以使用參照來確定這些表之間的關系,即用一個表中的外鍵來標識另一個表中的特定行。參照可以表示多對一和一對多關系。多對多關系需要兩個參照和另外一個表。

    有關數據庫設計的詳細信息,請參見設計數據庫

    若要了解 PowerDesigner 的詳細信息,請單擊 PowerDesigner 主窗口工具欄中的 [Help] 以訪問下面三本書:PowerDesigner General Features GuidePowerDesigner PDM User's GuidePowerDesigner Report User's Guide

    要獲得更多 PowerDesigner 教程,請打開 PowerDesigner。從 [Help] 菜單中選擇 [Where to Start]  >  [PDM Getting Started]。此操作可訪問 Physical Data Model Getting Started 一書。

    PowerDesigner 可以從用于創建數據庫的腳本文件讀取數據庫的結構。但是,通常更簡便的方法是:從 PowerDesigner 連接到數據庫并使用反向工程特性直接抽取設計。

    下面的教程將示例數據庫作為起點。此教程在闡述 PowerDesigner 時對示例數據庫進行了修改,以改進示例數據庫的設計。

    當前,始終從 product 表中讀取每種產品的價格。因此,如果更新價格,就會相應地更改以前所有訂單上該產品的銷售價格。在 sales_order_items 表中添加 unit_price 列,即可解決此問題。這樣,就可以分別存儲每個客戶的實際銷售價格。product 表中的價格記錄當前的列表價格。

    啟動 PowerDesigner:

    1. 從 [開始] 菜單,選擇 [程序]  >  [SQL Anywhere 9]  >  [PowerDesigner 9]  >  [PowerDesigner]。

      此時,就會出現 PowerDesigner 主窗口:


      PowerDesigner 主窗口包含對象瀏覽器(左側)和輸出窗口(底部)。

    2. 從 [File] 菜單中選擇 [New]。

      即會出現 [New] 對話框。

    3. 在 [New] 對話框中,選擇 [Physical Data Model],然后單擊 [OK]。

      即會出現 [New Physical Data Model] 對話框。

    4. 在 [General] 選項卡上,從下拉列表中選擇 [Sybase AS Anywhere 9]。

    5. 對剩余選項使用缺省設置,然后單擊 [OK]。

      此時,在瀏覽器和標題欄中就會出現模型名稱 PhysicalDataModel_1。

      在本節中,可通過對示例數據庫執行反向工程,以便給其生成一個物理數據模型 (PDM)。

      對數據庫執行反向工程:

      1. 單擊 diagram 窗口(PowerDesigner 中心的大窗格)。

      2. 從 [Database] 菜單中選擇 [Reverse Engineering Database]。

        即會出現 [Database Reverse Engineering] 對話框:


      3. 確保選中了 [Using an ODBC Data Source],并且數據源是 [ASA 9.0 Sample]。

        如果未出現 [ASA 9.0 Sample],請單擊數據源字段右側的圖標。此時,就會出現 [連接到 ODBC 數據源] 對話框。選擇 [計算機數據源],然后從下拉列表中選擇 [ASA 9.0 Sample]。輸入用戶 ID DBA 和口令 SQL。單擊 [連接] 以返回到 [Database Reverse Engineering] 對話框。

      4. 在 [Database Reverse Engineering] 對話框中,單擊 [OK]。

        此時,就會出現 [ODBC Reverse Engineering] 對話框:


        該對話框的下半部分有 7 個復選框,用于選擇鍵、索引等。這些都是反向工程選項。確保選中除 [Permissions] 復選框(缺省值)外的所有選項。還應確保已選中所有的表(也是缺省設置)。

      5. 單擊 [OK] 以進行數據庫反向工程。

        示例數據庫的圖形表示將出現在圖示窗口中,模型對象將出現在瀏覽器中:


      6. 從 [Tools] 菜單中選擇 [Display Preferences] 以查看修改顯示的方式。單擊左側的每個選項以查看顯示首選項參數頁。單擊每頁底部的 [Help] 以查看全部信息。

        查看圖示。可以使用 F6 鍵和 F7 鍵放大和縮小圖示以便于查看。

        數據庫中的每個表均由一個框表示。表的名稱顯示在框的頂部。其下面是列的列表。帶有下劃線的列名是該表主鍵的一部分。每個列的數據類型顯示在右側。在反向工程后,某些表可能會發生重疊。從 [Symbol] 菜單中,選擇 [Auto-Layout] 重新對其進行排列。

        這些表之間的引用是用箭頭表示的。這些箭頭指向父表,即包含主鍵的表。在每個標識引用的箭頭旁邊有一個等式。

      7. 重新排列這些表以便于查看圖示。若要重新排列,請用鼠標拖動這些表。引用箭頭自動隨這些表一起移動。可通過在單擊時按下 Shift 鍵來選擇多個對象。

        下面就是一種可能的排列方式:

        第 2 課:添加列


        現在,就可以向 sales_order_items 表中添加 unit_price 列了。可通過 [Table property] 表訪問列的列表來完成此任務。

        添加列:

        1. 選擇 sales_order_items 表。

        2. 從 [View] 菜單中選擇 [Properties]。

          即會出現 [Table Properties] 對話框。


        3. 單擊 [Columns] 選項卡。

          即會出現列的列表。


        4. 添加新列以存儲單價。

          單擊 [Insert a Row] 按鈕。

          此時,在行首就會出現一個箭頭,并顯示使用缺省名稱 (Column_6) 的列。

        5. 在名稱列中鍵入 unit_price。將此名稱自動作為代碼進行復制。

          在 [Data Type] 列,從下拉列表中選擇 [Numeric]。

          [Data] 字段可能因太窄而無法查看。可以拖動列的兩側以擴展列。

        6. 列屬性 P、F 和 M 分別表示 [主鍵]、[外鍵] 和 [強制](解釋如下):

          • [主鍵] 指定的列的值唯一地標識表中的行。

          • [外鍵] 指定的列取決于另一個表中的主鍵列,并且是從該主鍵列遷移的。

          • [強制] 要求必須給指定的列賦值。

        7. 選擇 [強制],然后單擊 [OK]。

        8. 檢查所做的更改對數據庫圖示產生的影響。

          現在,sales_order_items 表包含一個稱為 unit_price 的新列。

          第 3 課:檢查所做的工作


          PowerDesigner 還可用于快速檢測新模型中的數據庫設計錯誤。

          檢查新的模式:

          1. 從 [Tools] 菜單中選擇 [Check Model]。

            此時,就會出現 [Check Model Parameters] 對話框。可以使用缺省參數。

          2. 單擊 [確定]。

            此時,在 [Result List] 中就會顯示 [Check Model] 的結果。

            第 4 課:保存更改并生成數據庫


            在 PowerDesigner 中,將描述數據庫設計的物理組件(包括表和列)的模型稱為物理數據模型 (Physical Data Models, PDM)。PowerDesigner 將這些模型存儲在文件(擴展名為 .PDM)中。

            保存物理數據模型 (PDM):

            1. 從 [File] 菜單中選擇 [Save As]。

            2. 鍵入文件名 c:\Temp\NewDemo.pdm

            3. 單擊 [Save]。

            可以使用 PowerDesigner 生成一個 SQL 腳本,該腳本用于實施模型的所有組件。然后,使用 SQL 腳本生成一個數據庫。

            生成 SQL 腳本以新建數據庫:

            1. 從 [Database] 菜單中選擇 [Generate Database]。

              此時,就會出現 [Database Generation] 對話框:


            2. 在 [Directory] 字段中鍵入 c:\Temp\,并在 [File Name] 字段中鍵入 NewDemo.sql

            3. 確保選中了 [Script Generation]。

            4. 單擊 [Database] 選項卡,并確保選中了 [Create Database]。

              瀏覽其它選項卡,以查看控制所生成腳本的許多其它屬性的選項。

            5. 單擊 [確定]。

              創建腳本后,就會出現 [Result] 對話框。

            6. 單擊 [Edit] 以查看腳本。

              檢查腳本中是否反映了所做的更改。例如,檢查下面顯示的新 office 表的定義。

              /* ========================================= */
              /*   Table: office                           */
              /* ========================================= */
              create table office
              (
                 id            integer         not null
                    default autoincrement
                    check (
                       id >= 100),
                 name          char(15)        not null,
                 street        char(30)        not null,
                 city          char(20)        not null,
                 state         char(2)         not null,
                 zip           char(5)         not null,
                 phone         char(10)                ,
                 fax           char(10)                ,
                 primary key (id)
              );
            7. 完成后,關閉該對話框:在 [Result] 對話框中,單擊 [Close]。

            現在,就可以從 Interactive SQL 新建數據庫了。

            新建數據庫:

            1. 啟動 Interactive SQL。

              從 [開始] 菜單中,選擇 [程序]  >  [SQL Anywhere 9]  >  [Adaptive Server Anywhere]  >  [Interactive SQL]。

            2. 使用 ASA 9.0 Sample ODBC 數據源連接到示例數據庫。

            3. 創建一個空數據庫:

              • 執行下面的 SQL 語句,用適當的目錄替代語句中的目錄。

                CREATE DATABASE 'c:\\Temp\\newdemo.db'
                提示
                要在 Interactive SQL 中執行 SQL 語句,請在 [SQL 語句] 窗格中鍵入或復制該語句,然后按 F5 鍵。或者,從 [SQL] 菜單中選擇 [執行]。
            4. 關閉與示例數據庫的連接。

              從 [SQL] 菜單中選擇 [斷開連接]。

            5. 連接到新的數據庫。

              從 [SQL] 菜單中選擇 [連接]。

              • 輸入 DBA 作為用戶 ID

              • 輸入 SQL 作為口令

              • 單擊 [數據庫] 選項卡,然后在 [數據庫文件] 框中輸入新數據庫文件的完整路徑和文件名。

              • 單擊 [確定]。

            6. 使用 read 語句。切記,此語句要求用雙引號將文件名引起來。

              • 執行該 SQL 語句:

                READ "c:\\Temp\\newdemo.SQL"

            可以使用這些基本步驟來修改其它數據庫。

            小結


            此教程僅介紹 PowerDesigner 的一些基本特性。實際上,它可以處理數據庫模式的全部設計或修改,其中包括所有的表、視圖、索引、引用、觸發器和過程。

            可以使用其它特性大大簡化大型數據庫的設計任務。例如,可以指定。域包含特定類型的數據,例如電話號碼。域與某種數據類型關聯,但域更具體一些。例如,可以創建標識號域。當需要表中的某個標識號時,可以將該列與標識號域關聯起來。同時,自動關聯所有與該域關聯的屬性和檢查。

            域可減少重復性的定義。這樣,不僅減少了您的工作量,而且還降低了誤用其它類型定義或檢查過程的可能性。不應簡單地將列標識為一個整數,而是指定該列包含的具體數據類型。該數據類型的所有實例共享相同的定義。

            有關詳細信息,請參見使用域

            業務規則

            業務規則以書面的形式來表達業務運營的方式。例如,the order shipped date must be greater than or equal to the order date(訂單交貨日期必須晚于或等于訂單日期)就是一條業務規則。

            業務規則共分為四個類別:

            • 定義    表示對象的固有屬性。[定義] 通常用于描述實體。

            • 事實    表示肯定或存在。[事實] 通常用于描述關系。

            • 校驗    是給值設定的約束。

            • 公式    用于得出值的計算。

            業務規則的使用很方便,因為它們與客戶要求數據庫執行的任務直接相關。通過記錄業務規則并將它們與特定對象關聯起來,可以確保數據庫執行所需的任務。

    posted on 2007-11-07 16:46 liujg 閱讀(217) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    boddiy

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品高清视亚洲精品| 亚洲综合免费视频| 美女扒开尿口给男人爽免费视频| 免费精品人在线二线三线区别| 亚洲成a人片在线观看播放| 免费H网站在线观看的| 久久精品国产亚洲AV蜜臀色欲 | 亚洲1区2区3区精华液| 妞干网免费观看视频| 国产亚洲一卡2卡3卡4卡新区| 国产精品免费一级在线观看| 久久精品熟女亚洲av麻豆| 亚洲精品视频免费观看| 四虎影视无码永久免费| 亚洲国产精品久久66| 免费精品国产自产拍在线观看图片 | 亚洲精品私拍国产福利在线| 91免费人成网站在线观看18| 国产成人精品日本亚洲专| 天天摸天天碰成人免费视频| 美女视频黄视大全视频免费的| 永久亚洲成a人片777777| 久久国产精品免费看| 亚洲欧美日韩中文无线码| 亚洲av再在线观看| 免费国产黄网站在线观看| 亚洲中文字幕一二三四区| 久久精品国产精品亚洲艾草网美妙| 免费网站观看WWW在线观看| 亚洲另类小说图片| 全亚洲最新黄色特级网站| 免费国产成人午夜在线观看| 7777久久亚洲中文字幕| 可以免费观看一级毛片黄a| 国产一区二区免费| 亚洲精品无码久久久久APP| 相泽亚洲一区中文字幕| 亚洲精品免费网站| 国产成人高清精品免费观看| 亚洲人成日本在线观看| 国产精品亚洲产品一区二区三区|