數(shù)據(jù)庫系統(tǒng)概述復(fù)習(xí)學(xué)時_第1頁
數(shù)據(jù)庫系統(tǒng)概述復(fù)習(xí)學(xué)時_第2頁
數(shù)據(jù)庫系統(tǒng)概述復(fù)習(xí)學(xué)時_第3頁
數(shù)據(jù)庫系統(tǒng)概述復(fù)習(xí)學(xué)時_第4頁
數(shù)據(jù)庫系統(tǒng)概述復(fù)習(xí)學(xué)時_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022/8/131數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫的基本概念數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合數(shù)據(jù)管理的發(fā)展過程人工管理階段(40年代中-50年代中)文件系統(tǒng)階段(50年代末-60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末-現(xiàn)在)數(shù)據(jù)模型數(shù)據(jù)模型的三要素數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)操作 數(shù)據(jù)的約束條件概念模型, E-R 模型實體、聯(lián)系、屬性、碼、域、實體型、實體集一對一聯(lián)系,一對多聯(lián)系,多對多聯(lián)系E-R圖數(shù)據(jù)模型(續(xù))主要數(shù)據(jù)模型非關(guān)系模型(層次模型,網(wǎng)狀模型)基本層次單元:兩個記錄以及它們之間的一對多聯(lián)系 關(guān)系模型實體以及聯(lián)系都用關(guān)系(或二維表)表示數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)

2、庫系統(tǒng)三級模式結(jié)構(gòu)內(nèi)模式、模式、外模式邏輯獨立性外模式/模式映射物理獨立性模式/內(nèi)模式映射數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)單用戶結(jié)構(gòu),主從式結(jié)構(gòu),分布式結(jié)構(gòu),客戶/服務(wù)器結(jié)構(gòu),瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫管理員(用戶)2022/8/137第二章 關(guān)系數(shù)據(jù)庫2022/8/138關(guān)系屬性,元組候選碼,主碼,主屬性關(guān)系模式關(guān)系數(shù)據(jù)庫實體完整性主屬性不能為空值參照完整性外碼或者取空值,或者等于對應(yīng)關(guān)系的主碼值用戶定義的完整性2022/8/139傳統(tǒng)的集合運算并() 、差(-)、交() 、廣義笛卡爾積(X )專門的關(guān)系投影()、選擇() 、連

3、接( )、除( )并():兩個關(guān)系需有相同的關(guān)系模式,并的對象是元組,由兩個關(guān)系所有元組構(gòu)成。差(-):同樣,兩個關(guān)系有相同的模式,R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合。交():兩個關(guān)系需有相同的關(guān)系模式, R和S的交是由既屬于R又屬于S的元組構(gòu)成的集合。2022/8/1310投影():對關(guān)系進行垂直分割,消去某些列,并重新安排列的順序。選擇():根據(jù)某些條件關(guān)系作水平分割,即選擇符合條件的元組。連接包括聯(lián)接和F聯(lián)接,是選擇RS中滿足i(r+j)或F條件的元組構(gòu)成的集合,特別注意等值聯(lián)接(為等號=)。自然連接(R|X|S):在RS中,選擇R和S公共屬性值均相等的元組,并去掉RS中重復(fù)

4、的公共屬性列。如果兩個關(guān)系沒有公共屬性,則自然聯(lián)接就轉(zhuǎn)化為笛卡爾積。 2022/8/1311例 查詢信息系(IS系)全體學(xué)生(選擇) Sdept = IS (Student)或 5 =IS (Student)例 查詢學(xué)生的姓名和所在系(投影)即求Student關(guān)系上學(xué)生姓名和所在系兩個屬性上的投影 Sname,Sdept(Student)或 2,5(Student)2022/8/1312例 查詢至少選修了一門其直接先行課為5號課程的課程的學(xué)生姓名(連接)。 Sname(Cpno=5(Course SC Student)例 查詢選修了全部課程的學(xué)生號碼。 Sno,Cno(SC)Cno(Cours

5、e) 2022/8/1313第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL2022/8/1314(1)數(shù)據(jù)定義:SQL DDL。定義SQL模式,基本表、視圖和索引。 (2)數(shù)據(jù)操縱:SQL DML。包括數(shù)據(jù)查詢和數(shù)據(jù)更新(增、刪、改)。 (3)數(shù)據(jù)控制:包括對基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制等。 SQL數(shù)據(jù)庫的體系結(jié)構(gòu)也是三級結(jié)構(gòu),但術(shù)語與傳統(tǒng)關(guān)系模型術(shù)語不同,在SQL中,關(guān)系模式稱為“基本表”,存儲模式稱為“存儲文件”,子模式稱為“視圖”,元組稱“行”,屬性稱“列”。CREATE TABLECREATE TABLE ( , , );:所要定義的基本表的名字:組成該表的各個屬性(列):涉及相應(yīng)

6、屬性列的完整性約束條件:涉及一個或多個屬性列的完整性約束條件 2022/8/1316SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;2022/8/1317例 查詢?nèi)w學(xué)生的詳細(xì)記錄。SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student; 或SELECT *FROM Student;例 查全體學(xué)生的姓名及其出生年份。SELECT Sname,2000-SageFROM Student;2022/8/1318例 查詢以DB_開頭,且倒數(shù)第3個字符為 i的課程的詳細(xì)情況。

