成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2011軟考數據庫系統工程師:數據表的設計原則

企業動態
2011軟考數據庫系統工程師:數據表的設計原則,幫助考生梳理知識點。

數據表的設計原則:

(1)不應針對整個系統進行數據庫設計,而應該根據系統架構中的組件劃分,針對每個組件所處理的業務進行組件單元的數據庫設計;不同組件間所對應的數據庫表之間的關聯應盡可能減少,如果不同組件間的表需要外鍵關聯也盡量不要創建外鍵關聯,而只是記錄關聯表的一個主鍵,確保組件對應的表之間的獨立性,為系統或表結構的重構提供可能性。

(2)采用領域模型驅動的方式和自頂向下的思路進行數據庫設計,首先分析系統業務,根據職責定義對象。對象要符合封裝的特性,確保與職責相關的數據項被定義在一個對象之內,這些數據項能夠完整描述該職責,不會出現職責描述缺失。并且一個對象有且只有一項職責,如果一個對象要負責兩個或兩個以上的職責,應進行分拆。

(3)根據建立的領域模型進行數據庫表的映射,此時應參考數據庫設計第二范式:一個表中的所有非關鍵字屬性都依賴于整個關鍵字。關鍵字可以是一個屬性,也可以是多個屬性的集合,不論那種方式,都應確保關鍵字能夠保證唯一性。在確定關鍵字時,應保證關鍵字不會參與業務且不會出現更新異常,這時,最優解決方案為采用一個自增數值型屬性或一個隨機字符串作為表的關鍵字。

(4)由于第一點所述的領域模型驅動的方式設計數據庫表結構,領域模型中的每一個對象只有一項職責,所以對象中的數據項不存在傳遞依賴,所以,這種思路的數據庫表結構設計從一開始即滿足第三范式:一個表應滿足第二范式,且屬性間不存在傳遞依賴。

(5)同樣,由于對象職責的單一性以及對象之間的關系反映的是業務邏輯之間的關系,所以在領域模型中的對象存在主對象和從對象之分,從對象是從1-N或N-N的角度進一步主對象的業務邏輯,所以從對象及對象關系映射為的表及表關聯關系不存在刪除和插入異常。

(6)在映射后得出的數據庫表結構中,應再根據第四范式進行進一步修改,確保不存在多值依賴。這時,應根據反向工程的思路反饋給領域模型。如果表結構中存在多值依賴,則證明領域模型中的對象具有至少兩個以上的職責,應根據第一條進行設計修正。第四范式:一個表如果滿足BCNF,不應存在多值依賴。

(7)在經過分析后確認所有的表都滿足二、三、四范式的情況下,表和表之間的關聯盡量采用弱關聯以便于對表字段和表結構的調整和重構。并且,我認為數據庫中的表是用來持久化一個對象實例在特定時間及特定條件下的狀態的,只是一個存儲介質,所以,表和表之間也不應用強關聯來表述業務(數據間的一致性),這一職責應由系統的邏輯層來保證,這種方式也確保了系統對于不正確數據(臟數據)的兼容性。當然,從整個系統的角度來說我們還是要盡最大努力確保系統不會產生臟數據,單從另一個角度來說,臟數據的產生在一定程度上也是不可避免的,我們也要保證系統對這種情況的容錯性。這是一個折中的方案。

(8)應針對所有表的主鍵和外鍵建立索引,有針對性的(針對一些大數據量和常用檢索方式)建立組合屬性的索引,提高檢索效率。雖然建立索引會消耗部分系統資源,但比較起在檢索時搜索整張表中的數據尤其時表中的數據量較大時所帶來的性能影響,以及無索引時的排序操作所帶來的性能影響,這種方式仍然是值得提倡的。

