關鍵字:數據庫設計 設計規范 技巧
3. 選擇鍵和索引(數據庫邏輯設計)
參考:《SQL優化-索引》一文
4. 數據完整性設計(數據庫邏輯設計)
1) 完整性實現機制:
實體完整性:主鍵
參照完整性:
父表中刪除數據:級聯刪除;受限刪除;置空值
父表中插入數據:受限插入;遞歸插入
父表中更新數據:級聯更新;受限更新;置空值
DBMS對參照完整性可以有兩種方法實現:外鍵實現機制(約束規則)和觸發器實現機制用戶定義完整性:
NOT NULL;CHECK;觸發器
2) 用約束而非商務規則強制數據完整性
采用數據庫系統實現數據的完整性。這不但包括通過標準化實現的完整性而且還包括數據的功能性。不要依賴于商務層保證數據完整性;它不能保證表之間(外鍵)的完整性所以不能強加于其他完整性規則之上。如果你在數據層確實采用了約束,你要保證有辦法把更新不能通過約束檢查的原因采用用戶理解的語言通知用戶界面。
3) 強制指示完整性
在有害數據進入數據庫之前將其剔除。激活數據庫系統的指示完整性特性。這樣可以保持數據的清潔而能迫使開發人員投入更多的時間處理錯誤條件。
4) 使用查找控制數據完整性
控制數據完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數據的一致性。某些公共數據特別適合查找:國家代碼、狀態代碼等。
5) 采用視圖
為了在數據庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數據表。這樣做還等于在處理數據庫變更時給你提供了更多的自由。
6) 分布式數據系統
對分布式系統而言,在你決定是否在各個站點復制所有數據還是把數據保存在一個地方之前應該估計一下未來 5 年或者 10 年的數據量。當你把數據傳送到其他站點的時候,最好在數據庫字段中設置一些標記,在目的站點收到你的數據之后更新你的標記。為了進行這種數據傳輸,請寫下你自己的批處理或者調度程序以特定時間間隔運行而不要讓用戶在每天的工作后傳輸數據。本地拷貝你的維護數據,比如計算常數和利息率等,設置版本號保證數據在每個站點都完全一致。
7) 關系
如果兩個實體之間存在多對一關系,而且還有可能轉化為多對多關系,那么你最好一開始就設置成多對多關系。從現有的多對一關系轉變為多對多關系比一開始就是多對多關系要難得多。
8) 給數據保有和恢復制定計劃
考慮數據保存策略并包含在設計過程中,預先設計你的數據恢復過程。采用可以發布給用戶/開發人員的數據字典實現方便的數據識別同時保證對數據源文檔化。編寫在線更新來“更新查詢”供以后萬一數據丟失可以重新處理更新。
9) 用存儲過程讓系統做重活
提供一整套常規的存儲過程來訪問各組以便加快速度和簡化客戶程序代碼的開發。數據庫不只是一個存放數據的地方,它也是簡化編碼之地。
文章來源于領測軟件測試網 http://www.kjueaiud.com/