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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論