數(shù)據(jù)庫系統(tǒng)概論題解答(第二版)_第1頁
數(shù)據(jù)庫系統(tǒng)概論題解答(第二版)_第2頁
數(shù)據(jù)庫系統(tǒng)概論題解答(第二版)_第3頁
數(shù)據(jù)庫系統(tǒng)概論題解答(第二版)_第4頁
數(shù)據(jù)庫系統(tǒng)概論題解答(第二版)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第1章緒論1 .試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。答:(1)數(shù)據(jù)(data ):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)字、文字、圖形、圖像、聲音、正 文等。數(shù)據(jù)與其語義是不可分的。解析在現(xiàn)代計算機系統(tǒng)中數(shù)據(jù)的槪念是廣義的。早期的計算機系統(tǒng)主耍 用于科學計算,處理的數(shù)據(jù)是整數(shù)、實數(shù)、浮點數(shù)等傳統(tǒng)數(shù)學中的數(shù)據(jù)?,F(xiàn)代計算機能存儲和處理的對象 十分廣泛,表示這些對彖的數(shù)據(jù)也越來越復雜。數(shù)據(jù)與其語義是不可分的。500這個數(shù)字可以表示一件物 品的價格是500元,也可以表示一個學術會議參加的人數(shù)冇500人,還可以表示一袋奶粉重500克。(2 )數(shù)據(jù)庫(database,簡稱db ):數(shù)

2、據(jù)庫是長期儲存在計算機內的、有組織的、可共享的數(shù)據(jù)集合。 數(shù)據(jù)庫中的數(shù)據(jù)按-定的數(shù)據(jù)模型組織、描述和儲存,具有較小的兀余度、較高的數(shù)據(jù)獨立性和易擴展性, 并可為各種用戶共序。(3 )數(shù)據(jù)庫系統(tǒng)(databas。 sytcm ,簡稱dbs):數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的 系統(tǒng)構成,一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數(shù)據(jù)庫管理員構成。解析數(shù)據(jù)庫 系統(tǒng)和數(shù)據(jù)庫是兩個概念。數(shù)據(jù)庫系統(tǒng)是一個人-機系統(tǒng),數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的-個組成部分。但是在 日常工作中人們常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。希望讀者能夠從人們講話或文章的上下文中區(qū)分“數(shù)據(jù) 庫系統(tǒng)”和“數(shù)據(jù)庫”,不要引起混

3、淆。(4 )數(shù)據(jù)庫管理系統(tǒng)(database management sytcm ,簡稱dbms ):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操 作系統(tǒng)z間的一層數(shù)據(jù)管理軟件,用于科學地紐織和存儲數(shù)據(jù)、高效地茯取和維護數(shù)據(jù)。dbms的主要 功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運行管理功能、數(shù)據(jù)庫的建立和維護功能。解析dbms 是一個大型的復雜的軟件系統(tǒng),是計算機中的基礎軟件。目前,專門研制dbms的廠商及其研制的dbms 產(chǎn)品很多。著名的有美國ibm公司的dbz關系數(shù)據(jù)庫管理系統(tǒng)和ims層次數(shù)據(jù)庫管理系統(tǒng)、美國 oracle公司的oradc關系數(shù)據(jù)庫管理系統(tǒng)、s油asc公司的s油asc關系數(shù)據(jù)庫管理系

4、統(tǒng)、美國微軟 公司的sql serve ,關系數(shù)據(jù)庫管理系統(tǒng)等。9 .定義并解群概念模型中以下術語:實體,實體型,實體集,屬性,碼,實體聯(lián)系圖(e _ r圖) 答:實體:客觀存在并可以相互區(qū)分的事物叫實體。實體熨:具有相同屬性的實體具有相同的特征和性質,用 實體名及其屬性名集介來抽象和刻畫同類實體,稱為實體型。實體集:同型實體的集介稱為實體集。屬性: 實體所具冇的某一特:性,一個實體可由若干個屬性來刻畫。碼:惟-標識實休的屈性集稱為碼。實體聯(lián)系 圖(e r圖):提供了表示實體型、屬性利聯(lián)系的方法:實體型:用矩形表示,矩形框內寫明實 體名;屈性:用橢圓形表示,并用無向邊將其與相應的實體連接起來;

