關(guān)系數(shù)據(jù)庫規(guī)范化理論.ppt_第1頁
關(guān)系數(shù)據(jù)庫規(guī)范化理論.ppt_第2頁
關(guān)系數(shù)據(jù)庫規(guī)范化理論.ppt_第3頁
關(guān)系數(shù)據(jù)庫規(guī)范化理論.ppt_第4頁
關(guān)系數(shù)據(jù)庫規(guī)范化理論.ppt_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第2章 關(guān)系數(shù)據(jù)庫規(guī)范化理論與SQL語言,2.2 關(guān)系模式的規(guī)范化,2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言 SQL簡介,2.1 關(guān)系規(guī)范化的作用,能力目標(biāo),掌握關(guān)系規(guī)范化的理論; 掌握關(guān)系模式的規(guī)范化方法; 掌握關(guān)系語言SQL基本語言結(jié)構(gòu)與用法。,態(tài)度目標(biāo),團隊精神; 態(tài)度積極; 任務(wù)按時完成; 出勤。,重點難點,重點: 掌握關(guān)系模式的規(guī)范化方法; 掌握關(guān)系語言SQL基本語言結(jié)構(gòu)與用法。 難點: 掌握關(guān)系模式的規(guī)范化方法; 掌握關(guān)系語言SQL基本語言結(jié)構(gòu)與用法。,2.1 關(guān)系規(guī)范化的作用,1. 關(guān)系規(guī)范化 一個數(shù)據(jù)庫模式是一個關(guān)系模式的集合。數(shù)據(jù) 庫設(shè)計實際上是從多種可能的組合中選取一個合適 的性能好的關(guān)

2、系模式集合作為數(shù)據(jù)庫模式的問題。 規(guī)范化,就是用形式更為簡潔,結(jié)構(gòu)更加規(guī)范 的關(guān)系模式取代原有關(guān)系模式的過程。 2. 屬性間關(guān)系 一對一關(guān)系(1:1) 一對多關(guān)系(1:n) 多對多關(guān)系(m:n),2.1 關(guān)系規(guī)范化的作用,3. 函數(shù)依賴 函數(shù)依賴(Functional Dependency,F(xiàn)D),是 屬性之間的一種聯(lián)系。在關(guān)系R中,X、Y為R的兩 個屬性或?qū)傩越M,如果對于R的所有關(guān)系r 都存在: 對于X的每一個具體值,Y都只有一個具體值與之 對應(yīng),則稱屬性Y函數(shù)依賴于屬性X。或者說,屬 性X函數(shù)決定屬性Y,記作XY。其中X稱為決定 因素,Y稱為被決定因素。 見【案例2.1】。,2.1 關(guān)系規(guī)

3、范化的作用,【案例2.1】 現(xiàn)有一個學(xué)生關(guān)系模式:學(xué)生(學(xué)號,姓名,課程編號, 成績,課程名稱,任課教師姓名,教師年齡),寫出函數(shù)依 賴形式。 學(xué)號學(xué)生姓名(每個學(xué)號只能對應(yīng)一個學(xué)生姓名) 課程編號課程名稱(每門課程只能對應(yīng)一門課程名稱) 教師編號教師年齡(每個教師只能一個年齡) (學(xué)號,課程編號)成績(每個學(xué)生學(xué)習(xí)一門課程對應(yīng) 一個成績) 若Y函數(shù)不依賴于X,記作:XY。 若XY,YX,記作:XY,2.1 關(guān)系規(guī)范化的作用,4. 完全函數(shù)依賴 在關(guān)系模式R中,X、Y為 R 的兩個屬性或?qū)傩?組,若Y函數(shù)依賴X(XY)但Y函數(shù)不依賴X的任 一真子集X,則稱Y對X完全(Full)函數(shù)依賴, 記為

4、:X fY。若XY,稱Y部分(Partial)函 數(shù)依賴于X,記為:X pY。見【案例2.2】。 5. 傳遞函數(shù)依賴 在關(guān)系R中,X、Y、Z是R的三個不同的屬性或 屬性組,如果 XY,YZ,但 YX,且Y不是 X 的子集,則稱Z傳遞函數(shù)依賴于X。見【案例2.3】。,2.1 關(guān)系規(guī)范化的作用,【案例2.2】 (學(xué)號,課程名稱)學(xué)生姓名,由于學(xué)號、課程名稱相 同必定學(xué)生姓名相同,同時,學(xué)號學(xué)生姓名,由于學(xué)號相同 必定姓名相同,則稱學(xué)生姓名不完全函數(shù)依賴(學(xué)號,課程名 稱)。由于學(xué)號是(學(xué)號,課程名稱)的一個真子集,學(xué)生姓 名函數(shù)依賴于學(xué)號,則學(xué)生姓名對(學(xué)號,課程名稱)不完全 函數(shù)依賴,稱為部分函

5、數(shù)依賴。 但(學(xué)號,課程名稱)成績?yōu)橥耆瘮?shù)依賴,因為成績 不函數(shù)依賴于(學(xué)號,課程名稱)的任一真子集。 【案例2.3】 學(xué)號院系名稱,院系名稱院系長,則屬性院系長函數(shù) 傳遞依賴屬性學(xué)號。,2.1 關(guān)系規(guī)范化的作用,6. 碼的定義 在關(guān)系R中,X、Y、Z是R的三個不同的屬性 或?qū)傩越M,如果 XY,YZ,但 YX,且Y不 是X的子集,則稱Z傳遞函數(shù)依賴于X。,設(shè)K是關(guān)系模式R(U,F(xiàn))中的屬性或?qū)傩越M, K是K的任一子集。若KU,而不存在K, 則K為R的候選碼(Candidate Key) 若候選碼多于一個,則選其中的一個為主碼 (Primary Key); 包含在任一候選碼中的屬性,叫做主屬性

6、 (Primary Attribute); 不包含在任何碼中的屬性稱非主屬性(Nonprime Attribute)或非碼屬性(Nonkey Attribute)。,相關(guān)概念,關(guān)系模式中,最簡單的情況是單個屬性是碼, 稱為單碼(Single Key); 最極端的情況是整個屬性組是碼,稱為全碼 (All Key)。 外碼:設(shè)有兩個關(guān)系R和S,X是R的屬性或 屬性組,并且X不是R的碼,但X是S的碼(或與S 的碼意義相同),則稱X是R的外部碼(Foreign Key),簡稱外碼或外鍵。,相關(guān)概念,2.2 關(guān)系模式的規(guī)范化,1. 非規(guī)范化的關(guān)系 當(dāng)一個關(guān)系表中存在還可以再分的數(shù)據(jù)項時, 這個關(guān)系表就是

7、非規(guī)范化的表。 2. 第一范式(1NF) 如果關(guān)系模式R中不包含多值屬性,則R滿足 第一范式(First Normal Form),記作:R1NF。 3. 第二范式(2NF) 如果一個關(guān)系 R1NF,且它的所有非主屬性 都完全函數(shù)依賴于R的任一候選碼,則R屬于第二 范式,記作:R2NF。,2.2 關(guān)系模式的規(guī)范化,4. 第三范式(3NF) 如果關(guān)系模式 R2NF,且它的每一個非主屬 性都不傳遞依賴于任何候選碼,則稱R是第三范式, 記作:R3NF 5. 關(guān)系模式的規(guī)范化方法 步驟1:對 1NF 關(guān)系進行分解,消除原關(guān)系中 非主屬性對碼的部分函數(shù)依賴,將1NF關(guān)系轉(zhuǎn)換為 多個 2NF。 步驟2:對

8、 2NF 關(guān)系進行分解,消除原關(guān)系中 非主屬性對碼的傳遞函數(shù)依賴,產(chǎn)生一組 3NF。,2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,1. SQL的語言分類數(shù)據(jù)定義語言(Date Definition Language,DDL) 用于定義(CREATE)、修改(ALTER)、 刪除(DROP)數(shù)據(jù)庫中表結(jié)構(gòu)、視圖、索引等。,SQL 語言中定義表的語法結(jié)構(gòu)如下: CREATE TABLE 表名 ( 列名 數(shù)據(jù)類型 列級完整性約束 , 列名 數(shù)據(jù)類型 列級完整性約束 ,表級完整性約束 ),2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,【案例2.4】 使用SQL語言CREATE語句創(chuàng)建學(xué)生信息數(shù)據(jù)表 Students

