




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫設(shè)計理論第1頁,共107頁,2023年,2月20日,星期六友情提醒15周/16周周五均有實驗,請按時參加第2頁,共107頁,2023年,2月20日,星期六outline關(guān)系模式可能存在的問題異常原因分析函數(shù)依賴關(guān)系模式的規(guī)范形式規(guī)范化步驟模式分解及其指標(biāo)第3頁,共107頁,2023年,2月20日,星期六關(guān)系模式中可能存在的異常示例Student(Sid,Sname,DName,DDirector,Cid,Cname,CScore)其數(shù)據(jù)語義:系和學(xué)生1:n系和系主任1:1學(xué)生與課程n:m因此,主鍵(Sid,Cid)可能異常插入異常(插不進;插1個,卻要求插多個)刪除異常(刪除時,刪了其他信息;刪除一個元組,卻刪除多個)冗余(多次存儲)更新異常(修改一個,卻要修改多個)第4頁,共107頁,2023年,2月20日,星期六異常存在原因數(shù)據(jù)依賴是實體屬性間相互關(guān)系的語義決定的。函數(shù)依賴、多值依賴、連接依賴。根源:屬性間存在這些依賴關(guān)系解決方法:分解;每個關(guān)系模式表達的概念單一,屬性間的數(shù)據(jù)依賴關(guān)系單純化,從而消除異常。研究函數(shù)依賴是解決上述問題的重要課題第5頁,共107頁,2023年,2月20日,星期六函數(shù)依賴函數(shù)依賴,決定子(決定屬性),依賴屬性;部分依賴,傳遞依賴;平凡依賴Armstrong公理系統(tǒng);邏輯蘊含,函數(shù)依賴集的閉包;自反律;增廣律;傳遞律;合并規(guī)則;偽傳遞規(guī)則;分解規(guī)則;自含規(guī)則;第6頁,共107頁,2023年,2月20日,星期六關(guān)系模式的規(guī)范形式范式:關(guān)系模式的規(guī)范形式規(guī)范化:關(guān)系模式的規(guī)范化過程。一般采用分解的辦法,將低級的范式向高級范式轉(zhuǎn)化,使關(guān)系的語義單純化。1nf,2NF,3NF,BCNF,4NF,5NF1NF消除其中的部分函數(shù)依賴為2NF。即每個非鍵屬性完全函數(shù)依賴于R的鍵。是2NF,且任何一個非鍵屬性不傳遞依賴任何候選鍵,為3NF3NF消除主屬性對鍵的部分和傳遞依賴為BCNF函數(shù)依賴的范疇內(nèi),BCNF達到最高級別第7頁,共107頁,2023年,2月20日,星期六函數(shù)依賴進一步討論自變量、應(yīng)變量函數(shù)依賴是具有時間獨立性的,即對關(guān)系變量所有合法值均成立如果關(guān)系變量R滿足A->B,而A不是候選碼,則R中一定存在冗余第8頁,共107頁,2023年,2月20日,星期六依賴集的閉包函數(shù)依賴集S所蘊含的函數(shù)依賴的全體稱為依賴集S的閉包,記作S+Armstrong公理(定義直接證明)自反律(reflexivity),如果B是A的子集,則A->B增廣律(augmentation),A->B,則AC->BC傳遞律transitivity):A-B,B->C,則A->C應(yīng)用以上規(guī)則,推出其他規(guī)則自含規(guī)則(self-determination):A->A分解規(guī)則(decomposition):A->BC,則A->b,A->C合并規(guī)則(union):A->B,A->C,則A->BC復(fù)合規(guī)則(composition):A->B,C->D,則AC->BD第9頁,共107頁,2023年,2月20日,星期六舉例R(A,B,C,D,E,F),A->BC,B->E,CD->EF證明:AD->F思路上,有2種方法可以采用,一是證明F屬于AD的F下加閉包,一是根據(jù)Armstrong公理證明。第10頁,共107頁,2023年,2月20日,星期六屬性集的閉包原則上講,反復(fù)使用以上規(guī)則,指導(dǎo)不在產(chǎn)生新的函數(shù)依賴為止,就可以計算函數(shù)依賴集的閉包---效率低,不可用算法—給定屬性集Z,以及依賴集S,確定R中依賴Z的屬性集Closure[Z,S]:=Z;Doforever;foreachFDX->YinSdoifXbelonginClosure[Z,S]thenClosure[Z,S]:=Closure[Z,S]unionYendifClosure[Z,S]didnotchangeonthisiterationthenleaveloopEnd;第11頁,共107頁,2023年,2月20日,星期六例子R(A,B,C,D,E,F),A->BC,E->CF,B->E,CD->EF計算{A,B}關(guān)于S的閉包答案:{A,B,C,D,E,F}重要結(jié)論:可以方便判斷函數(shù)依賴X->Y是否可以從S導(dǎo)出。Y屬于X的閉包時,是屬于的超碼判斷,當(dāng)最小時,候選碼的選擇第12頁,共107頁,2023年,2月20日,星期六最小函數(shù)依賴集蘊含、覆蓋,等價的概念最小函數(shù)依賴集每個函數(shù)依賴的右邊只有一個屬性每個函數(shù)依賴的左邊是不可約的刪除S中任何一個依賴都將改變其閉包計算最小函數(shù)依賴集的算法第13頁,共107頁,2023年,2月20日,星期六例子R(A,B,C,D),A->BC,B->C,A->B,AB->C,AC->D右邊寫成單屬性的函數(shù)依賴觀察左邊,是否可以約間,刪除冗余的依賴答案:A->B,B->C,A->D第14頁,共107頁,2023年,2月20日,星期六關(guān)系數(shù)據(jù)理論的輪廓問題提出是數(shù)據(jù)庫設(shè)計的要求。這里的數(shù)據(jù)庫設(shè)計更多強調(diào)的是邏輯設(shè)計,并不是說物理設(shè)計不重要,相反,是相當(dāng)重要的。但物理設(shè)計依賴與特定的RDBMS,而邏輯設(shè)計獨立與RDBMS,并有成型的理論,再者,物理設(shè)計可以成為獨立的階段。Recall:數(shù)據(jù)庫設(shè)計:概念設(shè)計使用工具是ER模型;邏輯設(shè)計工具就是規(guī)范化理論什么是邏輯設(shè)計—就是根據(jù)應(yīng)用系統(tǒng)的要求,構(gòu)建“合式”的數(shù)據(jù)模式。也就是說根據(jù)系統(tǒng)要求,構(gòu)造關(guān)系及每個關(guān)系由哪些屬性組成。--更像一門藝術(shù),而不是科學(xué)。這也就是數(shù)據(jù)庫設(shè)計的目的,保證正確的數(shù)據(jù)結(jié)構(gòu),完整性約束等,主要思想就是“獨立性”第15頁,共107頁,2023年,2月20日,星期六一些概念回顧關(guān)系/關(guān)系模式R(U,D,Dom,F),與關(guān)系是型和值的關(guān)系關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫模式關(guān)系系統(tǒng)(E.Codd,1969年提出)
從不同角度認識“關(guān)系”。如關(guān)系就是表;是一個數(shù)學(xué)術(shù)語(略);關(guān)系由列標(biāo)題/行集構(gòu)成;關(guān)系是討論事物的事物。。。;我們走關(guān)系是“表”套路:關(guān)系模式就是關(guān)系的描述方式,關(guān)系數(shù)據(jù)庫就是用表表示數(shù)據(jù)的數(shù)據(jù)庫(習(xí)慣用數(shù)學(xué)集合術(shù)語定義:表或者關(guān)系變量的集合);來自數(shù)學(xué),有嚴格數(shù)學(xué)基礎(chǔ)第16頁,共107頁,2023年,2月20日,星期六關(guān)系系統(tǒng)其形式化理論是關(guān)系數(shù)據(jù)模型。包括數(shù)據(jù)的三個方面理論:數(shù)據(jù)結(jié)構(gòu)/數(shù)據(jù)完整性/數(shù)據(jù)操作結(jié)構(gòu)化方面就是關(guān)系(表)本身完整性方面主要是主碼和外碼問題—實體完整性/參照完整性/用戶自定義完整性操作方面就是操作符之類的問題—數(shù)學(xué)上的關(guān)系操作外,有選擇/投影/連接/除等是系統(tǒng)就是有封閉的特點第17頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)依賴一個關(guān)系內(nèi)部屬性之間的約束關(guān)系,是現(xiàn)實世界屬性間關(guān)系的抽象,是內(nèi)在性質(zhì)函數(shù)依賴多值依賴其他第18頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)依賴對關(guān)系模式的影響冗余問題操作問題(查/插/刪/改),查最多是效率問題插入異常刪除異常更新異常第19頁,共107頁,2023年,2月20日,星期六解決辦法也就是邏輯設(shè)計的問題,一定程度上克服上面的4個問題規(guī)范化理論分解,概念獨立性,大表換成若干個小表(列的角度)--關(guān)系模式概念要符合一定規(guī)則的:2個保持—保持原信息系統(tǒng)的數(shù)據(jù)依賴,滿足信息系統(tǒng)檢索要求等—復(fù)原原信息的要求。第20頁,共107頁,2023年,2月20日,星期六研究數(shù)據(jù)依賴—函數(shù)依賴函數(shù)依賴—平凡的/非平凡的/傳遞的/部分的/完全的決定屬性,依賴屬性,候選碼,超碼/碼,外碼/全碼主屬性/非主屬性1NF,2NF,3NF,BCNF研究了主屬性和非主屬性的關(guān)系,規(guī)范化理論這樣看就是把低級范式轉(zhuǎn)向高一級范式的理論1-2,解決了關(guān)系模式的非主屬性對碼的部分依賴問題;2-3解決了關(guān)系模式中非主屬性對碼的傳遞依賴關(guān)系;BCNF進一步深入,研究了主屬性及非主屬性的關(guān)系。非主屬性對每一個碼完全依賴;主屬性對不包含它的碼完全依賴;沒有任何屬性完全函數(shù)依賴非碼的任何一組屬性R是3NF,若R只有一個碼,那么R也是BCNF第21頁,共107頁,2023年,2月20日,星期六碼依賴集及依賴集的閉包Armstrong公理:自反律(全集決定子集);增廣律(自變量和因變量兩端同時增加因素,依賴不變);傳遞律。證明:自含規(guī)則AA;分解規(guī)則ABC,則AB,AC;合并規(guī)則(分解規(guī)則逆);復(fù)合規(guī)則(AB,CD,則ACBD)最小函數(shù)依賴集第22頁,共107頁,2023年,2月20日,星期六例題假設(shè)R有n目,該關(guān)系變量最多可以滿足多少個函數(shù)依賴?關(guān)系變量R(A,B,C,D,E,F),F={ABC,CA,BCD,ACDB,BEC,CEFA,CFBD,DDF}找出函數(shù)依賴集的最小函數(shù)依賴。最小函數(shù)依賴,右邊單屬性;左邊不可約;刪除任何一個將改變其閉包(最?。┑?3頁,共107頁,2023年,2月20日,星期六第13周概括關(guān)系數(shù)據(jù)庫操作語言SQL,一款跨平臺跨產(chǎn)品的語言組成:數(shù)據(jù)定義(DDL)/數(shù)據(jù)操縱(DML)/數(shù)據(jù)控制(DCL)故名思意:關(guān)系數(shù)據(jù)庫操作語言,可想操作的對象/操作的結(jié)果都應(yīng)該是關(guān)系,什么是關(guān)系?--集合。由此深入體會SQL語言與我們以前的計算機語言差異吧?第24頁,共107頁,2023年,2月20日,星期六牢記SQL語言功能的關(guān)鍵動詞數(shù)據(jù)定義:創(chuàng)建、修改和撤銷(create/alter/drop)都有什么樣數(shù)據(jù)需要定義?數(shù)據(jù)庫database表table索引index視圖view存儲過程procedure接著再對每個對象問還有什么需要關(guān)注,需要在定義中表示,直到計算機能表示為止。數(shù)據(jù)庫是一個邏輯上概念,是其他元素的集合,直接定義就ok了表由屬性描述,屬性就有屬性的類型/寬度,主鍵/外鍵,屬性約束(列上),表上等第25頁,共107頁,2023年,2月20日,星期六表的定義數(shù)據(jù)庫DDLCreate/alter/dropdatabase<database_name>表1.Createtable<table_name>(<列名><列數(shù)據(jù)類型>[列完整性約束],<列名><列數(shù)據(jù)類型>[列完整性約束],。。。)[表完整性約束]又有哪些約束?主鍵/外鍵/unique/check/null2.Alter都操作什么?插入(增加)列/刪除列/更改列(add/drop/modify)3.撤銷表droptable第26頁,共107頁,2023年,2月20日,星期六關(guān)于索引什么是索引?帶來的優(yōu)點是什么,又會有什么缺點由此引出建立索引的原則SQL都會有什么操作(創(chuàng)建和撤銷)索引的類型:非聚集索引/聚集索引/唯一索引/復(fù)合索引/單列索引第27頁,共107頁,2023年,2月20日,星期六關(guān)于視圖什么是視圖?有什么好處?關(guān)于操作?查看起來不錯,那么更新/刪除類該怎么辦?因為他是虛的呀,如果解決了,sql是怎么做的?Vfp中級聯(lián)/限制/忽略,sql中使用了withcheckoption設(shè)置。第28頁,共107頁,2023年,2月20日,星期六二、數(shù)據(jù)更新語言查/插/刪/改:insertinto…values…Update…set…where…Deletefrom…where…第29頁,共107頁,2023年,2月20日,星期六三/查Select…from…where…Select中可以修飾的:all,distinctFrom后是視圖或表Where是選擇條件Groupby/having分組Orderby排序最重要的操作,就是信息檢索。單表查詢,鏈接查詢(等值/不等值/左外連接/右外連接),嵌套第30頁,共107頁,2023年,2月20日,星期六四、控制語句也是數(shù)據(jù)保護:安全性/完整性/并發(fā)/恢復(fù)授權(quán)/撤銷/拒絕訪問權(quán)利grant/revoke/deny都有什么權(quán)限:關(guān)鍵的無非是查插刪改都是什么對象—無非是數(shù)據(jù)上(表/列/數(shù)據(jù)庫/視圖等)對屬性列和視圖權(quán)限:select/insert/update/delete/allprivileges對基本表:select/insert/update/delete/alter/index/allprivileges數(shù)據(jù)庫:create第31頁,共107頁,2023年,2月20日,星期六關(guān)于關(guān)系代數(shù)關(guān)系代數(shù)(relationalalgebra)與關(guān)系運算(relationalcalculus)是關(guān)系模型的兩個查詢語言,也是關(guān)系數(shù)據(jù)庫理論的基礎(chǔ)之一(設(shè)計理論是基礎(chǔ)之二)回想:朱老師曾經(jīng)說計算機學(xué)科的三個形態(tài)是什么?曾經(jīng)還說第4個又是什么(抽象、理論、設(shè)計、實現(xiàn))對照數(shù)據(jù)庫學(xué)習(xí),作為計算機專業(yè)學(xué)生該考慮什么?怎么辦?曾說過,數(shù)據(jù)庫系統(tǒng)總體情況,也就是我們這門課程應(yīng)該講的主要內(nèi)容,完成的任務(wù),我們著重學(xué)習(xí)的東西。第32頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫應(yīng)用部分用戶瀏覽器c/c++,PB,Delphi,Java應(yīng)用程序Web服務(wù)器CGI/ASP/JSP等程序ODBC/JDBC/OLEDB關(guān)系數(shù)據(jù)庫管理系統(tǒng)DB數(shù)據(jù)庫原理部分現(xiàn)實世界外模式1外模式2外模式3概念模式內(nèi)模式數(shù)據(jù)庫設(shè)計部分完整性限制故障恢復(fù)并發(fā)控制數(shù)據(jù)庫安全第33頁,共107頁,2023年,2月20日,星期六關(guān)系代數(shù)操作符2個概念:關(guān)系、代數(shù),回想離散數(shù)學(xué)的相關(guān)內(nèi)容,體會離散結(jié)構(gòu)是計算機專業(yè)基礎(chǔ)在一個集合上定義了運算,參加者和運算結(jié)果都在這個集合中,構(gòu)成了代數(shù)所以在這里,從集合觀點,關(guān)系代數(shù)運算符是關(guān)于集合之間(上)操作,運算結(jié)果為關(guān)系,不同于其他運算。想想矩陣、函數(shù)之類的代數(shù)系統(tǒng)元,運算的元數(shù),還記得么?關(guān)系代數(shù)表達式,又該如何定義(學(xué)會定義,從形式上看,從集合的組成和或關(guān)系上看,我們見過了很多,如自動機/文法/數(shù)據(jù)庫等)第34頁,共107頁,2023年,2月20日,星期六關(guān)系代數(shù)運算符基本操作符:選擇selection,投影projection,并union,差difference,積crossproduct附加的運算:連接join、除division,交附加的可以通過基本的來表達,上面這些運算的記號還記得么?就好比算術(shù)運算的運算名稱和記號一樣。類似算術(shù)運算,關(guān)系運算逐步完成的,即基于順序,這樣必然有運算量大問題,時間和空間問題,這就是數(shù)據(jù)庫系統(tǒng)中重要的查詢優(yōu)化問題,要生成一個查詢計劃。第35頁,共107頁,2023年,2月20日,星期六兩個運算單獨說說連接操作:條件連接/等連接/自然連接/外連接(相對的,前面三個就是內(nèi)連接)R∞cS=σc(R×S)SQL:select。。。FromRcrossjoinSwherec等值連接,c只能取等號。Select-fromR,Swherec自然連接:select–fromRnaturaljoinS或者select-fromR,Swherec外連接:左外連接leftouterjoin,右外連接rightouterjoin,全連接fullouterjoin;外連接也屬于自然連接。外連接的運算符記法除運算:R/S=πx(R)–πx(πx(R)×S)-R)第36頁,共107頁,2023年,2月20日,星期六我們來學(xué)習(xí)關(guān)系代數(shù)表達查詢P71案例第37頁,共107頁,2023年,2月20日,星期六第14周學(xué)習(xí)計劃13周實驗基本學(xué)習(xí)了第7章關(guān)系數(shù)據(jù)庫設(shè)計第6章網(wǎng)絡(luò)數(shù)據(jù)庫第38頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計特點(與一般軟件設(shè)計相比)軟件是什么(產(chǎn)品/服務(wù)/數(shù)據(jù)結(jié)構(gòu)+算法)三分技術(shù)、七分管理,12分基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)設(shè)計與行為設(shè)計相結(jié)合(早期相分離)數(shù)據(jù)庫設(shè)計方法新奧爾良基于ER模型3NF對象定義語言第39頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫設(shè)計基本步驟需求分析概念設(shè)計邏輯設(shè)計(邏輯結(jié)構(gòu)及其優(yōu)化)物理結(jié)構(gòu)設(shè)計(設(shè)計及評價)實施運行和維護注意:1、分析設(shè)計實現(xiàn);想想學(xué)科3形態(tài)2、各個階段對數(shù)據(jù)和處理描述的工具有哪些?P1443、三級模式在設(shè)計中的體現(xiàn)p145第40頁,共107頁,2023年,2月20日,星期六概念設(shè)計階段需要強調(diào)的基本概念及其在ER圖中表示、在轉(zhuǎn)換為關(guān)系時的對應(yīng)實體/實體集/實體型/實體值屬性/簡單屬性/復(fù)合屬性/單值屬性/多值屬性/派生屬性鍵聯(lián)系/聯(lián)系類型:1-n;n-1;n-m/聯(lián)系實例/參與者/參與度(關(guān)系之間,不是實體之間的)第41頁,共107頁,2023年,2月20日,星期六ER模型以上基本概念在ER圖上的表示矩形/雙線矩形:實體/弱實體橢圓形框/雙橢圓形/派生屬性:屬性/多值屬性/虛橢圓形框復(fù)合屬性:屬性的屬性菱形/虛菱形:反映聯(lián)系的實體狀況,弱實體聯(lián)系的用虛的,虛實體是全部參與聯(lián)系的參與者:全部和部分,全部使用雙線,在線上標(biāo)明聯(lián)系類型參與度是參與聯(lián)系的實體集數(shù)量,也稱作元屬性下劃線:鍵的表示多元聯(lián)系轉(zhuǎn)向2元聯(lián)系(ER圖描述時不需要轉(zhuǎn)化,在設(shè)計時可以轉(zhuǎn)化)特殊化和概括:半個菱形ISA第42頁,共107頁,2023年,2月20日,星期六ER圖到關(guān)系模式關(guān)系模式中概念單一:關(guān)系,關(guān)系中屬性ER圖中有E/R/A,而且每一個又有許多具體的特點,關(guān)于轉(zhuǎn)化,關(guān)鍵是尋找其中映射關(guān)系就ok了,其次知道他們轉(zhuǎn)化步驟常規(guī)情況下轉(zhuǎn)化:1、一個實體對應(yīng)一個關(guān)系,實體的屬性變成關(guān)系的屬性;2、聯(lián)系:1-1的,將聯(lián)系的屬性及1方關(guān)鍵字納入任何一個1方即可,不要單獨形成關(guān)系;1-n的,將聯(lián)系屬性及1方關(guān)鍵字歸到n方;n-m聯(lián)系單獨成立關(guān)系,關(guān)系屬性為聯(lián)系屬性加上相關(guān)聯(lián)實體的鍵第43頁,共107頁,2023年,2月20日,星期六一般規(guī)則1、常規(guī)實體集轉(zhuǎn)化為一個關(guān)系,原實體屬性轉(zhuǎn)化為關(guān)系屬性,主鍵是關(guān)系主鍵2、弱實體轉(zhuǎn)化為一個關(guān)系,屬性為弱實體屬性加上依賴實體的主鍵構(gòu)成,主鍵為依賴實體主鍵+弱實體的鍵3/聯(lián)系(非isa)轉(zhuǎn)化成一個關(guān)系,屬性由聯(lián)系的屬性加與其相關(guān)的實體的主鍵構(gòu)成,主鍵為相關(guān)實體的主鍵合成4/多值屬性轉(zhuǎn)化為關(guān)系,屬性由多值屬性和實體的鍵組成,該關(guān)系主鍵為二者合成5、ISA聯(lián)系:各個層的實體都創(chuàng)建一個關(guān)系模式,底層實體屬性再加入高層實體的主鍵,該關(guān)系模式的主鍵是高層模式的主鍵;或者高層下移,將其屬性分配到底層的各個實體中,然后各個底層實體按照實體的轉(zhuǎn)換方法轉(zhuǎn)化6、關(guān)系模式合并,相同主鍵的關(guān)系模式合并第44頁,共107頁,2023年,2月20日,星期六關(guān)于做圖用專業(yè)工具做?;蛟S各個專業(yè)工具的記號不一樣,但每一個是一致的。在行文時要使用專業(yè)工具,至少是visio,掌握powerdesign表的個數(shù)問題:折中,關(guān)于查找不宜太多,關(guān)于冗余,不希望表太大,就是矛盾全局模式主要從系統(tǒng)的時間效率/空間效率/維護性等方面考慮第45頁,共107頁,2023年,2月20日,星期六外模式設(shè)計即視圖設(shè)計,就是用戶的看到的數(shù)據(jù)模樣外模式設(shè)計應(yīng)該考慮的問題是用戶的方便和習(xí)慣內(nèi)模式/模式更多面向計算機,為存儲時的空間省,為運算時運算量少,不出現(xiàn)異??紤]外模式是為應(yīng)用用戶的數(shù)據(jù)庫視角,應(yīng)該考慮用戶的特點和要求,深刻體會這些觀點,做好數(shù)據(jù)庫的應(yīng)用第46頁,共107頁,2023年,2月20日,星期六練習(xí)題P207T17-20第47頁,共107頁,2023年,2月20日,星期六第5章數(shù)據(jù)庫保護總結(jié)完整性問題(核心掌握)安全性問題并發(fā)性問題(事務(wù)問題核心掌握)故障及回復(fù)問題Sqlserver的定義方法第48頁,共107頁,2023年,2月20日,星期六并發(fā)控制并發(fā)操作引發(fā)的問題(明確認識以下問題產(chǎn)生的原因,能根據(jù)某并發(fā)情況,確認引發(fā)的問題)丟失修改loseupdate不可重復(fù)讀Nonrepeatableread讀“臟”數(shù)據(jù)dirtyread調(diào)度及可串行化可串行化是確認并發(fā)操作正確的一種依據(jù)封鎖機制及其可能導(dǎo)致問題—死鎖及其判定,封鎖及其判定封鎖協(xié)議1級封鎖協(xié)議,在修改前必須加X鎖,直到事務(wù)結(jié)束才釋放,可防止丟失修改2級封鎖協(xié)議:一級協(xié)議+在讀之前加S鎖,讀完后釋放。進一步可以防止讀臟3級封鎖協(xié)議:一級協(xié)議+在讀之前加S鎖,事務(wù)完成后釋放。進一步可以防止不可重復(fù)讀兩段鎖協(xié)議第49頁,共107頁,2023年,2月20日,星期六第6章網(wǎng)絡(luò)數(shù)據(jù)庫見ppt網(wǎng)絡(luò)數(shù)據(jù)庫工作模式C/S,B/S網(wǎng)絡(luò)數(shù)據(jù)庫訪問技術(shù):ODBC/OLEDB/JDBC第50頁,共107頁,2023年,2月20日,星期六15周講解內(nèi)容深入學(xué)習(xí)規(guī)范化理論查詢優(yōu)化相關(guān)內(nèi)容數(shù)據(jù)庫新技術(shù)第51頁,共107頁,2023年,2月20日,星期六一、規(guī)范化理論核心討論“好”的數(shù)據(jù)庫模式,自然要立個標(biāo)桿—形成關(guān)系規(guī)范化理論問題引入—思考路線(量大角度和操作角度考慮)量大,數(shù)據(jù)冗余問題;操作4個,都會給哪些操作帶來麻煩,所謂異常問題。4個問題原因分析—解決方法屬性之間的關(guān)系所致—數(shù)據(jù)依賴不好的模式就是因為對數(shù)據(jù)依賴的不恰當(dāng)處理如何解決主要存在哪些依賴—屬性集之間的1-1,1-n,n-m函數(shù)依賴—多對一;多值依賴、連接依賴—一對多的關(guān)系核心問題:如何判斷?--范式級別;如何解決?--分解本科段核心掌握函數(shù)依賴的解決方案規(guī)范化理論解決這些問題提供理論支持和算法的理論,是設(shè)計的基礎(chǔ),是數(shù)據(jù)庫設(shè)計必須掌握的重要環(huán)節(jié)第52頁,共107頁,2023年,2月20日,星期六2、函數(shù)依賴和范式概念:有不同表述,研究的是關(guān)系模式屬性之間一對多的關(guān)系,記著數(shù)學(xué)上的函數(shù)概念。如定義方式,X論域中一個元素,在Y中有唯一一個元素與之對應(yīng);還可以說,X中2個相同的元素,Y中對應(yīng)的一定相同。需要注意到是,這里的X,Y是屬性U的任意子集,表現(xiàn)出來就是出現(xiàn)在表的一行。第53頁,共107頁,2023年,2月20日,星期六3、函數(shù)依賴幾個基本概念決定因素;相互依賴;不依賴平凡依賴;非平凡依賴完全函數(shù)依賴;部分函數(shù)依賴傳遞依賴(XY,YZ,Y不決定X,則XZ)主屬性,非主屬性碼、全碼、外碼第54頁,共107頁,2023年,2月20日,星期六4、范式1NF2NF(1nF+消除非主屬性對碼的部分依賴)3NF(2NF+消除非主屬性對碼的傳遞依賴)BCNF(1NF+每個決定因素都含有碼)所有非主屬性對碼完全依賴所有主屬性對每個不包含它的碼完全函數(shù)依賴沒有任何屬性完全函數(shù)依賴非碼的任何屬性在函數(shù)依賴范疇內(nèi),BCNF達到最高級別,3NF不徹底表現(xiàn)為可能存在主屬性對碼的部分和傳遞依賴第55頁,共107頁,2023年,2月20日,星期六5、數(shù)據(jù)依賴公理系統(tǒng)函數(shù)依賴集的邏輯蘊含函數(shù)依賴集閉包函數(shù)依賴的推理規(guī)則Armstrong公理自反律:Y是X子集,則XY;增廣律:Z是W子集,XY,則XWYZ;傳遞律:XY,YZ,則XZ合并規(guī)則;分解規(guī)則;偽傳遞規(guī)則第56頁,共107頁,2023年,2月20日,星期六屬性閉包與F邏輯蘊含屬性閉包F邏輯蘊含(轉(zhuǎn)化為求屬性的閉包,即判斷一個函數(shù)依賴是否為F邏輯蘊含,轉(zhuǎn)化為看依賴屬性集是否屬于決定屬性集的F下的閉包)求屬性集閉包的算法Armstrong公理是正確的、完備的函數(shù)依賴集的等價和最小函數(shù)依賴集最小函數(shù)依賴的求法(函數(shù)依賴右部單一屬性;去掉冗余屬性;去掉多余函數(shù)依賴)第57頁,共107頁,2023年,2月20日,星期六例子,閉包算法設(shè)F={ABC,CA,BCD,ACDB,DEG,BEC,CGBD,CEAG},求(BD)+參考答案:ABCDEG已知關(guān)系模式R(U,F),U={A,B,C,D,E},F={ABD,BCD,DEB,CD,DA},求(AB)+參考答案:ABCD第58頁,共107頁,2023年,2月20日,星期六例子,最小函數(shù)依賴集設(shè)關(guān)系模式R(U,F),U={C,D,E},F={CDE,DE,CD,CDE},求F最小函數(shù)依賴參考做法:按照定義分3步做。{CD,DE}第59頁,共107頁,2023年,2月20日,星期六6、關(guān)系模式分解方法模式分解概念子模式屬性集之并是模式屬性集;一個子模式屬性集不會是另一個子模式屬性集的子集;子模式函數(shù)依賴集是F在子模式屬性集上的投影,(注意這里的投影不是僅在給定的F上查找,而是該子模式的依賴為F所蘊含的投影)分解的無損聯(lián)接性:每個關(guān)系都可以通過各個模式的經(jīng)過投影和連接得到,則該分解就是無損分解第60頁,共107頁,2023年,2月20日,星期六無損分解的判定算法第61頁,共107頁,2023年,2月20日,星期六例子,無損分解判定設(shè)R(B,O,I,S,Q,D),F={SD,IB,ISQ,BO},R的一個分解{SD,IB,ISQ,BO},這個分解是無損聯(lián)接性么?嚴格執(zhí)行以上算法判定。理解算法含義設(shè)R(H,I,J,K,L),F={HJ,JK,IJ,JLH},R的一個分解{HK,HI,IJ,JKL,HL},這個分解是無損聯(lián)接性么?第62頁,共107頁,2023年,2月20日,星期六分解為兩個模式的判定無損聯(lián)接的充要條件R1∩R2R1-R2∈F+或者R1∩R2R2-R1∈F+第63頁,共107頁,2023年,2月20日,星期六函數(shù)依賴保持的判定什么是函數(shù)依賴保持?是指函數(shù)依賴的加閉包與各個子模式函數(shù)依賴的并集的加閉包相等,則說保持了。判定算法檢驗任一個函數(shù)依賴XY∈F是否可以有各個子模式函數(shù)依賴的并根據(jù)Armstrong公理導(dǎo)出,即判斷Y是否屬于各個函數(shù)依賴并的加閉包。檢驗任一個函數(shù)依賴XY∈G是否可以由F根據(jù)Armstrong公理導(dǎo)出。即判斷Y是否屬于F的加閉包。若以上同時成立,則他們相等。第64頁,共107頁,2023年,2月20日,星期六例子,函數(shù)依賴保持性關(guān)系模式R(U,F),其中U={A,B,C,D},F={AB,BC,CD,DA},分解{AB,BC,CD}是否具有函數(shù)依賴保持。解:首先確定各個子模式的函數(shù)依賴。F1={AB,BA},F2={BC,CB},F3={CD,DC}
并集G。顯然G包含著F閉包中。又A是屬于D的G閉包,所以F必定包含于G的閉包。因此二者閉包相等,故保持了函數(shù)依賴。第65頁,共107頁,2023年,2月20日,星期六關(guān)系模式的分解算法一般而言若要求連接不失真,分解可以達到BCNF若要求函數(shù)依賴保持,分解可達3NF,但不一定能達BNCF若同時滿足連接不失真,函數(shù)依賴保持,分解可達3NF,但不一定能達BNCF第66頁,共107頁,2023年,2月20日,星期六滿足3NF的函數(shù)依賴保持算法第67頁,共107頁,2023年,2月20日,星期六例子關(guān)系模式R(U,F),U={A,b,C,D,E,F,G},函數(shù)依賴F={BCDA,BCE,AF,FG,CD,AG},求R的一個滿足3NF的函數(shù)依賴保持分解。解:第一步,求最小函數(shù)依賴集覆蓋
Fm={BCAE,AF,FG,CD}第二部,根據(jù)以上算法有{ABCE,AF,FG,CD}第68頁,共107頁,2023年,2月20日,星期六滿足3NF函數(shù)依賴和連接保持算法第69頁,共107頁,2023年,2月20日,星期六例子對上例做3NF保持函數(shù)依賴和無損聯(lián)接分解解:第一步,根據(jù)上例已經(jīng)得到保持函數(shù)依賴的3NF分解為:
={ABCE,AF,FG,CD}
第二步,確定R的一個候選碼。(這步很繁瑣,要不斷不斷求,求一些屬性的加閉包),最后有(BC)+=ABCDEFG,所以BC為一個候選碼。第三步,判斷是否包含BC。所以該分解保持了無損聯(lián)接。第70頁,共107頁,2023年,2月20日,星期六問題求解原關(guān)系模式的候選碼運算量太大了。碼值理論對屬性根據(jù)依賴F分4類:L類,R類;N類;LR類。定理:對于給定關(guān)系模式R及其依賴函數(shù)集F,若X是L類的,則一定是R的候選碼。定理:對于給定關(guān)系模式R及其依賴函數(shù)集F,若X是N類的,則一定是R的候選碼。定理:對于給定關(guān)系模式R及其依賴函數(shù)集F,若X是R類的,則一定不在任何的R的候選碼中。定理:對于給定關(guān)系模式R及其依賴函數(shù)集F,若X是L類或N類屬性組成的集合,且X包含了R的全部屬性,則X是R的唯一候選碼。第71頁,共107頁,2023年,2月20日,星期六例子設(shè)有關(guān)系模式R(A,B,C,D,E,P),F(xiàn)={AD,ED,DB,BCD,DCA},求R的候選碼。解:第一步,求L和N屬性。L屬性{E,C},N類屬性{P}
第二步,(CEP)+=CEADBP
所以CEP是唯一候選碼。下面,練習(xí)一下分解問題:1)求最小函數(shù)依賴Fm={}第72頁,共107頁,2023年,2月20日,星期六二/查詢優(yōu)化查詢優(yōu)化必要性關(guān)系代數(shù)表達式的優(yōu)化問題—同一個查詢,可以用不同關(guān)系表達式表達,而運算效率差異很大有可能優(yōu)化。等價變換規(guī)則P63-65第73頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫理論與設(shè)計聯(lián)系起來了解數(shù)據(jù)庫理論,尤其規(guī)范化理論的內(nèi)容了解數(shù)據(jù)庫設(shè)計,尤其ER圖到關(guān)系模式的設(shè)計深刻體會二者之間的關(guān)系,從理論上證明我們的設(shè)計滿足的級別,如證明按照教材的關(guān)系模式生成方法,回答你設(shè)計的模式到達哪個級別,是否保持了函數(shù)依賴和或無損分解。第74頁,共107頁,2023年,2月20日,星期六一個證明學(xué)生課程成績設(shè)計ER圖如圖關(guān)系模式學(xué)生(學(xué)號A,姓名B,性別C,年齡D)課程(課程號E,課程名F,學(xué)分G,周學(xué)時H)考試(學(xué)號,課程號,成績I)該分解達到哪個級別?是否保證2個不變?(依賴分析略)3NF,也到達了BCNF,保持了函數(shù)依賴和無損聯(lián)接。第75頁,共107頁,2023年,2月20日,星期六三、數(shù)據(jù)庫技術(shù)發(fā)展趨勢教材1.5節(jié)面臨挑戰(zhàn):環(huán)境變化;數(shù)據(jù)類型變化;數(shù)據(jù)來源變化;數(shù)據(jù)管理要求變化發(fā)展特點:數(shù)據(jù)模型發(fā)展;與其他相關(guān)技術(shù)結(jié)合;面向領(lǐng)域的設(shè)計發(fā)展趨勢:信息集成;移動數(shù)據(jù)管理;網(wǎng)格數(shù)據(jù)管理;傳感器數(shù)據(jù)庫;DBMS的自適應(yīng)性管理。第76頁,共107頁,2023年,2月20日,星期六16周內(nèi)容數(shù)據(jù)庫設(shè)計系統(tǒng)討論全書總結(jié)課程應(yīng)該提交材料:實驗考試的基本內(nèi)容第77頁,共107頁,2023年,2月20日,星期六關(guān)于模式分解碼對于關(guān)系模式的分析和分解具有重要意義和作用討論一個關(guān)系模式級別時,首先確定關(guān)系模式中所有候選碼,然后區(qū)分主屬性和非主屬性,通過分析屬性與碼之間的依賴關(guān)系,判定關(guān)系模式的級別理論和設(shè)計之間關(guān)系。判定無損聯(lián)接、函數(shù)保持的算法,最小依賴集對分解的作用。第78頁,共107頁,2023年,2月20日,星期六關(guān)系模式分解概念及舉例關(guān)系模式R(U,F)的一個分解是若干個關(guān)系模式的集合,其中,U=∪Ui,對每個i,j,Ui不是Uj子集Fi是F在Ui上投影,即Fi={XY∈F+∧XY是Ui子集}關(guān)系模式的一個分解必須從2個方面衡正確性,即分解與原關(guān)系模式R之間是否具有“等價性”。數(shù)據(jù)等價,即是否表示同樣的數(shù)據(jù);函數(shù)依賴等價,即是否保持了相同函數(shù)依賴。2個判定:無損連接性判定和函數(shù)依賴保持判定。第79頁,共107頁,2023年,2月20日,星期六無損聯(lián)接的判定算法見上周ppt舉例設(shè)R(B,O,I,S,Q,D),F={SD,IB,ISQ,BO},R的一個分解{SD,IB,ISQ,BO},這個分解是無損聯(lián)接性么?第80頁,共107頁,2023年,2月20日,星期六解法首先根據(jù)模式分解的定義,屬性是否變化,是否有子集,即包含判斷無損連接的算法黑板演算演算的含義解釋第81頁,共107頁,2023年,2月20日,星期六總結(jié)了解數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計中目前的重要性,體現(xiàn)在畢業(yè)設(shè)計時,信息管理系統(tǒng)類的畢業(yè)設(shè)計較多,數(shù)據(jù)庫設(shè)計是基礎(chǔ)數(shù)據(jù)庫設(shè)計是針對一個給定的應(yīng)用環(huán)境,根據(jù)用戶的需求,構(gòu)建一個性能良好的數(shù)據(jù)模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效存儲數(shù)據(jù),滿足各種用戶的信息要求和處理要求。第82頁,共107頁,2023年,2月20日,星期六設(shè)計人員應(yīng)該具備的素質(zhì)計算機學(xué)科的基本素質(zhì),基礎(chǔ)知識和程序設(shè)計基礎(chǔ)數(shù)據(jù)庫理論知識。如三個世界2個模型,數(shù)據(jù)庫的三級模式2級映像,數(shù)據(jù)庫歷史發(fā)展,關(guān)系模式,函數(shù)依賴/規(guī)范化理論,數(shù)據(jù)庫管理系統(tǒng)的具體特征等軟件工程的思想和技術(shù)應(yīng)用領(lǐng)域的知識第83頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫設(shè)計內(nèi)容數(shù)據(jù)庫結(jié)構(gòu)設(shè)計數(shù)據(jù)庫行為設(shè)計第84頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫設(shè)計方法直觀方法—湊,適應(yīng)簡單的,數(shù)據(jù)庫開發(fā)人員厲害的規(guī)范設(shè)計方法—明確階段,各個階段任務(wù),與軟件工程結(jié)合,由外向內(nèi),由上到下,逐步求精基于ER模型設(shè)計方法基于3NF的設(shè)計方法(是指需求分析階段收集了所有的屬性及屬性間關(guān)系,將他們組織在一個單一的關(guān)系模式中,然后再分析模式中的不符合3NF的約束,將其分解投影,規(guī)范成若干個3NF)基于視圖的設(shè)計方法—為每個應(yīng)用建立自己視圖,然后再將這些視圖匯總合并成整個數(shù)據(jù)庫的概念模式。計算機輔助設(shè)計方法—PD,design自動化設(shè)計方法第85頁,共107頁,2023年,2月20日,星期六基本步驟—從分體現(xiàn)計算機學(xué)科的3+1學(xué)科形態(tài)需求分析—就是抽象的過程概念設(shè)計—理論指導(dǎo)下的設(shè)計邏輯設(shè)計物理設(shè)計數(shù)據(jù)庫實施運行與維護第86頁,共107頁,2023年,2月20日,星期六充分理解以上各個階段工作內(nèi)容技術(shù)描述手段重要圖表工作方法如需求階段主要技術(shù)工具:信息處理的數(shù)據(jù)流圖,數(shù)據(jù)字典;概念設(shè)計階段ER圖之類的,邏輯設(shè)計階段關(guān)系模式設(shè)計;物理設(shè)計階段存儲方法、訪問方法、系統(tǒng)配置之類的;實施階段數(shù)據(jù)庫裝入,應(yīng)用程序編制和運行,運行維護的安全性,轉(zhuǎn)儲,改進等。第87頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫管理系統(tǒng)從數(shù)據(jù)庫發(fā)展歷史,認識數(shù)據(jù)庫管理系統(tǒng)的基本功能,與操作系統(tǒng)關(guān)系DBMS主要功能:數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫運行與管理、數(shù)據(jù)存儲管理、數(shù)據(jù)庫保護、數(shù)據(jù)庫與維護數(shù)據(jù)庫系統(tǒng)定義/主要組成、功能數(shù)據(jù)庫體系結(jié)構(gòu)—三級模式二級映像,數(shù)據(jù)獨立性數(shù)據(jù)模型三要素第88頁,共107頁,2023年,2月20日,星期六關(guān)系數(shù)據(jù)庫關(guān)系模型關(guān)系操作:關(guān)系代數(shù)、元組演算、域演算關(guān)系完整性約束關(guān)系模式—概念模式、內(nèi)模式和外模式關(guān)系概念模式是對每個關(guān)系的說明,包括關(guān)系名、屬性名、屬性取值范圍的說明,關(guān)系之間的聯(lián)系是通過連接屬性實現(xiàn),不必專門指出。關(guān)系的內(nèi)模式就是基本表關(guān)系的外模式是概念模式的子集,是用戶與計算機接口,就是視圖。第89頁,共107頁,2023年,2月20日,星期六關(guān)系代數(shù)8種運算,5個基本運算根據(jù)語義會寫出關(guān)系運算。第90頁,共107頁,2023年,2月20日,星期六SQL語言熟練掌握3大功能—定義/操縱/控制9個關(guān)鍵動詞:create/alter/drop/select/update/insert/delete/grant/revoke第91頁,共107頁,2023年,2月20日,星期六數(shù)據(jù)庫保護完整性約束事務(wù)與并發(fā)調(diào)度封鎖機制故障與回復(fù)方法
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨境電商物流分析
- 三農(nóng)扶貧資金使用管理指南
- 醫(yī)療器械銷售策略及預(yù)案
- 農(nóng)業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整與轉(zhuǎn)型升級方案
- 環(huán)境監(jiān)測與污染防治技術(shù)應(yīng)用指南
- 電子商務(wù)運營策略與市場分析知識考點
- 蓮花縣垃圾焚燒發(fā)電項目
- 項目管理進度表-項目時間線
- 游戲行業(yè)版權(quán)保護與侵權(quán)應(yīng)對預(yù)案
- 監(jiān)控復(fù)習(xí)試題及答案
- 藥品質(zhì)量管理體系文件目錄
- 安徽涵豐科技有限公司年產(chǎn)6000噸磷酸酯阻燃劑DOPO、4800噸磷酸酯阻燃劑DOPO衍生品、12000噸副產(chǎn)品鹽酸、38000噸聚合氯化鋁、20000噸固化劑項目環(huán)境影響報告書
- GA/T 492-2004城市警用地理信息圖形符號
- 化妝品生產(chǎn)許可申請表樣板
- 老年綜合評估和老年綜合征課件
- 巖石性質(zhì)及其工程分級課件
- 2023年西安鐵路職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試筆試題庫及答案解析
- (新版)網(wǎng)絡(luò)攻防知識考試題庫(含答案)
- 人員技能矩陣圖
- 教育評價學(xué)全套ppt課件完整版教學(xué)教程
- JJG 1063-2010 電液伺服萬能試驗機-(高清現(xiàn)行)
評論
0/150
提交評論