5、聯(lián)系:用菱形表示,菱形 框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1, l:n或 m : n )。12 學校中冇若干系,每個系冇若干班級和教研室, 每個教研室有若干教員,其中有的教授和副教授每 人各帶若干研究生;每個班有若干學生,每個學生 選修若干課程,毎門課可山若干學生選修。請用e - r圖畫出此學校的概念模型。答:20 .試述數(shù)據(jù)庫系統(tǒng)三級模式結構,這種結構的優(yōu)點是什么?答:數(shù)據(jù)庫系統(tǒng)的三級模式結構由外模式、模式和內模式組成。(參見書上圖1 .29)外模式,亦稱子模式或用 戶模式,是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)能夠看見利使川的局部數(shù)據(jù)的邏

6、輯結構和特征的描 述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。模式,亦稱邏輯模式,是數(shù)據(jù)庫中 全體數(shù)據(jù)的邏輯結構和特征的描述,是所冇用戶的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結構。外 模式涉及的是數(shù)據(jù)的局部邏輯結構,通常是模式的子集。內模式,亦稱存儲模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內 部的表示,即對數(shù)據(jù)的物理結構和存儲方式的描述。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽彖級別,它 把數(shù)據(jù)的具體組織留給dbms管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的農(nóng)示 和存儲。為了能夠在內部實現(xiàn)這三個抽象層次的聯(lián)系和轉換,數(shù)據(jù)庫系統(tǒng)在這三級模式之間提供了兩層映 像:外模式/模式映

7、像和模式/內模式映像。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)屮的數(shù)據(jù)能夠具冇較爲的 邏輯獨立性和物理獨立性。22 .什么叫數(shù)據(jù)與程序的物理獨立性?什么叫數(shù)據(jù)與程序的邏輯獨立性?為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程 序的獨立性?答:數(shù)據(jù)與程序的邏輯獨立性:當模式改變時(例如增加新的關系、新的屬性、改變屬性的數(shù)據(jù)類型等),山數(shù) 據(jù)庫管理員對各個外模式/模式的映像做柑應改變,可以使外模式保持不變。應用程序是依據(jù)數(shù)據(jù)的外模 式編寫的,從而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)與程 序的物理獨立性:當數(shù)據(jù)庫的存儲結構改變了,山數(shù)據(jù)庫管理員對模式/內模式映像做相應改變,可以使 模式保持

8、不變,從而應用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。數(shù) 據(jù)庫管理系統(tǒng)在三級模式z間提供的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具冇較高的邏輯獨立性和物 理獨立性。第2章關系數(shù)據(jù)庫1 .試述關系模型的三個組成部分。答:關系模型由關系數(shù)據(jù)結構、關系操作集介和關系完整性約束三部分組成。5. 設冇一個spj數(shù)據(jù)庫,包括s, p, j, spj四個關系模式:1) 求供應工程j1零件的供應商號碼sno:n sno( 0 sno= 'ji' (spj)2) 求供應工程ji零件pl的供應商號碼sno:n sno( o sno= 'ji' apno=

9、'pl '(spj)3) 求供應工程ji零件為紅色的供應商號碼sno:n sno( o pno= 'pl '( o color二'纟'(p) <«spj)4) 求沒有使用天津供應商生產(chǎn)的紅色零件的工程號jno:6. 試述等值連接與自然連接的區(qū)別和聯(lián)系。答:連接運算符是的連接運算稱為等值連接。它是從關系r與s的廣義笛卡爾積中選収a, b屬性 值相等的那些元組自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是和同的屈性組,并且在結果中 把重復的屬性列去掉。7. 關系代數(shù)的基本運算冇哪些?如何用這些基木運算來表示其他運算

