下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上基礎(chǔ)概念 要理解范式,首先必須對(duì)知道什么是關(guān)系數(shù)據(jù)庫,如果你不知道,我可以簡單的不能再簡單的說一下:關(guān)系數(shù)據(jù)庫就是用二維表來保存數(shù)據(jù)。(可以參看我給你發(fā)的數(shù)據(jù)庫方面的資料)然后你應(yīng)該理解以下概念:l 實(shí)體:現(xiàn)實(shí)世界中客觀存在并可以被區(qū)別的事物。比如“一個(gè)學(xué)生”、“一本書”、“一門課”等等。值得強(qiáng)調(diào)的是這里所說的“事物”不僅僅是看得見摸得著的“東西”,它也可以是虛擬的,比如說“老師與學(xué)校的關(guān)系”(這一點(diǎn)可能一開始會(huì)不理解,不過先要有這個(gè)意識(shí),知道實(shí)體可以是有形的,也可以是無形的,實(shí)體也可以是抽象的事物或聯(lián)系)。l 屬性:教科書上解釋為:“實(shí)體所具有的某一特性
2、”,由此可見,屬性一開始是個(gè)邏輯概念,比如說,“性別”是“人”的一個(gè)屬性。在關(guān)系數(shù)據(jù)庫中,屬性又是個(gè)物理概念,屬性可以看作是“表的一列”。l 元組:表中的一行就是一個(gè)元組。l 分量:元組的某個(gè)屬性值。在一個(gè)關(guān)系數(shù)據(jù)庫中,它是一個(gè)操作原子,即關(guān)系數(shù)據(jù)庫在做任何操作的時(shí)候,屬性是“不可分的”。否則就不是關(guān)系數(shù)據(jù)庫了。l 碼:表中可以唯一確定一個(gè)元組的某個(gè)屬性(或者屬性組),如果這樣的碼有不止一個(gè),那么大家都叫候選碼,我們從候選碼中挑一個(gè)出來做老大,它就叫主碼。(可以看出碼其實(shí)是一種特殊的屬性)l 全碼:如果一個(gè)碼包含了所有的屬性,這個(gè)碼就是全碼。l 主屬性:一個(gè)屬性只要在任何一個(gè)候選碼中出現(xiàn)過,這
3、個(gè)屬性就是主屬性。l 非主屬性:與上面相反,沒有在任何候選碼中出現(xiàn)過,這個(gè)屬性就是非主屬性。l 外碼:一個(gè)屬性(或?qū)傩越M),它不是碼,但是它別的表的碼,它就是外碼二、范式(為什么要提出范式概念,了解了范式你就能規(guī)范地設(shè)計(jì)數(shù)據(jù)庫)首先要明白,范式的包含關(guān)系。一個(gè)數(shù)據(jù)庫設(shè)計(jì)如果符合第二范式,一定也符合第一范式。如果符合第三范式,一定也符合第二范式l 第一范式(1NF):屬性不可分。在前面已經(jīng)介紹了屬性值的概念,我們說,它是“不可分的”。而第一范式要求屬性也不可分。那么它和屬性值不可分有什么區(qū)別呢?給一個(gè)例子:姓名電話年齡大寶22小明01021這個(gè)表中,屬性值“分”了?!半娫挕边@個(gè)屬性里對(duì)于“小明”
4、屬性值分成了兩個(gè)。姓名電話年齡手機(jī)座機(jī)大寶02122小明01021這個(gè)表中,屬性 “分”了。也就是“電話”分為了“手機(jī)”和“座機(jī)”兩個(gè)屬性。這兩種情況都不滿足第一范式。不滿足第一范式的數(shù)據(jù)庫,不是關(guān)系數(shù)據(jù)庫!所以,我們?cè)谌魏侮P(guān)系數(shù)據(jù)庫管理系統(tǒng)中,做不出這樣的“表”來。針對(duì)上述情況可以做成這樣的表:姓名手機(jī)座機(jī)年齡大寶22小明01021第二范式(2NF):符合1NF,并且,非主屬性完全依賴于碼。(注意是完全依賴不能是部分依賴,設(shè)有函數(shù)依賴WA,若存在XW,有XA成立,那么稱WA是局部依賴,否則就稱WA是完全函數(shù)依賴)聽起來好像很神秘,其實(shí)真的沒什么。一個(gè)候選碼中的主屬性也可能是好幾個(gè)。如果一個(gè)主
5、屬性,它不能單獨(dú)作為一個(gè)候選碼,那么它也不能確定任何一個(gè)非主屬性。給一個(gè)反例:我們考慮一個(gè)小學(xué)的教務(wù)管理系統(tǒng),學(xué)生上課指定一個(gè)老師,一本教材,一個(gè)教室,一個(gè)時(shí)間,大家都上課去吧,沒有問題。那么數(shù)據(jù)庫怎么設(shè)計(jì)?(學(xué)生上課表)姓名課程老師老師職稱教材教室上課時(shí)間小明一年級(jí)語文(上)趙宏偉副教授小學(xué)語文110114:30一個(gè)學(xué)生上一門課,一定在特定某個(gè)教室。所以有(學(xué)生,課程)>教室一個(gè)學(xué)生上一門課,一定是特定某個(gè)老師教。所以有(學(xué)生,課程)>老師一個(gè)學(xué)生上一門課,他老師的職稱可以確定。所以有(學(xué)生,課程)>老師職稱一個(gè)學(xué)生上一門課,一定是特定某個(gè)教材。所以有(學(xué)生,課程)>
6、教材一個(gè)學(xué)生上一門課,一定在特定時(shí)間。所以有(學(xué)生,課程)>上課時(shí)間因此(學(xué)生,課程)是一個(gè)碼。然而,一個(gè)課程,一定指定了某個(gè)教材,一年級(jí)語文肯定用的是小學(xué)語文1,那么就有課程>教材。(學(xué)生,課程)是個(gè)碼,課程卻決定了教材,這就叫做不完全依賴,或者說部分依賴。出現(xiàn)這樣的情況,就不滿足第二范式!有什么不好嗎?你可以想想:1、校長要新增加一門課程叫“微積分”,教材是大學(xué)數(shù)學(xué),怎么辦?學(xué)生還沒選課,而學(xué)生又是主屬性,主屬性不能空,課程怎么記錄呢,教材記到哪呢? 郁悶了吧?(插入異常)2、下學(xué)期沒學(xué)生學(xué)一年級(jí)語文(上)了,學(xué)一年級(jí)語文(下)去了,那么表中將不存在一年級(jí)語文(上),也就沒了小
7、學(xué)語文1。這時(shí)候,校長問:一年級(jí)語文(上)用的什么教材啊?郁悶了吧?(刪除異常)3、校長說:一年級(jí)語文(上)換教材,換成大學(xué)語文。有10000個(gè)學(xué)生選了這門課,改動(dòng)好大??!改累死了郁悶了吧?(修改/更新異常,在這里你可能覺得直接把教材小學(xué)語文1替換成大學(xué)語文不就可以了,但是替換操作雖然計(jì)算機(jī)運(yùn)行速度很快,但是畢竟也要替換10000次,造成了很大的時(shí)間開銷)那應(yīng)該怎么解決呢?投影分解,將一個(gè)表分解成兩個(gè)或若干個(gè)表姓名課程老師老師職稱教室上課時(shí)間小明一年級(jí)語文(上)趙宏偉副教授10114:30課程教材一年級(jí)語文(上)小學(xué)語文1第三范式(3NF):符合2NF,并且,消除傳遞依賴(也就是每個(gè)非主屬性都
8、不傳遞依賴于候選鍵,判斷傳遞函數(shù)依賴,指的是如果存在"A B C"的決定關(guān)系,則C傳遞函數(shù)依賴于A。)上面的“學(xué)生上課新表”符合2NF,但是它有傳遞依賴!在哪呢?問題就出在“老師”和“老師職稱”這里。一個(gè)老師一定能確定一個(gè)老師職稱。(學(xué)生,課程)->老師->職稱。有什么問題嗎?想想:1、老師升級(jí)了,變教授了,要改數(shù)據(jù)庫,表中有N條,改了N次(修改異常)2、沒人選這個(gè)老師的課了,老師的職稱也沒了記錄(刪除異常)3、新來一個(gè)老師,還沒分配教什么課,他的職稱記到哪?(插入異常)那應(yīng)該怎么解決呢?和上面一樣,投影分解:姓名課程老師教室上課時(shí)間小明一年級(jí)語文(上)趙宏偉1
9、0114:30老師老師職稱趙宏偉副教授BC范式(BCNF):符合3NF,并且,主屬性不依賴于主屬性(也就是不存在任何字段對(duì)任一候選關(guān)鍵字段的傳遞函數(shù)依賴)BC范式既檢查非主屬性,又檢查主屬性。當(dāng)只檢查非主屬性時(shí),就成了第三范式。滿足BC范式的關(guān)系都必然滿足第三范式。 還可以這么說:若一個(gè)關(guān)系達(dá)到了第三范式,并且它只有一個(gè)候選碼,或者它的每個(gè)候選碼都是單屬性,則該關(guān)系自然達(dá)到BC范式。給你舉個(gè)例子:假設(shè)倉庫管理關(guān)系表 (倉庫ID, 存儲(chǔ)物品ID, 管理員ID, 數(shù)量),且有一個(gè)管理員只在一個(gè)倉庫工作;一個(gè)倉庫可以存儲(chǔ)多種物品。這個(gè)數(shù)據(jù)庫表中存在如下決定關(guān)系:(倉庫ID, 存儲(chǔ)物品ID) (管理員
10、ID, 數(shù)量)(管理員ID, 存儲(chǔ)物品ID) (倉庫ID, 數(shù)量)所以,(倉庫ID, 存儲(chǔ)物品ID)和(管理員ID, 存儲(chǔ)物品ID)都是StorehouseManage的候選關(guān)鍵字,表中的唯一非關(guān)鍵字段為數(shù)量,它是符合第三范式的。但是,由于存在如下決定關(guān)系:(倉庫ID) (管理員ID)(管理員ID) (倉庫ID)即存在關(guān)鍵字段決定關(guān)鍵字段的情況,所以其不符合BCNF范式。它會(huì)出現(xiàn)如下異常情況:(1) 刪除異常:當(dāng)倉庫被清空后,所有"存儲(chǔ)物品ID"和"數(shù)量"信息被刪除的同時(shí),"倉庫ID"和"管理員ID"信息也被刪除了。(2) 插入異常:當(dāng)倉庫沒有存儲(chǔ)任何物品時(shí),無法給倉庫分配管理員。(3) 更新異常:如果倉庫換了管理員,則表中所有行的管理員ID都要修改。把倉庫管理關(guān)系表分解為二個(gè)關(guān)系表:倉庫管理:StorehouseManage(倉庫ID, 管理員ID);倉庫:Storehouse(倉庫ID, 存儲(chǔ)物品ID, 數(shù)量)。這樣的數(shù)據(jù)庫表是符合BCNF范式的,消除了刪除異常、插入異常和更新異常。一般,一個(gè)數(shù)據(jù)庫設(shè)計(jì)符合3NF或BCNF就可以了。在BC范式以上還有第四范式、第五范式。第四范式:要求把同一表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版?zhèn)€人車輛抵押債權(quán)債務(wù)處理執(zhí)行協(xié)議3篇
- 2025年度個(gè)人新能源汽車充電站場地承包協(xié)議2篇
- 2025版新能源汽車電池委托加工合同范本3篇
- 2025-2030全球眼科手術(shù)剪行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國公共交流充電站行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國碳納米管微球行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球汽車燃油回流管路行業(yè)調(diào)研及趨勢分析報(bào)告
- 二樓商業(yè)租賃專項(xiàng)協(xié)議(2024版)版
- 二零二五年度車輛牌照租賃市場拓展與合作開發(fā)合同4篇
- 二零二五年度車牌租賃與廣告合作協(xié)議3篇
- 二零二五年度無人駕駛車輛測試合同免責(zé)協(xié)議書
- 2025年湖北華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員52名歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 毛渣采購合同范例
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 2023中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- 一年級(jí)數(shù)學(xué)個(gè)位數(shù)加減法口算練習(xí)題大全(連加法-連減法-連加減法直接打印版)
- 五年級(jí)上冊(cè)小數(shù)遞等式計(jì)算200道及答案
- 2024年廣東高考政治真題考點(diǎn)分布匯 總- 高考政治一輪復(fù)習(xí)
- 冀教版五年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教學(xué)課件
評(píng)論
0/150
提交評(píng)論