MySQL WorkBench中文教程


在網上找到了一份MySQL WorkBench的教程,點此可以下載Work Bench教程(原文),為了便於學習和交流,請朋友幫忙翻譯成了中文,點此可以下載Work Bench教程(中文翻譯版)

具體內容如下:

在今天的輔助教程里,你將會學到怎樣用一個可視化數據庫建模實用工具設計一個數據庫圖表和自動生成SQL語句。 特別說一下, 我們將會回顧一下怎樣用 MySQLWorkbench, 一個交叉平台,可視化數據庫設計工具。

什么是 MySQL Workbench?

MySQL Workbench是由MySQL開發的強大的工具, 它有以下三個基本功能區域。

  • SQL Development: 代替了 MySQL query browser(MySQL查詢瀏覽器). 允許用戶連接到現有得的數據庫,編輯和執行SQL查詢。
  • Data Modeling: 完整的可視化數據庫設計和建模
  • Database Administration: 代替了 MySQL administrator. 圖形界面啟動和關閉服務, 創建用戶賬戶,編輯配置文件,等等。

 

在這個教程中,我們將會在 Data Modeling 上從頭開始創建一個數據庫,然后快速的看一下在SQL編輯器上執行SQL腳本並且在MySQL中創建一個數據庫。

MySQL Workbench可適用於Windows,Linux 和 Mac OSX。 有兩個不同的版本: Community OSS Edition (社區OSS版本)和 Commercial Standard Edition(商業標准版本)。 社區版本是開源和GPL授權的,正如你所期望的。它功能齊全並且是我們在這篇文章里用到的。商業版本增加了一些其他的功能,像視圖和模型驗證或者文件生成。

備注: 這個輔助教程是基於Community OSS Edition 5.2 版本的(5.2.16), 在測試版本發行時寫的(2010.4)。


開始創建數據庫

為了學會怎樣使用 MySQL Workbench, 我們將會使用一個非常簡單的數據庫:在線課程作為案例。 假如一組老師想給幾門學科提供在線課程,使用Skype或者其他視頻會議軟件。對於我們這個小的項目,我們應該存儲以下信息:

 

當設計我們的圖表時, 我們需要知道以下幾組數據之間的關系,所以我們現在就應該想一下。

  • 一個老師可以教很多學科
  • 一個學科可以被很多老師教
  • 每一個課程只能有一個老師
  • 一個老師可以教很多班
  • 一個同學可以參加幾個班
  • 一個班可以有很多學生
  • 一個班可能有幾個小時的課(一周內)
  • 在某一特殊的天或小時中, 可能同時有幾個在線的班
  • 一個班只關於一個學科
  • 一個學科可能會在幾個課程中被教

基於這一點,在下面的展示中我們就有了所有的信息。


把數據傳到MySQL Workbench中

現在到了開始說Workbench的時候了。在主(Home)屏幕的數據模型部分,我們點擊‘Create new EER Model’, 下面的屏幕將會出現:

 

當我們新建一個數據庫模型時,它包括了默認的mydb模式, 我們可以重命名它並且作為我們的數據庫模式。一個數據庫模型可以有幾個不同的模式。右邊的目錄將會展示我們的模式的每一個元素,並且允許我們在需要的情況下拖拽這些元素。對於物理模式和EER圖表有幾個獨立的部分,我們可能會混淆包含在一個數據庫中的幾個模式。接下來的部分將會解釋這些概念和它們之間是怎樣關聯的。


區分概念

物理模式包含了所有需要定義數據庫的部分:表、列、類型、索引、 約束, 等等。這是我們真正要定義的。每一個被添加在圖表模型的對象都會在物理模式中顯示 。也就是每一個圖形化方式都會被定義在模式中。

在同一個數據庫模型中我們可有幾個模式,同樣的,在一個MySQL服務器中也可以由幾個數據庫。每一個模式將會是一個MySQL數據庫。例如,在下面的屏幕里我們有兩個模式選項卡

 

如果我們要生成SQL腳本,我們將有兩個獨立的創建數據庫聲明—實際上創建視圖和創建數據庫是兩個同義詞:

view plaincopy to clipboard print?

1.  CREATE SCHEMA IF NOT EXISTS `schema1`;

2.  CREATE SCHEMA IF NOT EXISTS `schema2`;

“EER代表了擴展的實體關系,EER圖表只是做模型數據和數據關系用的標准符號。

當用到SHOW DATABASES時,它們將會在MySQl服務器上作為數據庫被列出來。

現在看一下什么是EER圖表?EER代表了擴展的實體關系,EER圖表只是做模型數據和數據關系用的標准符號。EER模型可以很復雜,但是 MySQL Workbench只用了所有可能圖形化元素的一個子集,因為這個圖表(在這個工具里)的目的是擁有每一個被映射到物理模式的元素。

我們可以用EER圖表定義整個數據庫,或者是其中的一小部分。例如,我們可以在一個模式中定義五個數據表然后新建一個圖表(drigram)用可視化編輯工具去定義另外兩個數據表。這個圖表僅僅包含兩個數據表,但是這兩個數據表和其他的五個表都會被包含在模式中。


創建表

回到初始的實例,我們通過雙擊數據表的名字重命名它。在這一點上,有兩個途徑:我們可以用添加數據表圖標向物理模式中添加數據表或者使用EER圖表添加所有的數據表。

我一般選擇開始的時候添加EER圖表並且創建可視化視圖,但是為了展示怎樣用兩種方法創建數據表,我們將會用視圖標簽第一次創建兩個數據庫表然后接着用EER圖表創建。當你點擊Add Table 圖標,下面的數據表編輯界面會打開:

 