10、?答:并、差、笛卡爾積、投影和選擇5種運算為基木的運算。其他3種運算,即交、連接和除,均可以用 這5種基本運算來衣達。第3章關系數(shù)據(jù)庫標準語言sql2 .試述sql的定義功能。sql的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引。sql語言使川create table語句建立基本 表,alter table語句修改基本表定義,drop table語句刪除基本表;使用create index語 句建立索引,drop index語句刪除索引;使用create view語句建立視圖,drop view語句刪 除視圖。5.針対習題3中的四個表試用sql語言完成以下各項操作:(1) 找岀所有供應商的姓名和

11、所在城市。select snamecity from s(2) 找出所冇零件的名稱、顏色、重量。select pname,color,weight from p(3) 找出使用供應商si所供應零件的工程號碼。select dist jno from spj where sno=s 1*(4) 找出工程項目j2使用的各種零件的名稱及其數(shù)量。select pname,qty from spj,pwhere p.pno=spj.pno and spj.jno=,j2,(5) 找出上海廠商供應的所有零件號碼。select pno from spj,s where s.sno=spj.sno and c

12、ity二'上海'(6) 出使用上海產(chǎn)的零件的工程名稱。select jname from spj,s,jwhere s.sno=spj.sno and s.city='上海'and j.jno=spj.jno(7) 找出沒有使用犬津產(chǎn)的零件的工程號碼。注懣:select disp jno from spj where jno not in (select dist jno from spj.s where s.sno=spj.sno and s.city=*天津)適用于jno是唯一或不唯一的情況.注意:select dist jno from spj,s whe

13、re s.sno=spj.sno and s.cityo'天津'適用于 jno 是唯 一的情況(8) 把全部紅色零件的顏色改成藍色。update p set colors藍where color二'紅(9) 111 s5供給j4的零件p6改為由s3供應。update spj set sno='s3' where sno='s5' and jno=,j4, and pno=,p6,(10) 從供應商關系中刪除供應商號是s2的記錄,并從供應情況關系中刪除相應的記錄。a、delete from s where sno='s2'b

14、、delete from spj where sno= 's2'(11) 請將(s2, j6, p4, 200)插入供應情況關系。insert into spj values ('s2', 'j6', 'p4', 200)6 .什么是基木表?什么是視圖?答兩者的區(qū)別和聯(lián)系是什么?基本表是本身獨立存在的表,在sql中一個關系就對應一個表。視圖是從一 個或幾個基木表導出的表。視圖木身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。即數(shù)據(jù)庫屮只存放視圖的定義 而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍存放在導出視圖的基本衣中。視圖在概念上與棊本衣等同,用戶可

15、 以如同基木表那樣使用視圖,可以在視圖上再定義視圖。8 所冇的視圖是否都可以更新?為什么?答:不是。視圖是不實際存儲數(shù)據(jù)的虛農(nóng),兇此對視圖的更新,最終要轉換為對基本農(nóng)的更新。因為有些視圖 的更新不能惟-有憑義地轉換成對相應基本表的更新,所以,并不是所有的視圖都是可更新的.第4章數(shù)據(jù)庫安全性2 數(shù)據(jù)庫安全性和計算機系統(tǒng)的安全性冇什么關系?答:安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨有的,所有汁算機系統(tǒng)都有這個問題。只是在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù) 集中存放,而且為許多最終用戶直接共享,從而使安全性問題更為突出。系統(tǒng)安金保護措施是否有效是數(shù)據(jù)廂系統(tǒng)的主要指標之一。數(shù)據(jù)庫的安全性和計算機系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)

16、絡系統(tǒng)的安全性是緊密聯(lián)系、相互支持的,5 試述實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術。答:實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術有:(1 )用戶標識和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標識自己的名字或身份。每次用戶要求進入系 統(tǒng)時,山系統(tǒng)進行核對,通過鑒定后才提供系統(tǒng)的使用權。(2 )存取控制:通過用戶權限定義和介法權檢査確保只冇介法權限的用戶訪問數(shù)據(jù)庫,所有未被授權的人 員無法存取數(shù)據(jù)。例如cz級中的自主存取控制(dac ), b1級中的強制存取控制(mac )。(3 )視圖機制:為不同的用戶定義視圖,通過視圖機制把耍保密的數(shù)據(jù)對無權存取的用戶隱藏起來,從而 自動地對數(shù)據(jù)提供一定程度的安全保

