




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
11/30/20221喻曉和主講11/30/20221喻曉和主講本章要求了解關系理論的基本知識。包括:三種常見數據模型名稱:層次模型、網狀模型、關系模型。關系數據模型的三個要素。關系運算(要求了解投影、選擇、一般連接和自然連接的含義,對寫法不作考試要求)。理解數據完整性的概念,掌握三類完整性規則:實體完整性、參照完整性、用戶定義的完整性(包括域完整性)的定義。其他內容不作考試要求。11/30/20222喻曉和主講本章要求11/30/20222喻曉和主講2.1數據模型概述數據模型是數據庫技術中的重要內容,是DBMS的基礎。2.1.1三種數據模型數據庫技術發展過程中經歷了三種數據模型:層次模型、網狀模型和關系模型。層次模型與網狀模型以圖論為基礎,層次模型用樹型結構表示記錄結點及記錄型之間的聯系。網狀模型用圖表示記錄結點及記錄型之間的聯系。它們主要共同點是表示實體與表示實體聯系的方法不相同,操作復雜。而關系模型中只有關系一種方式,操作簡單。11/30/20223喻曉和主講2.1數據模型概述11/30/20223喻曉和主講圖論是數學的一個分支,源于數字游戲,后來發展成一整套系統理論,創始人是數學家---歐拉。網絡拓撲結構問題屬于圖論ABCD哥尼斯堡七橋示意圖11/30/20224喻曉和主講圖論是數學的一個分支,源于數字游戲,后來發展成一整套系統理論1。層次模型與網狀模型在E-R模型向層次和網狀模型轉換時,實體型對應于記錄型,實體集對應記錄結點。實體間的聯系通過復雜的鏈連接起來。層次模型層次模型用樹型結構表示記錄結點及記錄型之間的聯系。其特點是:⑴.有且僅有一個結點無父結點(該結點稱為根結點);⑵.其它結點有且僅有一個父結點。在層次模型中,父結點與子結點間是1:n的聯系方式。
11/30/20225喻曉和主講1。層次模型與網狀模型11/30/20225喻曉和主講網狀模型網狀模型中沒有層次模型中對結點間聯系的限制。其特點是:⑴.可有一個以上結點無父結點;⑵.至少有一個結點有多于一個以上的父結點。
這兩種模型的主要缺陷之一是表示實體與表示實體聯系用不同的方法,操作很復雜。2.關系模型一種基于關系代數運算之上的數據模型,是目前最為實用的數據模型。11/30/20226喻曉和主講網狀模型11/30/20226喻曉和主講關系數據模型三要素完整描述一種數據模型包括三個要素,即:數據結構、數據操縱和數據約束。數據結構規定數據的存儲方式,在關系模型中就是關系;數據操縱指對數據的運算和操作,在關系模型中有關系代數和關系謂詞演算;數據約束對存放的數據進行限制,在關系模型中包括實體完整性、參照完整性和用戶定義的完整性。11/30/20227喻曉和主講關系數據模型三要素11/30/20227喻曉和主講2.2關系運算一個關系是一張二維表。通常,一個完整的數據庫中會包括若干個有關聯的關系。在數據庫中,關系是數據分散的和靜態的存放形式,各關系中的數據經常要進行加工處理。對關系的操作稱為關系運算。由于關系是元組的集合,所以集合的并、交、差等也適用于關系。此外,關系還可以進行選擇、投影和連接運算。11/30/20228喻曉和主講2.2關系運算11/30/20228喻曉和主講2.2.1關系的并、交、差關系的并(∪)、交(∩)、差(-)運算屬于傳統的集合運算,它將關系的元組看成集合的元素。但元組是由屬性值構成的,是有結構的,因此,在做這三種運算時,要求參與運算的關系必須滿足以下的兩個條件:⑴.關系的度數相同(即屬性個數相同);⑵.對應屬性取自相同的域(即兩個關系的屬性構成相同)。在實用時,這兩項條件可以理解為參與運算的關系具有相同的關系模式。11/30/20229喻曉和主講2.2.1關系的并、交、差11/30/20229喻曉和主講1.并(Union)設有關系R、S滿足上述條件,定義R與S的并(Union)運算的結果是:由出現在R或出現在S中所有元組(去掉重復元組)的集合組成的關系。記作R∪S。2.交(Intersection)設有關系R、S滿足上述條件,定義R與S的交(Intersection)運算的結果是:由同時出現在R中和S中的相同元組的集合組成的關系。記作R∩S。
3.差(Difference)設有關系R、S滿足上述條件,定義R與S的差(Difference)運算的結果是:由只出現在R中而未在S中出現的元組的集合組成的關系。記作R-S。關系R和S的并、交、差的運算結果如圖中陰影示意(見圖2-1).11/30/202210喻曉和主講1.并(Union)11/30/202210喻曉和主講R∪S
R∩SR-S圖2-1關系的并、交、差示意圖
從上述運算的定義可知,交運算可以由差運算來實現,即:R∩S=R-(R-S)?!纠?-1】已知R,S關系如表2.1、表2.2所示,則R∪S,R∩S,R-S的結果見表2.3、表2.4、表2.5。
ABCa1b1c1a2b3c2a2b2c1ABCa2b1c2a1b1c1a2b3c1a1b2c2表2.1:關系R表2.2:關系S11/30/202211喻曉和主講R∪SR∩S表2.3:R∪S表2.4:R∩S表2.5:R-SABCa1b1c1a2b3c2a2b2c1a2b1c2a2b3c1a1b2c2ABCa1b1c1ABCa2b3c2a2b2c1【例2-2】若關系SP1、SP2分別是2000年上半年和下半年已銷售的商品清單,它們具有相同的關系模式,即(商品編號,商品名,型號,單位,廠家),則:運算SP1∪SP2意指全年已銷售的商品清單;運算SP1∩SP2意指上下半年都有銷售的商品清單;運算SP1-SP2意指只在上半年有銷售而下半年沒有銷售的商品清單。
11/30/202212喻曉和主講表2.3:R∪S表2.2.1.2關系笛卡兒積(CartesianProduct)傳統的集合運算還包括笛卡兒積運算。關系的笛卡兒積將傳統集合運算用在關系中。設有關系R(A1,A2,…,An),S(X1,X2,…,Xm),關系的笛卡兒積(CartesianProduct)運算記為R×S,運算結果關系的模式是(A1,A2,…,An,X1,X2,…,Xm),而結果關系的元組是由R的所有元組與S的所有元組兩兩互相配對拼接而成。若R的基數為M1,S的基數為M2,則R×S基數為M1×M2。11/30/202213喻曉和主講2.1.2關系笛卡兒積(CartesianProduc【例2-3】已知R,S關系如表2.6、表2.7所示,則R×S結果見表2.8。A1A21123XYZx2y1z2x1y1z1x2y3z3A1A2XYZ11x2y1z211x1y1z111x2y3z323x2y1z223x1y1z123x2y3z3表2.6:關系R表2.7:關系S表2.8:關系R×S11/30/202214喻曉和主講【例2-3】已知R,S關系如表2.6、表2.7所示,則R×2.2.3選擇(Selection)關系的選擇運算是從一個關系中選取滿足條件的元組組成新的結果關系。這個運算只有一個運算對象,運算的結果和原關系具有相同的關系模式。在選擇運算式中,應首先了解單個條件的基本表示方法是:
<屬性>θ<值>
其中θ是以下運算符中之一:{=,≠,>,≥,<,≤}。11/30/202215喻曉和主講2.2.3選擇(Selection)11/30/2022條件的運算結果為真(TRUE)表示條件成立,為假(FALSE)表示條件不成立。當一個選擇運算要用到多個條件,這時,應將各個單項條件根據要求用邏輯運算符NOT(非)、AND(與)、OR(或)連接起來,如果一個條件運算式中有多個邏輯運算符,它們的優先運算順序是:NOT→AND→OR,相同的邏輯運算符按從左到右的順序,可以用括號改變運算順序。11/30/202216喻曉和主講條件的運算結果為真(TRUE)表示條件成立,為假(FALSE條件表達式有字符型和數字型。例:5>3,5>30“a”>=“b”性別=“男”A>=B多個條件時,須用AND、OR姓名=“張三”AND性別=“女”數學>=85and化學>=85and物理>=85數學>=85or化學>=85or物理>=85特殊情況用NOT
5<3AND“A”>”ABC”orNOT5>911/30/202217喻曉和主講條件表達式有字符型和數字型。11/30/202217喻曉和主表2.9:邏輯運算結果圖XYNOTXXANDYXORYTRUETRUEFALSETRUETRUETRUEFALSEFALSEFALSETRUEFALSETRUETRUEFALSETRUEFALSEFALSETRUEFALSEFALSE經驗方法TURE=1FALSE=0AND=×OR=+1+1=11×1=10×1=00+1=111/30/202218喻曉和主講表2.9:邏輯運算結果圖XYNOTXXANDYXOR選擇運算的表示方法是:σ條件表達式(關系名)
【例2-4】對于關系R(表2.10),求σA=“a1”ANDB=1(R)。結果見表2.11。
表2.10:關系R表2.11:σA=“a1”ANDB=1(R)ABCa11c1a23c2a22c1a21c2a23c1a11c2ABCa11c1a11c211/30/202219喻曉和主講選擇運算的表示方法是:σ條件表達式(關系名)ABCa11c【例2-5】查詢員工關系中工號為“0404”的學習情況,查詢所有女業務員的數據。查詢運算式分別是:σ工號=“0404”(員工)σ職務=“業務員”AND性別=“女”(員工)11/30/202220喻曉和主講【例2-5】查詢員工關系中工號為“0404”的學習情況,查工號姓名性別生日部門號職務薪金0102張藍女1975-3-2001總經理¥5000.000301李建設男1978-10-1503經理¥3650.000402趙也聲男1971-8-3004副經理¥2200.000404章曼雅女1981-1-1204會計¥1260.000704楊明男1970-11-1107保管員¥1100.001101王宜淳男1972-5-1811經理¥2200.001103張其女1984-7-1011業務員¥960.001202石破天男1980-10-1512組長¥1260.001203任德芳女1982-12-1412業務員¥960.001205劉東玨女1985-2-2612業務員¥800.00員工表11/30/202221喻曉和主講工號姓名性別生日部門號職務薪金0102張藍女1975-3-22.2.4投影(Project)投影(Project)運算是在給定關系中指定若干屬性(列)組成一個新關系。結果關系的屬性由投影運算式指定,結果關系中的元組是由原關系中的元組去掉沒有指定的屬性的分量值后剩下的值組成。11/30/202222喻曉和主講2.2.4投影(Project)11/30/202222喻由于去掉了一些屬性,結果中可能出現相同的元組,投影運算會去掉結果關系中相重復的元組,所以結果關系的元組可能少于原關系。投影的表示方法:π(屬性表)(關系名)
運算式中的(屬性表)即是投影運算指定的要保留的屬性。
11/30/202223喻曉和主講由于去掉了一些屬性,結果中可能出現相同的元組,投影運算會去掉選擇是行的選擇投影是列的選擇11/30/202224喻曉和主講選擇是行的選擇投影是列的選擇11/30/202224喻曉和主【例2-6】對于關系R(表2.12),求πA,C(R)。結果見表2.13。
【例2-7】求員工關系中員工姓名、職務、薪金。
π姓名,職務,薪金(員工)ABCa11c1a23c2a22c1a21c2a23c1a11c2ACa1c1a2c2a2c1a1c2
表2.12:關系R表2.13:πA,C(R)
11/30/202225喻曉和主講【例2-6】對于關系R(表2.12),求πA,C(R)。結工號姓名性別生日部門號職務薪金0102張藍女1975-3-2001總經理¥5000.000301李建設男1978-10-1503經理¥3650.000402趙也聲男1971-8-3004副經理¥2200.000404章曼雅女1981-1-1204會計¥1260.000704楊明男1970-11-1107保管員¥1100.001101王宜淳男1972-5-1811經理¥2200.001103張其女1984-7-1011業務員¥960.001202石破天男1980-10-1512組長¥1260.001203任德芳女1982-12-1412業務員¥960.001205劉東玨女1985-2-2612業務員¥800.00員工表11/30/202226喻曉和主講工號姓名性別生日部門號職務薪金0102張藍女1975-3-22.1.5連接(Join)關系的笛卡兒積可以將兩個關系拼接成為一個關系,但將兩個關系所有記錄不加區分的拼接起來,這樣拼接是無意義的,應在拼接時有所選擇。于是有了連接運算。連接(Join)運算是根據給定的連接條件將兩個關系中的所有元組一一進行比較,符合連接條件的元組(即連接條件運算式為TRUE)組成結果關系。結果關系包括兩個關系的所有屬性。連接的表示方法:關系1關系2連接條件的方法:<關系1屬性>θ<關系2屬性>。其中θ是關系運算符:{=,≠,<,≤,>,≥}。當有多個連接條件時用邏輯運算符NOT、AND或者OR連接。11/30/202227喻曉和主講2.1.5連接(Join)11/30/202227喻曉和主【例2-8】對于關系R(表2.14),S(表2.15),求:。
ABCa11c1a23c2a32c1a24c2a13c3BD2d13d24d1AR.BCS.B
Da23c22d1a24c22d1a24c23d2a13c32d1表2.14:R表2.15:S表2.16
屬性相加11/30/202228喻曉和主講【例2-8】對于關系R(表2.14),S(表2.15),求由于一個關系中不允許屬性名相同,所以在結果關系中針對相同的屬性,在其前面加上原關系名前綴“關系名.”。在連接條件中使用“=”進行相等比較,這樣的連接稱為等值連接。11/30/202229喻曉和主講由于一個關系中不允許屬性名相同,所以在結果關系中針對相同的屬2.1.6自然連接(NaturalJoin)等值連接中進行比較的屬性是可是不同的屬性,但要兩個屬性可比即可(數據類型同),等值連接是連接運算中最常見的,然而等值連接的結果關系中包括原來關系中的所有屬性,這樣就造成相同屬性的重復。如果在結果關系中去掉相同屬性,就得到最重要的連接運算,稱其為自然連接(NaturalJoin)。自然連接有兩個特點:⑴.自然連接是將兩個關系中相同的屬性進行相等比較;⑵.結果關系中去掉重復的屬性。自然連接的表示方法:關系1關系211/30/202230喻曉和主講2.1.6自然連接(NaturalJoin)11/30/【例2-10】對于關系R(表2.14),S(表2.15),求:RS。結果見表2.17。ABCDa23c2d2a32c1d1a24c2d1a13c3d2表2.17:R
11/30/202231喻曉和主講【例2-10】對于關系R(表2.14),S(表2.15),2.3數據完整性在一個數據庫中可包括多個表。一般而言,關系的結構會保持穩定,但關系中的記錄數據卻是經常變化的。某些對象的數據分別放在幾個相關聯的表中,當一個表的數據進行改變,另外的表是否能隨之變化則很關鍵。由于數據是信息系統中最重要的資源,保證數據庫中數據的正確性,對數據庫而言是十分重要的。在數據庫輸入和存放數據時,要滿足三類數據完整性約束規則:實體完整性、參照完整性和用戶定義的完整性。11/30/202232喻曉和主講2.3數據完整性11/30/202232喻曉和主講2.2.1實體完整性規則主碼,能夠確定唯一的元組。如表2.18所示學生關系,學號是主碼,其中第2個元組的學號為空值(NULL),這樣在關系數據庫使用時存在問題:由于主碼是唯一標識各元組的屬性,因此沒有學號值意味著存在不可識別的學生元組(實體),這是不允許的。實體完整性規則:定義了主碼的關系中,不允許任何元組的主碼屬性值為空值。學號姓名性別生日學院號05102001范小默男82.04.10102null葉盛佳男82.12.0210205204009吳敏女83.04.2020405307021王景男83.11.2330705307025馬漢生男82.08.03?表2.18:學生關系
11/30/202233喻曉和主講2.2.1實體完整性規則學號姓名性別生日學院號051020實體完整性規則保證數據庫中關系的每個元組(即實體)都是可以區分的。2.2.2參照完整性規則在表2.18的學生關系中,學院號屬性存放的是學生所在學院的編號,對應的學院信息存放在學院關系中(表2.19)。學院號為學院關系的主碼。在學生關系中學院號是外碼,即另一個關系的主碼。在學生關系中,對學院號的取值有何要求呢?參照完整性規則:關系S的主碼作為外碼出現在關系R中,它在R中的取值只能符合兩種情形之一:或者為空值(NULL);或者在關系S的主碼中存在對應的值。
學院號學院院長102工商管理張建204人文李龍307信息管理楊一飛表2.19:學院關系
11/30/202234喻曉和主講實體完整性規則保證數據庫中關系的每個元組(即實體)都是可以區這里,關系R稱為參照關系,關系S稱為被參照關系。R和S可以是同一個關系。特殊情況主鍵和外鍵在同一表中。當學生關系中的學院號取值為空時,表示該學生尚未在任何學院注冊;已經在某學院注冊的學生的學院號的取值一定能在學院關系中在學院號屬性找到對應的編碼值。這一規則也叫引用完整性規則,它用來防止對不存在的數據的引用。如00011/30/202235喻曉和主講這里,關系R稱為參照關系,關系S稱為被參照關系。R和S可以是2.2.3用戶定義的完整性規則此外,在實際應用中,很多數據都有實際的限制。例如:招聘信息數據庫中,有“招聘人員”表的數據,要求“年齡”在18~35周歲以內。用戶定義的完整性規則:用戶根據實際需要對數據庫中的數據及數據間的相互關系可以定義約束條件,所有這些約束構成了用戶定義的完整性規則。在用戶定義的完整性規則中,最常見的一種為域完整性的約束,可以在數據庫中定義關系時自動實現。關系中每一列的屬性都有一個確定的取值范圍即域。11/30/202236喻曉和主講2.2.3用戶定義的完整性規則11/30/202236喻曉域完整性規則:用戶對于關系中單個屬性取值范圍定義的約束條件。一般關系DBMS中都提供了完整性的實現機制。關系DBMS都提供了完整性約束的實現機制,Access就提供了自動實現上述完整性的檢驗功能。在數據庫中定義表時,通過定義表的主鍵自動實現實體完整性約束;通過定義外鍵和指定參照表自動進行參照完整性檢驗;在定義每個字段時指定域檢驗的條件(數據類型、寬度、一個邏輯表達式的檢驗等),實現域完整性約束。11/30/202237喻曉和主講域完整性規則:用戶對于關系中單個屬性取值范圍定義的約束條件。對于用戶定義的其它完整性約束,DBMS可通過“觸發器”或“存儲過程”,由數據庫設計者編制完整性檢驗程序代碼,在進行數據更新時自動執行這些程序來實現檢驗。當數據庫剛剛定義完畢時,數據庫是滿足完整性要求的。當數據庫有數據變化時有可能破壞完整性,而數據庫的變化只有在發生數據的增加、刪除、更改操作時,因此,只要有這些數據更新操作發生,DBMS就會自動進行完整性檢查,凡是會破壞數據庫數據完整性的更新都會被拒絕。
11/30/202238喻曉和主講對于用戶定義的其它完整性約束,DBMS可通過“觸發器”或“存2.4關系規范化在數據庫中,有多個表,表與表之間關聯。常常一個對象的數據分別放在幾個表中。若要了解完整的信息就必須對有關聯的關系進行自然連接。問?為何不將這些相關的數據一開始就存放在同一個關系表中呢?答:將一個系統中的所有數據根據情況存放在不同的關系表中,這是關系規范化的要求。在關系規范化理論中,將關系劃分為不同的規范層級,并對每一級別規定了不同的判別標準。用來衡量這些層級的概念叫范式(NF:NormalForm)。級別最低的層級為第一范式,記為1NF。如果有關系R滿足1NF的要求,記為R∈1NF。11/30/202239喻曉和主講2.4關系規范化11/30/202239喻曉和主講僅達到1NF要求的關系在實用中還有問題。在1NF基礎上,通過對關系逐步加上更多的限制,可使它們分別滿足2NF、3NF、BCNF、4NF、5NF的要求。這一過程就是關系規范化的過程。首先了解什么是“屬性間數據依賴”。2.4.1函數依賴與鍵關系表中不能有兩個記錄相同,于是要設立一個特殊的字段。即主鍵。例如,在員工關系中,設置員工表中的工號,它可以在員工關系中確定唯一的一個元組。而員工關系中其它屬性則沒有這一特性。關系表中屬性之間的這種相互關系,反映出一種數據依賴。數據依賴有不同種類,其中最重要的是函數依賴。11/30/202240喻曉和主講僅達到1NF要求的關系在實用中還有問題。在1NF基礎上,通過1.函數依賴對于關系中的函數依賴(FunctionDependency),定義如下:設R(U)是一個關系模式,屬性集U,X、Y均為U的子集。若對于R(U)上任意一個關系S,在S中不可能有任意的兩個元組在X中的屬性值相等,而在Y中的屬性值不等,則稱X函數決定Y,或稱Y函數依賴于X,記為:X→Y。11/30/202241喻曉和主講1.函數依賴11/30/202241喻曉和主講直接說就是:對于一個關系S,X、Y是S上的兩個屬性或屬性組,如果對于X的每一個取值,都有唯一一個確定的Y值與之對應,則稱屬性(組)X函數決定屬性(組)Y,或稱屬性(組)Y函數依賴于屬性(組)X。這里,X是函數依賴的左部,稱為決定因素,Y是函數依賴的右部,稱為依賴因素。
11/30/202242喻曉和主講直接說就是:對于一個關系S,X、Y是S上的兩個屬性或屬性組,根據定義可知,對于任意關系S中任意的屬性或屬性組X,如果有X’X(即X’是X的一部分,或者X’就是X本身),X→X’都是成立的,這種函數依賴被稱為平凡的函數依賴。其它的函數依賴稱為非平凡的函數依賴。(整體決定局部)11/30/202243喻曉和主講根據定義可知,對于任意關系S中任意的屬性或屬性組X,如果有X學號姓名性別生日所在學院院長課程號課程名學分學分成績01102001范小默男82.04.10工商管理張建102004管理學概論29001102003曾曉女83.10.18工商管理張建102004管理學概論28001102003曾曉女83.10.18工商管理張建204002英語67501102003曾曉女83.10.18工商管理張建307101高等數學59101204009吳敏女83.04.20人文李龍204002英語69501307010張寧女83.04.03信息管理楊一飛307101高等數學58801307010張寧女83.04.03信息管理楊一飛307010程序設計48401307021王景男83.11.23信息管理楊一飛307001計算機原理38601307021王景男83.11.23信息管理楊一飛307010程序設計48201307021王景男83.11.23信息管理楊一飛307101高等數學592只討論非平凡函數依賴?!纠?-12】以下是一個將學生檔案、學習成績等放在一起的學生信息關系(表2.20)。分析各屬性間的函數依賴關系。
表2.20:學生信息關系
11/30/202244喻曉和主講學號姓名性別生日所在學院院長課程號課程名學分學分成績0110在學生信息關系中,確定了學號,就可以決定學生的姓名、性別、生日、所在學院以及院長;確定了所在學院,就確定了院長。同樣,確定課程號,就確定了課程名,學分;而成績屬性是由(學號,課程號)兩個屬性決定的,所以有:學號→(姓名,性別,生日,所在學院,院長);所在學院→院長;課程號→(課程名,學分);(學號,課程號)→成績。11/30/202245喻曉和主講在學生信息關系中,確定了學號,就可以決定學生的姓名、性別、生說明:根據表2.20的數據可知,學號和學生姓名、所在學院和院長是對應的。但該表的姓名不一定是不同名的,所以,不能得出姓名→學號,院長→所在學院的結論。另外,由于課程名是人們規定的,如果明確規定不同的課程一定不同名,則可以得出:課程名→課程號。但實際中一般不考慮這樣的函數依賴,這也是為什么信息處理中要使用編號的主要原因。11/30/202246喻曉和主講說明:根據表2.20的數據可知,學號和學生姓名、所在學院和院2.鍵(碼)已經介紹了候選碼和主碼的概念,所謂候選鍵,是指能決定一個關系中每個元組的屬性或屬性組。從候選鍵中(如果有多個)選擇一個作為關系的主鍵。為了簡便,在這里將一個關系的所有的候選鍵都簡稱為鍵(Key)。有了函數依賴的概念,可以重新定義鍵的概念。定義:設R(U)是一個關系模式,屬性集U,X為U的子集。若對于R(U)上任意關系S,都有X→U成立,則稱X是S的鍵。一個關系中鍵可以不止一個。一個關系中所有鍵的屬性稱為關系的主屬性,其它的屬性為非主屬性。
11/30/202247喻曉和主講2.鍵(碼)11/30/202247喻曉和主講【例2-13】對學生信息關系(表2.20),試確定其碼和列出所有主屬性。根據【例2-12】的分析可知,沒有任何一個屬性可以決定所有屬性,但將學號、課程號組合起來可以決定所有的屬性,如:確定了學號和課程號是(01307021,307001),就決定了其它屬性的值(王景,男,83.11.23,信息管理,楊一飛,計算機原理,3,86)。所以該關系的碼是(學號,課程號),學號、課程號是主屬性。學號姓名性別生日所在學院院長課程號課程名學分成績11/30/202248喻曉和主講【例2-13】對學生信息關系(表2.20),試確定其碼和列3.函數依賴的分類通過分析,(學號,課程號)是關系的鍵。即由學號和課程號組合后可決定其它的屬性。但是,對所有非主屬性而言,它們并非都依賴于全部主屬性,象姓名、性別等只依賴學號;課程名、學分只依賴課程號。這種只依賴于屬性組合中的部分屬性的情形被稱為部分函數依賴。但成績屬性則必須由學號和課程號加在一起才可以決定,這種情形被稱為完全函數依賴。11/30/202249喻曉和主講3.函數依賴的分類11/30/202249喻曉和主講部分函數依賴的定義:設S是關系模式R(U)上的關系,若在S中有X→Y,并且有X’是X的真子集,X’→Y也成立(即Y只由X中的部分屬性決定),則稱Y部分函數依賴于X,記為XY。完全函數依賴的定義:設S是關系模式R(U)上的關系,若在S中有X→Y,并且對于X的任意真子集X’,X’→Y都不成立(即Y不能由X中的任意的部分屬性決定),則稱Y完全函數依賴于X,記為XY??梢钥闯?,如果一個函數依賴的決定因素是單屬性,則這個依賴一定是完全函數依賴。11/30/202250喻曉和主講部分函數依賴的定義:設S是關系模式R(U)上的關系,若在S中再分析學生信息表的依賴情況,可以知道,院長屬性實際上并不直接依賴于學號,因為一個學院的院長是在學院任職,當一個學生在該學院注冊,函數依賴的意思是通過該學生的學號,可以確定他的所在學院的值,從而可以確定院長的值。而假如這個學生不是在這個學院注冊,并不影響通過該學院來確定院長的值。因此,說學號決定院長,其實是通過學號確定所在學院,通過所在學院確定院長,這種函數依賴被稱為傳遞的函數依賴。
11/30/202251喻曉和主講再分析學生信息表的依賴情況,可以知道,11/30/20225傳遞函數依賴的定義:設S是關系模式R(U)上的關系,若在S中有X→Y,Y→Z(不能是平凡的函數依賴),則X→Z成立,這種函數依賴被稱為傳遞的函數依賴,記為XZ。在學生信息關系中,可以將各種情形的函數依賴表述如下:(學號、課程號)成績;(學號,課程號)(姓名,性別,生日,所在學院);(學號,課程號)(課程名,學分);所在學院→院長;學號院長。當關系中存在非主屬性部分或傳遞依賴于鍵時,這樣的關系在信息存貯和關系操作中存在許多問題,規范化程度低。關系規范化就是通過消去關系中的部分和傳遞函數依賴,來提高關系的范式層級。
11/30/202252喻曉和主講傳遞函數依賴的定義:設S是關系模式R(U)上的關系,若在S中2.4.2關系范式⒈第一范式(1NF)二維表只有符合了關系中屬性是不可再分的。這是二維表稱為關系的基本條件,也是1NF的基本要求。定義:如果一個關系R(U)的所有屬性都是不可分的原子屬性,則R∈1NF。在任何一個數據庫中,1NF是關系模式最基本的要求,不滿足1NF的數據庫就不是關系數據庫,每一列不可再分是必須完成的。同一列中,如有多值,可以通過拆分的方法,將其變成多個單值的屬性。11/30/202253喻曉和主講2.4.2關系范式11/30/202253喻曉和主講再看,學生信息關系(表2.20)是滿足1NF的要求的。如果一個關系僅達到1NF,則它在實際應用中會產生很多問題??梢詺w納為以下幾條:⑴.數據冗余度大、修改不便。如某學生轉學院,則既要修改所在學院屬性,又要修改院長屬性,易引起數據的不一致。11/30/202254喻曉和主講再看,學生信息關系(表2.20)是滿足1NF的要求的。11/⑵.容易數據插入異常。如果某個學院剛成立,還沒有學生,也就沒有學號、課程號等數據,那么在學生信息關系中,該學院的信息不能存入(因為學院信息是附屬于學生信息的)。一個關系中,發生應該存入的數據而不能存入,稱為數據插入異常。11/30/202255喻曉和主講⑵.容易數據插入異常。如果某個學院剛成立,還沒有學生,也就沒⑶.容易數據刪除異常。與數據插入異常對應,如果某學院的已有學生畢業后暫時無學生在讀,則刪除已畢業學生數據將同時刪除掉學院的數據。這種刪除無意義的數據導致有意義的數據被刪除,稱為數據刪除異常。11/30/202256喻曉和主講⑶.容易數據刪除異常。與數據插入異常對應,如果某學院的已有學2.第二范式(2NF)要解決只屬于1NF的關系的缺陷必須提高關系規范化的程度。定義:若關系R∈1NF,并且在R中不存在非主屬性對鍵的部分函數依賴,即它的每一個非主屬性都完全函數依賴于鍵,則R∈2NF。要使關系從1NF變為2NF,就要消去1NF關系中非主屬性對鍵的部分函數依賴。采用關系分解的方法,即將一個1NF關系通過投影運算分解為多個2NF及以上范式的關系。11/30/202257喻曉和主講2.第二范式(2NF)11/30/202257喻曉和主講【例2-14】將學生信息關系(表2.20)從1NF提升為2NF及以上范式的關系。通過關系分解,消去關系中的部分函數依賴。方法是進行投影運算,依賴于學號的所有非主屬性作為一個關系,依賴于課程號的所有非主屬性組成另一個關系,保留完全依賴于鍵的屬性組成單獨的關系。這樣,一個關系變為了三個關系:學生檔案(學號,姓名,性別,生日,所在學院,院長);課程(課程號,課程名,學分);成績單(學號,課程號,成績)。11/30/202258喻曉和主講【例2-14】將學生信息關系(表2.20)從1NF提升為2這三個關系中,均不存在部分函數依賴,它們都滿足2NF的要求。已經證明,這種關系分解屬于無損連接分解。所謂關系的無損分解,是指關系分解不會丟失原有信息,通過自然連接運算仍能恢復原有關系的所有信息。雖然關系由一個變為三個,學號、課程號在不同關系中重復出現兩次,但它們是所謂的連接屬性(即在成績單關系中是外碼),在學生檔案、課程關系中,數據的冗余度大大降低。11/30/202259喻曉和主講這三個關系中,均不存在部分函數依賴,它們都滿足2NF的要求。通過對以上三個關系的分析,可以發現在學生檔案中,所在學院和院長數據仍重復。比如,某個學院的院長發生了變動,則與之相關的學生元組都要修改。關于學院的插入、刪除異常的缺陷仍然沒有解決。所以屬于2NF的關系還存在與1NF類似的問題。11/30/202260喻曉和主講通過對以上三個關系的分析,可以發現在學生檔案中,所在學院和院3.第三范式(3NF)僅僅滿足2NF的關系在實用時仍有問題??疾烊齻€關系,在學生檔案關系中仍存的問題。它與課程關系、成績單關系的區別是,學生檔案關系中存在傳遞的函數依賴,而其它關系中不存在。定義:若關系R∈2NF,并且在R中不存在非主屬性對鍵的傳遞的函數依賴,則R∈3NF??梢宰C明,屬于3NF的關系一定滿足2NF的條件。屬于2NF的關系,如果消去了非主屬性對鍵的傳遞函數依賴,則成為屬于3NF的關系。2NF升格為3NF的方法依然是對關系的投影分解。11/30/202261喻曉和主講3.第三范式(3NF)11/30/202261喻曉和主講【例2-15】將【例2-14】中產生的關系提升為3NF的關系。由于只有學生檔案中存在傳遞的函數依賴,對學生檔案關系進行投影分解,變為基本檔案關系和學院信息關系,為保持信息的一致性,引入學院號屬性。它們的關系模式是:檔案(學號,姓名,性別,生日,學院號)學院(學院號,學院,院長)
要注意連接的需要
這種關系分解仍然是無損分解。這樣就徹底解決了1NF和2NF中存在的問題。11/30/202262喻曉和主講【例2-15】將【例2-14】中產生的關系提升為3NF的關因此,從表2.20的一個僅符合1NF的學生信息關系分解為符合3NF的四個關系,它們的關系模式如下:⑴.檔案(學號,姓名,性別,生日,學院號)⑵.學院信息(學院號,學院名,院長)⑶.課程(課程號,課程名,學分)⑷.成績單(學號,課程號,成績)11/30/202263喻曉和主講因此,從表2.20的一個僅符合1NF的學生信息關系分解為符合除3NF外,目前更高級別的范式還有BCNF、4NF、5NF,這些范式之間是一種包含關系,即高一級的范式一定符合下一級的范式規定。屬于3NF的關系已經能夠滿足絕大部分的實際應用。因此,關系分解到3NF即可。1NF或2NF的缺陷是在一個關系中存放了多個主題(即不同的實體),使得屬性間的函數依賴呈現多樣性。解決之道是使關系單純化,采用關系分解的方法,通過投影運算,做到“一表(關系)一主題(實體)”,而實體間的聯系通過外碼或聯系關系來實現。在應用中需要綜合多個關系的信息時通過連接運算來實現。11/30/202264喻曉和主講除3NF外,目前更高級別的范式還有BCNF、4NF、5NF,關系規范化理論是進行數據庫設計的指導思想,在設計過程中,無論是概念模型還是數據模型的設計都應按規范化的要求。當然,就實用而言,并不是范式層級越高越好。因為高層級范式使得數據庫操作增加了大量連接操作,這降低了數據庫的處理速度。因此應根據實際要求來設計數據庫,變化小的關系可以適當降低要求。但一般來說,數據庫中各關系應符合3NF的要求。11/30/202265喻曉和主講關系規范化理論是進行數據庫設計的指導思想,在設計過程中,無論設關系r如下所示:r(ABCDE)a1b1c1d1e1a1b2c2d2e1a2b1c3d3e1
a2b1c4d3e1
a3b2c5d1e1說明r上函數依賴:
A→D,AB→D,C→BDE,E→A是否成立?11/30/202266喻曉和主講設關系r如下所示:11/30/202266喻曉和主講1.設有關系模型R(A,B,C,D,E),F是R上成立的函數依賴集,F={ABC→DE,BC→D,D→E},
試問R達到第幾范式,并說明理由。
R屬于1NF。
由于候選鍵是ABC。而非主屬性D和E部分函數依賴于候選鍵ABC,因此R不是2NF,只能是1NF。
2.數據模型分析,關系模型R(U)U=ABCDEG,F={AD→E,AC→E,CB→G,BCD→AG,BD→A,AB→G,A→C}(1)
求此模型的最小函數依賴集。(2)
求出關系模式的候選碼。(3)
此關系模型最高屬于哪級范式。(4)
將此模型按照模式分解的要求分解為3NF。11/30/202267喻曉和主講1.設有關系模型R(A,B,C,D,E),F是R上成立的函依照題意,得出:(1)通過最小集求法:分解函數依賴的右部,F={AD→E,AC→E,BC→G,BCD→A,BCD→G,BD→A,AB→G,A→C}消去左邊的冗余屬性:F={A→E,A→E,BC→G,BD→A,BC→G,BD→A,AB→G,A→C}消去冗余的函數依賴:Fm={A→E,BC→G,BD→A,A→C}
也可以為:
Fm={A→E,AB→G,BD→A,A→C}(2)候選碼:BD(3)R中每一個非主屬性完全函數依賴于R的候選鍵BD;但C,G,E都傳遞依賴于R的候選鍵BD,也就是說,R滿足2NF的要求,而不滿足3NF的要求。此關系模型最高屬于2NF。(4)依據算法
R1:U1=ABDF1={BD→A}
R2:U2=BCGF2={BC→G}
R3:U3=ACEF3={A→C,A→E}11/30/202268喻曉和主講依照題意,得出:11/30/202268喻曉和主講函數依賴的公理系統:
設有關系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中屬性的函數依賴集,推理規則如下:自反律:如果YXU,則X→Y在R上成立。
增廣律:如果X→Y為F所蘊涵,ZU,則XZ→YZ在R上成立。(XZ表示X∪Z,下同)傳遞律:如果X→Y和Y→Z在R上成立,則X→Z在R上成立。11/30/202269喻曉和主講函數依賴的公理系統:11/30/202269喻曉和主講以上三條為Armstrong公理系統
合并律:如果X→Y和X→Z成立,那么X→YZ成立。偽傳遞律:如果X→Y和WY→Z成立,那么WX→Z成立。分解律:如果X→Y和ZY成立,那么X→Z成立。這三條為引理
函數依賴推理規則系統(自反律、增廣律和傳遞律)是完備的。由自反律所得到的函數依賴均是平凡的函數依賴。11/30/202270喻曉和主講以上三條為Armstrong公理系統11/30/20227最小函數依賴集(新概念)定義:如果函數依賴集F滿足下列條件,則稱F為最小函數依賴集或最小覆蓋。①F中的任何一個函數依賴的右部僅含有一個屬性;②F中不存在這樣一個函數依賴X→A,使得F與F-{X→A}等價;③F中不存在這樣一個函數依賴X→A,X有真子集Z使得F-{X→A}∪{Z→A}與F等價。11/30/202271喻曉和主講最小函數依賴集(新概念)11/30/202271喻曉和主講例:已知關系模式R<U,F>,U={A,B,C,D,E,G},F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG},求F的最小函數依賴集。求最小函數依賴集分三步:
1.將F中的所有依賴右邊分解為單一元素F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G}11/30/202272喻曉和主講例:已知關系模式R<U,F>,U={A,B,C,D,E,2.去掉F中的所有依賴左邊的冗余屬性.作法是屬性中去掉其中的一個,看看是否可以成立
①設AB→C為冗余的函數依賴,則去掉AB→C,得:F1={D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G}
計算(AB)F1+:設X(0)=AB計算X(1):掃描F1中各個函數依賴,找到左部為AB或AB子集的函數依賴,因為找不到這樣的函數依賴。故有X(1)=X(0)=AB,算法終止。(AB)F1+=
AB不包含C,故AB→C不是冗余的函數依賴,不能從F1中去掉。11/30/202273喻曉和主講2.去掉F中的所有依賴左邊的冗余屬性.11/30/2022②設CG→B為冗余的函數依賴,則去掉CG→B,得:F2={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→A,CE→G}計算(CG)F2+:設X(0)=CG計算X(1):掃描F2中的各個函數依賴,找到左部為CG或CG子集的函數依賴,得到一個C→A函數依賴。故有X(1)=X(0)∪A=CGA=ACG。計算X(2):掃描F2中的各個函數依賴,找到左部為ACG或ACG子集的函數依賴,得到一個CG→D函數依賴。故有X(2)=X(1)∪D=ACDG。計算X(3):掃描F2中的各個函數依賴,找到左部為ACDG或ACDG子集的函數依賴,得到兩個ACD→B和D→E函數依賴。故有X(3)=X(2)∪BE=ABCDEG,因為X(3)=U,算法終止。(CG)F2+=ABCDEG包含B,故CG→B是冗余的函數依賴,從F2中去掉。11/30/202274喻曉和主講②設CG→B為冗余的函數依賴,則去掉CG→B,得:F2={③設CG→D為冗余的函數依賴,則去掉CG→D,得:F3={AB→C,D→E,D→G,C→A,BE→C,BC→D,ACD→B,CE→A,CE→G}計算(CG)F3+:設X(0)=CG計算X(1):掃描F3中的各個函數依賴,找到左部為CG或CG子集的函數依賴,得到一個C→A函數依賴。故有X(1)=X(0)∪A=CGA=ACG。計算X(2):掃描F3中的各個函數依賴,找到左部為ACG或ACG子集的函數依賴,因為找不到這樣的函數依賴。故有X(2)=X(1),算法終止。(CG)F3+=ACG。(CG)F3+=ACG不包含D,故CG→D不是冗余的函數依賴,不能從F3中去掉。11/30/202275喻曉和主講③設CG→D為冗余的函數依賴,則去掉CG→D,得:F3={④設CE→A為冗余的函數依賴,則去掉CE→A,得:F4={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→G}計算(CG)F4+:設X(0)=CE計算X(1):掃描F4中的各個函數依賴,找到左部為CE或CE子集的函數依賴,得到一個C→A函數依賴。故有X(1)=X(0)∪A=CEA=ACE。計算X(2):掃描F4中的各個函數依賴,找到左部為ACE或ACE子集的函數依賴,得到一個CE→G函數依賴。故有X(2)=X(1)∪G=ACEG。計算X(3):掃描F4中的各個函數依賴,找到左部為ACEG或ACEG子集的函數依賴,得到一個CG→D函數依賴。故有X(3)=X(2)∪D=ACDEG。計算X(4):掃描F4中的各個函數依賴,找到左部為ACDEG或ACDEG子集的函數依賴,得到一個ACD→B函數依賴。故有X(4)=X(3)∪B=ABCDEG。因為X(4)=U,算法終止。(CE)F4+=ABCDEG包含A,故CE→A是冗余的函數依賴,從F4中去掉。11/30/202276喻曉和主講④設CE→A為冗余的函數依賴,則去掉CE→A,得:F4=⒊
去掉F4中各函數依賴左邊多余的屬性(只檢查左部不是單個屬性的函數依賴)由于C→A,函數依賴ACD→B中的屬性A是多余的,去掉A得CD→B。故最小函數依賴集為:F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,CD→B,CE→G}11/30/202277喻曉和主講⒊
去掉F4中各函數依賴左邊多余的屬性(只檢查左部不是單個2.5數據模型的發展關系模型從1970年誕生以來,由于理論基礎堅實,結構簡單,使用方便,很快就得到廣泛應用,成為數據庫技術的主流。隨著社會需求的快速發展,關系模型也反映出不能適應新的發展要求的一面。11/30/202278喻曉和主講2.5數據模型的發展11/30/202278喻曉和主講2.5.1關系模型存在的不足關系模型的不足的幾個方面。①基本數據類型不能滿足需要。只是具備存儲或引用功能,沒有合乎需要的對這些對象的運算處理功能。對于多媒體數據、多維空間數據、具有時間序列特征的數據等等,這些要求都是目前關系模型不能達到的。基于內容的圖象檢索11/30/202279喻曉和主講2.5.1關系模型存在的不足基于內容的圖象檢索11/30/②數據結構簡單。關系模型要求設計符合規范化要求的關系,主要特征是結構單一,是由同質記錄組成的集合,無復雜的嵌套數據和復雜數據。具有聚合、繼承等復雜聯系的實體之間的這種內在聯系被破壞了。關系模型的這種簡單結構不能很好的反映數據之間的相互聯系。③數據和行為分離。關系模型用關系來描述實體及其聯系,而刻畫實體的屬性僅僅是實體的靜態特征。關系模型只是靜態的數據存儲,而實體往往還具有動態的運動特征,這些對象是多種屬性和行為的綜合體,這是關系模型所無法表達和處理的。11/30/202280喻曉和主講②數據結構簡單。關系模型要求設計符合規范化要求的關系,主要④一致約束不完備,只能預定時機檢查。數據庫反映的是復雜的現實世界,必須要正確表達涉及的各種對象。關系模型提供的完整性約束機制雖然很強大,但只能事先規定預設條件,且只能在特定的觸發條件下檢驗,不能完全滿足實際的要求。⑤事務短壽,并發控制機制簡單。對于目前普遍應用的多用戶共享數據庫,關系模型采用事務機制進行并發控制。但這種控制基本是基于比較短小和功能單一事務,對于大型復雜事務的應用能力不足。11/30/202281喻曉和主講④一致約束不完備,只能預定時機檢查。數據庫反映的是復雜的現2.4數據庫體系結構數據庫系統有嚴謹的體系結構。數據庫眾多,差異很大,但其體系結構基本相同,在創建和運行過程中按照三級模式結構。1975年美國國家標準委員會(ANSI)所屬標準計劃和要求委員會公布了一個關于數據庫標準報告,提出了數據庫三級模式結構(SPARC分級結構)(圖2-2)。
11/30/202282喻曉和主講2.4數據庫體系結構11/30/202282喻曉和主講在三級模式結構中,不同的人員、從不同的角度看到的數據庫是不同的。
圖2-2數據庫三級模式體系結構簡圖
11/30/202283喻曉和主講在三級模式結構中,不同的人員、從不同的角度看到的數據庫是不同2.4.1三級模式
⑴.模式:又稱概念模式,是對數據庫的整體邏輯描述,并不涉及物理存儲,因此稱為DBA視圖,或全局視圖,即DBA看到的數據庫的全貌。概念模式的設計是數據庫設計中最基本的任務。⑵.內模式:表示數據庫的存儲結構,是數據庫真正在存儲設備上存放結構的描述,包括所有數據文件和聯系手段,以及對于數據存取方式的規定。內模式與模式相互映射,這個映射由DBMS來完成等。⑶.外模式:又稱子模式,外模式是用戶所見到的那一部分的邏輯結構視圖。每個用戶的外模式可能不一樣。這一方面可以更好地適應不同用戶的需要,同時,也可以使用戶看不到于己無關的內容,有利于數據的保密性。最主要的是外模式面向應用程序,是用戶眼中的數據庫,也稱為用戶視圖。11/30/202284喻曉和主講2.4.1三級模式 11/30/202284喻曉和主講模式是內模式的邏輯表示;內模式是模式的物理實現;外模式是模式的部分抽取。2.4.2二級映射三級模式中,只有內模式才是真正存儲數據的,模式和外模式僅是數據的邏輯表示,用戶使用數據庫中的數據,是通過“外模式/模式”映射和“模式/內模式”映射來完成的。一個數據庫中只有一個模式和一個內模式,因此數據庫中“模式/內模式”是唯一的;而每一個外模式都有一個“外模式/模式”映射,從而保證用戶程序對數據的正確使用。
11/30/202285喻曉和主講模式是內模式的邏輯表示;內模式是模式的物理實現;外模式是模式2.8數據庫技術發展應用概述2.8.1分布式數據庫系統基于網絡的管理需求。分布式數據庫已經獲得了相當成熟的發展,如SystemR、分布式Ingres、SQL*Star、SQLReplictionServer等。11/30/202286喻曉和主講2.8數據庫技術發展應用概述11/30/202286喻曉和分布式數據庫的特點①數據的物理分布性:數據分布在不同的計算機上。②數據的邏輯相關性:數據庫雖然分布在不同的計算機上,但是這些數據并不是互不相關的,各結點的數據庫數據,在邏輯上是一個統一的數據庫。③區域自治性:在網上的每個計算機都有自己局部的數據庫管理系統,每個結點的數據庫管理系統都可以自治地進行工作。④各個計算機之間的聯系通過通信網絡進行。11/30/202287喻曉和主講分布式數據庫的特點11/30/202287喻曉和主講2.8.2數據倉庫與數據挖掘技術1.數據倉庫什么是數據倉庫呢?數據倉庫是面向主題的、集成的、不可更新的、隨時間不斷擴展的數據的集合,數據倉庫用來支持企業或組織的決策分析處理。數據倉庫的定義實際上包含了數據倉庫的以下4個特點:(1)數據倉庫是面向主題的。主題是一個抽象的概念,是在較高層次上將信息系統中的數據綜合、歸類并進行分析利用的抽象。11/30/202288喻曉和主講2.8.2數據倉庫與數據挖掘技術11/30/202288喻曉(2)數據倉庫是集成的。由于操作型數據與分析型數據存在很大差別,而數據倉庫的數據又來自于分散的操作型數據,因此必須先將所需數據從原來的數據庫數據中抽取出來,進行加工與集成、統一與綜合之后才能進入數據倉庫。11/30/202289喻曉和主講(2)數據倉庫是集成的。11/30/202289喻曉和主講(3)數據倉庫是不可更新的。數據倉庫主要是為決策分析提供數據,所涉及的操作主要是數據的查詢,一般情況下并不需要對數據進行修改操作。歷史數據在數據倉庫中是必不可少的,數據倉庫存儲的是相當長一段時間內的歷史數據,是不同時間點數據庫的結合,以及基于這些數據進行統計、綜合和重組導出的數據,不是聯機處理的數據。因而,數據在進入數據倉庫以后一般不更新的,是穩定的。11/30/202290喻曉和主講(3)數據倉庫是不可更新的。11/30/202290喻曉和主(4)數據倉庫是隨時間而變化的。雖然數據倉庫中的數據一般是不更新的,但是數據倉庫的整個生存周期中的數據集合卻是會隨著時間的變化而變化的。主要表現在三個方面:首先,數據倉庫隨著時間的變化會不斷增加新的數據內容。數據倉庫系統必須不斷捕捉聯機處理數據庫中新的數據,追加到數據倉庫中去,但新增加的變化數據不會覆蓋原有的數據。其次,數據倉庫隨著時間的變化要不斷刪去舊的數據內容。數據倉庫中的數據也有存儲期限,一旦超過了這一期限,過期的數據就要被刪除。數據倉庫中的數據并不是永遠保存,只是保存時間更長而已。11/30/202291喻曉和主講(4)數據倉庫是隨時間而變化的。11/30/202291喻曉2.數據挖掘數據倉庫如同一座巨大的礦藏,有了礦藏而沒有高效的開采工具是不能把礦藏充分開采出來的。數據倉庫需要高效的數據分析工具來對它進行挖掘。20世紀80年代,數據庫技術得到了長足的發展,出現了一整套以數據庫管理系統為核心的數據庫開發工具,如FORMS、REPORTS、MEHUS、GRAPHICS等.數據挖掘(DataMining,簡稱DM)這個概念廣義上講是指從大量數據中發現有關信息,或“發現知識”。具體地說就是它主要是試圖自動從主要存儲在磁盤上的大量的數據中發現統計規則和模式。數據挖掘技術涉及數據庫技術、人工智能技術、機器學習、統計分析等多種技術,它使決策支持系統(DSS)跨入了一個新的階段。11/30/202292喻曉和主講2.數據挖掘11/30/202292喻曉和主講常用數據庫介紹⒈IBM的DB2IBM是關系數據庫領域的最早開拓者,在1977年完成了SystemR系統的原型,1980年開始提供集成的數據庫服務器——System/38。在1983年推出DB2。1989年和1993年分別以遠程工作單元和分布式工作單元實現了分布式數據庫支持。它推出的通用數據庫是第一個具備網上功能的多媒體關系數據庫管理系統,支持包括Linux在內的一系列平臺。11/30/202293喻曉和主講常用數據庫介紹11/30/202293喻曉和主講⒉OracleOracle前身叫SDL,于1977創辦公司。Oracle公司也是最早開發關系數據庫的廠商之一,其產品支持最廣泛的操作系統平臺。目前Oracle關系數據庫產品的市場占有率第一。⒊InformixInformix在1980年成立,主要是為Unix等開放操作系統提供專業的關系型數據庫產品。⒋SybaseSybase公司成立于1984年。Sybase首先提出Client/Server數據庫體系結構的思想,并率先在SybaseSQLServer中實現。11/30/202294喻曉和主講⒉Oracle11/30/202294喻曉和主講5.SQLServer1987年,微軟和IBM合作開發完成OS/2(操作系統),此后,微軟將目光投向Sybase,同Sybase簽訂了合作協議,使用Sybase的技術開發基于OS/2平臺的關系型數據庫。1989年,微軟發布了SQLServer1.0版。移植到Windows上后,推出了SQLServer2000等產品。⒍FoxPro數據庫最初由美國Fox公司1988年推出,1992年Fox公司被Microsoft公司收購,新版本在性能上有了很大提高。11/30/202295喻曉和主講5.SQLServer11/30/202295喻曉和主⒎國產達夢----DM無名,華科大研制,意義重大。11/30/202296喻曉和主講⒎國產達夢----DM11/30/202296喻曉和主講11/30/202297喻曉和主講11/30/20221喻曉和主講本章要求了解關系理論的基本知識。包括:三種常見數據模型名稱:層次模型、網狀模型、關系模型。關系數據模型的三個要素。關系運算(要求了解投影、選擇、一般連接和自然連接的含義,對寫法不作考試要求)。理解數據完整性的概念,掌握三類完整性規則:實體完整性、參照完整性、用戶定義的完整性(包括域完整性)的定義。其他內容不作考試要求。11/30/202298喻曉和主講本章要求11/30/20222喻曉和主講2.1數據模型概述數據模型是數據庫技術中的重要內容,是DBMS的基礎。2.1.1三種數據模型數據庫技術發展過程中經歷了三種數據模型:層次模型、網狀模型和關系模型。層次模型與網狀模型以圖論為基礎,層次模型用樹型結構表示記錄結點及記錄型之間的聯系。網狀模型用圖表示記錄結點及記錄型之間的聯系。它們主要共同點是表示實體與表示實體聯系的方法不相同,操作復雜。而關系模型中只有關系一種方式,操作簡單。11/30/202299喻曉和主講2.1數據模型概述11/30/20223喻曉和主講圖論是數學的一個分支,源于數字游戲,后來發展成一整套系統理論,創始人是數學家---歐拉。網絡拓撲結構問題屬于圖論ABCD哥尼斯堡七橋示意圖11/30/2022100喻曉和主講圖論是數學的一個分支,源于數字游戲,后來發展成一整套系統理論1。層次模型與網狀模型在E-R模型向層次和網狀模型轉換時,實體型對應于記錄型,實體集對應記錄結點。實體間的聯系通過復雜的鏈連接起來。層次模型層次模型用樹型結構表示記錄結點及記錄型之間的聯系。其特點是:⑴.有且僅有一個結點無父結點(該結點稱為根結點);⑵.其它結點有且僅有一個父結點。在層次模型中,父結點與子結點間是1:n的聯系方式。
11/30/2022101喻曉和主講1。層次模型與網狀模型11/30/20225喻曉和主講網狀模型網狀模型中沒有層次模型中對結點間聯系的限制。其特點是:⑴.可有一個以上結點無父結點;⑵.至少有一個結點有多于一個以上的父結點。
這兩種模型的主要缺陷之一是表示實體與表示實體聯系用不同的方法,操作很復雜。2.關系模型一種基于關系代數運算之上的數據模型,是目前最為實用的數據模型。11/30/2022102喻曉和主講網狀模型11/30/20226喻曉和主講關系數據模型三要素完整描述一種數據模型包括三個要素,即:數據結構、數據操縱和數據約束。數據結構規定數據的存儲方式,在關系模型中就是關系;數據操縱指對數據的運算和操作,在關系模型中有關系代數和關系謂詞演算;數據約束對存放的數據進行限制,在關系模型中包括實體完整性、參照完整性和用戶定義的完整性。11/30/2022103喻曉和主講關系數據模型三要素11/30/20227喻曉和主講2.2關系運算一個關系是一張二維表。通常,一個完整的數據庫中會包括若干個有關聯的關系。在數據庫中,關系是數據分散的和靜態的存放形式,各關系中的數據經常要進行加工處理。對關系的操作稱為關系運算。由于關系是元組的集合,所以集合的并、交、差等也適用于關系。此外,關系還可以進行選擇、投影和連接運算。11/30/2022104喻曉和主講2.2關系運算11/30/20228喻曉和主講2.2.1關系的并、交、差關系的并(∪)、交(∩)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自我激勵與持續改進的方式計劃
- 軟件設計過程中的情境導向學習與培養策略試題及答案
- 網絡報告與分析的試題及答案
- 法學概論法律職業素養要求試題及答案
- 2024年安康紫陽縣醫療定向招聘筆試真題
- 2025屆福建省南平市邵武市四中學片區數學七下期末學業水平測試模擬試題含解析
- 高效備考軟考網絡管理員的試題及答案
- 確保代碼安全性的策略試題及答案
- 遼寧營口大石橋市水源鎮九一貫制學校2025屆數學八下期末復習檢測試題含解析
- 深入理解信息安全的關鍵技術試題及答案
- JC-T 1099-2023 硫鋁酸鈣改性硅酸鹽水泥
- 2025年陜西氫能產業發展有限公司招聘筆試參考題庫含答案解析
- T-CSPSTC 47-2020 裝配式機電工程BIM施工應用規程
- 年輕干部廉潔教育心得體會六篇
- 【MOOC】考古發現與中國文化-浙江大學 中國大學慕課MOOC答案
- 患者走失的護理應急預案
- 車隊安全操作手冊
- 廣東省廣州市2024年中考道德與法治試卷(含答案)
- 2025年中國陪診服務行業現狀、發展環境及投資前景分析報告
- 駕駛員安全培訓課件
- 5.1 《法不可違 》 課件 -2024-2025學年統編版道德與法治八年級上冊
評論
0/150
提交評論