四、圖的規劃
定義表和關系只是挑戰的一部分,圖的清楚明白同樣很重要。雖然一些工具提供自動布局能力,我還沒有看到過一個完善的實現。相反,你的目標應該是遵從“孔雀東南飛”這一規則(這里的“孔雀”是關系中代表“多”這一方的符號,它是連接到表的三條分叉線,象個鳥爪)。換句話說,子表應該位于父表的右方和下方。這種安排使得從邏輯上組織和理解數據模型更加方便。最重要、最高級別的表應該出現在左上角,讓級別較低的表出現在頁面的右下角。為了清楚起見,減少圖中交叉線的數量也是很重要的。正如Eberhardt Rechtin在The Art of Systems Architecting中強調的,“一個好的設計往往看起來很舒服”。如果無論怎樣安排,你的數據模型看起來都很混亂,那么,它可能正在告訴你數據模型本身有一些值得注意的問題。
![]() |
圖7a:完整的ER圖(PowerDesigner)