數(shù)據(jù)庫設(shè)計模型圖_第1頁
數(shù)據(jù)庫設(shè)計模型圖_第2頁
數(shù)據(jù)庫設(shè)計模型圖_第3頁
數(shù)據(jù)庫設(shè)計模型圖_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫設(shè)計模型圖功能模塊數(shù)據(jù)設(shè)計。1.原始單據(jù)與實體之間的關(guān)系可以是?對?、?對多、多對多的關(guān)系。在?般情況下,它們是?對?的關(guān)系:即?張原始單據(jù)對應(yīng)且只對應(yīng)?個實體。在特殊情況下,它們可能是?對多或多對?的關(guān)系,即?張原始單證對應(yīng)多個實體,或多張原始單證對應(yīng)?個實體。這?的實體可以理解為基本表。明確這種對應(yīng)關(guān)系后,對我們設(shè)計錄?界??有好處。〖例1〗:?份員?履歷資料,在??資源信息系統(tǒng)中,就對應(yīng)三個基本表:員?基本情況表、社會關(guān)系表、?作簡歷表。這就是“?張原始單證對應(yīng)多個實體”的典型例?。2.主鍵與外鍵?般??,?個實體不能既?主鍵??外鍵。在E—R圖中,處于葉?部位的實體,可以定義主鍵,也可以不定義主鍵(因為它??孫),但必須要有外鍵(因為它有?親)。主鍵與外鍵的設(shè)計,在全局?jǐn)?shù)據(jù)庫的設(shè)計中,占有重要地位。當(dāng)全局?jǐn)?shù)據(jù)庫的設(shè)計完成以后,有個美國數(shù)據(jù)庫設(shè)計專家說:“鍵,到處都是鍵,除了鍵之外,什么也沒有”,這就是他的數(shù)據(jù)庫設(shè)計經(jīng)驗之談,也反映了他對信息系統(tǒng)核?(數(shù)據(jù)模型)的?度抽象思想。因為:主鍵是實體的?度抽象,主鍵與外鍵的配對,表?實體之間的連接。3.基本表的性質(zhì)基本表與中間表、臨時表不同,因為它具有如下四個特性:(1)原?性。基本表中的字段是不可再分解的。(2)原始性。基本表中的記錄是原始數(shù)據(jù)(基礎(chǔ)數(shù)據(jù))的記錄。(3)演繹性。由基本表與代碼表中的數(shù)據(jù),可以派?出所有的輸出數(shù)據(jù)。(4)穩(wěn)定性。基本表的結(jié)構(gòu)是相對穩(wěn)定的,表中的記錄是要長期保存的。理解基本表的性質(zhì)后,在設(shè)計數(shù)據(jù)庫時,就能將基本表與中間表、臨時表區(qū)分開來。4.范式標(biāo)準(zhǔn)基本表及其字段之間的關(guān)系,應(yīng)盡量滿?第三范式。但是,滿?第三范式的數(shù)據(jù)庫設(shè)計,往往不是最好的設(shè)計。為了提?數(shù)據(jù)庫的運?效率,常常需要降低范式標(biāo)準(zhǔn):適當(dāng)增加冗余,達到以空間換時間的?的?!祭?〗:有?張存放商品的基本表,如表1所??!?額”這個字段的存在,表明該表的設(shè)計不滿?第三范式,因為“?額”可以由“單價”乘以“數(shù)量”得到,說明“?額”是冗余字段。但是,增加“?額”這個冗余字段,可以提?查詢統(tǒng)計的速度,這就是以空間換時間的作法。在Rose2002中,規(guī)定列有兩種類型:數(shù)據(jù)列和計算列?!?額”這樣的列被稱為“計算列”,?“單價”和“數(shù)量”這樣的列被稱為“數(shù)據(jù)列”。表1商品表的表結(jié)構(gòu)商品名稱商品型號單價數(shù)量?額電視機29吋2,50040100,0005.通俗地理解三個范式通俗地理解三個范式,對于數(shù)據(jù)庫設(shè)計?有好處。在數(shù)據(jù)庫設(shè)計中,為了更好地應(yīng)?三個范式,就必須通俗地理解三個范式(通俗地理解是夠?的理解,并不是最科學(xué)最準(zhǔn)確的理解):第?范式:1NF是對屬性的原?性約束,要求屬性具有原?性,不可再分解;第?范式:2NF是對記錄的惟?性約束,要求記錄有惟?標(biāo)識,即實體的惟?性;第三范式:3NF是對字段冗余性的約束,即任何字段不能由其他字段派?出來,它要求字段沒有冗余。沒有冗余的數(shù)據(jù)庫設(shè)計可以做到。但是,沒有冗余的數(shù)據(jù)庫未必是最好的數(shù)據(jù)庫,有時為了提?運?效率,就必須降低范式標(biāo)準(zhǔn),適當(dāng)保留冗余數(shù)據(jù)。具體做法是:在概念數(shù)據(jù)模型設(shè)計時遵守第三范式,降低范式標(biāo)準(zhǔn)的?作放到物理數(shù)據(jù)模型設(shè)計時考慮。降低范式就是增加字段,允許冗余。6.要善于識別與正確處理多對多的關(guān)系若兩個實體之間存在多對多的關(guān)系,則應(yīng)消除這種關(guān)系。消除的辦法是,在兩者之間增加第三個實體。這樣,原來?個多對多的關(guān)系,現(xiàn)在變?yōu)閮蓚€?對多的關(guān)系。要將原來兩個實體的屬性合理地分配到三個實體中去。這?的第三個實體,實質(zhì)上是?個較復(fù)雜的關(guān)系,它對應(yīng)?張基本表。?般來講,數(shù)據(jù)庫設(shè)計?具不能識別多對多的關(guān)系,但能處理多對多的關(guān)系?!祭?〗:在“圖書館信息系統(tǒng)”中,“圖書”是?個實體,“讀者”也是?個實體。這兩個實體之間的關(guān)系,是?個典型的多對多關(guān)系:?本圖書在不同時間可以被多個讀者借閱,?個讀者?可以借多本圖書。為此,要在?者之間增加第三個實體,該實體取名為“借還書”,它的屬性為:借還時間、借還標(biāo)志(0表?借書,1表?還書),另外,它還應(yīng)該有兩個外鍵(“圖書”的主鍵,“讀者”的主鍵),使它能與“圖書”和“讀者”連接。7.主鍵PK的取值?法PK是供程序員使?的表間連接?具,可以是??物理意義的數(shù)字串,由程序?動加1來實現(xiàn)。也可以是有物理意義的字段名或字段名的組合。不過前者?后者好。當(dāng)PK是字段名的組合時,建議字段的個數(shù)不要太多,多了不但索引占?空間?,?且速度也慢。8.正確認(rèn)識數(shù)據(jù)冗余主鍵與外鍵在多表中的重復(fù)出現(xiàn),不屬于數(shù)據(jù)冗余,這個概念必須清楚,事實上有許多?還不清楚。?鍵字段的重復(fù)出現(xiàn),才是數(shù)據(jù)冗余!?且是?種低級冗余,即重復(fù)性的冗余。?級冗余不是字段的重復(fù)出現(xiàn),?是字段的派?出現(xiàn)?!祭?〗:商品中的“單價、數(shù)量、?額”三個字段,“?額”就是由“單價”乘以“數(shù)量”派?出來的,它就是冗余,?且是?種?級冗余。冗余的?的是為了提?處理速度。只有低級冗余才會增加數(shù)據(jù)的不?致性,因為同?數(shù)據(jù),可能從不同時間、地點、??上多次錄?。因此,我們提倡?級冗余(派?性冗余),反對低級冗余(重復(fù)性冗余)。

