版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 關(guān)系數(shù)據(jù)庫,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.1 關(guān)系模型 2.2 關(guān)系模式 2.3 關(guān)系代數(shù) 2.4 關(guān)系數(shù)據(jù)庫規(guī)范化理論 小結(jié),內(nèi) 容,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.1 關(guān)系模型,2.1.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.1.2 關(guān)系操作 2.1.3 完整性約束,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.1.1 關(guān)系數(shù)據(jù)結(jié)構(gòu),一個關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。 關(guān)系:對應(yīng)通常所說的二維表; 元組:表中的一行即為一個元組; 屬性:表中的一列即為一個屬性; 主關(guān)鍵字:表中的某個屬性組,它可唯一確定一個元組; 域:
2、屬性的取值范圍; 分量:元組中的一個屬性值; 關(guān)系模式:對關(guān)系的描述,一般表示為: 關(guān)系名(屬性1,屬性2,屬性n) 在關(guān)系模型中,實體以及實體間的聯(lián)系都是用關(guān)系來表示的。, ,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,學(xué)生登記表,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.1.2 關(guān)系操作,關(guān)系操作采用集合操作方式,即操作的對象和結(jié)果都是集合。這種操作方式也稱為一次一個集合的方式。 非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作則為一次一個記錄的方式。 常用的關(guān)系操作包括: 選擇、投影、連接、除、并、交、差等查詢操作和增、刪、改操作兩部分。 查詢的表達能力是其中最重要的部分。, ,數(shù)據(jù)庫
3、原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系模型中關(guān)系操縱能力早期是用代數(shù)方法或邏輯方法來表示,稱為: 關(guān)系代數(shù):用對關(guān)系的運算來表達查詢要求的方式。 關(guān)系演算:用謂詞來表達查詢要求的方式。 關(guān)系演算按謂詞基本對象是元組變量還是域變量分為: 元組關(guān)系演算、域關(guān)系演算,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算三種語言在表達能力上完全等價。 關(guān)系語言是一種高度非過程化的語言,用戶不必請求數(shù)據(jù)管理員為他建立特殊的存取路徑,存取路徑的選擇由DBMS的優(yōu)化機制來完成。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,介于關(guān)系代數(shù)和關(guān)系演算之間
4、的語言稱為:結(jié)構(gòu)化查詢語言SQL 。 SQL不僅具有豐富的查詢功能,而且還具有數(shù)據(jù)定義和數(shù)據(jù)控制功能,是集查詢、DDL和數(shù)據(jù)控制語言簡稱于一體的關(guān)系數(shù)據(jù)語言。 SQL充分體現(xiàn)了關(guān)系數(shù)據(jù)語言的特點和優(yōu)點,是RDB的標準語言。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.1.3 關(guān)系的完整性約束,由于關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的不斷更新,為了維護數(shù)據(jù)庫中的數(shù)據(jù)與現(xiàn)實世界的一致性,必須對關(guān)系數(shù)據(jù)庫加以約束,關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。 關(guān)系模型中的完整性約束有:域完整性約束(Domain Integrity Constraint)、實體完整性約束(Entity Integrity
5、 Constraint)、參照完整性約束(Referential Integrity Constrain)和用戶定義完整性約束。 其中實體完整性約束和參照完整性約束是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個不變性,應(yīng)該由DBMS自動支持。, ,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,在介紹各種完整性約束之前,先介紹幾個相關(guān)的概念。 候選鍵(Candidate Key) 若關(guān)系中的某一屬性組的值能惟一的標識一個元組,則稱該屬性組為候選鍵。 主屬性(Primary Attribute) 若關(guān)系中的一個屬性是構(gòu)成某一個候選鍵的屬性集中的一個屬性,則稱該屬性為主屬性。 主鍵
6、若一個關(guān)系中有多個候選鍵,則選定一個為主鍵。如表2-1學(xué)生登記表中的“學(xué)號”,就可以是一個主鍵。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅, 外鍵(Foreign Key) 設(shè)F是基本關(guān)系R的一個或一組屬性,但不是R的鍵(主鍵或候選鍵),如果F與基本關(guān)系S的主鍵K相對應(yīng),則稱F是R的外鍵,并稱R為參照關(guān)系,S為被參照關(guān)系??梢岳斫鉃椋喝绻粋€屬性是所在關(guān)系之外的另一關(guān)系的主鍵,該屬性就是它所在關(guān)系的外鍵。外鍵就是外部表的主鍵,如表2-2和表2-3所示。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,表2-2 學(xué)生登記表中“學(xué)號”為主鍵,表2-3 考試表中“學(xué)號”為外鍵,數(shù)據(jù)
7、庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,完整性約束: 1. 域完整性約束 2. 實體完整性約束 3. 參照完整性約束 4. 用戶定義完整性約束,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,1.域完整性約束,域完整性約束:關(guān)系中屬性的值應(yīng)是域中的值,并由語義決定其能否為空值(NULL)。 NULL是用來說明在數(shù)據(jù)庫中某些屬性值可能是未知的,或在某些場合下是不適應(yīng)的一種標志。如在教師關(guān)系T中,對一個新調(diào)入的教師在未分配具體單位之前,屬性“系部”一列可以取空值。 域完整性約束是最簡單、最基本的約束。在當今的RDBMS中,一般都有域完整性約束檢查功能。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系
8、數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2. 實體完整性約束,實體完整性約束:關(guān)系中的主鍵不能為空值。 因為關(guān)系中的每一行都代表一個實體,而任何實體都應(yīng)是可以區(qū)分的,而從主鍵的定義我們知道,主鍵的值正是區(qū)分實體的惟一標識。如果主鍵值為空,則意味著實體是不可區(qū)分的,或者說主鍵失去了惟一標識元組的作用。 如表2-2學(xué)生登記表中,如果一個學(xué)生沒有學(xué)號,由于“姓名”、“性別”、“年齡”、“班級號”都不能惟一標識每一個學(xué)生實體,所以,該學(xué)生登記表若要滿足實體完整性,“學(xué)號”這一列必須不能有空值,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,3. 參照完整性約束,參照完整性約束:關(guān)系的外鍵必須是另一個關(guān)系主鍵的
9、有效值,或者是空值。 如果關(guān)系的外鍵存在一個值,則這個值必須是另一個關(guān)系中主鍵的有效值?;蛘哒f,外鍵可以沒有值,但不允許是一個無效值。 如表2-4和表2-5所示。如果考試表中的“學(xué)號”不是學(xué)生登記表的“學(xué)號”的值,則稱考試表的數(shù)據(jù)違背了參照完整性。 表2-5中的學(xué)號011090就違背了參照完整性。, ,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,表2-4 學(xué)生登記表,表2-5 考試表,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,參照完整性是不同關(guān)系之間或同一關(guān)系的不同元組之間的一種約束。在使用參照完整性約束時,有三點需要注意: 外鍵和相應(yīng)的主鍵可以不同名,只要定義在相同的值
10、域上即可。 R和S也可以是同一個關(guān)系模式,表示了同一個關(guān)系中不同元組之間的聯(lián)系。例如若表示學(xué)生的關(guān)系模式學(xué)生(學(xué)號、姓名、性別、年齡、班長學(xué)號),其主鍵是“學(xué)號”,而“班長學(xué)號”是外鍵,表示“班長學(xué)號”值一定是存在的某個“學(xué)號”的值,表示班長一定是某位同學(xué),而不是別的人。 外鍵的值是否為空值,應(yīng)視具體情況而定。若外鍵是其所在關(guān)系中主鍵中的成分時,則外鍵的值不允許為空值(如表2-5所示的考試表),否則允許為空值。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,4. 用戶定義完整性約束,用戶定義完整性約束:針對某一具體數(shù)據(jù)的約束條件,又應(yīng)用環(huán)境決定。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北
11、財經(jīng)大學(xué) 李紅,由于不同的數(shù)據(jù)庫系統(tǒng)所應(yīng)用的環(huán)境不同,往往需要用戶根據(jù)需要制定一些特殊的約束條件。用戶按照實際的數(shù)據(jù)庫運行環(huán)境要求,對關(guān)系中的數(shù)據(jù)定義約束條件,它反映的是某一具體應(yīng)用所涉及的數(shù)據(jù)必須要滿足的語義要求。 例如:考試表中“成績”的取值范圍是0100,學(xué)生登記表中“性別”的取值為“男”和“女”等,都是針對具體關(guān)系提出的完整性約束條件。 DBMS應(yīng)該提供定義和檢查這類完整性的機制,以便用統(tǒng)一的系統(tǒng)方法處理它們,不再由應(yīng)用程序承擔這項工作。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,總之,關(guān)系數(shù)據(jù)模型中存在完整性約束。為了保持數(shù)據(jù)庫的一致性和正確性,必須使數(shù)據(jù)庫中的數(shù)據(jù)滿足完
12、整性約束。 至于完整性約束檢查,哪些由DBMS負責(zé),哪些由用戶負責(zé),完全取決于技術(shù)條件。 從發(fā)展趨勢來看,DBMS將逐步擴大其完整性約束檢查功能。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.2 關(guān)系模式,2.2.1 關(guān)系概念模式 2.2.2 關(guān)系內(nèi)模式 2.2.3 關(guān)系外模式, ,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系模式是對關(guān)系的描述。 關(guān)系是關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容。 關(guān)系模式是型,關(guān)系是它的值。 關(guān)系模式是靜態(tài)的、穩(wěn)定的,關(guān)系是動態(tài)的、隨時間不斷變化的,因為關(guān)系操作在不斷地更新著DB中的數(shù)據(jù)。 RDB具有三級模式:概念模式、內(nèi)模式、外模式。,數(shù)據(jù)
13、庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.2.1 關(guān)系概念模式,關(guān)系概念模式主要包括出現(xiàn)在DB中的每個關(guān)系的說明,它包括對關(guān)系名、屬性名和屬性取值范圍(類型)的說明。 在關(guān)系數(shù)據(jù)模型中可不說明關(guān)系與關(guān)系間的聯(lián)系。關(guān)系與關(guān)系間的聯(lián)系是通過連接屬性實現(xiàn)的。 例:有如下兩個關(guān)系: 班級(班級號,班級名,人數(shù)) 學(xué)生(學(xué)號姓名,性別,年齡,班級號) 相應(yīng)屬性取值類型和寬度如下表所示。, ,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,班級與學(xué)生關(guān)系說明,分級圖,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.2.2 關(guān)系內(nèi)模式,從原理上講,關(guān)系內(nèi)模式與其他類型DBS的內(nèi)模
14、式?jīng)]有什么不同,RDB中的每個基本表都應(yīng)對應(yīng)一個存儲文件。 基于主關(guān)鍵字進行直接存取,一般可根據(jù)主關(guān)鍵字建立相應(yīng)索引。 在關(guān)系內(nèi)模式中不用說明存儲文件,存儲文件的說明由RDBMS根據(jù)基本表的定義自動映射產(chǎn)生。 在關(guān)系內(nèi)模式主要內(nèi)容中要說明的是索引。, 分級圖,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.2.3 關(guān)系外模式,外模式是概念模式的邏輯子集,是用戶與DBS的接口,是對用戶所用到的那部分數(shù)據(jù)的描述。 在RDB中,外模式被稱作視圖(VIEW)。, 分級圖,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,DB分級結(jié)構(gòu)圖,應(yīng)用程序A,應(yīng)用程序B,應(yīng)用程序C,外模式,外模式,
15、模式,外模式/模式 映射,模式/內(nèi)模式 映射,外模式/模式 映射,DBMS,用戶,用戶,用戶,2.2.1 2.2.2 2.2.3,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.3 關(guān)系代數(shù),2.3.1 傳統(tǒng)的集合運算 2.3.2 特殊的關(guān)系運算, ,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系代數(shù)是一種抽象的查詢語言,通過對關(guān)系的運算來表達查詢,關(guān)系代數(shù)的運算對象和運算結(jié)果是關(guān)系。 關(guān)系代數(shù)的運算按運算符不同分為傳統(tǒng)集合運算和特殊關(guān)系運算兩類。 關(guān)系代數(shù)的作用如下:,模型化,查詢,客觀現(xiàn)實,關(guān)系型數(shù)據(jù)庫模型,關(guān)系代數(shù),請按鍵,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)
16、大學(xué) 李紅,2.3.1 傳統(tǒng)的集合運算,1. 并運算 2. 交運算 3. 差運算 4. 笛卡爾積運算, ,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,傳統(tǒng)的集合運算是二元運算,它將關(guān)系看作是元組的集合,參與運算的關(guān)系具有相同的目(度),相應(yīng)的屬性取自同一個域,且兩個關(guān)系具有相同的結(jié)構(gòu)。 設(shè)關(guān)系R和S均是n元關(guān)系,且相應(yīng)的屬性值取自同一個值域,則可以定義: 并運算、交運算、差運算、笛卡爾積運算,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系R與關(guān)系S,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,1. 并運算,是指將一個關(guān)系的元組加到另一個關(guān)系中,生成新的關(guān)系。 元
17、組在新的關(guān)系中出現(xiàn)的順序是無關(guān)緊要的,但必須消除重復(fù)元組。 關(guān)系R和S的并運算記為RS。 為使操作有意義,關(guān)系在并運算上必須是兼容的,即關(guān)系R和關(guān)系S必須要有相同的屬性,且在對應(yīng)列中的屬性必須是相同的域; 例:若一個關(guān)系中的第四個屬性取自年齡域,則第二個關(guān)系的第四個屬性也必須取自年齡域。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,R與S的并集及結(jié)果,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2. 交運算,是包含同時出現(xiàn)在第一和第二個關(guān)系中的元組的新關(guān)系。 這些關(guān)系也必須是在并運算上兼容的。 關(guān)系R和S的交運算記為RS。 R與S的交集及結(jié)果,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)
18、據(jù)庫東北財經(jīng)大學(xué) 李紅,3. 差運算,指包括在第一個關(guān)系中出現(xiàn)而在第二個關(guān)系中不出現(xiàn)的元組的新關(guān)系。 差運算使用的關(guān)系也必須是在并運算上兼容的。如在算術(shù)運算中那樣,減法是有順序的,R-S和S-R是不同的。 R與S的差及結(jié)果,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,4. 笛卡爾積運算,一個關(guān)系中的每個元組和第二個關(guān)系的每個元組的連接。 關(guān)系R(含m個元組)和關(guān)系S(含n個元組)的積有mn個元組。 記為: RXS=(al,a2,am,b1,b2,bn)|(al,a2,am)R(b1,b2,bn)S,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系R與S笛卡爾積的結(jié)果,數(shù)據(jù)庫
19、原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.3.2 特殊的關(guān)系運算,1. 選擇運算 2. 投影運算 3. 連接運算,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,1. 選擇運算,一元關(guān)系操作,按給定的選擇條件選出符合條件的元組。 可表示為: 其中: 選擇條件是邏輯表達式,取值為“真”或假”。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,例3:在學(xué)生關(guān)系中選擇年齡為19歲的男生。 選擇操作的結(jié)果:,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2. 投影運算,一元關(guān)系操作。選取關(guān)系的某些屬性。 是對一個關(guān)系進行垂直分割,消去某些屬性,并重新安排屬性的順序,再刪去
20、重復(fù)的元組,生成一個新關(guān)系。 投影運算表示為: 其中,屬性表是要選擇的屬性,各屬性間用逗號間隔。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,例4:查詢學(xué)生關(guān)系在學(xué)號、姓名、年齡三個屬性上的投影,可表示為: 投影運算的結(jié)果:,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,3. 連接運算,二元關(guān)系操作,以 符號表示。定義為: 從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組。 連接條件為兩個關(guān)系中對應(yīng)屬性的比較,不一定同名,但域相同。 常用的連接運算: 等值連接:從兩個關(guān)系(R、S)的笛卡爾積中選取屬性(A、B)值相等的元組; 自然連接:特殊的等值連接,在等值連接中取消重復(fù)屬
21、性。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,例5:對學(xué)生與考試關(guān)系進行等值連接、自然連接和迪卡爾積運算,結(jié)果為:,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,連接與笛卡爾積的區(qū)別: 笛卡爾乘積包含兩關(guān)系的所有元組的組合,連接只包含那些滿足連接條件的元組的組合。 沒有連接條件,即無條件連接,則連接變成笛卡爾乘積。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.4 關(guān)系數(shù)據(jù)庫規(guī)范化理論,2.4.1 關(guān)系模式規(guī)范化的必要性 2.4.2 數(shù)值依賴 2.4.3 范式與規(guī)范化 2.4.4 關(guān)系分解原則,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系數(shù)據(jù)庫是
22、以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫,它利用關(guān)系描述現(xiàn)實世界。一個關(guān)系即可用來描述一個實體及其屬性,也可用來描述實體間的一種聯(lián)系。 關(guān)系模式是用來定義關(guān)系的,一個關(guān)系數(shù)據(jù)庫包含一組關(guān)系,定義這組關(guān)系的關(guān)系模式的全體就構(gòu)成了該數(shù)據(jù)庫的模式。 關(guān)系數(shù)據(jù)庫的設(shè)計歸根到底是如何構(gòu)造關(guān)系,即如何把具體的客觀事物劃分為幾個關(guān)系,而每個關(guān)系又由哪些屬性組成,就是要構(gòu)造“好的”、“合適”的關(guān)系模式,它涉及一系列的理論與方法,形成了關(guān)系數(shù)據(jù)庫的模式設(shè)計理論和技術(shù)。 由于合適的關(guān)系模式要符合一定的規(guī)范化要求,所以又稱其為關(guān)系數(shù)據(jù)庫的規(guī)范化理論。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,為了消除冗余和潛在的更新異
23、常,關(guān)系數(shù)據(jù)庫的規(guī)范化理論為關(guān)系模式確定了多種范式。 所謂范式(Noranal Form)是指規(guī)范化的關(guān)系模式。由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,從1971年起,E.F.Codd相繼提出了第一范式(1NF)、第二范式(2NF)、第三范式(3NF),Codd與Boyce合作提出了Boyce-Codd范式(BCNF)。在19761978年間,F(xiàn)agin、Delobe以及Zaniolo又定義了第四范式。到目前為止,已經(jīng)提出了第五范式(5NF)。 滿足最基本規(guī)范化的關(guān)系模式叫第一范式,第一范式的關(guān)系模式再滿足另外一些約束條件就產(chǎn)生了第二范
24、式、第三范式、BC范式等等。每種范式都規(guī)定了一些限制約束條件。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.4.1 關(guān)系模式規(guī)范化的必要性,1. 關(guān)系模式應(yīng)滿足的條件 2. 關(guān)系規(guī)范化可能出現(xiàn)的問題,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,關(guān)系數(shù)據(jù)庫的設(shè)計主要是關(guān)系模式的設(shè)計。 關(guān)系模式設(shè)計的好壞將直接影響到數(shù)據(jù)庫設(shè)計的成敗。 將關(guān)系模式規(guī)范化,使之達到較高的范式是設(shè)計好關(guān)系模式的唯一途徑。否則,所設(shè)計的關(guān)系數(shù)據(jù)庫會產(chǎn)生一系列的問題。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,1.關(guān)系模式應(yīng)滿足的條件,關(guān)系數(shù)據(jù)庫是根據(jù)關(guān)系模式設(shè)計的。好的關(guān)系模式除了能滿
25、足用戶對信息存儲和查詢的基本要求外,還應(yīng)當使它的數(shù)據(jù)庫滿足如下要求。 元組的每個分量必須是不可分的數(shù)據(jù)項 關(guān)系數(shù)據(jù)庫特別強調(diào),關(guān)系中的屬性不能是組合屬性,必須是基本項,并把這一要求規(guī)定為鑒別表格是否為“關(guān)系”的標準。如果表格結(jié)構(gòu)的數(shù)據(jù)項都是基本項,則該表格為關(guān)系,它服從關(guān)系模式的第一范式,以后可以在此基礎(chǔ)上進一步規(guī)范化。否則,如果表格結(jié)構(gòu)中含有組合項,必須先使之轉(zhuǎn)換為基本數(shù)據(jù)項。因為關(guān)系的一切數(shù)學(xué)理論都是基于關(guān)系服從于第一范式基礎(chǔ)之上的。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅, 數(shù)據(jù)庫中的數(shù)據(jù)冗余應(yīng)盡可能少 數(shù)據(jù)冗余大是指數(shù)據(jù)庫中重復(fù)的數(shù)據(jù)過多?!皵?shù)據(jù)冗余”是數(shù)據(jù)庫最忌諱的毛病
26、,數(shù)據(jù)冗余會使數(shù)據(jù)庫中的數(shù)據(jù)量巨增,系統(tǒng)負擔過重,并浪費大量的存儲空間。數(shù)據(jù)冗余還可能造成數(shù)據(jù)的不完整,增加數(shù)據(jù)維護的代價。數(shù)據(jù)冗余還會造成數(shù)據(jù)查詢和統(tǒng)計的困難,并導(dǎo)致錯誤的結(jié)果。 盡管關(guān)系數(shù)據(jù)庫是根據(jù)外鍵建立關(guān)系之間的連接運算的,外鍵數(shù)據(jù)是關(guān)系數(shù)據(jù)庫不可消除的“數(shù)據(jù)冗余”,但在設(shè)計數(shù)據(jù)庫時,應(yīng)千方百計將數(shù)據(jù)冗余控制在最小的范圍內(nèi),不必要的數(shù)據(jù)冗余應(yīng)堅決消除。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅, 關(guān)系數(shù)據(jù)庫不能因為數(shù)據(jù)更新操作而引起數(shù)據(jù)不一致問題 如果數(shù)據(jù)模式設(shè)計的不好,就可能造成不必要的數(shù)據(jù)冗余,一個信息就會多次的在多地重復(fù)存儲。對于“數(shù)據(jù)冗余大”的關(guān)系數(shù)據(jù)庫,當執(zhí)行數(shù)據(jù)
27、修改時,這些冗余數(shù)據(jù)就可能出現(xiàn)有些被修改,有些沒有修改,從而造成數(shù)據(jù)不一致問題。數(shù)據(jù)不一致問題影響了數(shù)據(jù)的完整性,使得數(shù)據(jù)庫中數(shù)據(jù)的可信度降低。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅, 當執(zhí)行數(shù)據(jù)插入操作時,數(shù)據(jù)庫中的數(shù)據(jù)不能產(chǎn)生插入異?,F(xiàn)象 所謂插入異常是指希望插入的信息由于不能滿足數(shù)據(jù)完整性的某種要求而不能正常地被插入到數(shù)據(jù)庫的異常問題。出現(xiàn)數(shù)據(jù)插入異常問題的主要原因是數(shù)據(jù)庫設(shè)計時沒有按“一事一地”的原則進行。由于多種信息混合放在一個表中,就可能造成因一種信息被捆綁在其他信息上而產(chǎn)生的信息之間相互依附存儲的問題,這是使得信息不能獨立插入的關(guān)鍵所在。,數(shù)據(jù)庫原理與應(yīng)用第2章
28、關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅, 數(shù)據(jù)庫中的數(shù)據(jù)不能在執(zhí)行刪除操作時產(chǎn)生刪除異常問題 刪除異常是指在刪除某種信息的同時把其他信息也刪除了。刪除異常也是數(shù)據(jù)庫結(jié)構(gòu)不合理產(chǎn)生的毛病。和插入異常一樣,如果關(guān)系中多種信息捆綁在一起,當被刪除信息中含有關(guān)系的主屬性時,由于關(guān)系要滿足實體完整性,整個元組將全部從數(shù)據(jù)庫中被刪除,即出現(xiàn)刪除異常。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅, 數(shù)據(jù)庫設(shè)計應(yīng)考慮查詢要求,數(shù)據(jù)組織應(yīng)合理 在數(shù)據(jù)庫設(shè)計時,不僅要考慮到數(shù)據(jù)自身的結(jié)構(gòu)完整性,還要考慮到數(shù)據(jù)的使用要求。為了使數(shù)據(jù)查詢和數(shù)據(jù)處理高效簡潔,特別是對那些查詢實時性要求高、操作頻度大的數(shù)據(jù),有必要通過視
29、圖、索引和適當增加數(shù)據(jù)冗余的方法,來增加數(shù)據(jù)庫的方便性和可用性。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2. 關(guān)系規(guī)范化可能出現(xiàn)的問題,在我們構(gòu)造關(guān)系時,經(jīng)常會發(fā)現(xiàn)數(shù)據(jù)冗余和更新異常等現(xiàn)象,這是由關(guān)系中各屬性之間的相互依賴性和獨立性造成的。 如果一個關(guān)系沒有經(jīng)過規(guī)范化,可能會導(dǎo)致上述談到的數(shù)據(jù)冗余大、數(shù)據(jù)更新造成不一致、數(shù)據(jù)插入異常和刪除異常問題。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,例如,要求設(shè)計一個教學(xué)管理數(shù)據(jù)庫,希望從該數(shù)據(jù)庫中得到學(xué)生學(xué)號、姓名、性別、年齡、所在系、系主任姓名、學(xué)生學(xué)習(xí)的課程和該課程的成績信息。 若將此信息要求設(shè)計為一個關(guān)系,則關(guān)系模式
30、為:學(xué)生(學(xué)號,姓名,性別,年齡,所在系,系主任姓名,課程名,成績),如下表2-20所示。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,此關(guān)系模式的主鍵為(學(xué)號,課程名)。 僅從關(guān)系模式上看,該關(guān)系已經(jīng)包括了需要的信息,如果按此關(guān)系模式建立關(guān)系,并對它進行深入分析,就會發(fā)現(xiàn)其中的問題所在。 數(shù)據(jù)冗余大 插入異常 刪除異常 更新異常 由上述4條可見,學(xué)生關(guān)系盡管看起來很簡單,但存在的問題比較多,它不是一個合理的關(guān)系模式。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.4.2 數(shù)據(jù)依賴,1. 函數(shù)依賴 2. 平凡函數(shù)依賴與非平凡函數(shù)依賴 3. 完全函數(shù)依賴與部分函數(shù)依賴 4.
31、 傳遞函數(shù)依賴,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,數(shù)據(jù)之間存在的各種聯(lián)系現(xiàn)象稱為數(shù)據(jù)依賴(Data Dependency),它是同一關(guān)系中屬性間的相互依賴和相互制約。而數(shù)據(jù)冗余和更新異常等現(xiàn)象與數(shù)據(jù)依賴有著緊密的關(guān)聯(lián)。關(guān)系規(guī)范理論致力于解決關(guān)系模式中不合適的數(shù)據(jù)依賴問題。 在數(shù)據(jù)依賴中,函數(shù)依賴(Functional Dependency,F(xiàn)D)是最基本的一種依賴形式,它反映了同一關(guān)系中屬性間一一對應(yīng)的約束,它是關(guān)系模式中屬性之間最常見的一種依賴關(guān)系,也是關(guān)系模式中最重要的一種約束。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,函數(shù)依賴普遍地存在于現(xiàn)實生活中。 例
32、如,描述一個學(xué)生的關(guān)系,可以有“學(xué)號”、“姓名”、“所在系”等幾個屬性。由于一個學(xué)號只對應(yīng)一個學(xué)生,一個學(xué)生只在一個系。因而當“學(xué)號”值確定之后,姓名及其所在系的值也就被唯一地確定了。 屬性間的這種依賴關(guān)系類似于數(shù)學(xué)中的函數(shù)。因此說學(xué)號函數(shù)決定姓名和所在系,或者說姓名和所在系函數(shù)依賴于學(xué)號,記作:學(xué)號姓名,學(xué)號所在系。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,1. 函數(shù)依賴,假設(shè)R(U)是一個關(guān)系模式,U是R的屬性集合,X和Y是U的子集。對于R(U)的任意一個可能的關(guān)系r,如果r中不存在兩個元組,它們在X上的屬性值相同,而在Y上的屬性值不同,則稱“X函數(shù)確定Y”或“Y函數(shù)依賴于X
33、”,記作XY。 注意:X和Y都是屬性組,如果XY,表示X中取值確定時,Y中的取值惟一確定,即X決定Y或Y函數(shù)依賴于Y,X是決定因素。 函數(shù)依賴類似于數(shù)學(xué)中的單值函數(shù),函數(shù)的自變量確定時,應(yīng)變量的值惟一確定。反映了關(guān)系模式中屬性間的決定關(guān)系,體現(xiàn)了數(shù)據(jù)間的相互關(guān)系。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,例7:學(xué)生(學(xué)號,姓名,性別,年齡,班級號) 存在以下的函數(shù)依賴: 學(xué)號姓名 學(xué)號性別 學(xué)號年齡 學(xué)號班級號 說明: 函數(shù)依賴不是指關(guān)系模式R的某個或某些關(guān)系實例滿足的約束條件,而是指R的所有關(guān)系實例均要滿足的約束條件。 函數(shù)依賴是RDB用以表示數(shù)據(jù)語義的機制。人們只能根據(jù)數(shù)據(jù)的
34、語義來確定函數(shù)依賴。 例:“姓名年齡”這個函數(shù)依賴只有在沒有相同姓名人的條件下成立。若有相同姓名的人,則“年齡”就不再函數(shù)依賴于“姓名”了。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅, DB設(shè)計者可對現(xiàn)實世界作強制規(guī)定 例:在學(xué)生關(guān)系中,設(shè)計者可強行規(guī)定不允許出現(xiàn)相同姓名的人,因而使函數(shù)依賴“姓名年齡”成立。 當插入某元組時,該元組上的屬性值必須滿足規(guī)定的函數(shù)依賴,若發(fā)現(xiàn)有相同姓名的人存在,則拒絕插入該元組。 若XY,則X稱為這個函數(shù)依賴的決定屬性集。 若XY,并且YX,則記為XY。 若Y不函數(shù)依賴于X,則記為X Y。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2. 平
35、凡函數(shù)依賴與非平凡函數(shù)依賴,在關(guān)系模式R(U)中,對于U的子集X和Y,如果XY,但Y X,則稱XY是非平凡函數(shù)依賴。若Y X,則稱XY為平凡函數(shù)依賴。 對于任一關(guān)系模式,平凡函數(shù)依賴都是必然成立的,它不反映新的語義,因此若不特別聲明,我們總是討論非平凡函數(shù)依賴。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,3. 完全函數(shù)依賴與部分函數(shù)依賴,完全函數(shù)依賴: 在關(guān)系模式R(U)中,如果XY,并且對于X的任何一個真子集X,都有X Y,則稱Y完全函數(shù)依賴于X,記作X Y。 部分函數(shù)依賴: 若XY,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X,記作X Y。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫
36、東北財經(jīng)大學(xué) 李紅,例8: 學(xué)生(學(xué)號,姓名,所在系,系主任姓名,課程號,成績) 學(xué)生關(guān)系模式存在的部分函數(shù)依賴: (學(xué)號,課程號) 姓名 (學(xué)號,課程號) 所在系 (學(xué)號,課程號) 系主任姓名,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,4. 傳遞函數(shù)依賴,在關(guān)系模式R(U)中,如果XY,YZ,且Y X,Z Y,Y X,則稱Z傳遞函數(shù)依賴于X。 例9:學(xué)生(學(xué)號,姓名,所在系,系主任姓名,課程名,成績),存在如下的函數(shù)依賴: 學(xué)號所在系 所在系系主任姓名 學(xué)號系主任姓名,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2.4.3 關(guān)系的 范式及規(guī)范化,1. 第一范式(1NF)
37、 2. 第二范式(2NF) 3. 第三范式(3NF) 4BC范式,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,范式是衡量關(guān)系模式優(yōu)劣的標準。范式的級別越高,其數(shù)據(jù)冗余和操作異?,F(xiàn)象就越少。范式之間的聯(lián)系可以表示為 :1NF2NF3NFBCNF4NF5NF 后面的范式可以看成是前面范式的特例。對于數(shù)據(jù)庫設(shè)計者來,1NF和2NF本身并不重要,最重要的是3NF和BCNF兩種范式。關(guān)系僅僅滿足第一范式的條件是不夠的,尤其在增、刪、改時,往往會出現(xiàn)更新異常。這在前面的關(guān)系規(guī)范化的必要性中討論過。為了消除這些異常,人們采用分解的辦法,力求使關(guān)系的語義單純化,這就是所謂關(guān)系的規(guī)范化。通過分解把屬于
38、低級范式的關(guān)系模式轉(zhuǎn)換為幾個屬于高級范式的關(guān)系模式的集合,這一過程稱為規(guī)范化。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,1. 第一范式(1NF),若一個關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項,則該關(guān)系屬于1NF 。 在任何一個RDBS中,1NF是對關(guān)系模式的一個必須的要求,不滿足1NF的DB模式不能稱為RDB。 DB模式:多個關(guān)系模式的集合。 滿足1NF的關(guān)系模式并不一定是好的關(guān)系模式。 例如:學(xué)生(學(xué)號,姓名,所在系,系主任姓名,課程名,成績) 它顯然滿足1NF,但本身存在插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題,所以它不是一個好的關(guān)系模式。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系
39、數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,2. 第二范式(2NF),若關(guān)系模式R屬于1NF,且每個非主屬性都完全函數(shù)依賴于主關(guān)鍵字,則R屬于2NF 。 2NF不允許關(guān)系模式中的非主屬性部分函數(shù)依賴于主關(guān)鍵字。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,下面分析一下關(guān)系模式“學(xué)生”的函數(shù)依賴,看它是否服從2NF。如果“學(xué)生”模式不服從2NF,可以根據(jù)2NF的定義對它進行分解,使之服從2NF。 在學(xué)生模式中: 屬性集=(學(xué)號,姓名,性別,年齡,所在系,系主任名稱,課程名,成績) 函數(shù)依賴集=學(xué)號姓名,學(xué)號性別,學(xué)號年齡,學(xué)號所在系,所在系系主任名稱,(學(xué)號,課程名)成績。 主鍵=(學(xué)號,課程名)。 非
40、主屬性=(姓名,年齡,所在系,系主任姓名,成績)。,p,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,非主屬性對鍵的函數(shù)依賴=(學(xué)號,課程名)姓名,(學(xué)號,課程名)性別, (學(xué)號,課程號)年齡,(學(xué)號,課程名)所在系, (學(xué)號,課程名)系主任姓名;(學(xué)號,課程名)成績。 顯然,學(xué)生模式不服從2NF,即:教學(xué)2NF。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,根據(jù)2NF的定義,將學(xué)生模式分解為; 學(xué)生-系(學(xué)號,姓名,性別,年齡,所在系,系主任姓名); 選課(學(xué)號,課程名,成績)。 再用2NF的標準衡量學(xué)生-系和選課模式,會發(fā)現(xiàn)它們都服從2NF,即: 學(xué)生系2NF;選課2NF
41、。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,3. 第三范式(3NF),若關(guān)系模式R屬于1NF,且每個非主屬性都不傳遞依賴于主關(guān)鍵字,則R屬于3NF。 若R3NF,則每一個非主屬性既不部分函數(shù)依賴于主鍵,也不傳遞函數(shù)依賴于主鍵。 3NF是一個可用的關(guān)系模式應(yīng)滿足的最低范式。也就是說,一個關(guān)系模式如果不服從3NF,實際上它是不能使用的。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,考查學(xué)生-系關(guān)系,會發(fā)現(xiàn)由于學(xué)生-系的關(guān)系模式中存在:學(xué)號所在系,所在系系主任姓名。則:學(xué)號系主任姓名。由于主鍵“學(xué)號”與非主屬性“系主任姓名”之間存在傳遞函數(shù)依賴,所以學(xué)生-系 3NF。如果對學(xué)
42、生-系關(guān)系按3NF的要求進行分解,分解后的關(guān)系模式為: 學(xué)生(學(xué)號,姓名,性別,年齡,所在系); 教學(xué)系(所在系,系主任姓名)。 顯然分解后的各子模式均屬于3NF。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,4BC范式,若關(guān)系模式R屬于第一范式,且每個屬性都不傳遞依賴于主鍵,則R屬于BC范式。 通常BC范式的條件有多種等價的表述:每個非平凡依賴的左邊必須包含主鍵;每個決定因素必須包含主鍵。 從定義可以看出BC范式既檢查非主屬性,又檢查主屬性,顯然比第三范式限制更嚴。當只檢查非主屬性而不檢查主屬性時,就成了第三范式。因此可以說任何滿足BC范式的關(guān)系都必然滿足第三范式。, ,數(shù)據(jù)庫原理
43、與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,分析下面的關(guān)系是否滿足BC范式。 S11(學(xué)號,姓名,所在系) S12(所在系,系主任姓名) S2(學(xué)號,課程名,成績) S11關(guān)系模式中,由于學(xué)生有可能重名,因此它只有一個主鍵“學(xué)號”,且只有一個函數(shù)依賴:學(xué)號(姓名,所在系),符合BC范式的條件,所以S11滿足BC范式。 S12關(guān)系模式中,函數(shù)依賴集為所在系系主任姓名,滿足BC范式。 S2關(guān)系模式中,主鍵為學(xué)號、課程名,函數(shù)依賴集為(學(xué)號,課程名)成績,因此S2也滿足BC范式。,數(shù)據(jù)庫原理與應(yīng)用第2章 關(guān)系數(shù)據(jù)庫東北財經(jīng)大學(xué) 李紅,如果R屬于BC范式,由于R排除了任何屬性對碼的傳遞依賴與部分依賴,所以R一定屬于3NF。但是,若R3NF,則R未必屬于BC范式。 BC范式比3NF又進
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職(電子商務(wù))電子商務(wù)基礎(chǔ)期末測試題及解析
- 2025年高職康復(fù)治療技術(shù)(康復(fù)心理學(xué))試題及答案
- 2025年高職第二學(xué)年(數(shù)字印刷)可變數(shù)據(jù)印刷綜合測試試題及答案
- 2025年高職(水利水電建筑工程)水工建筑物基礎(chǔ)試題及答案
- 2025年中職(勞保產(chǎn)品銷售)防護性能階段測試卷
- 2025年大學(xué)機械應(yīng)用技術(shù)(機械應(yīng)用)試題及答案
- 2025年大學(xué)交通運輸工程(交通工程學(xué))試題及答案
- 2025年大學(xué)(金融學(xué))金融工程試題及答案
- 2025年中職(護理基礎(chǔ))鼻飼操作試題及解析
- 2025年大學(xué)醫(yī)學(xué)檢驗技術(shù)(檢驗研究)試題及答案
- 2025年紹興市諸暨市輔警考試真題附答案解析
- 2026年及未來5年市場數(shù)據(jù)中國化學(xué)發(fā)光行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報告
- 2026北京市中央廣播電視總臺招聘124人筆試參考題庫及答案解析
- 《物流系統(tǒng)工程-理論、方法與案例分析(第4版)》全套教學(xué)課件
- 2025版安全標志大全高清
- 2025-2026學(xué)年度上學(xué)期八年語文試卷
- 中國臨床腫瘤學(xué)會(csco)乳腺癌診療指南2025
- 2025年幼兒園后廚工作面試題庫及答案
- 電渣爐的維護與管理制度(3篇)
- 早產(chǎn)兒喂養(yǎng)不耐受臨床診療指南
- 外來物種入侵事件應(yīng)急預(yù)案
評論
0/150
提交評論