17、護。(4 )審計:建立審計日志,把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日志中,dba可以利用審 計跟蹤的信息,重現(xiàn)導致數(shù)據(jù)庫現(xiàn)冇狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內容等。(5 )數(shù)據(jù)加密:對存儲和傳輸?shù)臄?shù)據(jù)進行加密處理,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內容。6 .什么是數(shù)據(jù)庫中的口主存取控制方法和強制存取控制方法?答:自主存取控制方法:定義各個用戶對不同數(shù)據(jù)對象的存取權限。當用戶對數(shù)據(jù)庫訪問時首先檢査用戶的存 取權限。防止不合法用戶對數(shù)據(jù)庫的存取。強制存取控制方法:每一個數(shù)據(jù)對彖被(強制地)標以一定的密級,每一個用戶也被(強制地)授予某一 個級別的許可證。系統(tǒng)規(guī)定只有

18、具有某一許可證級別的川戶才能存取某一個密級的數(shù)據(jù)對象。8. 請用sql的grant和revoke語句(加上視圖機制)完成以下授權定義或存取控制功能:(a )用戶王明對兩個表有select權力。grant select on 職工,部門to王明(b )用戶李勇對兩個表有insert和delete權力。grant insert,delete on 職工,部門to李勇(c )每個職工只對自己的記錄冇select權力。grant select on 職工when user()=nameto all;(d )用戶劉星對職t表冇select權力,對工資字段具有史新權力。grant select,updat

19、e(工資)on 職工to劉星(c )用戶張新具有修改這兩個表的結構的權力。grant alter table on 職工,部門to張新;(f)用戶周平具有對兩個表所有權力(讀,插,改,刪數(shù)據(jù)),并具有給其他用戶授權的權力。grant all priviliges on 職工,部門to周平with grant option;(g)用戶楊蘭具冇從每個部門職工中select最高工資、最低工資、平均工資的權力,他不能查看每個 人的工資。create view 部門工資asselect部門.名稱,max(工資),min(工資),avg(工資)from職工,部門where職工.部門號二部門.部門號grou

20、p by職工.部門號grant select on 部門工資to楊蘭;13 .什么是數(shù)據(jù)庫的審計功能,為什么要提供審計功能?答:審計功能是指dbms的審計模塊在用戶對數(shù)據(jù)庫執(zhí)行操作的同時把所冇操作鬥動記錄到系統(tǒng)的審計n 志中。因為任何系統(tǒng)的安全保護措施都不是完美無缺的,蓄懣盜竊破壞數(shù)據(jù)的人總可能存在。利用數(shù)據(jù)庫的審計 功能,dba可以根據(jù)審計跟蹤的信息,重現(xiàn)導致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存収數(shù)據(jù)的人、 時間和內容等。第5章數(shù)據(jù)庫完整性1什么是數(shù)據(jù)庫的完整性?答:數(shù)據(jù)冷的完整性是指數(shù)據(jù)的正確性和相容性。4 . dbms的完藥性控制機制應具冇哪些功能?答:dbms的完整性控制機制應具有三

21、個方面的功能:(1 )定義功能,即提供定義完整性約束條件的機制; (2 )檢査功能,即檢査用戶發(fā)出的操作請求是否違背了完整性約束條件:(3 )違約反應:如呆發(fā)現(xiàn)用戶 的操作請求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動作來保證數(shù)據(jù)的完整性。第6章 關系數(shù)據(jù)庫理論1 .理解并給出下列術語的定義:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、候選碼、主碼、外碼、全碼(all - key )、1 nf、 znf、3nf、bcnf、多值依賴、4nf。定義1:設r(u)是屬性集u上的關系模式。x, y是屬性集u的子集。若對于r(u)的任意一個可能的關系 r,r中不可能存在兩個元組在x上的屈性值相等,而