9.E--R圖沒有標(biāo)準(zhǔn)答案信息系統(tǒng)的E--R圖沒有標(biāo)準(zhǔn)答案,因為它的設(shè)計與畫法不是惟?的,只要它覆蓋了系統(tǒng)需求的業(yè)務(wù)范圍和功能內(nèi)容,就是可?的。反之要修改E--R圖。盡管它沒有惟?的標(biāo)準(zhǔn)答案,并不意味著可以隨意設(shè)計。好的E—R圖的標(biāo)準(zhǔn)是:結(jié)構(gòu)清晰、關(guān)聯(lián)簡潔、實體個數(shù)適中、屬性分配合理、沒有低級冗余。10.視圖技術(shù)在數(shù)據(jù)庫設(shè)計中很有?與基本表、代碼表、中間表不同,視圖是?種虛表,它依賴數(shù)據(jù)源的實表?存在。視圖是供程序員使?數(shù)據(jù)庫的?個窗?,是基表數(shù)據(jù)綜合的?種形式,是數(shù)據(jù)處理的?種?法,是?戶數(shù)據(jù)保密的?種?段。為了進?復(fù)雜處理、提?運算速度和節(jié)省存儲空間,視圖的定義深度?般不得超過三層。若三層視圖仍不夠?,則應(yīng)在視圖上定義臨時表,在臨時表上再定義視圖。這樣反復(fù)交迭定義,視圖的深度就不受限制了。對于某些與國家政治、經(jīng)濟、技術(shù)、軍事和安全利益有關(guān)的信息系統(tǒng),視圖的作?更加重要。這些系統(tǒng)的基本表完成物理設(shè)計之后,?即在基本表上建?第?層視圖,這層視圖的個數(shù)和結(jié)構(gòu),與基本表的個數(shù)和結(jié)構(gòu)是完全相同。并且規(guī)定,所有的程序員,?律只準(zhǔn)在視圖上操作。只有數(shù)據(jù)庫管理員,帶著多個?員共同掌握的“安全鑰匙”,才能直接在基本表上操作。請讀者想想:這是為什么?11.中間表、報表和臨時表中間表是存放統(tǒng)計數(shù)據(jù)的表,它是為數(shù)據(jù)倉庫、輸出報表或查詢結(jié)果?設(shè)計的,有時它沒有主鍵與外鍵(數(shù)據(jù)倉庫除外)。臨時表是程序員個?設(shè)計的,存放臨時記錄,為個?所??;砗椭虚g表由DBA維護,臨時表由程序員???程序?動維護。12.完整性約束表現(xiàn)在三個??域的完整性:?Check來實現(xiàn)約束,在數(shù)據(jù)庫設(shè)計?具中,對字段的取值范圍進?定義時,有?個Check按鈕,通過它定義字段的值城。參照完整性:?PK、FK、表級觸發(fā)器來實現(xiàn)。?戶定義完整性:它是?些業(yè)務(wù)規(guī)則,?存儲過程和觸發(fā)器來實現(xiàn)。13.防?數(shù)據(jù)庫設(shè)計打補丁的?法是“三少原則”(1)?個數(shù)據(jù)庫中表的個數(shù)越少越好。只有表的個數(shù)少了,才能說明系統(tǒng)的E--R圖少?精,去掉了重復(fù)的多余的實體,形成了對客觀世界的?度抽象,進?了系統(tǒng)的數(shù)據(jù)集成,防?了打補丁式的設(shè)計;(2)?個表中組合主鍵的字段個數(shù)越少越好。因為主鍵的作?,?是建主鍵索引,?是做為?表的外鍵,所以組合主鍵的字段個數(shù)少了,不僅節(jié)省了運?時間,?且節(jié)省了索引存儲空間;(3)?個表中的字段個數(shù)越少越好。只有字段的個數(shù)少了,才能說明在系統(tǒng)中不存在數(shù)據(jù)重復(fù),且很少有數(shù)據(jù)冗余,更重要的是督促讀者學(xué)會“列變?”,這樣就防?了將?表中的字段拉?到主表中去,在主表中留下許多空余的字段。所謂“列變?”,就是將主表中的?部分內(nèi)容拉出去,另外單獨建?個?表。這個?法很簡單,有的?就是不習(xí)慣、不采納、不執(zhí)?。數(shù)據(jù)庫設(shè)計的實?原則是:在數(shù)據(jù)冗余和處理速度之間找到合適的平衡點?!叭佟笔?個整體概念,綜合觀點,不能孤?某?個原則。該原則是相對的,不是絕對的?!叭唷痹瓌t肯定是錯誤的。試想:若覆蓋系統(tǒng)同樣的功能,?百個實體(共?千個屬性)的E--R圖,肯定??百個實體(共?千個屬性)的E--R圖,要好得多。提倡“三少”原則,是叫讀者學(xué)會利?數(shù)據(jù)庫設(shè)計技術(shù)進?系統(tǒng)的數(shù)據(jù)集成。數(shù)據(jù)集成的步驟是將?件系統(tǒng)集成為應(yīng)?數(shù)據(jù)庫,將應(yīng)?數(shù)據(jù)庫集成為主題數(shù)據(jù)庫,將主題數(shù)據(jù)庫集成為全局綜合數(shù)據(jù)庫。集成的程度越?,數(shù)據(jù)共享性就越強,信息孤島現(xiàn)象就越少,整個企業(yè)信息系統(tǒng)的全局E—R圖中實體的

