數(shù)據(jù)庫(kù)試題-英文卷_第1頁(yè)
數(shù)據(jù)庫(kù)試題-英文卷_第2頁(yè)
數(shù)據(jù)庫(kù)試題-英文卷_第3頁(yè)
數(shù)據(jù)庫(kù)試題-英文卷_第4頁(yè)
數(shù)據(jù)庫(kù)試題-英文卷_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

基礎(chǔ)概念 要理解范式,首先必須對(duì)知道什么是關(guān)系數(shù)據(jù)庫(kù),如果你不知道,我可以簡(jiǎn)單的不能再簡(jiǎn)單的說(shuō)一下:關(guān)系數(shù)據(jù)庫(kù)就是用二維表來(lái)保存數(shù)據(jù)。(可以參看我給你發(fā)的數(shù)據(jù)庫(kù)方面的資料)然后你應(yīng)該理解以下概念:l 實(shí)體:現(xiàn)實(shí)世界中客觀存在并可以被區(qū)別的事物。比如“一個(gè)學(xué)生”、“一本書(shū)”、“一門(mén)課”等等。值得強(qiáng)調(diào)的是這里所說(shuō)的“事物”不僅僅是看得見(jiàn)摸得著的“東西”,它也可以是虛擬的,比如說(shuō)“老師與學(xué)校的關(guān)系”(這一點(diǎn)可能一開(kāi)始會(huì)不理解,不過(guò)先要有這個(gè)意識(shí),知道實(shí)體可以是有形的,也可以是無(wú)形的,實(shí)體也可以是抽象的事物或聯(lián)系)。l 屬性:教科書(shū)上解釋為:“實(shí)體所具有的某一特性”,由此可見(jiàn),屬性一開(kāi)始是個(gè)邏輯概念,比如說(shuō),“性別”是“人”的一個(gè)屬性。在關(guān)系數(shù)據(jù)庫(kù)中,屬性又是個(gè)物理概念,屬性可以看作是“表的一列”。l 元組:表中的一行就是一個(gè)元組。l 分量:元組的某個(gè)屬性值。在一個(gè)關(guān)系數(shù)據(jù)庫(kù)中,它是一個(gè)操作原子,即關(guān)系數(shù)據(jù)庫(kù)在做任何操作的時(shí)候,屬性是“不可分的”。否則就不是關(guān)系數(shù)據(jù)庫(kù)了。l 碼:表中可以唯一確定一個(gè)元組的某個(gè)屬性(或者屬性組),如果這樣的碼有不止一個(gè),那么大家都叫候選碼,我們從候選碼中挑一個(gè)出來(lái)做老大,它就叫主碼。(可以看出碼其實(shí)是一種特殊的屬性)l 全碼:如果一個(gè)碼包含了所有的屬性,這個(gè)碼就是全碼。l 主屬性:一個(gè)屬性只要在任何一個(gè)候選碼中出現(xiàn)過(guò),這個(gè)屬性就是主屬性。l 非主屬性:與上面相反,沒(méi)有在任何候選碼中出現(xiàn)過(guò),這個(gè)屬性就是非主屬性。l 外碼:一個(gè)屬性(或?qū)傩越M),它不是碼,但是它別的表的碼,它就是外碼二、范式(為什么要提出范式概念,了解了范式你就能規(guī)范地設(shè)計(jì)數(shù)據(jù)庫(kù))首先要明白,范式的包含關(guān)系。一個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)如果符合第二范式,一定也符合第一范式。如果符合第三范式,一定也符合第二范式l 第一范式(1NF):屬性不可分。在前面已經(jīng)介紹了屬性值的概念,我們說(shuō),它是“不可分的”。而第一范式要求屬性也不可分。那么它和屬性值不可分有什么區(qū)別呢?給一個(gè)例子:姓名電話年齡大寶22小明01021這個(gè)表中,屬性值“分”了?!半娫挕边@個(gè)屬性里對(duì)于“小明”屬性值分成了兩個(gè)。姓名電話年齡手機(jī)座機(jī)大寶02122小明01021這個(gè)表中,屬性 “分”了。也就是“電話”分為了“手機(jī)”和“座機(jī)”兩個(gè)屬性。這兩種情況都不滿足第一范式。不滿足第一范式的數(shù)據(jù)庫(kù),不是關(guān)系數(shù)據(jù)庫(kù)!所以,我們?cè)谌魏侮P(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中,做不出這樣的“表”來(lái)。針對(duì)上述情況可以做成這樣的表:姓名手機(jī)座機(jī)年齡大寶22小明01021第二范式(2NF):符合1NF,并且,非主屬性完全依賴于碼。(注意是完全依賴不能是部分依賴,設(shè)有函數(shù)依賴WA,若存在XW,有XA成立,那么稱WA是局部依賴,否則就稱WA是完全函數(shù)依賴)聽(tīng)起來(lái)好像很神秘,其實(shí)真的沒(méi)什么。一個(gè)候選碼中的主屬性也可能是好幾個(gè)。如果一個(gè)主屬性,它不能單獨(dú)作為一個(gè)候選碼,那么它也不能確定任何一個(gè)非主屬性。給一個(gè)反例:我們考慮一個(gè)小學(xué)的教務(wù)管理系統(tǒng),學(xué)生上課指定一個(gè)老師,一本教材,一個(gè)教室,一個(gè)時(shí)間,大家都上課去吧,沒(méi)有問(wèn)題。那么數(shù)據(jù)庫(kù)怎么設(shè)計(jì)?(學(xué)生上課表)姓名課程老師老師職稱教材教室上課時(shí)間小明一年級(jí)語(yǔ)文(上)趙宏偉副教授小學(xué)語(yǔ)文110114:30一個(gè)學(xué)生上一門(mén)課,一定在特定某個(gè)教室。所以有(學(xué)生,課程)教室一個(gè)學(xué)生上一門(mén)課,一定是特定某個(gè)老師教。所以有(學(xué)生,課程)老師一個(gè)學(xué)生上一門(mén)課,他老師的職稱可以確定。所以有(學(xué)生,課程)老師職稱一個(gè)學(xué)生上一門(mén)課,一定是特定某個(gè)教材。所以有(學(xué)生,課程)教材一個(gè)學(xué)生上一門(mén)課,一定在特定時(shí)間。所以有(學(xué)生,課程)上課時(shí)間因此(學(xué)生,課程)是一個(gè)碼。然而,一個(gè)課程,一定指定了某個(gè)教材,一年級(jí)語(yǔ)文肯定用的是小學(xué)語(yǔ)文1,那么就有課程教材。(學(xué)生,課程)是個(gè)碼,課程卻決定了教材,這就叫做不完全依賴,或者說(shuō)部分依賴。出現(xiàn)這樣的情況,就不滿足第二范式!有什么不好嗎?你可以想想:1、校長(zhǎng)要新增加一門(mén)課程叫“微積分”,教材是大學(xué)數(shù)學(xué),怎么辦?學(xué)生還沒(méi)選課,而學(xué)生又是主屬性,主屬性不能空,課程怎么記錄呢,教材記到哪呢? 郁悶了吧?(插入異常)2、下學(xué)期沒(méi)學(xué)生學(xué)一年級(jí)語(yǔ)文(上)了,學(xué)一年級(jí)語(yǔ)文(下)去了,那么表中將不存在一年級(jí)語(yǔ)文(上),也就沒(méi)了小學(xué)語(yǔ)文1。這時(shí)候,校長(zhǎng)問(wèn):一年級(jí)語(yǔ)文(上)用的什么教材???郁悶了吧?(刪除異常)3、校長(zhǎng)說(shuō):一年級(jí)語(yǔ)文(上)換教材,換成大學(xué)語(yǔ)文。有10000個(gè)學(xué)生選了這門(mén)課,改動(dòng)好大啊!改累死了郁悶了吧?(修改/更新異常,在這里你可能覺(jué)得直接把教材小學(xué)語(yǔ)文1替換成大學(xué)語(yǔ)文不就可以了,但是替換操作雖然計(jì)算機(jī)運(yùn)行速度很快,但是畢竟也要替換10000次,造成了很大的時(shí)間開(kāi)銷(xiāo))那應(yīng)該怎么解決呢?投影分解,將一個(gè)表分解成兩個(gè)或若干個(gè)表姓名課程老師老師職稱教室上課時(shí)間小明一年級(jí)語(yǔ)文(上)趙宏偉副教授10114:30課程教材一年級(jí)語(yǔ)文(上)小學(xué)語(yǔ)文1第三范式(3NF):符合2NF,并且,消除傳遞依賴(也就是每個(gè)非主屬性都不傳遞依賴于候選鍵,判斷傳遞函數(shù)依賴,指的是如果存在A B C的決定關(guān)系,則C傳遞函數(shù)依賴于A。)上面的“學(xué)生上課新表”符合2NF,但是它有傳遞依賴!在哪呢?問(wèn)題就出在“老師”和“老師職稱”這里。一個(gè)老師一定能確定一個(gè)老師職稱。(學(xué)生,課程)-老師-職稱。有什么問(wèn)題嗎?想想:1、老師升級(jí)了,變教授了,要改數(shù)據(jù)庫(kù),表中有N條,改了N次(修改異常)2、沒(méi)人選這個(gè)老師的課了,老師的職稱也沒(méi)了記錄(刪除異常)3、新來(lái)一個(gè)老師,還沒(méi)分配教什么課,他的職稱記到哪?(插入異常)那應(yīng)該怎么解決呢?和上面一樣,投影分解:姓名課程老師教室上課時(shí)間小明一年級(jí)語(yǔ)文(上)趙宏偉10114:30老師老師職稱趙宏偉副教授BC范式(BCNF):符合3NF,并且,主屬性不依賴于主屬性(也就是不存在任何字段對(duì)任一候選關(guān)鍵字段的傳遞函數(shù)依賴)BC范式既檢查非主屬性,又檢查主屬性。當(dāng)只檢查非主屬性時(shí),就成了第三范式。滿足BC范式的關(guān)系都必然滿足第三范式。 還可以這么說(shuō):若一個(gè)關(guān)系達(dá)到了第三范式,并且它只有一個(gè)候選碼,或者它的每個(gè)候選碼都是單屬性,則該關(guān)系自然達(dá)到BC范式。給你舉個(gè)例子:假設(shè)倉(cāng)庫(kù)管理關(guān)系表 (倉(cāng)庫(kù)ID, 存儲(chǔ)物品ID, 管理員ID, 數(shù)量),且有一個(gè)管理員只在一個(gè)倉(cāng)庫(kù)工作;一個(gè)倉(cāng)庫(kù)可以存儲(chǔ)多種物品。這個(gè)數(shù)據(jù)庫(kù)表中存在如下決定關(guān)系:(倉(cāng)庫(kù)ID, 存儲(chǔ)物品ID) (管理員ID, 數(shù)量)(管理員ID, 存儲(chǔ)物品ID) (倉(cāng)庫(kù)ID, 數(shù)量)所以,(倉(cāng)庫(kù)ID, 存儲(chǔ)物品ID)和(管理員ID, 存儲(chǔ)物品ID)都是StorehouseManage的候選關(guān)鍵字,表中的唯一非關(guān)鍵字段為數(shù)量,它是符合第三范式的。但是,由于存在如下決定關(guān)系:(倉(cāng)庫(kù)ID) (管理員ID)(管理員ID) (倉(cāng)庫(kù)ID)即存在關(guān)鍵字段決定關(guān)鍵字段的情況,所以其不符合BCNF范式。它會(huì)出現(xiàn)如下異常情況:(1) 刪除異常:當(dāng)倉(cāng)庫(kù)被清空后,所有存儲(chǔ)物品ID和數(shù)量信息被刪除的同時(shí),倉(cāng)庫(kù)ID和管理員ID信息也被刪除了。(2) 插入異常:當(dāng)倉(cāng)庫(kù)沒(méi)有存儲(chǔ)任何物品時(shí),無(wú)法給倉(cāng)庫(kù)分配管理員。(3) 更新異常:如果倉(cāng)庫(kù)換了管理員,則表中所有行的管理員ID都要修改。把倉(cāng)庫(kù)管理關(guān)系表分解為二個(gè)關(guān)系表:倉(cāng)庫(kù)管理:StorehouseManage(倉(cāng)庫(kù)ID, 管理員ID);倉(cāng)庫(kù):Storehouse(倉(cāng)庫(kù)ID, 存儲(chǔ)物品ID, 數(shù)量)。這樣的數(shù)據(jù)庫(kù)表是符合BCNF范式的,消除了刪除異常、插入異常和更新異常。一般,一個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)符合3NF或BCNF就可以了。在BC范式以上還有第四范式、第五范式。第四范式:要求把同

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論