免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)該系列計(jì)劃包括5部分:完整性約束理論及應(yīng)用、范式理論及應(yīng)用、需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)。本文是第五部分,介紹邏輯結(jié)構(gòu)設(shè)計(jì)的內(nèi)容,包括E-R圖向關(guān)系模型的轉(zhuǎn)換、數(shù)據(jù)模型的優(yōu)化、用戶子模式的設(shè)計(jì)等問(wèn)題。1邏輯設(shè)計(jì)概述概念結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的,在實(shí)際應(yīng)用中,一般所用的數(shù)據(jù)庫(kù)環(huán)境已經(jīng)給定(如SQL Server或Oracel或MySql),本文討論從概念結(jié)構(gòu)向邏輯結(jié)構(gòu)的轉(zhuǎn)換問(wèn)題。由于目前使用的數(shù)據(jù)庫(kù)基本上都是關(guān)系數(shù)據(jù)庫(kù),因此首先需要將E-R圖轉(zhuǎn)換為關(guān)系模型,然后根據(jù)具體DBMS的特點(diǎn)和限制轉(zhuǎn)換為特定的DBMS支持下的數(shù)據(jù)模型,最后進(jìn)行優(yōu)化。2E-R圖向關(guān)系模型的轉(zhuǎn)換2.1 一個(gè)例子E-R圖如何轉(zhuǎn)換為關(guān)系模型呢?我們先看一個(gè)例子。圖2.1是學(xué)生和班級(jí)的E-R圖,學(xué)生與班級(jí)構(gòu)成多對(duì)一的聯(lián)系。根據(jù)實(shí)際應(yīng)用,我們可以做出這個(gè)簡(jiǎn)單例子的關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,班級(jí))班級(jí)(編號(hào),名稱)“學(xué)生.班級(jí)”為外鍵,參照“班級(jí).編號(hào)”取值。這個(gè)例子我們是憑經(jīng)驗(yàn)轉(zhuǎn)換的,那么里面有什么規(guī)律呢?在2.2節(jié),我們將這些經(jīng)驗(yàn)總結(jié)成一些規(guī)則,以供轉(zhuǎn)換使用。2.2 轉(zhuǎn)換規(guī)則(1) 一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式一般E-R圖中的一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。(2) 一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。圖2.2是一個(gè)一對(duì)一聯(lián)系的例子。根據(jù)規(guī)則(2),有三種轉(zhuǎn)換方式。(i) 聯(lián)系單獨(dú)作為一個(gè)關(guān)系模式此時(shí)聯(lián)系本身的屬性,以及與該聯(lián)系相連的實(shí)體的碼均作為關(guān)系的屬性,可以選擇與該聯(lián)系相連的任一實(shí)體的碼屬性作為該關(guān)系的碼。結(jié)果如下:職工(工號(hào),姓名)產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名)負(fù)責(zé)(工號(hào),產(chǎn)品號(hào))其中“負(fù)責(zé)”這個(gè)關(guān)系的碼可以是工號(hào),也可以是產(chǎn)品號(hào)。(ii) 與職工端合并職工(工號(hào),姓名,產(chǎn)品號(hào))產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名)其中“職工.產(chǎn)品號(hào)”為外碼。(iii) 與產(chǎn)品端合并職工(工號(hào),姓名)產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,負(fù)責(zé)人工號(hào))其中“產(chǎn)品.負(fù)責(zé)人工號(hào)”為外碼。(3) 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。(i) 若單獨(dú)作為一個(gè)關(guān)系模式此時(shí)該單獨(dú)的關(guān)系模式的屬性包括其自身的屬性,以及與該聯(lián)系相連的實(shí)體的碼。該關(guān)系的碼為n端實(shí)體的主屬性。顧客(顧客號(hào),姓名)訂單(訂單號(hào),)訂貨(顧客號(hào),訂單號(hào))(ii) 與n端合并顧客(顧客號(hào),姓名)訂單(訂單號(hào),顧客號(hào))(4) 一個(gè)m:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式。該關(guān)系的屬性包括聯(lián)系自身的屬性,以及與聯(lián)系相連的實(shí)體的屬性。各實(shí)體的碼組成關(guān)系碼或關(guān)系碼的一部分。教師(教師號(hào),姓名)學(xué)生(學(xué)號(hào),姓名)教授(教師號(hào),學(xué)號(hào))(5) 一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼,以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。(6) 具有相同碼的關(guān)系模式可以合并。(7) 有些1:n的聯(lián)系,將屬性合并到n端后,該屬性也作為主碼的一部分這類問(wèn)題多出現(xiàn)在聚集類的聯(lián)系中,且部分實(shí)體的碼只能在某一個(gè)整體中作為碼,而在全部整體中不能作為碼的情況下才出現(xiàn)(其它情況本人還沒(méi)碰到,呵呵,歡迎指教)。比如上篇文章介紹的管理信息系統(tǒng)中訂單與訂單細(xì)節(jié)的聯(lián)系。關(guān)于什么是聚集,2.3節(jié)介紹。2.3 數(shù)據(jù)抽象的分類這部分本應(yīng)在概念設(shè)計(jì)中介紹的,用到了才想起來(lái),這里補(bǔ)充一下。關(guān)于現(xiàn)實(shí)世界的抽象,一般分為三類:(1) 分類:即對(duì)象值與型之間的聯(lián)系,可以用“is member of”判定。如張英、王平都是學(xué)生,他們與“學(xué)生”之間構(gòu)成分類關(guān)系。(2) 聚集:定義某一類型的組成成分,是“is part of”的聯(lián)系。如學(xué)生與學(xué)號(hào)、姓名等屬性的聯(lián)系。(3) 概括:定義類型間的一種子集聯(lián)系,是“is subset of”的聯(lián)系。如研究生和本科生都是學(xué)生,而且都是集合,因此它們之間是概括的聯(lián)系。例:貓和動(dòng)物之間是概括的聯(lián)系,Tom and Jerry中那只名叫Tom的貓與貓之間是分類的聯(lián)系,Tom的毛色和Tom之間是聚集的聯(lián)系。訂單細(xì)節(jié)和訂單之間,訂單細(xì)節(jié)肯定不是一個(gè)訂單,因此不是概括或分類。訂單細(xì)節(jié)是訂單的一部分,因此是聚集。2.4 數(shù)據(jù)模型的優(yōu)化有了關(guān)系模型,可以進(jìn)一步優(yōu)化,方法為:(1) 確定數(shù)據(jù)依賴。(2) 對(duì)數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余聯(lián)系(參看范式理論)。(3) 確定范式級(jí)別,根據(jù)應(yīng)用環(huán)境,對(duì)某些模式進(jìn)行合并或分解。以上工作理論性比較強(qiáng),主要目的是設(shè)計(jì)一個(gè)數(shù)據(jù)冗余盡量少的關(guān)系模式。下面這步則是考慮效率問(wèn)題了:(4) 對(duì)關(guān)系模式進(jìn)行必要的分解。如果一個(gè)關(guān)系模式的屬性特別多,就應(yīng)該考慮是否可以對(duì)這個(gè)關(guān)系進(jìn)行垂直分解。如果有些屬性是經(jīng)常訪問(wèn)的,而有些屬性是很少訪問(wèn)的,則應(yīng)該把它們分解為兩個(gè)關(guān)系模式。如果一個(gè)關(guān)系的數(shù)據(jù)量特別大,就應(yīng)該考 慮是否可以進(jìn)行水平分解。如一個(gè)論壇中,如果設(shè)計(jì)時(shí)把會(huì)員發(fā)的主貼和跟貼設(shè)計(jì)為一個(gè)關(guān)系,則在帖子量非常大的情況下,這一步就應(yīng)該考慮把它們分開了。因?yàn)?顯示的主貼是經(jīng)常查詢的,而跟貼則是在打開某個(gè)主貼的情況下才查詢。又如手機(jī)號(hào)管理軟件,可以考慮按省份或其它方式進(jìn)行水平分解。2.5 設(shè)計(jì)用戶子模式這部分主要是考慮使用方便性和效率問(wèn)題,主要借助視圖手段實(shí)現(xiàn),包括:(1) 建立視圖,使用更符合用戶習(xí)慣的別名。(2) 對(duì)不同
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)贈(zèng)與協(xié)議書
- 代購(gòu)責(zé)任協(xié)議書
- 代理貿(mào)易協(xié)議書
- 代出資金協(xié)議書
- 借館經(jīng)營(yíng)協(xié)議書
- 修理修配協(xié)議書
- 修建祖屋協(xié)議書
- 2025-2030中國(guó)產(chǎn)業(yè)工人集中居住區(qū)洗衣服務(wù)缺口分析報(bào)告
- 2025-2030中國(guó)互聯(lián)網(wǎng)銀行行業(yè)市場(chǎng)發(fā)展觀察及普惠金融與金融科技信息服務(wù)方案研究
- 2025-2030中國(guó)互聯(lián)網(wǎng)醫(yī)療掛號(hào)平臺(tái)用戶滿意度調(diào)查與政策監(jiān)管環(huán)境優(yōu)化規(guī)劃分析報(bào)告
- 如何培養(yǎng)孩子深度專注
- 2024年餐飲店長(zhǎng)年度工作總結(jié)
- 護(hù)理8S管理匯報(bào)
- 產(chǎn)前篩查標(biāo)本采集與管理制度
- 急危重癥護(hù)理培訓(xùn)心得
- 2025勞動(dòng)合同書(上海市人力資源和社會(huì)保障局監(jiān)制)
- 門診護(hù)士長(zhǎng)工作總結(jié)匯報(bào)
- 藥膳餐廳創(chuàng)新創(chuàng)業(yè)計(jì)劃書
- erp沙盤模擬實(shí)訓(xùn)報(bào)告采購(gòu)總監(jiān)
- 污水消毒知識(shí)培訓(xùn)課件
- 橫紋肌溶解癥的護(hù)理
評(píng)論
0/150
提交評(píng)論