22、在y上的屈性值不等,則稱x*|數(shù)確定y或yl*|數(shù) 依賴于x,記作xty。(即只要x上的屬性值相等,y上的值一定相等。)術語和記號:xty,但y不是x的子集,則稱xty是菲平凡的函數(shù)依賴。若不特別聲明,總是討論菲平凡的函數(shù)依 賴。xty,但y是x的子集,則稱xpy是平凡的函數(shù)依賴。若xty,則x叫做決定因素(determinant)o若 xty, ytx,則記作 xgty。 、若y不兩數(shù)依賴于x,則記作xty。定義2:在r(u)中,如果xty,并且對于x的任何一個真子集x,,都有x,ty,則稱y對x完全函數(shù) 依賴若xty,但y不完全函數(shù)依賴于x,則稱y對x部分函數(shù)依賴定義3:若關系模式r的每一

23、個分量是不可再分的數(shù)據(jù)項,則關系模式r屬于第一范式(lnf)o定義4:若關系模式rg1nf,且每一個非主屈性完全苗數(shù)依賴于碼,則關系模式rw2nf。(即1nf消除 了非主屬性對碼的部分函數(shù)依賴則成為2nf)。定義5:關系模式r<u, f>中若不存在這樣的碼x、屬性組y及非主屬性z(z不是y的子集)使得xty, ytx, y->z 成立,則稱 rvu, f>£3nf。定義6:關系模式rvu, f>einf。若xty且y不是x的子集時,x必含冇碼,則rvu, f>ebcnfo 定義7:關系模式r<u, f>e inf,如果對于r的每個非平凡

24、多值依賴xy(y不是x的子集,z=u-x-y 不為空),x都含有碼,則稱rvu, f>g4nfo2.建立一個關于系、學生、班級、學會等諸信息的關系數(shù)據(jù)庫。學生:學號、姓名、出生年月、系名、班號、宿舍區(qū)。班級:班號、專業(yè)名、系名、人數(shù)、入校年份。系:系名、系號、系辦公地點、人數(shù)。學會:學會名、成立年份、辦公地點、人數(shù)。語義如下:一個系冇若干專業(yè),每個專業(yè)每年只招一個班,每個班有若干學生。一個系的學生住在同 一宿舍區(qū)。每個學生可參加若干學會,每個學會冇若干學生。學生參加某學會冇一個入會年份。請給出關系模式,寫出每個關系模式的極小兩數(shù)依賴集,指出是否存在傳遞兩數(shù)依賴,対于函數(shù)依賴 左部是多屬性

25、的情況討論函數(shù)依賴是完全函數(shù)依賴,還是部分函數(shù)依賴。指出各關系模式的候選碼、外部 碼,有沒有全碼存在? 解:(1)關系模式如下:學生:s(sno, sname, sbirth, dept, class, rno)班級:c(class» pname, dept, cnum, cyear)系:d(dept, dno, office, dnum)學會:m(mname, myear, maddr, mnum)(2) 每個關系模式的最小函數(shù)依賴集如下:a、學生 s (sno, sname, sbirth, dept, class, rno)的最小函數(shù)依賴集如卜:snotsname, snosb

26、irth, sno->class, class->dept, dept->rno傳遞依賴如下:由于 sno->dept,而 dept->sno , dept->rno (宿舍區(qū))所以sno與rno z間存在著傳遞兩數(shù)依賴。由 j ' classtdept, dept -> class, dept->rno所以class與rno z間存在著傳遞兩數(shù)依賴。由 j sno>class, class->sno, class->dept所以sno與dept之間存在看傳遞函數(shù)依賴。b、班級c(class, pnamc, dept,