個數(shù)、主鍵的個數(shù)、屬性的個數(shù)就會越少。提倡“三少”原則的?的,是防?讀者利?打補丁技術(shù),不斷地對數(shù)據(jù)庫進?增刪改,使企業(yè)數(shù)據(jù)庫變成了隨意設(shè)計數(shù)據(jù)庫表的“垃圾堆”,或數(shù)據(jù)庫表的“?雜院”,最后造成數(shù)據(jù)庫中的基本表、代碼表、中間表、臨時表雜亂?章,不計其數(shù),導(dǎo)致企事業(yè)單位的信息系統(tǒng)?法維護?癱瘓。“三多”原則任何?都可以做到,該原則是“打補丁?法”設(shè)計數(shù)據(jù)庫的歪理學(xué)說?!叭佟痹瓌t是少?精的原則,它要求有較?的數(shù)據(jù)庫設(shè)計技巧與藝術(shù),不是任何?都能做到的,因為該原則是杜絕?“打補丁?法”設(shè)計數(shù)據(jù)庫的理論依據(jù)。14.提?數(shù)據(jù)庫運?效率的辦法在給定的系統(tǒng)硬件和系統(tǒng)軟件條件下,提?數(shù)據(jù)庫系統(tǒng)的運?效率的辦法是:(1)在數(shù)據(jù)庫物理設(shè)計時,降低范式,增加冗余,少?觸發(fā)器,多?存儲過程。(2)當(dāng)計算?常復(fù)雜、?且記錄條數(shù)?常巨?時(例如?千萬條),復(fù)雜計算要先在數(shù)據(jù)庫外?,以?件系統(tǒng)?式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論