freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫設(shè)計(jì)規(guī)范化的五個(gè)要求-文庫吧

2025-07-21 07:39 本頁面


【正文】 疑會(huì)增加額外的存儲空間,也會(huì)增加記錄的長度。而且若作者的情況有所改變,如住址改變了以后,則還需要去更改每本書的記錄。同時(shí),若這個(gè)作者的圖書從數(shù)據(jù)庫中全部刪除之后,這個(gè)作者的信息也就蕩然無存了。很明顯,這不符合數(shù)據(jù)庫設(shè)計(jì)規(guī)范化的需求。  遇到這種情況時(shí),筆者建議可以把上面這張表分解成三種獨(dú)立的表,分別為圖書基本信息表、作者基本信息表、圖書與作者對應(yīng)表等等。如此設(shè)計(jì)以后,以上遇到的所有問題就都引刃而解了?! ∫陨衔鍡l是在數(shù)據(jù)庫設(shè)計(jì)時(shí)達(dá)到規(guī)范化水平的基本要求。除了這些另外還有很多細(xì)節(jié)方面的要求,如數(shù)據(jù)類型、存儲過程等等。而且,數(shù)據(jù)庫規(guī)范往往沒有技術(shù)方面的嚴(yán)格限制,主要依靠數(shù)據(jù)庫管理員日常工作經(jīng)驗(yàn)的累積。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++數(shù)據(jù)表的設(shè)計(jì)原則:  (1)不應(yīng)針對整個(gè)系統(tǒng)進(jìn)行數(shù)據(jù)庫設(shè)計(jì),而應(yīng)該根據(jù)系統(tǒng)架構(gòu)中的組件劃分,針對每個(gè)組件所處理的業(yè)務(wù)進(jìn)行組件單元的數(shù)據(jù)庫設(shè)計(jì)。不同組件間所對應(yīng)的數(shù)據(jù)庫表之間的關(guān)聯(lián)應(yīng)盡可能減少,如果不同組件間的表需要外鍵關(guān)聯(lián)也盡量不要?jiǎng)?chuàng)建外鍵關(guān)聯(lián),而只是記錄關(guān)聯(lián)表的一個(gè)主鍵,確保組件對應(yīng)的表之間的獨(dú)立性,為系統(tǒng)或表結(jié)構(gòu)的重構(gòu)提供可能性?! ?2)采用領(lǐng)域模型驅(qū)動(dòng)的方式和自頂向下的思路進(jìn)行數(shù)據(jù)庫設(shè)計(jì),首先分析系統(tǒng)業(yè)務(wù),根據(jù)職責(zé)定義對象。對象要符合封裝的特性,確保與職責(zé)相關(guān)的數(shù)據(jù)項(xiàng)被定義在一個(gè)對象之內(nèi),這些數(shù)據(jù)項(xiàng)能夠完整描述該職責(zé),不會(huì)出現(xiàn)職責(zé)描述缺失。并且一個(gè)對象有且只有一項(xiàng)職責(zé),如果一個(gè)對象要負(fù)責(zé)兩個(gè)或兩個(gè)以上的職責(zé),應(yīng)進(jìn)行分拆?! ?3)根據(jù)建立的領(lǐng)域模型進(jìn)行數(shù)據(jù)庫表的映射,此時(shí)應(yīng)參考數(shù)據(jù)庫設(shè)計(jì)第二范式:一個(gè)表中的所有非關(guān)鍵字屬性都依賴于整個(gè)關(guān)鍵字。關(guān)鍵字可以是一個(gè)屬性,也可以是多個(gè)屬性的集合,不論那種方式,都應(yīng)確保關(guān)鍵字能夠保證唯一性。在確定關(guān)鍵字時(shí),應(yīng)保證關(guān)鍵字不會(huì)參與業(yè)務(wù)且不會(huì)出現(xiàn)更新異常,這時(shí),最優(yōu)解決方案為采用一個(gè)自增數(shù)值型屬性或一個(gè)隨機(jī)字符串作為表的關(guān)鍵字?! ?4)由于第一點(diǎn)所述的領(lǐng)域模型驅(qū)動(dòng)的方式設(shè)計(jì)數(shù)據(jù)庫表結(jié)構(gòu),領(lǐng)域模型中的每一個(gè)對象只有一項(xiàng)職責(zé),所以對象中的數(shù)據(jù)項(xiàng)不存在傳遞依賴,所以,這種思路的數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)從一開始即滿足第三范式:一個(gè)表應(yīng)滿足第二范式,且屬性間不存在傳遞依賴。  (5)同樣,由于對象職責(zé)的單一性以及對象之間的關(guān)系反映的是業(yè)務(wù)邏輯之間的關(guān)系,所以在領(lǐng)域模型中的對象存在主對象和從對象之分,從對象是從1N或NN的角度進(jìn)一步主對象的業(yè)務(wù)邏輯,所以從對象及對象關(guān)系映射為的表及表關(guān)聯(lián)關(guān)系不存在刪除和插入異常?! ?6)在映射后得出的數(shù)據(jù)庫表結(jié)構(gòu)中,應(yīng)再根據(jù)第四范式進(jìn)行進(jìn)一步修改,確保不存在多值依賴。這時(shí),應(yīng)根據(jù)反向工程的思路反饋給領(lǐng)域模型。如果表結(jié)構(gòu)中存在多值依賴,則證明領(lǐng)域模型中的對象具有至少兩個(gè)以上的職責(zé),應(yīng)根據(jù)第一條進(jìn)行設(shè)計(jì)修正。第四范式:一個(gè)表如果滿足BCNF,不應(yīng)存在多值依賴?! ?7)在經(jīng)過分析后確認(rèn)所有的表都滿足二、三、四范式的情況下,表和表之間的關(guān)聯(lián)盡量采用弱關(guān)聯(lián)以便于對表字段和表結(jié)構(gòu)的調(diào)整和重構(gòu)。并且,我認(rèn)為數(shù)據(jù)庫中的表是用來持久化一個(gè)對象實(shí)例在特定時(shí)間及特定條件下的狀態(tài)的,只是一個(gè)存儲介質(zhì),所以,表和表之間也不應(yīng)用強(qiáng)關(guān)聯(lián)來表述業(yè)務(wù)(數(shù)據(jù)間的一致性),這一職責(zé)應(yīng)由系統(tǒng)的邏輯層來保證,這種方式也確保了系統(tǒng)對于不正確數(shù)據(jù)(臟數(shù)據(jù))的兼容性。當(dāng)然,從整個(gè)系統(tǒng)的角度來說我們還是要盡最大努力確保系統(tǒng)不會(huì)產(chǎn)生臟數(shù)據(jù),單從另一個(gè)角度來說,臟數(shù)據(jù)的產(chǎn)生在一定程度上也是不可避免的,我們也要保證系統(tǒng)對這種情況的容錯(cuò)性。這是一個(gè)折中的方案?! ?8)應(yīng)針對所有表的主鍵和外鍵建立索引,有針對性的(針對一些大數(shù)據(jù)量和常用檢索方式)建立組合屬性的索引,提高檢索效率。雖然建立索引會(huì)消耗部分系統(tǒng)資源,但比較起在檢索時(shí)搜索整張表中的數(shù)據(jù)尤其時(shí)表中的數(shù)據(jù)量較大時(shí)所帶來的性能影響,以及無索引時(shí)的排序操作所帶來的性能影響,這種方式仍然是值得提倡的?! ?9)盡量少采用存儲過程,目前已經(jīng)有很多技術(shù)可以替代存儲過程的功能如“對象/關(guān)系映射”等,將數(shù)據(jù)一致性的保證放在數(shù)據(jù)庫中,無論對于版本控制、開發(fā)和部署、以及數(shù)據(jù)庫的遷移都會(huì)帶來很大的影響。但不可否認(rèn),存儲過程具有性能上的優(yōu)勢,所以,當(dāng)系統(tǒng)可使用的硬件不會(huì)得到提升而性能又是非常重要的質(zhì)量屬性時(shí),可經(jīng)過平衡考慮選用存儲過程?! ?10)當(dāng)處理表間的關(guān)聯(lián)約束所付出的代價(jià)(常常是使用性上的代價(jià))超過了保證不會(huì)出現(xiàn)修改、刪除、更改異常所付出的代價(jià),并且數(shù)據(jù)冗余也不是主要的問題時(shí),表設(shè)計(jì)可以不符合四個(gè)范式。四個(gè)范式確保了不會(huì)出現(xiàn)異常,但也可能由此導(dǎo)致過于純潔的設(shè)計(jì),使得表結(jié)構(gòu)難于使用,所以在設(shè)計(jì)時(shí)需要進(jìn)行綜合判斷,但首先確保符合四個(gè)范式,然后再進(jìn)行精化修正是剛剛進(jìn)入數(shù)據(jù)庫設(shè)計(jì)領(lǐng)域時(shí)可以采用的最好辦法。  (11)設(shè)計(jì)出的表要具有較好的使用性,主要體現(xiàn)在查詢時(shí)是否需要關(guān)聯(lián)多張表且還需使用復(fù)雜的SQL技巧。  (12)設(shè)計(jì)出的表要盡可能減少數(shù)據(jù)冗余,確保數(shù)據(jù)的準(zhǔn)確性,有效的控制冗余有助于提高數(shù)據(jù)庫的性能。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1. 原始單據(jù)與實(shí)體之間的關(guān)系   可以是一對一、一對多、多對多的關(guān)系。在一般情況下,它們是一對一的關(guān)系:即一張?jiān)紗螕?jù)對應(yīng)且只對應(yīng)一個(gè)實(shí)體。 在特殊情況下,它們可能是一對多或多對一的關(guān)系,即一張?jiān)紗巫C對應(yīng)多個(gè)實(shí)體,或多張?jiān)紗巫C對應(yīng)一個(gè)實(shí)體。 這里的實(shí)體可以理解為基本表。明確這種對應(yīng)關(guān)系后,對我們設(shè)計(jì)錄入界面大有好處。   〖例1〗:一份員工履歷資料,在人力資源信息系統(tǒng)中,就對應(yīng)三個(gè)基本表:員工基本情況表、社會(huì)關(guān)系表、工作簡歷表。        這就是“一張?jiān)紗巫C對應(yīng)多個(gè)實(shí)體”的典型例子。 2. 主鍵與外鍵   一般而言,一個(gè)實(shí)體不能既無主鍵又無外鍵。在E—R 圖中, 處于葉子部位的實(shí)體, 可以定義主鍵,也可以不定義主鍵   (因?yàn)樗鼰o子孫), 但必須要有外鍵(因?yàn)樗懈赣H)。   主鍵與外鍵的設(shè)計(jì),在全局?jǐn)?shù)據(jù)庫的設(shè)計(jì)中,占有重要地位。當(dāng)全局?jǐn)?shù)據(jù)庫的設(shè)計(jì)完成以后,有個(gè)美國數(shù)據(jù)庫設(shè)計(jì)專   家說:“鍵,到處都是鍵,除了鍵之外,什么也沒有”,這就是他的數(shù)據(jù)庫設(shè)計(jì)經(jīng)驗(yàn)之談,也反映了他對信息系統(tǒng)核   心(數(shù)據(jù)模型)的高度抽象思想。因?yàn)椋褐麈I是實(shí)體的高
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1