27、cnum, cycar)的最小函數(shù)依賴集如卜:class->pname, class->cnum, class->cyear. pnamedept.ill于 class->pname, pname->class, pname->dept所以class與dept之.間存在著傳遞兩數(shù)依賴。c、系1)(dept, i)no, office, dnum)的最小函數(shù)依賴集如下:dept->dno, dno->dept» dno->office, dno->dnum根據(jù)上述函數(shù)依賴可知,dept與office, dept與dnum之間不

28、存在傳遞依賴。d、學會m(mname, myear, maddr, mnum)的最小函數(shù)依賴集如下:mnamc->n4ycar, mnamc->maddr, mnamc->mnum該模式不存在傳遞依賴。(3)各關系模式的候選碼、外部碼,全碼如下:a、學生s候選碼:sno;夕卜部碼:depl、class;無全碼b、班級c候選碼:class;外部碼:dept;無全碼c、系d候選碼:dept或dno;無外部碼;無全碼d、學會m候選碼:mname;無外部碼;無全碼第7章數(shù)據(jù)庫設計1.試述數(shù)據(jù)庫設計過程。答:這里只概要列出數(shù)據(jù)庫設計過程的六個階段:(1 )需求分析;(2 )概念結構設計

29、;(3 )邏輯結 構設計;(4 )數(shù)據(jù)庫物理設計;(5 )數(shù)據(jù)庫實施;(6 )數(shù)據(jù)庫運行和維護。這是一個完整的實際數(shù) 據(jù)庫及其應用系統(tǒng)的設計過程。不僅包括設計數(shù)據(jù)庫本身,還包括數(shù)據(jù)庫的實施、運行和維護。設計一個 完善的數(shù)據(jù)庫應用系統(tǒng)往往是上述六個階段的不斷反復。6 .數(shù)據(jù)字典的內容和作用是什么?答:數(shù)據(jù)字典是系統(tǒng)屮各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內容通常包括:(1)數(shù)據(jù)項;(2)數(shù)據(jù)結構;(3)數(shù)據(jù)流;(4 )數(shù)據(jù)存儲;(5 )處理過程五個部分。其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個 數(shù)據(jù)項可以組成一個數(shù)據(jù)結構。數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結構的定義來描述數(shù)據(jù)流和數(shù)據(jù)存儲的邏輯 內容。數(shù)據(jù)字典的作

30、用:數(shù)據(jù)字典是關丁數(shù)據(jù)庫中數(shù)據(jù)的描述,在需求分析階段建立,是下一步進行概念 設計的基礎,并在數(shù)據(jù)庫設計過程中不斷修改、充實、完蓋。18 .現(xiàn)有一局部應用,包括兩個實體:“出版社”和"作者”,這兩個實體是多對多的聯(lián)系,請讀者自己設 計適當?shù)膶傩?,畫出e r圖,再將其轉換為關系模型(包括關系名、屬性名、碼和完整性約束條件)。 答:關系模型為:作者(作者號,姓名,年齡,性別,電話,地址)出版社(出版社號,名稱,地址,聯(lián)系電 話)出版(作者號,出版社號,書的數(shù)量)出版關系的主碼作者號,出版社號分別參照作者關系的主碼作 者號和出版社關系的主碼出版社號。19 請設計一個圖書館數(shù)據(jù)庫,此數(shù)據(jù)庫中對

31、每個借閱者保存讀者記錄,包括:讀者號,姓名,地址,性 別,年齡,單位。對每本書存有:書號,書名,作者,出版社。對每本被借出的書存有讀者號、借出日期 和應還日期。耍求:給出e - r圖,再將其轉換為關系模型。答:e r圖為:關系模型為:讀者(讀者號,姓名,地址,性別)書(書號,書名,作者,出版社)借書(讀者號,書號, 借出日期,年齡,單位)應還日期)第9章 關系查詢處理和查詢優(yōu)化3 .試述查詢優(yōu)化的-般準則。答:下面的優(yōu)化策略一般能提高查詢效率:(1 )選擇運算應盡可能先做;(2 )把投影運算和選擇運算 同時進行;(3 )把投影同其前或其后的雙目運算結合起來執(zhí)行;(4 )把某些選擇同在它前面要執(zhí)

