12.4.2 數據庫的完整性設計
數據庫的完整性是指數據庫中數據的正確性和相容性。
由各種各樣的完整性約束來保證,因此可以說數據庫完整性設計就是數據庫完整性約束的設計。
通過DBMS或應用程序來實現。
1、數據庫完整性設計原則
1. 根據數據庫完整性約束的類型 確定其實現的系統層次和方式,并提前考慮對系統性能的影響。
一般情況下,靜態(tài)約束應 盡量包含在數據庫模式中,動態(tài)約束由應用程序實現。
2. 實體完整性約束、參照完整性約束 是關系數據庫最重要的完整性約束,盡量應用。
3. 要慎用 觸發(fā)器,一方面性能開銷較大;另一方面,多級觸發(fā)不好控制,容易發(fā)生錯誤,最好使用 Before 型語句級觸發(fā)器。
4. 在需求分析階段就必須制定完整性約束的命名規(guī)范。
5. 要根據業(yè)務規(guī)則 對數據庫完整性進行細致的測試。
6. 要專職的數據庫設計小組。
7. 應采用合適的 CASE工具 來降低數據庫設計各階段的工作量。
2、數據庫完整性的作用
1. 能夠防止合法用戶使用數據庫時 向數據庫中添加不合語義的數據。
2. 實現業(yè)務規(guī)則,易于定義,易于理解,而且可以降低應用程序的復雜性,提高應用程序的運行效率。集中管理。
3. 能夠同時兼顧 數據庫的完整性和系統效能。
4. 有助于盡早發(fā)現應用軟件的錯誤。
5. 數據庫完整性約束 6類:列級靜態(tài)約束、元組級靜態(tài)約束、關系級靜態(tài)約束、列級動態(tài)約束、元組級動態(tài)約束、關系級動態(tài)約束。
動態(tài)約束通常由應用軟件來實現。
3、數據庫完整性設計示例
首先 需要在需求分析階段確定要通過數據庫完整性約束實現的業(yè)務規(guī)則。
然后 依據整個系統的體系結構和性能要求,遵照數據庫設計方法和應用軟件設計方法,合理選擇每個業(yè)務規(guī)則的實現方式。
最后 認真測試,排除隱含的約束沖突和性能問題。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |