版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)原理數(shù)據(jù)庫系統(tǒng)原理與應用技術(shù)與應用技術(shù)主講:陳漫紅主講:陳漫紅 北京聯(lián)合大學師范學院北京聯(lián)合大學師范學院 電氣信息系電氣信息系第2章 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) n2.1 現(xiàn)實世界的數(shù)據(jù)描述現(xiàn)實世界的數(shù)據(jù)描述 n2.2概念數(shù)據(jù)模型概念數(shù)據(jù)模型 n2.3結(jié)構(gòu)數(shù)據(jù)模型結(jié)構(gòu)數(shù)據(jù)模型 n2.4 數(shù)據(jù)庫系統(tǒng)的組成與結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的組成與結(jié)構(gòu)n2.5 本章小結(jié)本章小結(jié) 21 現(xiàn)實世界的數(shù)據(jù)描述現(xiàn)實世界的數(shù)據(jù)描述 2.1.1 數(shù)據(jù)描述數(shù)據(jù)描述 2.1.2 數(shù)據(jù)模型數(shù)據(jù)模型2.1.1 數(shù)據(jù)描述數(shù)據(jù)描述n例如例如:我們可用如下信息來描述一個職工:我們可用如下信息來描述一個職工:(190002,王越,男,王越,男,
2、1981-6-25,北京市西城,北京市西城區(qū)二龍路區(qū)二龍路12號樓號樓3-102號,號)。這一行數(shù)據(jù)我們稱其為一。這一行數(shù)據(jù)我們稱其為一條記錄,但我們很難知道其確切的含義條記錄,但我們很難知道其確切的含義.n但如果知道這行數(shù)據(jù)的含義,就可以得到如下信息但如果知道這行數(shù)據(jù)的含義,就可以得到如下信息:王越的職工號是:王越的職工號是190002,性別男,性別男,1981年年6月月25日出生,家住北京市西城區(qū)二龍路日出生,家住北京市西城區(qū)二龍路12號樓號樓3-102號,電話號,電郵箱為,郵箱為:。這種描述事物的記錄稱為數(shù)據(jù)這種描述事物的記錄稱為數(shù)據(jù).
3、 2.1.2 數(shù)據(jù)模型 n數(shù)據(jù)模型是對現(xiàn)實世界數(shù)據(jù)特征的抽象.包括以下方面的內(nèi)容:(1)數(shù)據(jù)的靜態(tài)特征,它包括對數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)間聯(lián)系的描述。(2) 數(shù)據(jù)的動態(tài)特征,一組定義在數(shù)據(jù)上的操作,包括操作的含義、操作符、運算規(guī)則及其語言等。 (3) 數(shù)據(jù)的完整性約束,這是一組規(guī)則,數(shù)據(jù)庫中的數(shù)據(jù)必須滿足這組規(guī)則。n 數(shù)據(jù)模型應滿足三方面要求:n一是能比較真實地模擬現(xiàn)實世界;n二是容易為人所理解;n三是便于在計算機上實現(xiàn)。 2.1.2 數(shù)據(jù)模型n不同的數(shù)據(jù)模型實際上是提供給我們模型化數(shù)據(jù)和信息的不同工具。n根據(jù)模型應用的不同目的,可以將這些模型劃分為兩類,它們分屬于兩個不同的層次。(1)概念模型,也稱信
4、息模型,它是按用戶的觀點對數(shù)據(jù)和信息建模。(2)數(shù)據(jù)模型,主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模。 2.1.2 數(shù)據(jù)模型n數(shù)據(jù)模型通常都是由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三個要素組成。(1)數(shù)據(jù)結(jié)構(gòu)n用于描述系統(tǒng)的靜態(tài)特性,是所研究的對象類型(object type)的集合。 (2) 數(shù)據(jù)操作n 描述系統(tǒng)的動態(tài)特性。數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。(3)數(shù)據(jù)的約束條件n 是一組完整性規(guī)則的集合。 2.2概念數(shù)據(jù)模型2.2.1基本概念基本概念2.2.2實體實體-聯(lián)系模型聯(lián)系模型2.2.1 基本概念基
5、本概念n1.概念層模型概念層模型也稱為概念模型或信息模型,它從數(shù)據(jù)的應用語義的角度來抽取模型,并按用戶的觀點對數(shù)據(jù)和信息進行建模。這類模型主要用于數(shù)據(jù)庫的設計階段,它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān)。 2.2.1 基本概念基本概念n 信息世界涉及的概念主要有:(1)實體(entity): 客觀存在并可相互區(qū)別的事物稱為實體。實體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。n在學校:學生、課程、教師、選課、班委等;n某企業(yè)集團:工廠、職工、產(chǎn)品等(2)屬性(attribute):實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。n學生的屬性:學號、姓名、年齡、性別、系、專業(yè)等;n產(chǎn)品
6、的屬性:產(chǎn)品編號、產(chǎn)品名、規(guī)格等 (3)碼(key):唯一標識實體的屬性集稱為碼。(4)域(domain):屬性的取值范圍稱為該屬性的域。例如:性別屬性的域為“男”或“女”(5)實體型(entity type):具有相同屬性的實體必然具有共同的特征和性質(zhì)。(6)實體集(entity set):同型實體的集合稱為實體集。(7)聯(lián)系(relationship):在信息世界中,事物的聯(lián)系反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。n實體內(nèi)部的聯(lián)系(一元聯(lián)系)n兩個實體間的聯(lián)系(二元聯(lián)系)-理解n多個實體間的聯(lián)系(多元聯(lián)系) 兩個實體型之間的聯(lián)系可以分為三類:n一對一聯(lián)系(1 1)如果對于實體集A中的每一個
7、實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系。記為1 1。例如:觀眾和座位n一對多聯(lián)系(1 n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系。記為1 n。例如:工廠和職工n多對多聯(lián)系(m n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m0)與之聯(lián)系,則稱實體集A與實體集B具有多對多聯(lián)系。記為m n。例如:學生和課程兩個實體型之間的聯(lián)系實例工
8、作部門職工1n學生課程選課mn管理經(jīng)理部門111:1聯(lián)系1:n聯(lián)系m:n聯(lián)系練習:判斷下列實體間的聯(lián)系類型n班級與班長(正)n班級與班委n班級與學生n供應商和商品n商店和顧客n工廠和產(chǎn)品n出版社和作者n商品和超市1:nm:nm:n1:11:12.2.2 實體-聯(lián)系模型 實體-聯(lián)系(Entity-Relationship)方法,即我們所說的E-R方法提供了表示實體型、屬性和聯(lián)系的方法。 n基本要素的表示方法n長方形實體n橢 圓屬性n菱 形聯(lián)系n說明:在相應的框內(nèi)要寫上實體名、屬性名或聯(lián)系名。nER圖的繪制方法2.2.2 實體-聯(lián)系模型實例n涉及的實體及屬性如下:n實體間的聯(lián)系如下: n若實體的屬
9、性太多,如何簡化ER圖n可在ER圖中只畫實體間的聯(lián)系,而實體及屬性用另一個圖表示。機器世界中的數(shù)據(jù)描述 n(1)字段 標志實體屬性的符號集叫字段(fields)或數(shù)據(jù)項。它是數(shù)據(jù)庫中可以命名的最小邏輯數(shù)據(jù)單位,所以又叫數(shù)據(jù)元素。字段的命名應該體現(xiàn)出屬性的具體含義。如學生表中可用Snum字段來表示學號屬性,Sbirth字段來表示學生的出生年月屬性等。n(2)記錄 字段的有序集合稱為記錄(record)。一般用一個記錄描述一個實體,所以記錄又可定義為能完整地描述一個實體的符號集。例如一個學生記錄由有序的字段集組成:學號、姓名、性別、出生年月、電話、系編號n(3)文件 同一類記錄的匯集稱為文件(fi
10、le)。文件是描述實體集的,所以它又可定義為描述一個實體集。例如所有的學生記錄組成了一個學生文件。n(4)鍵 能唯一標識文件中每個記錄的字段或字段集稱為鍵(key)。這個概念與實體的碼概念是一致的?,F(xiàn)實世界、信息世界和機器世界中,各術(shù)語的對應關(guān)系 表2-1 在三個不同世界中各術(shù)語的對應關(guān)系現(xiàn)實世界現(xiàn)實世界信息世界信息世界機器世界機器世界事物總體實體集文件事物個體實體記錄特征屬性字段事物之間的聯(lián)系實體模型數(shù)據(jù)模型2.3結(jié)構(gòu)數(shù)據(jù)模型n2.3.1層次數(shù)據(jù)模型層次數(shù)據(jù)模型n2.3.2網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型 n2.3.3關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型2.3.1 層次數(shù)據(jù)模型 n層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)
11、的數(shù)據(jù)模型,它用樹形結(jié)構(gòu)表示各類實體以及實體間的聯(lián)系。 1、層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(1)只有一個結(jié)點沒有雙親結(jié)點,稱之為根結(jié)點;(2)根以外的其他結(jié)點有且只有一個雙親結(jié)點。2.3.1 層次數(shù)據(jù)模型2、層次數(shù)據(jù)模型的操縱與完整性約束n層次數(shù)據(jù)模型的操縱主要有查詢、插入、刪除和更新。進行插入、刪除、更新操作時要滿足層次模型的完整性約束條件。n進行插入操作時,如果沒有相應的雙親結(jié)點值就不能插入子女結(jié)點值。n進行刪除操作時,如果刪除雙親結(jié)點值,則相應的子女結(jié)點值也被同時刪除。n進行更新操作時,應更新所有相應記錄,以保證數(shù)據(jù)的一致性。 2.3.1 層次數(shù)據(jù)模型3、層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 存儲層次數(shù)據(jù)庫不
12、僅要存儲數(shù)據(jù)本身,還要反映出數(shù)據(jù)之間的層次聯(lián)系,實現(xiàn)方法有兩種: (1)鄰接法:按照層次樹前序穿越的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序。 a1b1c1c2b2c3c43、層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(2)鏈接法:用指引元反映數(shù)據(jù)之間的層次聯(lián)系,如圖2-7所示。其中圖2-7(a)中每個記錄設兩類指引元,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟,這種鏈接方法稱為子女-兄弟鏈接法;圖2-7(b)是按樹的前序穿越順序鏈接各記錄值,這種鏈接方法稱為層次序列鏈接法。4、層次數(shù)據(jù)模型的優(yōu)缺點(1 1)層次數(shù)據(jù)模型的)層次數(shù)據(jù)模型的優(yōu)點主要有優(yōu)點主要有: 層次數(shù)據(jù)模型
13、本身比較簡單,只需很少幾條命令就能操縱數(shù)據(jù)庫,比較容易使用。對于實體間聯(lián)系是固定的,且預先定義好的應用系統(tǒng),采用層次模型來實現(xiàn),其性能優(yōu)于關(guān)系模型,不次于網(wǎng)狀模型。 層次數(shù)據(jù)模型提供了良好的完整性支持。(2 2)層次數(shù)據(jù)模型的)層次數(shù)據(jù)模型的缺點主要有缺點主要有: 現(xiàn)實世界中很多聯(lián)系是非層次性的,如多對多聯(lián)系、一個結(jié)點具有多個雙親等,層次模型表示這類聯(lián)系的方法只能通過引入冗余數(shù)據(jù)或創(chuàng)建非自然的數(shù)據(jù)組織來解決。對插入和刪除操作的限制比較多。查詢子女結(jié)點必須通過雙親結(jié)點。由于結(jié)構(gòu)嚴密,層次命令趨于程序化。 2.3.2 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型1、網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)庫中,把滿足以下兩個條件
14、的基本層次聯(lián)系集合稱為網(wǎng)狀數(shù)據(jù)模型:n允許一個以上的結(jié)點無雙親;n一個結(jié)點可以有多于一個的雙親。如圖2-8所示。其中(a)是一個簡單網(wǎng)狀結(jié)構(gòu),其記錄類型之間都是1 n的聯(lián)系。(b)是一個復雜網(wǎng)狀結(jié)構(gòu),學生與課程之間是m n的聯(lián)系. 2.3.2 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型2、網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束n網(wǎng)狀數(shù)據(jù)模型的操縱主要包括查詢、插入、刪除和更新數(shù)據(jù)。n由于網(wǎng)狀模型可以直接表示非樹形結(jié)構(gòu),而無需像層次模型那樣增加冗余結(jié)點,因此做更新操作時只需更新指定記錄即可。n查詢操作可以有多種方法,可根據(jù)具體情況選用。網(wǎng)狀數(shù)據(jù)模型沒有層次模型那樣嚴格的完整性約束條件 3、網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu) 網(wǎng)狀數(shù)據(jù)
15、模型的存儲結(jié)構(gòu)依具體系統(tǒng)不同而不同,常用的方法是鏈接法,包括單向鏈接、雙向鏈接、環(huán)狀鏈接、向首鏈接等,此外還有其他實現(xiàn)方法,如指引元陣列法、二進制陣列法、索引法等。 4、網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(1)網(wǎng)狀數(shù)據(jù)模型的優(yōu)點主要有: 能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親、允許結(jié)點之間為多對多的聯(lián)系等。 具有良好的性能,存取效率較高。(2)網(wǎng)狀數(shù)據(jù)模型的缺點主要有: 其DDL,DML語言極其復雜。 結(jié)構(gòu)比較復雜,而且隨著應用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復雜,不利于最終用戶掌握。2.3.3 關(guān)系數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。 1、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模
16、型與以往的模型不同,它是建立在嚴格的數(shù)據(jù)概念的基礎上的。在用戶看來,一個關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。 表表2-2 學生檔案關(guān)系模型示例學生檔案關(guān)系模型示例學號姓名年齡性別所在系籍貫年級05001李明20男計算機江蘇200505002張靈19女管理科學湖南200505003王鵬21男機械工程北京2005n關(guān)系應具備的性質(zhì)n關(guān)系中每一個屬性值都是不可分解的。n關(guān)系中不允許出現(xiàn)相同的行。n關(guān)系中不允許出現(xiàn)相同的列。n關(guān)系中沒有行序、沒有列序。關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(1)關(guān)系(relation):一個關(guān)系對應通常說的表,如表2-2中的這張學生檔案表;(2)元組(tuple):表中的
17、一行即為一個元組;(3)屬性(attribute):表中的一列即為一個屬性;(4)主碼(key):表中的某個屬性組,它可以唯一確定一個元組;(5)域(domain):屬性的取值范圍 ;(6)分量:元組中的一個屬性值;(7)關(guān)系模式(relation schema):對關(guān)系的描述,即為二維表的表頭結(jié)構(gòu)。 關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系模式必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,也就是說,不允許表中還有表。 u該表中有幾個元組(記錄)?u該表中有多少個屬性?第4個元組的屬性值分別是多少?u什么是域?年齡的域可以是多少?u什么是關(guān)
18、鍵字(碼/鍵)?哪些屬性可以作為該表的候選關(guān)鍵字?該表的主關(guān)鍵字(主碼/主鍵)是什么?該表的非主屬性有哪些?哪個屬性可以作為外關(guān)鍵字(外碼/外鍵)?學號姓名性別年齡系編號0901101馬力剛男21010902102王萍華女20020903223王平男21030904103張華男22040905301李萍女19052.3.3 關(guān)系數(shù)據(jù)模型 2、關(guān)系數(shù)據(jù)模型的操縱與完整性約束 n關(guān)系數(shù)據(jù)模型的操縱主要包括查詢、插入、刪除和更新數(shù)據(jù)。這些操作必須滿足關(guān)系的完整性約束條件。關(guān)系的完整性約束條件包括三大類:實體完整性、參照完整性和用戶定義的完整性。 3、關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu)n關(guān)系數(shù)據(jù)模型中,實體及實體
19、間的聯(lián)系都用表來表示。在數(shù)據(jù)庫的物理組織中,表以文件形式存儲,每一個表通常對應一種文件結(jié)構(gòu)。4、關(guān)系數(shù)據(jù)模型的優(yōu)缺點n優(yōu)點:(1)關(guān)系模型與非關(guān)系模型不同,它是建立在嚴格的數(shù)學概念的基礎上的。(2)關(guān)系模型的概念單一。無論實體還是實體之間的聯(lián)系都用關(guān)系來表示。對數(shù)據(jù)的檢索結(jié)果也是關(guān)系(即表)。所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用。(3)關(guān)系模型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性,更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。所以關(guān)系數(shù)據(jù)模型誕生以后發(fā)展迅速,深受用戶的喜愛。n缺點:由于存取路徑對用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。因此,為了提高性能,必須對用
20、戶的查詢請求進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的負擔。 將ER圖轉(zhuǎn)化為關(guān)系模式/表n關(guān)系模式的含義n對關(guān)系的信息結(jié)構(gòu)及語義限制的描述。n關(guān)系模式的表示方法n用關(guān)系名和包含的屬性名的集合表示。n例如:學生(學號,姓名,性別,年齡,系編號)n表的含義n用二維表格表示的一個關(guān)系。將ER圖轉(zhuǎn)化為關(guān)系模式/表n1. 基本概念n關(guān)系模式與關(guān)系的區(qū)別v關(guān)系模式是對關(guān)系結(jié)構(gòu)的定義,是對關(guān)系“型”的描述。關(guān)系是二維表格,是對“值”的描述v一般說來,關(guān)系模式是相對穩(wěn)定、不隨時間變化的。關(guān)系是隨時間動態(tài)變化的,關(guān)系中的數(shù)據(jù)在不斷更新。n例如:在學生表中,由于學生的入學、退學和畢業(yè)等原因,學生關(guān)系是經(jīng)常變化的,但其結(jié)
21、構(gòu)以及對數(shù)據(jù)的限制是不會改變的。 說明:關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系。將ER圖轉(zhuǎn)化為關(guān)系模式/表n2. 轉(zhuǎn)化原則(1)每個實體轉(zhuǎn)換為一個關(guān)系。n實體的屬性就是關(guān)系的屬性。n實體的碼作為關(guān)系的碼。(2)每個聯(lián)系(二元的)也轉(zhuǎn)換成一個關(guān)系。n與關(guān)系相連的,各個實體的碼、聯(lián)系的屬性轉(zhuǎn)換成關(guān)系的屬性。n關(guān)系的碼如下:n對于1:1的聯(lián)系,每個實體的碼均是該聯(lián)系關(guān)系的候選碼n對于1:N的聯(lián)系,關(guān)系的碼是N端實體的碼。n對于M:N的聯(lián)系,關(guān)系的碼是諸實體碼的組合。(3)有相同碼的關(guān)系可以合并。二、將ER圖轉(zhuǎn)化為關(guān)系模式/表n3. 應用舉例將以下ER圖轉(zhuǎn)化為關(guān)系模式和表,并寫出主關(guān)鍵字和外關(guān)鍵字。二、將ER圖
22、轉(zhuǎn)化為關(guān)系模式/表解答:轉(zhuǎn)化為關(guān)系模式教師(教師號,姓名,性別,職稱,專業(yè))n主關(guān)鍵字:教師號n學生(學號,姓名,性別,年齡,專業(yè)) n主關(guān)鍵字:學號n課程(課程號,課程名,學時數(shù),學分,教材) n主關(guān)鍵字:課程號二、將ER圖轉(zhuǎn)化為關(guān)系模式/表n選課(學號,課程號,成績)n主關(guān)鍵字:學號+課程號 外關(guān)鍵字:學號、課程號n授課(教師號,課程號)n主關(guān)鍵字:教師號+課程號 外關(guān)鍵字:教師號、課程號n指導(學號,教師號,時間,地點)n主關(guān)鍵字:學號 外關(guān)鍵字:教師號 n學生實體和指導聯(lián)系可合并。解答:轉(zhuǎn)化為表n什么是關(guān)鍵字/碼/鍵?n什么是主關(guān)鍵字/主碼/主鍵?nER圖轉(zhuǎn)化為關(guān)系模式的原則是什么?n
23、關(guān)系應具備什么性質(zhì)?答:是能用來惟一標識元組的屬性或?qū)傩越M合。答:被指定為關(guān)鍵字的候選關(guān)鍵字,稱為。答:(1)關(guān)系的完整性規(guī)則、規(guī)范化n關(guān)系的完整性規(guī)則n定義n是對關(guān)系的某種約束條件。n目的n用于保證關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的正確性和可靠性。n類型n實體完整性規(guī)則n參照完整性規(guī)則(引用完整性規(guī)則 )n域完整性規(guī)則(用戶自定義完整性規(guī)則)是關(guān)系模型必須滿足的完整性約束條件。是關(guān)系模型必須滿足的完整性約束條件。1.實體完整性規(guī)則n規(guī)則要求:n在任何關(guān)系的任何一個元組中,主鍵的值不能為空值、也不能取重復的值。n目的:用于保證數(shù)據(jù)庫表中的每一個元組都是惟一的。請思考:下面的關(guān)系是否違反實體完整性規(guī)則?學號姓名
24、性別年齡系編號03001馬力剛男210103102王萍華女200203223王平男2103張華男220403001李萍女19052.域完整性規(guī)則(用戶定義完整性規(guī)則)n規(guī)則要求n由用戶根據(jù)實際情況,定義表中屬性的取值范圍n例如:性別只能是男和女、年齡不能為負值、成績在0100之間等。n目的n用于保證給定字段中數(shù)據(jù)的有效性,即保證數(shù)據(jù)的取值在有效的范圍內(nèi)。3.參照完整性規(guī)則(引用完整性規(guī)則)n規(guī)則要求:n“不引用不存在的實體”。即:不允許在一個關(guān)系中引用另一個關(guān)系中不存在的元組。n目的n用于確保相關(guān)聯(lián)的表間的數(shù)據(jù)保持一致。請思考:下面兩個關(guān)系是否違反參照完整性規(guī)則? 系表(主表) 學生表(從表)
25、n說明n從表的“系編號(外鍵)”的取值只能為兩種情況:n若取非空值,則它必須是主表中存在的值。n取空值(null)。表明尚未給學生分配專業(yè)。Null不等于0或空字符串。系編號系名系主任辦公室電話01計算機龔小勇205600302通信譚中華207602503電子袁勇2106018學號姓名性別年齡系編號09001馬力剛男210109102王萍華女20 09223王平男2105關(guān)系的規(guī)范化n在關(guān)系數(shù)據(jù)庫的設計過程中,對于同一個問題,選用不同的關(guān)系模式,其性能的優(yōu)劣是大不相同的,為了區(qū)分關(guān)系模式的優(yōu)劣,人們常常把關(guān)系模式分為各種不同等級的范式。n類型n第一范式(1NF)n第二范式(2NF)n第三范式(
26、3NF) n關(guān)系規(guī)范化的概念n將低級范式轉(zhuǎn)換為若干個高級范式過程。第一范式(1NF)n定義n如果關(guān)系模式R的所有屬性的值域中第一個值都是不可再分解值,則稱R是屬于1NF模式。n第一范式是對關(guān)系的最低要求。n示例:判斷哪一張表是1NF?第二范式(2NF)n定義n如果關(guān)系模式R為第一范式,且R中每個非主屬性完全函數(shù)依賴于R的主碼(復合碼),則稱R為2NF模式。n示例n下列關(guān)系模式是1NF,是否是2NF?為什么?SCD(學號,姓名,課程號,成績,系名,系主任)n主碼為復合碼:學號+課程號n解決方法:消除部分函數(shù)依賴。n分解為2NF的方法:n把關(guān)系模式中對主碼完全函數(shù)依賴的非主屬性與決定它們的主碼放在
27、一個關(guān)系模式中。n把對主碼部分函數(shù)依賴的非主屬性和決定它們的主屬性放在一個關(guān)系模式中。n檢查分解后的新模式,如果仍不是2NF,則繼續(xù)按照前面的方法進行分解,直到達到要求。n關(guān)系模式SCD的分解結(jié)果如下:nSC(學號,課程號,成績)nSD(學號,姓名,系名,系主任)第三范式(3NF)n定義n如果關(guān)系模式R為第二范式,且R中每個非主屬性都不傳遞函數(shù)依賴于R的某個候選碼,則稱R為3NF模式。n示例n下列關(guān)系模式是2NF,是否為3NF?為什么?SD(學號,姓名,系名,系主任)n解決方法:消除傳遞函數(shù)依賴。n分解為3NF的方法:n把直接對主碼函數(shù)依賴的非主屬性與決定它們的主碼放在一個關(guān)系模式中。n把造成
28、傳遞函數(shù)依賴的決定因素連同被它們決定的屬性放在一個關(guān)系模式中。n檢查分解后的新模式,如果不是3NF,則繼續(xù)按照前面的方法進行分解,直到達到要求。n關(guān)系模式SD的分解結(jié)果如下:nSD1(學號,姓名,系名)nSD2(系名,系主任)各范式間的關(guān)系2.4 數(shù)據(jù)庫系統(tǒng)的組成與結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的組成與結(jié)構(gòu) 2.4.1 數(shù)據(jù)庫系統(tǒng)的組成 圖2-10 數(shù)據(jù)庫系統(tǒng)的組成2.4.2 三級模式結(jié)構(gòu) 圖2-11 數(shù)據(jù)庫系統(tǒng)的三級模式 2.4.2 三級模式結(jié)構(gòu)1、模式(Schema)n模式也稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,也與具體的應用程序,也與所使用的應用開發(fā)工具無關(guān)。2、外模式(External Schema)n 外模式也稱子模式(Subschema)或用戶模式,它是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見的和使用的局部的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關(guān)的數(shù)據(jù)的邏輯表示。3、內(nèi)模式(Internal Schema)n 內(nèi)模式也稱存儲模式(Storage Schema),一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)庫內(nèi)部的表示方法。 2.4.3 二級映
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川西南航空職業(yè)學院《視傳藝術(shù)考察》2023-2024學年第一學期期末試卷
- 2024年花卉產(chǎn)業(yè)扶貧項目合作合同協(xié)議3篇
- 二零二五年度按揭貸款房屋改造貸款合同范本2篇
- 2024影視行業(yè)人才中介服務合同
- 二零二五版戶外廣告牌制作、安裝與維護全流程服務合同3篇
- 紹興文理學院元培學院《影視動畫海報設計》2023-2024學年第一學期期末試卷
- 個人所得稅代扣代繳協(xié)議(2024年版)
- 二零二五年度水泥管行業(yè)市場競爭策略合同
- 二零二五年度專業(yè)安保公司員工勞動合同范本2篇
- 山東輕工職業(yè)學院《期貨投資》2023-2024學年第一學期期末試卷
- 《胃癌靶向治療》課件
- 2024-2025學年遼寧省沈陽市高一上學期1月期末質(zhì)量監(jiān)測數(shù)學試題(含解析)
- 《少兒主持人》課件
- 北京市朝陽區(qū)2024-2025學年高二上學期期末考試生物試卷(含答案)
- 2025年西藏拉薩市柳梧新區(qū)城市投資建設發(fā)展集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025年部編版一年級語文上冊期末復習計劃
- 儲罐維護檢修施工方案
- 地理2024-2025學年人教版七年級上冊地理知識點
- 2024 消化內(nèi)科專業(yè) 藥物臨床試驗GCP管理制度操作規(guī)程設計規(guī)范應急預案
- 2024-2030年中國電子郵箱行業(yè)市場運營模式及投資前景預測報告
- 基礎設施零星維修 投標方案(技術(shù)方案)
評論
0/150
提交評論