7、 SELECT * FROM Course WHERE Cname LIKE DB_%i_ _ ESCAPE ;例 查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號和相應(yīng)的課程號。 SELECT Sno,Cno FROM SC WHERE Grade IS NULL;2022/8/1319例 查詢信息系(IS)、數(shù)學(xué)系(MA)和計算機科學(xué)系(CS)學(xué)生的姓名和性別。SELECT Sname,SsexFROM StudentWHERE Sdept IN ( IS,MA,CS )可改寫為:SELECT Sname,SsexFROM StudentWHERE Sdept= IS OR Sdept= MA OR Sdept=

8、 CS ;2022/8/1320例 查詢選修了3號課程的學(xué)生的學(xué)號及其成績,查詢結(jié)果按分?jǐn)?shù)降序排列。 SELECT Sno,Grade FROM SC WHERE Cno= 3 ORDER BY Grade DESC; 2022/8/1321例 求各個課程號及相應(yīng)的選課人數(shù)。 SELECT Cno,COUNT(Sno) FROM SC GROUP BY Cno; 例 查詢選修了3門以上課程的學(xué)生學(xué)號。 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) 3; 2022/8/1322例 查詢每個學(xué)生的學(xué)號、姓名、選修的課程名及成績。 ,Sname,Cn

9、ame,Grade FROM Student,SC,Course WHERE Student.Sno = SC.Sno ;2022/8/1323插入數(shù)據(jù)INSERTINTO (,)VALUES ( , )例 將一個新學(xué)生記錄(學(xué)號:95020;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。 INSERT INTO Student VALUES (95020,陳冬,男,IS,18);2022/8/1324UPDATE SET =,= WHERE ;例 將所有學(xué)生的年齡增加1歲。 UPDATE Student SET Sage= Sage+1;修改數(shù)據(jù)2022/8/1

10、325例 將計算機科學(xué)系全體學(xué)生的成績置零。 UPDATE SC SET Grade=0 WHERE CS= (SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno);修改數(shù)據(jù)2022/8/1326DELETE FROM WHERE ;例 刪除學(xué)號為95019的學(xué)生記錄。 DELETE FROM Student WHERE Sno=95019;刪除數(shù)據(jù)2022/8/1327建立視圖CREATE VIEW ( ,) AS WITH CHECK OPTION;2022/8/1328例 建立信息系學(xué)生的視圖,并要求透過該視圖進行的更新操作只涉及信息

11、系學(xué)生。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= IS WITH CHECK OPTION;2022/8/1329練習(xí)有三個關(guān)系模式分別是學(xué)生,課程和選修.其關(guān)系模式表示為:學(xué)生(學(xué)號,姓名,性別,年齡,所在系)課程(課程號,課程名,課程學(xué)分)選修(學(xué)號,課程號,成績)查詢:2022/8/1330答案1)各所在系的平均年齡.SELECT 所在系,AVG(年齡) FROM 學(xué)生 GROUP BY 所在系; 2)各門課程的選修人數(shù).SELECT 課程號,COUNT(學(xué)號) FROM 選修 G

12、ROUP BY 課程號; 3)年齡最大的學(xué)生的學(xué)號和姓名.SELECT 學(xué)號,姓名 FROM 學(xué)生 WHERE 年齡 = (SELECT MAX(年齡) FROM 學(xué)生); 2022/8/13314)學(xué)生張生的選修課程學(xué)分?jǐn)?shù). SELECT SUM(課程學(xué)分) FROM 課程,選修,學(xué)生 WHERE 課程.課程號=選修.課程號 AND 學(xué)生.學(xué)生號=選修.學(xué)生號 AND 學(xué)生.姓名=“張生”; 2022/8/13325)有不及格(成績60)課程的學(xué)生名單,按所在系,學(xué)號,姓名,不及格課程名排列.SELECT 所在系,學(xué)生.學(xué)號,姓名,課程名 FROM 學(xué)生,課程,選修 WHERE 課程.課程號

