MS Sql server----如何查知各資料表的關係? |
尚未結案
|
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
各位大大, 我正嚐試使用 Sql Server 中預設安裝好的 NorthWind 資料庫來練習,進入Enterprise Manager之後,怎麼樣都無法查知各資料表的關連性,亦即無法查知資料表中foreign key 和其參考到的其他資料表欄位。而資料庫圖表並不會為已建立好的關連自動產生圖表,所以就只能對每個資料表一一探知,例如探知orders資料表就要在Query Analyzer 中輸入:
sp_help orders
這樣就會傳回orders 的資訊,當中包含該表的所有foreign key,以及該foreign key 所參考到的其他資料表欄位,然後我必須把foreign key的資訊記錄下來。
對NorthWind資料庫的每個資料表都 sp_help 一次,並記錄所有foreign key的資訊後,再全部整理一次後,就能知道各資料表的關係。當然,如何想以圖表方式呈現各資料表的關係,還得自行在圖表物件中一一繪製,這樣又實在太累人了!
如果一個新的資料庫管理員要接手一個資料庫,而舊的管理員又沒有替資料庫建立圖表,再加上資料庫的資料表特別多和關連性又特別複雜時,新的管理員要瞭解這個資料庫,豈不是要搞很久才搞出個頭緒來?
真的沒有其他方法可以快速瞭解NorthWind資料庫中各資料表的關連性嗎? 感謝在先
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
Stallion大大, 我剛試過,在建立圖表時選取所有非system的資料表,圖表建立精靈就會自動按照資料庫的外鍵定義來建立資料表之間的關連箭號,並在旁邊標示出外鍵的名稱。
這也蠻方便,不過,在箭號旁邊標示兩個相關欄位的名稱,才會比較實用一點。所以,我就自己從外鍵定義中找出兩個欄位的名稱,再自行加入文字標誌,把欄位名稱填入文字標誌中。
NorthWind資料庫的結構算是很簡單了,因為其中有一大部份是"死巷關係",亦即,從某個資料表開始觀察關連性時,會看到一條龍、永不回頭的關係。
雖然要自行輸入欄位名稱,但至少對小型資料庫而言,不失是方法之一。
謝謝您
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 找一些有 reverse engineering 的工具軟體, 如 visio enterprise 版本, erwin, power designer 等, 能夠將這些資料轉為較易讀的圖檔. 這是在 google 上找的一些相關工具,
http://www.databaseanswers.com/modelling_tools.htm
http://www.casestudio.com/enu/download.aspx 以下就是用 case studio 2 產生的資料,
|
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |