【正文】
25. 共享意向排它鎖:如果對(duì)一個(gè)數(shù)據(jù)對(duì)象加SIX鎖,表示對(duì)它加S鎖,再加IX鎖,即SIX=S+IX。23. 意向共享鎖:如果對(duì)一個(gè)數(shù)據(jù)對(duì)象加IS鎖,表示它的后裔結(jié)點(diǎn)擬加S鎖。 19. 封鎖對(duì)象的大小稱(chēng)為封鎖粒度。15. 沖突可串行化調(diào)度是可串行化調(diào)度的充分條件,不是必要條件。12. 預(yù)防死鎖方法:一次封鎖法;順序封鎖法。10. 事務(wù)T1封鎖了數(shù)據(jù)R,事務(wù)T2又請(qǐng)求封鎖R,于是T2等待。共享鎖(讀鎖S鎖): 若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對(duì)A加S鎖,而不能加X(jué)鎖,直到T釋放A上的S鎖。5. 并發(fā)所引起的問(wèn)題來(lái)自對(duì)同一數(shù)據(jù)對(duì)象的寫(xiě)寫(xiě)沖突或讀寫(xiě)沖突,問(wèn)題出在“寫(xiě)”上,并發(fā)操作破壞了事務(wù)的隔離性,只讀事務(wù)并發(fā)執(zhí)行不會(huì)發(fā)生問(wèn)題。216。為了保證事務(wù)的隔離性和一致性,DBMS需要對(duì)并發(fā)操作進(jìn)行正確調(diào)度。第十一章 并發(fā)控制1. 交叉并發(fā)方式:在單處理機(jī)系統(tǒng)中,事務(wù)的并行執(zhí)行實(shí)際上是這些事務(wù)的并行操作輪流交叉運(yùn)行。12. 登記日志文件時(shí)必須遵循的原則:嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時(shí)間次序來(lái)進(jìn)行登記;必須先寫(xiě)日志文件,后寫(xiě)數(shù)據(jù)庫(kù)。11. 日志文件可以用來(lái)進(jìn)行事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù),并協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)。9. 數(shù)據(jù)轉(zhuǎn)儲(chǔ)即由DBA定期地將整個(gè)數(shù)據(jù)庫(kù)復(fù)制到磁帶或另一個(gè)磁盤(pán)上保存起來(lái)的過(guò)程。6. 恢復(fù)的原理概括為:冗余。216。 事務(wù)內(nèi)部的故障:在不影響其他事務(wù)運(yùn)行的情況下,強(qiáng)行回滾事務(wù),既撤消該事務(wù)已經(jīng)作出的任何對(duì)數(shù)據(jù)庫(kù)的修改,使得該事務(wù)好像根本沒(méi)有啟動(dòng)一樣。一致性;隔離性;持續(xù)性。 在SQL語(yǔ)言中,定義事務(wù)的語(yǔ)句有三條:BEGIN TRANSACTION開(kāi)始COMMIT結(jié)束:表示提交,將事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的更新協(xié)會(huì)到磁盤(pán),正常結(jié)束事務(wù)。26. 一個(gè)數(shù)據(jù)庫(kù)可以建立多個(gè)聚簇,一個(gè)關(guān)系只能加入一個(gè)聚簇。24. 聚簇就是為了提高查詢(xún)速度,把在一個(gè)(或一組)屬性上具有相同值的元組集中地存放在一個(gè)物理塊中。21. 數(shù)據(jù)庫(kù)物理設(shè)計(jì):對(duì)于給定的邏輯數(shù)據(jù)模型,選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程。216。216。將ER圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是將實(shí)體、屬性和聯(lián)系轉(zhuǎn)換成關(guān)系模式。做法:選擇局部應(yīng)用;逐一設(shè)計(jì)分ER圖??梢杂扇舾蓚€(gè)數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)組成。SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用逐層分解的方式分析系統(tǒng),用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。8. 需求分析的任務(wù):通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解原系統(tǒng)的工作概況,明確用戶(hù)的各種需求,收集支持新系統(tǒng)的基礎(chǔ)數(shù)據(jù)并對(duì)其進(jìn)行處理,確定新系統(tǒng)的功能。 需求分析階段,綜合各個(gè)用戶(hù)的需求;216。 數(shù)據(jù)庫(kù)實(shí)施階段:運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。 邏輯結(jié)構(gòu)設(shè)計(jì):將上一步得到的概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。 需求分析是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程的基礎(chǔ),要收集數(shù)據(jù)庫(kù)所有用戶(hù)的信息內(nèi)容和處理要求,并加以規(guī)格化和分析。3. 現(xiàn)代數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn):“三分技術(shù),七分管理,十二分的基礎(chǔ)數(shù)據(jù)”;結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為(處理)設(shè)計(jì)相結(jié)合。 ① 試根據(jù)上述語(yǔ)義確定函數(shù)依賴(lài)集。 ③ R滿足的最高范式。22. 模式分解:分解具有無(wú)損連接性、分解保持依賴(lài)、既具有無(wú)損連接性又保持依賴(lài)。得到兩個(gè):AB→C,B→D。 已知關(guān)系模式RU,F(xiàn),其中U={A,B,C,D,E};F={AB→C,B→D,C→E,EC→B,AC→B}。19. 分解規(guī)則:由X→Y及Z205。但STJ不滿足BCNF關(guān)系,因?yàn)門(mén)是決定因素,而T不包含碼。 關(guān)系模式STJ(S,T,J)中,S表示學(xué)生,T表示教師,J表示課程。所以SJP206。每一個(gè)學(xué)生選修每門(mén)課程的成績(jī)有一定的名次,每門(mén)課程中每一名次只有一個(gè)學(xué)生(即沒(méi)有并列名次)。3NF。BCNF。216。BCNF。由于:SNO→SDEPT SDEPT→SLOC SDEPT?SNO 所以SL207。3NF。 所以 SLC207。216。注:在非規(guī)范化的關(guān)系中去掉組合項(xiàng)就能化成規(guī)范化的關(guān)系。9. 第一范式:關(guān)系中每個(gè)屬性都是不可再分的簡(jiǎn)單項(xiàng)。 BCNF 204。注:如果Y→X,則X171。3. X→Y,但Y?X則稱(chēng)X→Y是非平凡的函數(shù)依賴(lài);X→Y,但Y包含于X則稱(chēng)X→Y是平凡的函數(shù)依賴(lài);若X→Y,則X叫做決定因素。1. 關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論主要包括三個(gè)方面的內(nèi)容:函數(shù)依賴(lài)、范式、模式設(shè)計(jì)。 每個(gè)學(xué)生學(xué)習(xí)每一門(mén)課程有一個(gè)成績(jī)。由現(xiàn)實(shí)世界已知的事實(shí)可知:216。完整性檢查包括:主碼值是否唯一,不唯一則拒絕修改;檢查注明的各屬性是否為空,一個(gè)空則拒絕修改。3. 完整性約束條件是加在數(shù)據(jù)庫(kù)數(shù)據(jù)之上的語(yǔ)義約束條件。 GRANT CREATETAB ON DATABASE S_C TO U8 WITH GRANT OPTION;45. 收回權(quán)限:REVOKE 權(quán)限 [,權(quán)限 ] … [ON 對(duì)象類(lèi)型 對(duì)象名 ] FROM 用戶(hù) 例7 把用戶(hù)U4修改學(xué)生學(xué)號(hào)的權(quán)限收回。43. DBMS安全控制功能:把授權(quán)決定告知系統(tǒng);授權(quán)結(jié)果存入數(shù)據(jù)字典;用戶(hù)提出操作請(qǐng)求時(shí),根據(jù)授權(quán)情況進(jìn)行檢查,以決定是否執(zhí)行操作請(qǐng)求。SELECT * FROM S_GWHERE Gavg=90;視圖消解后得到: SELECT Sno,AVG(Grade) FROM SC WHERE AVG(Grade)=90 GROUP BY Sno;正確的查詢(xún)語(yǔ)句應(yīng)該是: SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; HAVING AVG(Grade)=9040. 并不是所有視圖都可以更新,一些視圖是理論上可更新的,一些是理論上不可更新的。 CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT ,Grade FROM Student,SC WHERE Sdept=‘IS’ AND = AND =‘1’;37. 虛擬列:視圖定義中的一些基本表中并不存在派生屬性。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept=‘IS’ WITH CHECK OPTION(當(dāng)對(duì)視圖進(jìn)行插入或更新時(shí),要保證新行滿足視圖的定義中的謂詞條件。DELETE FROM StudentWHERE Sno=‘200215128’; 35. 視圖:從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的表,是一個(gè)虛表。SELECT Sno FROM SCWHERE Cno=‘1’ AND Sno IN (SELECT Sno FROM SC WHERE Cno=‘2’);34. SQL中更新包括:插入、刪除、修改例1 將一個(gè)新學(xué)生記錄(學(xué)號(hào):200215128;姓名:陳東;性別:男;所在系:IS;年齡:18)插入到Student表中。SELECT Sname,Sage FROM StudentWHERE SageANY (SELECT Sage FROM Student WHERE Sdept=‘IS’) AND Sdept’IS’;31. 帶有EXISTS謂詞的子查詢(xún): 例41 查詢(xún)所有選修了1號(hào)課程的學(xué)生姓名。SELECT Sno,Sname,Sdept FROM StudentWHERE Sdept= (SELECT Sdept FROM Student WHERE Sname=‘劉晨’);注意子查詢(xún)要在比較符之后。 例34 查詢(xún)每一門(mén)課的間接先修課(即先修課的先修課) SELECT , FROM Course FIRST,Course SECOND WHERE =; 運(yùn)行結(jié)果:27. 嵌套查詢(xún):將一個(gè)查詢(xún)快嵌套在另一個(gè)查詢(xún)塊的WHERE子句或HAVING短語(yǔ)的條件中的查詢(xún)。 例32 查詢(xún)每個(gè)學(xué)生及其選修課程的情況。 SELECT * FROM Student ORDER BY Sdept,Sage DESC ;21. 集函數(shù):count,sum,avg,max,min 例27 查詢(xún)選修了課程的學(xué)生人數(shù)。 SELECT Sname,Ssex FROM Student WHERE Sdept NOT IN (‘IS’,‘MA’,‘CS’) ;字符匹配:例21 查詢(xún)?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。 SELECT * FROM Student; 例3查詢(xún)?nèi)w學(xué)生的姓名、出生年份和所在系,要求用小寫(xiě)字母表示所有系名。其中Student表按學(xué)號(hào)升序建唯一索引,Course表按課程號(hào)升序建唯一索引,SC表按學(xué)號(hào)升序和課程號(hào)降序建唯一索引。13. 聚簇索引是指索引項(xiàng)的順序與表中記錄的物理順序一致的索引組織,并且表中的數(shù)據(jù)與索引一同存儲(chǔ)。 例5 刪除Student表。 CREATE TABLE Student (Sno CHAR(5)PRIMARY KEY,Sname CHAR(20)UNIQUE,Ssex CHAR(1),Sage INT DEFAULT 18,Sdept CHAR(15)); CREATE TABLE Course ( Cno CHAR(2)PRIMARY KEY, Cname CHAR(30)NOT NULL,