13、=選修.課程號 AND 學(xué)生.學(xué)生號=選修.學(xué)生號 AND 成績60;2022/8/1333第四章 數(shù)據(jù)庫安全性2022/8/1334定義:為防止因用戶非法使用而造成的數(shù)據(jù)泄密、更改或破壞。安全性控制方法用戶標(biāo)識與鑒別存取控制視圖機制審計數(shù)據(jù)加密1 授 權(quán)GRANT語句的一般格式: GRANT ,. ON TO ,. WITH GRANT OPTION;誰定義?DBA和表的建立者(即表的屬主)GRANT功能:將對指定操作對象的指定操作權(quán)限授予指定的用戶。例題 例1 把查詢Student表權(quán)限授給用戶U1 GRANT SELECT ON TABLE Student TO U1;例題(續(xù)) 例5

14、把對表SC的INSERT權(quán)限授予U5用戶,并允許他再將此權(quán)限授予其他用戶 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;SQL收回權(quán)限的功能REVOKE語句的一般格式為: REVOKE ,. ON FROM ,.;功能:從指定用戶那里收回對指定對象的指定權(quán)限例題例7 把用戶U4修改學(xué)生學(xué)號的權(quán)限收回REVOKE UPDATE(Sno)ON TABLE Student FROM U4;2022/8/1340第五章 數(shù)據(jù)庫完整性完整性控制機制1.完整性約束條件定義機制2.完整性檢查機制3.違約反應(yīng) 關(guān)系系統(tǒng)三類完整性的實現(xiàn)關(guān)系數(shù)據(jù)庫系統(tǒng)都提供了定

15、義和檢查實體完整性、參照完整性和用戶定義的完整性的功能違反實體完整性規(guī)則和用戶定義的完整性規(guī)則的操作: 一般是拒絕執(zhí)行違反參照完整性的操作:拒絕執(zhí)行接受這個操作,同時執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫的狀態(tài)正確2022/8/1343第六章 關(guān)系數(shù)據(jù)理論2022/8/1344關(guān)系數(shù)據(jù)庫設(shè)計中的異常問題 (概念)數(shù)據(jù)冗余、更新異常插入異常、刪除異常候選碼、主碼、外碼、非主屬性、主屬性函數(shù)依賴 (概念及理解)非平凡的函數(shù)依賴完全函數(shù)依賴部分函數(shù)依賴傳遞函數(shù)依賴1NF、2NF、3NF的定義2022/8/1345規(guī)范化過程非規(guī)范化的關(guān)系消去重復(fù)項,將關(guān)系模式分解成若干個規(guī)范化的關(guān)系模式,并指定一個或若干個

16、屬性作為主碼。消除決定屬性集非碼的非平凡函數(shù)依賴1NF消除非主屬性對碼的部分函數(shù)依賴2NF消除非主屬性對碼的傳遞函數(shù)依賴3NF消除主屬性對碼的部分和傳遞函數(shù)依賴BCNF2022/8/1346消除了部分函數(shù)依賴的INF的關(guān)系模式,必定是_。 A1NF B2NF C3NF D4NF2022/8/1347練習(xí)一設(shè)有關(guān)系STUDENT(Sno,SNAME,SDEPT,MNAME,CNAME,GRADE),Sno,CNAME為候選碼,設(shè)關(guān)系中有如下函數(shù)依賴: Sno,CNAMESNAME,SDEPT,MNAMESnoSNAME,SDEPT,MNAMESno,CNAMEGRADESDEPTMNAME試求下

17、列問題:(1)關(guān)系STUDENT屬于第幾范式? (2)如果關(guān)系STUDENT不屬于3NF,請將關(guān)系STUDENT逐步分解為3NF。 要求:寫出達到每一級范式的分解過程,并指明消除什么類型的函數(shù)依賴。 2022/8/1348SnoSNAMESDEPTMNAMECNAMEGRADE0501李明經(jīng)管張軍數(shù)據(jù)庫860501李明經(jīng)管張軍C言語900702王浩環(huán)科王蘭城市學(xué)800801陸靜大氣李翔氣象學(xué)702022/8/1349(1)關(guān)系STUDENT是1NF。(2)首先消除部分函數(shù)依賴Sno,CNAMESNAME,SDEPT,MNAME將關(guān)系分解為:R1(Sno,SNAME,SDEPT,MNAME)R2

