輕鬆學會SQL SERVER資料庫設計的『小撇步』
在文化大學推廣部特聘講師近十年的授課經驗中,包含有大學部必修課程、政府委訓、產學訓、人力加值課程以及立法院內訓、不同的企業內訓…等等,大大小小不同專案的『資料庫設計』相關課程。面對如此多元化的課程,以及許許多多不同背景的學員來學習資料庫,倘若使用一般的傳統教學,常會讓學員們以為資料庫是一門高深難學而退縮。
這是因為很多人學習SQL語言,總是死背書本中的語法,為了能簡單地傳達出所有學習SQL必備的知識,祥輝便創出一種『圖像式思維』作為教學方式;讓學習SQL語言可以很人性化地有效學習,說穿了就是透過『語法』先轉換成『語意』,同時轉換成『圖解』方式來輔助理解。透過有系統地學習,不僅可以將SQL語言簡單化,更可以將SQL的不同變化達到最高境界。
學習資料庫設計最重要的兩個部份,其一為正規化設計,也就是將資料表作適當地分割;其二為資料表分割後的合併。所以資料庫設計可簡單地歸納成『分』與『合』,例如以下利用兩個簡單資料表『員工』與『客戶』的合併查詢來說明。
『語法』如下:
SELECT 姓名, 部門, 職稱, 員工代號, 負責人代號, 客戶代號, 地區代號
FROM 員工, 客戶
WHERE 員工代號 = 負責人代號
『語意』如下:
『兩個具有共同屬性的資料表,查詢出共同屬性具有相同值的資料』
『圖解』如下:
(範例出自『SQL SERVER 2008資料庫設計與應用』 陳祥輝著,博碩文化出版)
上圖利用兩個資料表的共同屬性員工代號與負責人代號彼此相同的部份來代表『內部合併』(Inner Join),可以利用以下較為抽象的圖解來看。
同理,『左部外部合併』(Left Outer Join)亦可利用抽象概念繪成下圖,當左邊的資料表對應不到右邊資料表的部份,將填入空值(Null Value)。
利用這樣的圖解來說明SQL語法,會變成很容易理解的『圖像式思維』,不但可以輔助學員學習SQL語言,更可以輕鬆表達出更多更複雜的不同案例。在很多不同的教學過程中證明『圖像式思維』是一種容易傳達,也容易理解的一種教學方式,僅在此拋磚引玉,還望各位先進不吝指教。
陳祥輝 [email protected]
還有更多精彩案例,請參考『SQL SERVER 2008資料庫設計與應用』(博碩文化出版)。
陳祥輝:
研究領域/專長
資訊安全、資料庫系統、應用密碼學、電腦網路、
網路安全、物件導向系統分析、物件導向程式設計、
軟體工程、作業系統
相關著作
◎TCP/IP網路通訊協定
◎SQL Server 2008資料庫設計與應用
◎資料庫系統理論與實務
◎資料庫系統理論與設計實務(合著)
|