(9)盡量少采用存儲過程,目前已經有很多技術可以替代存儲過程的功能如“對象/關系映射”等,將數據一致性的保證放在數據庫中,無論對于版本控制、開發和部署、以及數據庫的遷移都會帶來很大的影響。但不可否認,存儲過程具有性能上的優勢,所以,當系統可使用的硬件不會得到提升而性能又是非常重要的質量屬性時,可經過平衡考慮選用存儲過程。

(10)當處理表間的關聯約束所付出的代價(常常是使用性上的代價)超過了保證不會出現修改、刪除、更改異常所付出的代價,并且數據冗余也不是主要的問題時,表設計可以不符合四個范式。四個范式確保了不會出現異常,但也可能由此導致過于純潔的設計,使得表結構難于使用,所以在設計時需要進行綜合判斷,但首先確保符合四個范式,然后再進行精化修正是剛剛進入數據庫設計領域時可以采用的最好辦法。

(11)設計出的表要具有較好的使用性,主要體現在查詢時是否需要關聯多張表且還需使用復雜的SQL技巧。

(12)設計出的表要盡可能減少數據冗余,確保數據的準確性,有效的控制冗余有助于提高數據庫的性能。

【編輯推薦】

  1. 2010年軟考-數據庫系統工程師備考指南(1)
  2. 2011年軟件水平考試網絡工程師全面復習資料(28)
  3. 2011年軟考系統分析師整理資料:網絡安全(11)
  4. 更多軟考資料請點擊51CTO軟考專題
責任編輯:張攀 來源: 考試吧
相關推薦

2011-01-11 10:57:33

數據庫系統工程師

2010-10-18 14:59:14

軟考

2010-05-22 21:38:00

2010年上半年軟上午數據庫系統工程師

2009-05-23 19:47:00

2009年上半年軟考試軟考數據庫系統工程師

2009-05-23 20:53:00

2009年上半年軟考試軟考數據庫系統工程師

2010-05-14 16:28:19

2010年上半年軟下午數據庫系統工程師

2011-11-16 13:35:54

數據庫薪酬調查

2011-07-18 10:01:38

數據庫系統工程師計算機等級考試

2011-04-13 15:07:30

數據庫系統設計

2011-04-13 15:25:12

數據庫系統設計

2010-05-17 14:17:39

2010年上半年軟考上數據庫系統工程師

2010-04-28 14:11:28

軟考數據庫系統工程師

2011-04-13 15:17:09

數據庫系統設計

2011-01-19 11:07:43

2011-03-21 17:09:38

數據表設計原則

2011-05-12 11:14:08

數據庫SQL設計編程誤區

2011-01-25 11:30:30

數據庫工程師

2022-04-05 13:46:21

日志數據庫系統

2011-01-07 10:24:01

2009-05-24 11:23:00

2009年上半年軟考試2009年上半年軟考答軟考
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产午夜三级一区二区三 | 亚洲网址 | 欧洲精品久久久久毛片完整版 | 亚洲一区二区三区在线视频 | 91视频一区| 欧美一级片中文字幕 | 喷潮网站 | 中日韩av | 国产成人综合一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 成人国产精品久久久 | 欧美综合久久久 | 91色视频在线观看 | www.久久久久久久久久久 | 嫩呦国产一区二区三区av | 亚洲精品无人区 | 亚洲精品久久久一区二区三区 | 久久av网站| 91中文字幕在线观看 | 亚洲成av人片在线观看 | 中国av在线免费观看 | 自拍在线 | aaa大片免费观看 | 日韩理论电影在线观看 | 成人精品国产免费网站 | 高清国产午夜精品久久久久久 | 久久久精品网 | 亚洲综合色丁香婷婷六月图片 | 久青草影院 | 国产亚洲精品精品国产亚洲综合 | 一色桃子av一区二区 | 国产天堂 | 颜色网站在线观看 | 日韩手机视频 | 日韩一区中文字幕 | 伊人伊成久久人综合网站 | 99pao成人国产永久免费视频 | 91社影院在线观看 | 一区二区三区在线观看免费视频 | 欧美自拍第一页 | 精品视频在线播放 |