18、(Sno,CNAME,GRADE)在關(guān)系R1中存在非主屬性對候選碼的傳遞函數(shù)依賴SnoSDEPT,SDEPTMNAME,所以以上關(guān)系模式還不是3NF,進一步分解R1:R11(Sno,SNAME,SDEPT)R12(SDEPT,MNAME)R11,R12都是3NF。2022/8/1350SnoSNAMESDEPTMNAME0501李明經(jīng)管張軍0501李明經(jīng)管張軍0702王浩環(huán)科王蘭0801陸靜大氣李翔SnoCNAMEGRADE0501數(shù)據(jù)庫860501C言語900702城市學(xué)800801氣象學(xué)702022/8/1351SnoSNAMESDEPT0501李明經(jīng)管0501李明經(jīng)管0702王浩環(huán)科08

19、01陸靜大氣SDEPTMNAME經(jīng)管張軍經(jīng)管張軍環(huán)科王蘭大氣李翔2022/8/1352練習(xí)二設(shè)有如下的關(guān)系R(1)它為第幾范式,為什么?(2)是否存在刪除異常(3)將它分解為高一級范式課程名教師名教師地址C1王軍D1C2李浩D2C3陳明D3C4李浩D42022/8/1353(1)它是2NF候選碼為課程名,而課程名教師名,教師名教師地址,存在非主屬性教師地址對候選碼課程號的傳遞依賴,又不存在非主屬性對候選碼的部分函數(shù)依賴(2)存在當(dāng)刪除某門課程時,會刪除不該刪除的教師的有關(guān)信息(3)R1(課程名,教師名) R2 (教師名,教師地址)分解后,若刪除課程數(shù)據(jù)只對R1操作,教師地址信息在R2中仍保留,

20、不會丟失教師信息。2022/8/1354練習(xí)三設(shè)有關(guān)系模式 R(職工名,項目名,工資,部門名,部門經(jīng)理) 如果規(guī)定,每個職工可參加多個項目,各領(lǐng)一份工資;每個項目只屬于一個部門管理;每個部門只有一個經(jīng)理。(1)試寫出關(guān)系模式R的基本函數(shù)依賴和碼;(2)說明R不是2NF模式的理由,并把R分解成2NF范式。(3)如果還不是3NF范式,說明理由,并分解成3NF范式2022/8/1355練習(xí)四假設(shè)某商業(yè)集團數(shù)據(jù)庫中有一關(guān)系模式R如下: R(商店編號,商品編號,商品庫存數(shù)量,部門編號,負(fù)責(zé)人)如果規(guī)定: (1)每個商店的每種商品只在該商店的一個部門銷售; (2)每個商店的每個部門只有一個負(fù)責(zé)人; (3)

21、每個商店的每種商品只有一個庫存數(shù)量。 試回答下列問題: (1)根據(jù)上述規(guī)定,寫出關(guān)系模式R的基本函數(shù)依賴; (2)找出關(guān)系模式R的候選碼; (3)試問關(guān)系模式R最高已經(jīng)達到第幾范式?為什么? (4)如果R不屬于3NF,請將R分解成3NF范式。2022/8/1356第七章 數(shù)據(jù)庫設(shè)計2022/8/1357數(shù)據(jù)庫設(shè)計的基本步驟需求分析 概念結(jié)構(gòu)設(shè)計 邏輯結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫物理設(shè)計 數(shù)據(jù)庫實施 數(shù)據(jù)庫運行與維護 2022/8/1358需求分析收集資料分析整理數(shù)據(jù)流程圖數(shù)據(jù)字典2022/8/1359概念結(jié)構(gòu)設(shè)計E-R模型的建立分E-R圖初步E-R圖基本E-R圖常用的三種抽象方法:分類聚集概括:超類和子類的概念(學(xué)生:本科生、研究生;教員:正副教授的表示)合并初步E-R圖分E-R圖可能存在冗余的數(shù)據(jù)和冗余的實體間聯(lián)系基本E-R圖消除不必要的冗余2022/8/1360邏輯結(jié)構(gòu)設(shè)計E-R圖向關(guān)系模型的轉(zhuǎn)換實體的轉(zhuǎn)換一個實體轉(zhuǎn)換為一個關(guān)系模式,關(guān)系的屬性:實

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論