MySQL Workbench 是 MySQL AB 最近釋放的可視數據庫設計工具。這個工具是設計 MySQL 數據庫的專用工具。 MySQL Workbench 擁有很多的功能和特性;這篇由Djoni Darmawikarta 寫的文章通過一個示例展現了其中的一些。我們將針對一個訂單系統建立一個物理數據模型,這裡的訂單系統可以是銷售單也可以是訂單,並且使用 forward-engineer(正向引擎) 將我們的模型生成為一個 MySQL 數據庫。 MySQL Workbench 是 MySQL 最近釋放的可視數據庫設計工具。這個工具是設計 MySQL 數據庫的專用工具。 你在 MySQL Workbench 中建立的被稱之為物理數據模型。一個物理數據模型是針對一個特定 RDBMS 產品的數據模型;本文中的模型將具有一些 MySQL 的獨特規范。我們可以使用它生成(forward-engineer)數據庫對象,除了包含表和列(字段)外,也可以包含視圖。 MySQL Workbench 擁有很多的功能和特性;這篇由 Djoni Darmawikarta寫的文章通過一個示例展現了其中的一些。我們將針對一個訂單系統建立一個物理數據模型,這裡的訂單系統可以是銷售單也可以是訂單,並且使用 forward-engineer(正向引擎) 將我們的模型生成為一個 MySQL 數據庫。 我們的示例中使用 MySQL Workbench 創建的物理模型看上去就像下圖這樣: 創建訂單方案(ORDER Schema) 首先讓我們來創建一個保存訂單物理模型的方案。點擊 + 按鈕(紅色標注的地方) 更改新的方案默認名稱為訂單。注意,當你鍵入方案名時,在 Physical Schemata 上的標簽名也會隨之改變——這是一個很好的特性。 訂單方案被增加到目錄(Catalog)中 (圖中紅色圈住的部分)。 重命名方案後關閉 schema 窗口。 創建訂單表 我們現在創建訂單模型中的三個表:ORDER 表以及它的兩個子表 SALES_ORDER 和PURCHASE_ORDER。首先,確信你已經選擇了 ORDER 方案的標簽,這樣,我們創建的表才會包含於這個方案。 我們將要創建的表是作為 EER 圖表展示的(EER = Enhanced Entity Relationship)。所以,雙擊 Add Diagram 按鈕。 單擊 Table 圖標,然後移動鼠標到 EER Diagram 區域,在你想放置第一個表的位置上單擊鼠標。 對於其他兩個表,重復上面的操作。你可以通過拖拽來移動表的位置。 下一步,我們要對 table1 做一些操作,這些操作是通過 Workbench 的表編輯器完成的。要打開表編輯器,只需右鍵選擇 table1 並選擇 Edit Table 菜單。 鍵入 table1 的表名 ORDER 。 接下來,增加列(字段)。選擇 Columns 標簽。將列名(字段名) idORDER 更改為 ORDER_NO. 在下拉列表框中選擇數據類型 INT 。 我們希望 ORDER_NO 列的值可以被 MySQL 數據庫自動控制,所以,我們選定 AI 列 (Auto Increment——自增量). AI 是 MySQL 數據庫的一個特性。 你也可以指定表的其他物理屬性,例如它的 Collation 屬性;當然可以指定表的其他高級選項,例如 trigger 和 portioning (分別對應 Trigger 和 Partioning 標簽)。 注意,這時,在 diagram 中我們表 table1 已經改變為 ORDER,並且,它有一個列(字段)ORDER_NO。在目錄中,你也可以看到有三個表。 在表右側的黑點,表示它們包含在一個圖表中。 如果你展開 ORDER ,你可以看到 ORDER_NO 列。因為我們定義它為主鍵,所以在它左側有一個 key 圖標。 回到表設計器,增加其他兩列(字段):ORDER_DATE 和 ORDER_TYPE。ORDER_TYPE 可以有兩個值:S 表示銷售訂單,P 表示采購訂單。由於銷售訂單是更常用的,所以我們指定列(字段)的默認值為 S 。 你可以在最後一列的下面白色區域雙擊鼠標來增加下一個字段。 使用同樣的方式來創建 SALES_ORDER 表及其中的列(字段)。 最後,創建 PURCHASE_ORDER 表及其中的列(字段)。 創建關系 我們已經創建了三個表。到這裡並沒有結束;我們仍舊需要創建它們的關系。 SALES_ORDER 是 ORDER 的子表,意味著它們是 1:1 ,SALES_ORDER 為子表, ORDER 為父表,並將 ORDER 的鍵移動到 SALES_ORDER 。所以,選擇(單擊)1:1 identifying relationship 圖標,然後在 SALES_ORDER 表上單擊,再在 ORDER 表上單擊。 注意,當你在單擊表時,圖標將變為帶有 1:1 關系的手型。 1:1 關系就是這樣設置的;ORDER_NO 主鍵被移動到 SALES_ORDER 表並作為它的主鍵。 下一步,創建 PURCHASE_ORDER 到 ORDER 的關系,它仍舊是 1:1 關系。 我們現在已經完成了表及表之間關系的設計;將我們的模型保存為 ORDER.mwb. 生成 DDL 和數據庫 最終在本文設計數據模型的目的是為了建立 MySQL 數據庫。我們將首先生成 DDL(SQL CREATE script),然後執行這個腳本。 從 File | Export 菜單中,選擇 Forward Engineer SQL CREATE Script. 最後,執行保存的 SQL CREATE 腳本。MySQL Workbench 自身並沒有執行這個腳本的能力;我們可以在 MySQL 命令控制台中來執行它。 你也可以在其中來查看表是否已經被創建。 總結 這篇文章向你展示了在 MySQL Workbench 中如何可視的建立 MySQL 物理數據模型,並使用它來創建一個 MySQL 數據庫。 轉自:http://blog.sina.com.cn/s/blog_5eacdffa0100ipvr.html