使用數據表編輯界面,我們改變數據表的名字,並切換到列標簽(在下面的編輯器選項卡)進入我們的列。我們可以選擇數據類型 (這兒有一個下拉列表框關於所有的MySQL數據類型), 分配默認的值,如果需要,我們有七個復選框去標記下面的任意一個內容。

  • PK – Primary key(主鍵)
  • NN – Not null(非空)
  • UQ – Unique(唯一)
  • BIN – Binary(二進制數)
  • UN – Unsigned(無符號)
  • ZF – Zero fill(補零)
  • AI – Autoincrement(自動增量)

轉到視圖

這是一種添加數據表的方式,當然我們也可以用EER圖表創建它們。如果我們現在點擊 Add Diagram標記, 我們將新建一個空的圖表,這不是我們想要的,我們需要的是剛才在圖表中建的兩個數據表。

如果我們轉到菜單處,選擇Model/Create Diagram from Catalog Objects,現在我們有了圖表並且准備繼續創建。.

選擇左邊的數據表圖標,指針指向一個小的數據表。下一步,單擊容器的任何地方創建一個新的數據表。

 

現在你只需要雙擊數據表,編輯器選項卡顯示編輯的名稱、列、類型等,像我們之前做的方式一樣。向表中輸入行的詳細信息后,我們准備開始設計它們之間的關系。

 

 

 


 

 

Drawing Relationships

在左邊的數值工具欄上,我們在創建表關系上有六個工具可供選擇

 

不用擔心最后一個,我們最后將會解釋它。對於1:1和1:n關系,我們有兩種類型的標記符號:定義和未定義。這是什么意思呢?

一種關系被認為是定義一個表完全依賴與另一個存在的表時一個數據表的一行依賴於另一個數據表的一行。一個普遍的例子就是用一個分開的表存儲用戶的手機號。這可能在另一個表中是必須的,因為一個用戶可能有幾個手機號,但是手機號表的每一組是完全依賴用戶表的,它是屬於用戶的。

你可能意識到關系有一些蘊含式。如果我們想在MySQL中建立一個物理表,關系必須被某種方式映射。在表的關系映射中有幾種規則。

1:1 關系:一個表的主鍵是另一個表的外鍵

1:n關系:關系對應的表的主鍵是n關系對應的表的外鍵

n:m關系:一個新表(關聯表)被創建。主鍵是這兩個原始表的主鍵的組成。

從n:m關系說明創建關聯表時定義關系是比較典型的。這些數據表完全依賴於兩個原始的表。而且 ,在1:1和1:n的關系定義上,外鍵的引入將會成為那個表的主鍵一部分形成一個復合的主鍵。一個好的消息就是MySQL Workbench比我們更好的知道這些約束。我們只需要畫線,外鍵和關聯表將會被自動創建。我們也可以選擇手動,一會將講到。為了建立關系,單擊圖標,然后點擊這兩個表的關聯。對於一對多關系,先點擊多關系對應的表, 然后點擊1關系對應的表。讓我們看一下該怎樣做對於n:m的teachers-subjects關系和1:n的teachers-classes的關系。

 

默認指定的外鍵名字和關聯表可能會在Edit/Preferences/Model Tab上被全局改變或者只是在當前的項目Model/Model Options上。如果我們不想讓表和外鍵被這種方式生成,我們可以用難以理解的第六個符號。

 

第六個符號用存在的列創建關系,意味着在你的表中已經包括了需要的外鍵並且建立了需要的關聯表(n:m映射表)。既然我們建立了這些關聯表,就不需要n:m的關系了,1:n就可以了。

如果我們把所有的關系都定義好了,我們的圖表應該看起來像下面這樣:

 

意識到我們一直在MySQL Workbench中使用默認的圖表符號,但是你也可以在Model/Object Notation Model/Relationship Notation改變它。這是我們在Classic notation模型中的案例:

 

在這一點上,我們的模型是准備好的,我們可以生成SQl創建MySQl數據庫。

 

 


 

 

生成SQL

選擇File/Export/Forward Engineer SQL CREATE Script在我們生成的文件的旁邊

只有三個向導屏幕:

 

 

我們還可以在保存它之前選擇復查和編輯生成的SQL語句。

 

這樣就可以了。點擊Finish,SQL腳本將會被生成和保存。 現在我們可以用它做我們希望做的事情了。我們可以用基於命令行的mysql client載入它:mysql> SOURCE scriptName.sql,或者,我們可以用MySQL Workbench來完成這個工作,連接到我們的MySQL 服務器然后執行腳本。


連到MySQL服務器

從菜單中選擇 Database/Manage Connections ,點擊NEW.

 

如果你不想在這兒設置密碼, 當需要的時候你會被提示。點擊“Test Connection” 測試一下你的參數是否正確,然后點擊close。現在載入的腳本,我們可以用SQL編輯器進行編輯。在主菜單里選擇Database/Query Database; 會有窗體提示你選擇一個連接,然后SQL編輯標簽將會出現。

 

現在點擊閃爍的圖標執行SQL腳本,然后你的數據庫將會被生成。

我們也可以直接從模型里選擇生成MySQl數據庫,不用涉及當前的文件在菜單中用 Database/Forward Engineer;然而,我發現生成腳本並且在希望用到它的時候很用。


總結

MySQL Workbench 是一個給人印象很深的工具, 我們僅僅在數據模型部分看到一些基本的功能,並且只是在這個教程的第二個部分一瞥SQL編輯器。我們學會了怎樣可視化的創建一個數據庫,設計被作為文檔保存的圖表。你可以輸出PNG、SVg、 PDF 或者 PostScript文件。謝謝閱讀,讓我知道你是怎樣想的!

 

From: http://i.51xueweb.cn/?p=847

 

相關文章:MySQL Workbench的使用教程 (初級入門版)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM