版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸醫(yī)法律法規(guī)科普
- 獸醫(yī)基礎(chǔ)治療技術(shù)課件
- 2026年及未來5年市場數(shù)據(jù)中國固廢處理行業(yè)市場全景評估及投資前景展望報告
- 養(yǎng)老院員工培訓(xùn)及考核制度
- 企業(yè)員工培訓(xùn)與職業(yè)發(fā)展目標(biāo)制度
- 交通宣傳教育基地管理制度
- 2026甘肅銀行股份有限公司招聘校園參考題庫附答案
- 2026福建省面向云南大學(xué)選調(diào)生選拔工作考試備考題庫附答案
- 2026福建福州市閩清縣住房和城鄉(xiāng)建設(shè)局招聘4人參考題庫附答案
- 2026西藏文物局引進急需緊缺人才3人參考題庫附答案
- 2025-2030無人船航運技術(shù)領(lǐng)域市場供需分析及投資評估規(guī)劃分析研究報告
- 系統(tǒng)權(quán)限規(guī)范管理制度
- 2025年CFA二級真題解析及答案
- 2025年國電南自筆試完沒有面試及答案
- 2026年遼寧醫(yī)藥職業(yè)學(xué)院單招職業(yè)技能考試參考題庫帶答案解析
- 初中英語寫作中時態(tài)誤用糾正策略的對比實驗研究課題報告教學(xué)研究課題報告
- 2026年及未來5年市場數(shù)據(jù)中國電子級氫氟酸行業(yè)競爭格局分析及投資戰(zhàn)略咨詢報告
- 2026年孝昌縣供水有限公司公開招聘正式員工備考題庫及完整答案詳解1套
- 2025年高頻莆田輔警面試試題及答案
- 醫(yī)療機構(gòu)護理員培訓(xùn)大綱
- 北師大版(2024)八年級上冊數(shù)學(xué)期末考試模擬強化訓(xùn)練試卷 3套(含答案)
評論
0/150
提交評論