32、行的 笛卡兒積結合起來成為一個連接運算;(5 )找出公共子表達式;(6 )選取合適的連接算法。4 .試述查詢優(yōu)化的-般步驟。答:各個關系系統(tǒng)的優(yōu)化方法不盡相同,大致的步驟可以歸納如下:(1 )把查詢轉換成某種內部表示, 通常用的內部表示是語法樹。(2 )把語法樹轉換成標準(優(yōu)化)形式。即利用優(yōu)化算法,把原始的語法 樹轉換成優(yōu)化的形式。(3 )選擇低層的存取路徑。(4 )生成査詢計劃,選擇代價最小的。第10章數(shù)據(jù)庫恢復技術1.試述事務的概念及事務的4個特性。答:事務是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。事務具有4個特性:原子性(atomicity

33、)、一致性(consistency )、隔離isolation )和持續(xù)性(durability )。 這4個特性也簡稱為acid特性。原子性:事務是數(shù)據(jù)庫的邏輯工作單位,申務中包括的諸操作要么都做,要么都不做。一致性:事務執(zhí)行的結果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。隔離性:一個事務的執(zhí)行不能被其他事務干擾。即一個事務內部的操作及使用的數(shù)據(jù)對其他并發(fā)事務是隔 離的,并發(fā)執(zhí)行的各個申務之間不能互相干擾。持續(xù)性:持續(xù)性也稱永久性(pcrfnzmence),指一個爭務 一旦捉交,它對數(shù)據(jù)庫屮數(shù)據(jù)的改變就應該是永久性的。接下來的其他操作或故障不應該對其執(zhí)行結果冇 任何影響。5 .數(shù)據(jù)

34、庫恢復的某本技術有哪些?答:數(shù)據(jù)轉儲和令錄日志文件是數(shù)據(jù)廂恢復的基本技術。當系統(tǒng)運行過程中發(fā)生故障,利用轉儲的數(shù)據(jù)庫后備副木和日志文件就可以將數(shù)據(jù)庫恢復到故障前的某個 一致性狀態(tài)。7 .什么是日志文件?為什么耍設立日志文件?答:(1)日志文件是用來記錄事務對數(shù)據(jù)庫的更新操作的文件。(2)設立日志文件的目的是:進行事務故障恢復;進行系統(tǒng)故障恢復;協(xié)助后備副本進行介質故障恢復。8 .登記日志文件時為什么必須先寫日,忐文件,后寫數(shù)據(jù)庫?答:把對數(shù)據(jù)的修改寫到數(shù)據(jù)庫中和把表示這個修改的ii志記錄寫到日志文件屮是兩個不同的操作。冇可能在 這兩個操作z間發(fā)生故障,即這兩個寫操作只完成了一個。如果先寫了數(shù)據(jù)

35、庫修改,而在運行記錄屮沒冇登記這個修改,則以后就無法恢復這個修改了。如果先寫日 志,們沒有修改數(shù)據(jù)庫,在恢復時只不過是多執(zhí)行一次undo操作,并不會影響數(shù)據(jù)庫的正確性。所以一 定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數(shù)據(jù)庫的修改。9 .針對不同的故障,試給出恢復的策峪和方法。(即如何進行爭務故障的恢復?系統(tǒng)故障的恢復?介質故 障恢復?)答:事務故障的恢復:事務故障的恢復是由dbms dbms執(zhí)行恢復步驟是:自動完成的,對用戶是透明的。(1)反向掃描文件日志(即從最后向前掃描日志文件),査找該事務的更新操作;(2)對該事務的更新操作執(zhí)行逆操作,叩將日志記錄屮“更新前的值”寫入數(shù)據(jù)

