MySQLWorkbench
下載地址:http://www.jb51.net/database/29494.html
MySQLWorkbench 擁有很多的功能和特性;這篇由DjoniDarmawikarta
MySQLWorkbench
你在 MySQLWorkbench 中建立的被稱之為物理數據模型。一個物理數據模型是針對一個特定 RDBMS 產品的數據模型;本文中的模型將具有一些MySQL的獨特規范。我們可以使用它生成(forward-engineer)數據庫對象,除了包含表和列(字段)外,也可以包含視圖。
MySQLWorkbench 擁有很多的功能和特性;這篇由 DjoniDarmawikarta寫的文章通過一個示例展現了其中的一些。我們將針對一個訂單系統建立一個物理數據模型,這裡的訂單系統可以是銷售單也可以是訂單,並且使用
我們的示例中使用MySQL Workbench 創建的物理模型看上去就像下圖這樣:
創建訂單方案(ORDER Schema)
首先讓我們來創建一個保存訂單物理模型的方案。點擊 +按鈕(紅色標注的地方)
更改新的方案默認名稱為訂單。注意,當你鍵入方案名時,在 Physical Schemata上的標簽名也會隨之改變——這是一個很好的特性。
訂單方案被增加到目錄(Catalog)中(圖中紅色圈住的部分)。
重命名方案後關閉schema 窗口。
創建訂單表
我們現在創建訂單模型中的三個表:ORDER 表以及它的兩個子表 SALES_ORDER和PURCHASE_ORDER。首先,確信你已經選擇了 ORDER方案的標簽,這樣,我們創建的表才會包含於這個方案。
我們將要創建的表是作為 EER 圖表展示的(EER = Enhanced EntityRelationship)。所以,雙擊 Add Diagram 按鈕。
單擊 Table圖標,然後移動鼠標到 EER Diagram區域,在你想放置第一個表的位置上單擊鼠標。
對於其他兩個表,重復上面的操作。你可以通過拖拽來移動表的位置。
下一步,我們要對table1 做一些操作,這些操作是通過 Workbench 的表編輯器完成的。要打開表編輯器,只需右鍵選擇 table1 並選擇Edit Table 菜單。
鍵入table1 的表名 ORDER 。
接下來,增加列(字段)。選擇 Columns 標簽。將列名(字段名) idORDER 更改為
在下拉列表框中選擇數據類型 INT 。
我們希望ORDER_NO 列的值可以被 MySQL 數據庫自動控制,所以,我們選定 AI 列 (AutoIncrement——自增量).
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 identifyingrelationship 圖標,然後在 SALES_ORDER 表上單擊,再在 ORDER表上單擊。
注意,當你在單擊表時,圖標將變為帶有 1:1關系的手型。
1:1關系就是這樣設置的;ORDER_NO 主鍵被移動到 SALES_ORDER表並作為它的主鍵。
下一步,創建PURCHASE_ORDER 到 ORDER 的關系,它仍舊是 1:1 關系。
我們現在已經完成了表及表之間關系的設計;將我們的模型保存為ORDER.mwb.
生成 DDL和數據庫
最終在本文設計數據模型的目的是為了建立 MySQL 數據庫。我們將首先生成 DDL(SQLCREATE script),然後執行這個腳本。
從
最後,執行保存的SQL CREATE 腳本。MySQL Workbench 自身並沒有執行這個腳本的能力;我們可以在 MySQL命令控制台中來執行它。
你也可以在其中來查看表是否已經被創建。
總結
這篇文章向你展示了在 MySQL Workbench 中如何可視的建立 MySQL物理數據模型,並使用它來創建一個 MySQL 數據庫。