9、Info CREATE TABLE studentsInfo ( Sno CHAR(8), Sname VARCHAR(8), Ssex CHAR(2) DEFAULT 男, Sbirthday Datetime, College VARCHAR(20), Class VARCHAR(12) ),2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,【案例2.2】 使用SQL語言ALTER語句修改學(xué)生信息數(shù)據(jù)表StudentsInfo, 增加2個字段,住址字段(Address,數(shù)據(jù)類型為字符類型,長度 不超過15個字節(jié)),郵箱字段(Email,數(shù)據(jù)類型為字符類型, 長度不超過25個字節(jié))。 ALTER TAB

10、LE studentsInfo ADD Address VARCHAR(15), Email VARCHAR(25),SQL 語言中修改表的語法結(jié)構(gòu)如下: ALTER TABLE 表名 ADD 新列名 數(shù)據(jù)類型 列級完整性約束 , 新列名 數(shù)據(jù)類型 列級完整性約束,2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,2. SQL的語言分類數(shù)據(jù)操縱語言(Date Management Language,DML): 用于對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢(SELECT)、 插入(INSERT)、刪除(DELETE)和更新 (UPDATE)操作。,SQL 語言中插入數(shù)據(jù)記錄到數(shù)據(jù)表中的語法結(jié)構(gòu)如下: INSERT INTO

11、 表名列名1,列名2 VALUES(常量1,常量2),2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,【案例2.5】 使用SQL語言INSERT語句將學(xué)生信息(王麗,女,1981 年10月1日出生,計算機科學(xué)系網(wǎng)絡(luò)2班,學(xué)號為net-0608,) 插入到數(shù)據(jù)表StudentsInfo中。 INSERT INTO StudentsInfo(Sno,Sname,Ssex,Sbirthday,College, Class) VALUES( net-0608, 王麗,女,1981-10-1,計算機科學(xué)系, 網(wǎng)絡(luò)2班) 【案例2.6】 使用SQL語言SELECT語句查詢學(xué)號為“net-0608”的學(xué)生 基本信息。

12、 SELECT * FROM StudentsInfo WHERE Sno=net-0608,2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,【案例2.7】 使用SQL語言UPDATE語句將學(xué)號為“net-0608” 的學(xué)生的所在院系更改為“管理學(xué)院”。 UPDATE StudentsInfo SET College= 管理學(xué)院 WHERE Sno= net-0608,SQL 語言中修改數(shù)據(jù)記錄字段的語法結(jié)構(gòu)如下: UPDATE 表名 SET 列名1=表達式1,列名2=表達式2 WHERE 條件表達式,2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,【案例2.8】 使用SQL語言DELETE語句將學(xué)號為“net-

13、0608” 的學(xué)生基本信息從數(shù)據(jù)庫表StudentsInfo中刪除。 DELETE FROM StudentsInfo Where Sno=net-0608,SQL 語言中刪除數(shù)據(jù)表中記錄的語法結(jié)構(gòu)如下: DELETE FROM 表名 WHERE條件表達式,2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,3. SQL的語言分類數(shù)據(jù)控制語言(Date Control Language,DCL): 用于對數(shù)據(jù)庫用戶的各種操作權(quán)限進行授權(quán) (GRANT)或收回權(quán)限(REVOKE)等操作。,給數(shù)據(jù)庫用戶授予某些權(quán)限,語法結(jié)構(gòu)如下: GRANT 權(quán)限1,權(quán)限2 ON 對象類型 對象名 TO 用戶1,用戶2,【案例2.9】 為用戶wangfm授予CREATE TABLE權(quán)限。 GRANT CREATE TABLE TO wangfm,2.3 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,【案例2.10】 收回用戶wangfm所擁有的CREATE VIEW權(quán)限。 GRANT CREATE VIEW TO wangfm,從數(shù)據(jù)庫用戶收回某些權(quán)限,語法結(jié)構(gòu)如下: REVOKE 權(quán)限1,權(quán)限2 ON

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論