36、庫;(3)繼續(xù)反向掃描日志文件,做同樣處理;(4)如此處理下去,直至讀到此事務的開始標記,該事務故障的恢復就完成了。系統(tǒng)故障的恢復:系統(tǒng)故障可能會造成數(shù)據(jù)庫處于不一致狀態(tài):一是未完成事務對數(shù)據(jù)庫的史新町能已寫入數(shù)據(jù)庫;二是己 提交事務對數(shù)據(jù)庫的更新可能還留在緩沖區(qū),沒來得及寫入數(shù)據(jù)庫。因此恢復操作就是要撤銷(undo ) 故障發(fā)生時未完成的事務,重做(redo )已完成的事務。系統(tǒng)的恢復步驟是:(1)正向掃描11志文件,找出在故障發(fā)生前己經(jīng)提交的事務隊列(redo隊列)和未完成的爭務隊列(undo 隊列)。(2)對撤銷隊列中的各個事務進行undo處理。進行undo處理的方法是,反向掃描口志文件

37、,對每個undo事務的更新操作執(zhí)行逆操作,即將口志記 錄中"更新前的值” before image )寫入數(shù)據(jù)庫。(3 )對重做隊列中的各個事務進行redo處理。進行redo處理的方法是:正向掃描日志文件,對每個redo申務重新執(zhí)行日志文件登記的操作。即將 日志記錄中“更新后的值” afte , image )寫入數(shù)據(jù)庫。介質故障的恢復:介質故障是最嚴重的-種故障?;謴头椒ㄊ怯暄b數(shù)據(jù)庫,然后雨做已完成的申務。具體過程是:(1 ) dba裝入最新的數(shù)據(jù)庫后備副本(離故障發(fā)生時刻最近的轉儲副木),使數(shù)據(jù)庫恢復到轉儲時的一致 性狀態(tài);(2 ) dba裝入轉儲結束時刻的日志文件副本;(3)

38、dba啟動系統(tǒng)恢復命令,宙dbms完成恢復功能,即重做已完成的事務。第11章并發(fā)控制1在數(shù)據(jù)庫中為什么要并發(fā)控制?答:數(shù)據(jù)庫是共享資源,通常有許多個事務同時在運行。當多個事務并發(fā)地存取數(shù)據(jù)庫時就會產(chǎn)生同時讀 取和/或修改同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就可能會存取利存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的 一致性。所以數(shù)據(jù)庫管理系統(tǒng)必須捉供并發(fā)控制機制。2 .并發(fā)操作可能會產(chǎn)生哪兒類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?答:并發(fā)操作帶來的數(shù)據(jù)不一致性包插三類:丟失修改、不可重復讀和讀“臟'夕數(shù)據(jù)。(i )丟失修改 (lost update)兩個事務t1和t2讀入同一數(shù)據(jù)并修改,t2提

39、交的結果破壞了(覆蓋了)t1提交的結果, 導致t1的修改被丟失。(2 )不可重復讀(non repeatable read )不可重復讀是指事務t1讀取數(shù) 據(jù)后,事務幾執(zhí)行更新操作,使t1無法再現(xiàn)前一次讀取結果。(3 )讀“臟”數(shù)據(jù)(dirty read )讀“臟 夕數(shù)據(jù)是指事務t1修改某一數(shù)據(jù),并將其寫回磁盤,事務兒讀取同-數(shù)據(jù)后,t1由于某種原因被撤銷, 這時ti已修改過的數(shù)據(jù)恢復原值,兒讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則兒讀到的數(shù)據(jù)就為“臟” 數(shù)據(jù),即不止確的數(shù)據(jù)。避免不一致性的方法和技術就是并發(fā)控制。最常用的技術是封鎖技術。也可以川 其他技術,例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控制。3 什么是封鎖?基本的封鎖類型冇兒種?試述它們的含義。答:封鎖就是事務t在対某個數(shù)據(jù)対彖例如表、記錄等操作z前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖厲 事務t就對該數(shù)據(jù)對象有了一定的控制,在事務t釋放它的鎖之前,其他的竊務不能更新此數(shù)據(jù)對象。 封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術?;镜姆怄i類型有兩種:排它鎖(ex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論