2024春數(shù)據(jù)庫系統(tǒng)概論離線作業(yè)_第1頁
2024春數(shù)據(jù)庫系統(tǒng)概論離線作業(yè)_第2頁
2024春數(shù)據(jù)庫系統(tǒng)概論離線作業(yè)_第3頁
2024春數(shù)據(jù)庫系統(tǒng)概論離線作業(yè)_第4頁
2024春數(shù)據(jù)庫系統(tǒng)概論離線作業(yè)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

浙江高校遠(yuǎn)程教化學(xué)院

《數(shù)據(jù)庫系統(tǒng)概論》課程作業(yè)

姓名:夏林學(xué)號:

年級:2024秋學(xué)習(xí)中心:洞頭學(xué)習(xí)中心

第一章習(xí)題2、6、10

其次章習(xí)題5、6

第三章習(xí)題4、5、9

第四章習(xí)題3、7、8、10

第五章習(xí)題2、5、6、7

第六章習(xí)題2、7

第七章習(xí)題9、10

第九章習(xí)題3

第十章習(xí)題3、4、5

第十一章習(xí)題4、7、9\10*

作業(yè):

第一章習(xí)題2、6、10

習(xí)題2運(yùn)用數(shù)據(jù)庫系統(tǒng)有什么好處?

答:運(yùn)用數(shù)據(jù)庫系統(tǒng)的好處是由數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn)或優(yōu)點(diǎn)

確定的。

運(yùn)用數(shù)據(jù)庫系統(tǒng)的好處很多,例如,可以大大提高應(yīng)用開發(fā)

的效率,便利用戶的運(yùn)用,減輕數(shù)據(jù)庫系統(tǒng)管理人員維護(hù)的負(fù)擔(dān),

▲一二一▲一上-

z寺wtz寺Vr\。

運(yùn)用數(shù)據(jù)庫系統(tǒng)可以大大提高應(yīng)用開發(fā)的效率。因?yàn)樵跀?shù)據(jù)

庫系統(tǒng)中應(yīng)用程序不必考慮數(shù)據(jù)的定義、存儲和數(shù)據(jù)存取的具體

路徑,這些工作都由DBMS來完成。用一個通俗的比方,運(yùn)用

了DBMS就如有了一個好參謀、好助手,很多具體的技術(shù)工作

都由這個助手來完成。開發(fā)人員就可以專注于應(yīng)用邏輯的設(shè)計(jì),

而不必為數(shù)據(jù)管理的許很多多困難的細(xì)微環(huán)節(jié)操勞。還有,當(dāng)

應(yīng)用邏輯變更,數(shù)據(jù)的邏輯結(jié)構(gòu)也須要變更時,由于數(shù)據(jù)庫系統(tǒng)

供應(yīng)了數(shù)據(jù)與程序之間的獨(dú)立性,數(shù)據(jù)邏輯結(jié)構(gòu)的變更

是DBA的責(zé)任,開發(fā)人員不必修改應(yīng)用程序,或者只須要修改

很少的應(yīng)用程序,從而既簡化了應(yīng)用程序的編制,又大大削減了

應(yīng)用程序的維護(hù)和修改。

運(yùn)用數(shù)據(jù)庫系統(tǒng)可以減輕數(shù)據(jù)庫系統(tǒng)管理人員維護(hù)系統(tǒng)的

負(fù)擔(dān)。因?yàn)镈BMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時對數(shù)據(jù)庫進(jìn)行

統(tǒng)一的管理和限制,包括數(shù)據(jù)的完整性、平安性、多用戶并發(fā)限

制、故障復(fù)原等,都由DBMS執(zhí)行。

總之,運(yùn)用數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)是很多的,既便于數(shù)據(jù)的集中

管理,限制數(shù)據(jù)冗余,提高數(shù)據(jù)的利用率和一樣性,又有利于應(yīng)

用程序的開發(fā)和維護(hù)。

習(xí)題6數(shù)據(jù)庫管理系統(tǒng)的主要功能有哪些?

答:數(shù)據(jù)庫管理系統(tǒng)的主要功能有:數(shù)據(jù)定義功能、數(shù)據(jù)操縱功

能、數(shù)據(jù)庫的運(yùn)行管理、數(shù)據(jù)庫的建立和維護(hù)功能、其他功能等。

習(xí)題10試給出三個實(shí)際狀況的E-R圖,要求實(shí)體型之間具有

一對一、一對多、多對多各種不同的聯(lián)系。

答:

部門科研項(xiàng)目課程

1nirn

總經(jīng)理教員學(xué)生教員

一對一聯(lián)系一對多聯(lián)系多對多聯(lián)系

部門和總經(jīng)理是兩個實(shí)體。一個部門或者一個公司只有一個

總經(jīng)理,一個總經(jīng)理只在一個公司工作,不能兼任兩個以上公司

的總經(jīng)理,所以部門和總經(jīng)理兩個實(shí)體之間是一對一的聯(lián)系。

一個科研項(xiàng)目可以由多個教員和多個學(xué)生擔(dān)當(dāng)。假如規(guī)起一

個教員只能參與一個項(xiàng)目,一個學(xué)生也只能參與一個項(xiàng)目。依據(jù)

這樣的語義,科研項(xiàng)目和教員、學(xué)生三者之間是一對多的聯(lián)系。

假如一門課程可以由多個教員講授,一個教員可以講授多門

課程,則課程和教員之間是多對多的聯(lián)系。

其次章習(xí)題4、5

習(xí)題4試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么

外部碼屬性的值也可以為空?什么狀況下才可以為空?

兀SNo(°

JNO=JTAPNO='P1'(SPJ))

(3)求供應(yīng)工程JI零件為紅色的供應(yīng)商號碼SNO;

SNo(nSNO,PNo(。

JIJNO=JT(SPJ)HJIPN°(0COL四

紅,(P)))

(4)求沒有運(yùn)用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO;

SN()(。CITY='天津'

冗JN()(J)五JNO⑸于

SNO,PNO,JNO(six)nPNo(。COLOR=,紅,(P)))

(5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNOo

兀PN°』N°(SPJ)+JIPNO(。SNO=,S1(SPJ))

第三章習(xí)題3、4、5、11

習(xí)題3用SQL語句建立其次章習(xí)題5中的4個表

答:對于S表:S(SNO,SNAME,STATUS,CITY);

CREATETABLES(SNOCHAR(3)UNIQUE,SNAMECHAR(1

0),STATUSCHAR(2),CITYCHAR(10));

對于P表:P(PNO,PNAME,COLOR,WEIGHT);

CREATETABLEP(PNOCHAR(3)UNIQUE,PNAMECHAR(1

0),COLORCHAR(4),WEIGHTINT);

對于J表:J(JNO,JNAME,CITY);

CREATETABLEJ(JNOCHAR(3)UNIQUE,JNAMECHAR(

12),CITYCHAR(IO));

對于SPJ表:SPJ(SNO,PNO,JNO,QTY);

CREATETABLESPJ(SNOCHAR(3),PNOCHAR(3),JNOC

HAR(3),QTYINT));

習(xí)題4針對上題中建立的四個表試用SQL完成其次章習(xí)題5中

的查詢。

答:

(1)求供應(yīng)工程J1零件的供應(yīng)商號碼SNO;

SELECTDISTINCTSNO

FROMSPJ

WHEREJNO^jr;

(2)求供應(yīng)工程JI零件Pl的供應(yīng)商號碼SNO;

SELECTDISTINCTSNO

FROMSPJ

WHEREJNO=9JFANDPNO^Pl91;

(3)求供應(yīng)工程JI零件為紅色的供應(yīng)商號碼SNO;

SELECTDISTINCTSNO

FROMSPJ,P

WHEREJNO=jrANDSPJ.PNO=P.PNOANDCOLORS

紅,;

(4)求沒有運(yùn)用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO;

SELECTJNO

FROMJ

WHERENOTEXISTS

(SELECT*

FROMS,P,SPJ

WHERESPJ.JNO=J.JNO

ANDSPJ.SNO=S.SNO

ANDSPJ.PNO=P.PNO

ANDS.CITY=,天津,

ANDP.COLOR=,紅,);

⑸求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO;

SELECTDISTINCTJNO

FROMSPJSPJZ

WHERENOTEXISTS

(SELECT*

FROMSPJSPJX

WHERESNO=9SV

ANDNOTEXISTS

(SELECT*

FROMSPJSPJY

WHERESPJY.PNO=SPJX.PNO

ANDSPJY.JNO=SPJZ.JNO));

習(xí)題5針對習(xí)題3中的四個表試用SQL完成以下各項(xiàng)操作:

答:(1)找出全部供應(yīng)商的姓名和所在城市。

SELECTSNAME,CITY

FROMS;

(2)找出全部零件的名稱、顏色、重量。

SELECTPNAME,COLOR,WEIGHT

FROMP;

⑶找出訪用供應(yīng)商SI所供應(yīng)零件的工程號碼。

SELECTDISTINCTJNO

FROMSPJ

WHERESNO=,Sr;

(4)找出工程項(xiàng)目J2運(yùn)用的各種零件的名稱及其數(shù)量。

SELECTP.PNAME,SPJ.QTY

FROMP,SPJ

WHEREP.PNO=SPJ.PNOANDSPJ.JNO=J2,;

(5)找出上海廠商供應(yīng)的全部零件號碼。

SELECTDISTINCTPNO

FROMSPJ

WHERESNOIN

(SELECTSNO

FROMS

WHERECITY='上海');

(6)找出訪用上海產(chǎn)的零件的工程名稱。

SELECTJNAME

FROMJ,SPJ,S

WHEREJ.JNO=SPJ.JNO

ANDSPJ.SNO=S.SNO

ANDS.CITY=,上海,;

⑺找出沒有運(yùn)用天津產(chǎn)的零件的工程號碼。

SELECTJNO

FROMJ

WHERENOTEXISTS

(SELECT*

FROMSPJ

WHERESPJ.JNO=J.JNO

ANDSNOIN

(SELECTSNO

FROMS

WHERECITY=,天津,));

⑻把全部紅色零件的顏色改成藍(lán)色。

UPDATEPSETCOLOR二,藍(lán)'

WHERECOLORS紅,;

(9)由S5供應(yīng)J4的零件P6改為由S3供應(yīng),請作必要的修改。

UPDATESPJSETSNO=9S39

WHERESNO='S5'ANDJNO='J4'ANDPNO='P6';

(10)從供應(yīng)商關(guān)系中刪除S2的記錄,并從供應(yīng)狀況關(guān)系中刪除

相應(yīng)的記錄。

DELETFROMSPJ

WHERESNO=,S2,;

DELETFROMS

WHERESNO=,S2,;

(11)請將(S2,J6,P4,200)插入供應(yīng)狀況關(guān)系。

INSERTINTOSPJ(SNO,JNO,PNO,QTY)

VALUES('S2','J6','P4',200);

習(xí)題11請為三建工程項(xiàng)目建立一個供應(yīng)狀況的視圖,包括供應(yīng)

商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。針對該

視圖完成下列查詢:

(1)找出三建工程項(xiàng)目運(yùn)用的各種零件代碼及其數(shù)量。

(2)找出供應(yīng)商S1的供應(yīng)狀況。

答:建視圖:

CREATEVIEWV_SPJAS

SELECTSNO,PNO,QTYFROMSPJWHEREJNO=

(SELECTJNOFROMJWHEREJNAME=,三建D;

對該視圖查詢:

⑴找出三建工程項(xiàng)目運(yùn)用的各種零件代碼及其數(shù)量。

SELECTPNO,QTYFROMV_SPJ;

⑵找出供應(yīng)商S1的供應(yīng)狀況。

SELECTPNO,QTY/*SI供應(yīng)三建工程的零件號和對應(yīng)數(shù)量

*/

FROMV_SPJ

WHERESNO^SV;

第四章習(xí)題4、8、9、11

習(xí)題4試述CC評估保證級劃分的基本內(nèi)容

答:CC提出國際公認(rèn)的表述信息技術(shù)平安性的結(jié)構(gòu),把信息產(chǎn)

品的平安要求分為平安功能要求、平安保證要求。CC文本由三

部分組成:簡介和一般模型;平安功能要求;平安保證要求。

CC評估保證級劃分如下:

評估TCSEC平

保證定義安級別(近

級似相當(dāng))

EAL1功能測試(functionaHytested)

EAL2結(jié)構(gòu)測試(structurallytested)C1

EAL3系統(tǒng)地測試和檢查(methodicallytestedC2

andchecked)

EAL4系統(tǒng)地設(shè)計(jì)、測試和復(fù)查(methodicallyB1

designed,tested,andreviewed)

EAL5半形式化設(shè)計(jì)和測試(semiformallyB2

designedandtested)

EAL6半形式化驗(yàn)證的設(shè)計(jì)和測試(semiformallyB3

verifieddesignandtested)

EAL7形式化驗(yàn)證的設(shè)計(jì)和測試(formallyAl

verifieddesignandtested)

習(xí)題8今有兩個關(guān)系模式:

職工(職工號,姓名,年齡,職務(wù),工資,部門號)

部門(部門號,名稱,經(jīng)理名,地址,電話號)

請用SQL的GRANT和REVOKE語句(力口上視圖機(jī)制)完成以下

授權(quán)定義或存取限制功能:

答:

(a)用戶王明對兩個表有SELECT權(quán)力。

GRANTSELECTON職工,部門TO王明

(b)用戶李勇對兩個表有INSERT和DELETE權(quán)力。

GRANTINSERT,DELETEON職工,部門TO李勇

(c)每個職工只對自己的記錄有SELECT權(quán)力。

GRANTSELECTON職工WHEN

USER()=NAMETOALL;

這里假定系統(tǒng)的GRANT語句支持WHEN子句和USER()

的運(yùn)用。用戶將自己的名字作為ID。留意,不同的系統(tǒng)這些

擴(kuò)展語句可能是不同的。

(d)用戶劉星對職工表有SELECT權(quán)力,對工資字段具有更新權(quán)

力。

GRANTSELECT,UPDATE(工資)ON職工TO文惺

(e)用戶張新具有修改這兩個表的結(jié)構(gòu)的權(quán)力。

GRANTALTERTABLEON職工,部門TO張新;

⑴用戶周平具有對兩個表全部權(quán)力(讀,插,改,刪數(shù)據(jù)),并

具有給其他用戶授權(quán)的權(quán)力。

GRANTALLPRIVILIGESON職工,部門TO周平

WITHGRANTOPTION;

(g)用戶楊蘭具有從每個部門職工中SELECT最高工資、最低工

資、平均工資的權(quán)力,他不能查看每個人的工資。

首先建立一個視圖,然后對這個視圖定義楊蘭的存取權(quán)限:

CREATEVIEW部門工資AS

SELECT部門.名稱,MAX(工資),MIN(工資),AVG(工

資)FROM職工,部門

WHERE職工,部門號二部門,部門號GROUPBY職工.部門

號;

GRANTSELECTON部門工資TO楊蘭;

習(xí)題9把習(xí)題8中(a)?(g)的每一種狀況,撤消各用戶所授

予的權(quán)力。

答:

(a)

REVOKESELECTON5RI,部門

FROM王明;

(b)

REVOKEINSERT,DELETEON部門

FROM李勇;

(c)

REOVKESELECTON職工

WHENUSER()=NAME

FROMALL

這里假定用戶將自己的名字作為ID,且系統(tǒng)的REOVKE語

句支持WHEN子句,系統(tǒng)也支持USERS的運(yùn)用。

(d)

REVOKESELECT,UPDATEON職工

FROM文惺;

(e)

REVOKEALTERTABLEON職工,部門

FROM張新;

(f)

REVOKEALLPRIVILIGESON職工,部門

FROM周平;

(g)

REVOKESELECTON部門工資

FROM楊蘭;

DROPVIEW部門工資;

習(xí)題11理解并說明MAC機(jī)制中主體、客體、敏感度標(biāo)記的含

義。

答:在MAC中,DBMS所管理的全部實(shí)體被分為主體和客體。

主體是系統(tǒng)中的活動實(shí)體,既包括DBMS所管理的實(shí)際用戶,

也包括代表用戶的各進(jìn)程。客體是系統(tǒng)中的被動實(shí)體,是受主

體操縱的,包括文件、基表、索引、視圖等。對于主體和客體,

DBMS為它們每個實(shí)例(值)指派一個敏感度標(biāo)記(Label)。敏

感度標(biāo)記被分成若干級別,例如絕密(TopSecret)、機(jī)密

(Secret)、可信(Confidential)、公開(Public)等。主體的

敏感度標(biāo)記稱為許可證級別,客體的敏感度標(biāo)記稱為密級

(ClassificationLevel)。MAC機(jī)制就是通過對比主體的Label

和客體的Label,最終確定主體是否能夠存取客體。

第五章習(xí)題2、5、6、7

習(xí)題2數(shù)據(jù)庫的完整性概念與數(shù)據(jù)庫的平安性概念有什么區(qū)分

和聯(lián)系?

答:數(shù)據(jù)的完整性和平安性是兩個不同的概念,但是有肯定的聯(lián)

系。數(shù)據(jù)的完整性是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),

也就是防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)。數(shù)據(jù)的平安性是愛護(hù)數(shù)

據(jù)庫防止惡意的破壞和非法的存取。完整性檢查和限制的防范對

象是不合語義的、不正確的數(shù)據(jù),防止它們進(jìn)入數(shù)據(jù)庫。平安性

措施的防范對象是非法用戶和非法操作,防止他們對數(shù)據(jù)庫數(shù)據(jù)

的非法存取。

習(xí)題5RDBMS在實(shí)現(xiàn)參照完整性時須要考慮哪些方面?

答:RDBMS在實(shí)現(xiàn)參照完整性時須要考慮以下幾個方面:

⑴外碼是否可以接受空值。

⑵刪除被參照關(guān)系的元組時的考慮,這時系統(tǒng)可能實(shí)行的作法有

三種:

1)級聯(lián)刪除(CASCADES)

2)受限刪除(RESTRICTED)

3)置空值刪除(NULLIFIES)。

⑶在參照關(guān)系中插入元組時的問題,這時系統(tǒng)可能實(shí)行的作法

有:

1)受限插入;2)遞歸插入。

(4)修改關(guān)系中主碼的問題。一般是不能用UPDATE語句修改關(guān)

系主碼值。假如須要修改主碼值,只能先刪除該元組,然后再把

具有新主碼值的元組插入到關(guān)系中。假如允許修改主碼,首先要

保證主碼的惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關(guān)

系還是被參照關(guān)系。

習(xí)題6假設(shè)有下面兩個關(guān)系模式:

職工(職工號,姓名,年齡,職務(wù),工資,部門號),其中職

工號為主碼;

部門(部門號,名稱,經(jīng)理名,電話),其中部門號為主碼:

用SQL語言定義這兩個關(guān)系模式,要求在模式中完成以下完整

性約束條件的定義:

(1)定義每個模式的主碼;(2)定義參照完整性;(3)定義職

工年齡不得超過60歲。

答:定義部門

CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameCH

AR(10),ManagerCHAR(10),PhoneNumberCHAR(12)PRIM

ARYKEY(Deptno));

定義職工

CREATETABLEEMP(EmpnoNUMBER(4),EnameCHAR(

10),AgeNUMBER(2)CHECK(Age<=60),JobCHAR(9),

SalNUMBER(7,2),

DeptnoNUMBERQ),PRIMARYKEY(Empno),

FOREIGNKEY(Deptno)REFERENCESDEPT(Deptno));

習(xí)題7關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶

定義的完整性約束條件時,一般是如何分別進(jìn)行處理的?

答:對于違反實(shí)體完整性和用戶定義的完整性的操作一般都采

納拒絕執(zhí)行的方式進(jìn)行處理。而對于違反參照完整性的操作,并

不都是簡潔地拒絕執(zhí)行,有時要依據(jù)應(yīng)用語義執(zhí)行一些附加的操

作,以保證數(shù)據(jù)庫的正確性。

第六章習(xí)題2、12

習(xí)題2

建立一個關(guān)于系、學(xué)生、班級、學(xué)會等諸信息的關(guān)系數(shù)據(jù)庫。

描述學(xué)生的屬性有:學(xué)號、姓名、誕生年月、系名、班號、

宿舍區(qū)。

描述班級的屬性有:班號、專業(yè)名、系名、人數(shù)、入校年份。

描述系的屬性有:系名、系號、系辦公室地點(diǎn)、人數(shù)。

描述學(xué)會的屬性有:學(xué)會名、成立年份、地點(diǎn)、人數(shù)。

有關(guān)語義如下:一個系有若干專業(yè),每個專業(yè)每年只招一個

班,每個班有若干學(xué)生。一個系的學(xué)生住在同一宿舍區(qū)。每個學(xué)

生可參與若干學(xué)會,每個學(xué)會有若干學(xué)生。學(xué)生參與某學(xué)會有一

個入會年份。

請給出關(guān)系模式,寫出每個關(guān)系模式的微小函數(shù)依靠集,

指出是否存在傳遞函數(shù)依靠,對于函數(shù)依靠左部是多屬性的狀況

探討函數(shù)依靠是完全函數(shù)依靠,還是部分函數(shù)依靠。

指出各關(guān)系的候選碼、外部碼,有沒有全碼存在?

答:

E—R圖:

關(guān)系模式:學(xué)生(學(xué)號,姓名,誕生年月,系號,班號,專業(yè)

號,宿舍區(qū))

專業(yè)(專業(yè)號,專業(yè)名)

班級(班號,專業(yè)名,系號,班人數(shù),入校年份)

系(系號,系名,系辦公室地點(diǎn),系人數(shù))

學(xué)會(學(xué)會名,成立年月,地點(diǎn),學(xué)會人數(shù))

學(xué)生一學(xué)會(學(xué)號,學(xué)會名,入會年份)

每個關(guān)系模式的微小函數(shù)依靠集:

學(xué)生:學(xué)號一姓名,學(xué)號一誕生年月,學(xué)號一系號,學(xué)號一班

號,班號f系號,系號一宿舍區(qū),學(xué)號一專業(yè)號,學(xué)號f宿舍區(qū),班

號f宿舍區(qū)專業(yè):專業(yè)號f專業(yè)名

班級:班號f專業(yè)名,班號f班人數(shù),班號一入校年份,班號

f系號,專業(yè)號f系號,(專業(yè)號,入校年份)一班號

系:系號f系名,系名f系號,系號f系辦公室地點(diǎn),系號f系

人數(shù)

學(xué)會:學(xué)會名f成立年月,學(xué)會名一地點(diǎn),學(xué)會名一學(xué)會人數(shù)

學(xué)生一學(xué)會:(學(xué)號,學(xué)會名)f入會年份

‘學(xué)生'中存在傳遞函數(shù)依靠:學(xué)號一班號,班號f系號

'班'中存在傳遞函數(shù)依靠:(專業(yè)名,入校年份)f班號,班號

一班人數(shù),(學(xué)號,學(xué)會名)f入會年份和(專業(yè)名,入校年

份)一班號均為'學(xué)生一學(xué)會'和‘班級’中的函數(shù)依靠,是

完全函數(shù)依靠

關(guān)系^^碼屏部碼I全碼

學(xué)生學(xué)號班號,系號無

班級班號,(專業(yè)號,入校年份)系號無

系系號和系名無無

學(xué)會學(xué)會名無無

學(xué)生一?學(xué)會(學(xué)號,學(xué)會名)學(xué)號,學(xué)會名無

習(xí)題12下面的結(jié)論哪些是正確的,哪些是錯誤的?對于錯誤的

結(jié)論請給出理由或給出反例說明之。

答:(1)任何一個二目關(guān)系是屬于3NF。?一對。

(2)任何一個二目關(guān)系是屬于BCNF。?一對。

(3)任何一個二目關(guān)系是屬于4NF?!?對。

(4)錯。當(dāng)A-B在R上成立,關(guān)系R(A,B,C)等于其投

影RI(A,B)和R2(A,C)的連接,反之則不然。正確的應(yīng)

當(dāng)是:當(dāng)且僅當(dāng)多值依靠AffB在R上成立,關(guān)系R(A,B,C)

等于其投影Rl(AJB)和R2(A,C)的連接。

(5)對。

(6)對。

(7)對。

(8)錯。反例:關(guān)系模式SC(S#,C#,G),(S#,C#)fG,但是

S#VG,C#VG.

第七章習(xí)題9、11、12

習(xí)題9試述數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的重要性和設(shè)計(jì)步驟。

答:重要性:數(shù)據(jù)庫概念設(shè)計(jì)是整個數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,將

在需求分析階段所得到的應(yīng)用需求首先抽象為概念結(jié)構(gòu),以此作

為各種數(shù)據(jù)模型的共同基礎(chǔ),從而能更好地、更精確地用某

—DBMS實(shí)現(xiàn)這些需求。

設(shè)計(jì)步驟:概念結(jié)構(gòu)的設(shè)計(jì)方法有多種,其中最常常采納的策

略是自底向上方法,該方法的設(shè)計(jì)步驟通常分為兩步:第1步是

抽象數(shù)據(jù)并設(shè)計(jì)局部視圖,第2步是集成局部視圖,得到全局的

概念結(jié)構(gòu)。

習(xí)題11什么是數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)?試述其設(shè)計(jì)步驟。

答:數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基

本E-R圖轉(zhuǎn)換為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合

的邏輯結(jié)構(gòu)。設(shè)計(jì)步驟為:

(1)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;

(2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的

數(shù)據(jù)模型轉(zhuǎn)換;

(3)對數(shù)據(jù)模型進(jìn)行優(yōu)化。

習(xí)題12試把第一章習(xí)題12和習(xí)題13中的E-R模型轉(zhuǎn)換為關(guān)

系模型。

答:

學(xué)校(校名,校長,地點(diǎn))

系(系號,系名,主任名,學(xué)校名)

教研室(室號,名稱,負(fù)責(zé)人,系號)

教員(教員號,教員名,職稱,室號)

班級(班號,班長,系號)

學(xué)生(學(xué)號,姓名,系號,班號)

課程(課程號,課程名,學(xué)分)

教授(教員號,人數(shù))

探討生(學(xué)號,專業(yè)方向,教員號)

選修(學(xué)號,課程號,成果)

倉庫(倉庫號,面積,管理員)

零件(零件號,名稱,倉庫號,數(shù)量)

材料(材料號,材料名,類別)

產(chǎn)品(產(chǎn)品號,產(chǎn)品名,規(guī)格型號,單價)

存放(倉庫號,材料號,數(shù)量)

組成(產(chǎn)品號,零件號,數(shù)量)

第九章習(xí)題2

習(xí)題2對學(xué)生-課程數(shù)據(jù)庫有如下的查詢

SELECTCname

FROMStudent,Course,SC

WHEREStudent.Sno=SC.SnoAND

Course.Cno=SC.CnoAND

Student.Sdept=,IS,)

此查詢要求信息系學(xué)生選修了的全部課程名稱。

試畫出用關(guān)系代數(shù)表示的語法樹,并用關(guān)系代數(shù)表達(dá)式優(yōu)化算法

對原始的語法樹進(jìn)行優(yōu)化處理,畫出優(yōu)化后的標(biāo)準(zhǔn)語法樹。

答:

結(jié)果JICname

Project(Cname)oStudent.Sdept=,IS,

Select(Student.Sdept=9IS9)0SC.Cno=Course.Cno

join(SC.Cno=Course.Cno)X

最初的語法樹關(guān)系代數(shù)語法樹

JICname

Student

優(yōu)化后的語法樹

第十章習(xí)題6、7、8

習(xí)題6數(shù)據(jù)庫轉(zhuǎn)儲的意義是什么?試比較各種數(shù)據(jù)轉(zhuǎn)儲方法。

答:數(shù)據(jù)轉(zhuǎn)儲是數(shù)據(jù)庫復(fù)原中采納的基本技術(shù)。所謂轉(zhuǎn)儲

即DBA定期地將數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的

過程。當(dāng)數(shù)據(jù)庫遭到破壞后可以將后備副本重新裝入,將數(shù)據(jù)庫

復(fù)原到轉(zhuǎn)儲時的狀態(tài)。

靜態(tài)轉(zhuǎn)儲:在系統(tǒng)中無運(yùn)行事務(wù)時進(jìn)行的轉(zhuǎn)儲操作。靜態(tài)轉(zhuǎn)儲簡

潔,但必需等待正運(yùn)行的用戶事務(wù)結(jié)束才能進(jìn)行。同樣,新的事

務(wù)必需等待轉(zhuǎn)儲結(jié)束才能執(zhí)行。明顯,這會降低數(shù)據(jù)庫的可用

性。

動態(tài)轉(zhuǎn)儲:指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取或修改。動態(tài)轉(zhuǎn)儲

可克服靜態(tài)轉(zhuǎn)儲的缺點(diǎn),它不用等待正在運(yùn)行的用戶事務(wù)結(jié)束,

也不會影響新事務(wù)的運(yùn)行。但是,轉(zhuǎn)儲結(jié)束時后援副本上的數(shù)據(jù)

并不能保證正確有效。因?yàn)檗D(zhuǎn)儲期間運(yùn)行的事務(wù)可能修改了某些

數(shù)據(jù),使得后援副本上的數(shù)據(jù)不是數(shù)據(jù)庫的一樣版本。

為此,必需把轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改活動登登記

來,建立日志文件(logfile)。這樣,后援副本加上日志文件就

能得到數(shù)據(jù)庫某一時刻的正確狀態(tài)。

轉(zhuǎn)儲還可以分為海量轉(zhuǎn)儲和增量轉(zhuǎn)儲兩種方式。

海量轉(zhuǎn)儲是指每次轉(zhuǎn)儲全部數(shù)據(jù)庫。增量轉(zhuǎn)儲則指每次只轉(zhuǎn)

儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。從復(fù)原角度看,運(yùn)用海量轉(zhuǎn)儲得

到的后備副本進(jìn)行復(fù)原一般說來更簡潔些。但假如數(shù)據(jù)庫很大,

事務(wù)處理又特別頻繁,則增量轉(zhuǎn)儲方式更好用更有效。

習(xí)題7什么是日志文件?為什么要設(shè)立日志文件?

答:日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。不同

數(shù)據(jù)庫系統(tǒng)采納不同的日志文件格式,主要有兩種:以記錄為單

位的和以數(shù)據(jù)塊為單位的日志文件。

日志文件在數(shù)據(jù)庫復(fù)原中起著特別重要的作用??梢杂脕磉M(jìn)

行事務(wù)故障復(fù)原和系統(tǒng)故障復(fù)原,并幫助后備副本進(jìn)行介質(zhì)故障

復(fù)原。

習(xí)題8登記日志文件時為什么必需先寫日志文件,后寫數(shù)據(jù)

庫?

答:把對數(shù)據(jù)的修改寫到數(shù)據(jù)庫中和把表中這個修改的日志記錄

寫到日志文件中是兩個不同的操作。有可能在這兩個操作之間發(fā)

生故障,即這兩個寫操作只完成了一個。

假如先寫了數(shù)據(jù)庫修改,而在運(yùn)行記錄中沒有登記這個修

改,則以后就無法復(fù)原這個修改了。假如先寫日志,但沒有修改

數(shù)據(jù)庫,在復(fù)原時只不過是多執(zhí)行一次UNDO操作,并不會影

響數(shù)據(jù)庫的正確性。所以肯定要先寫日志文件,即首先把日志記

錄寫到日志文件中,然后寫數(shù)據(jù)庫的修改。

第十一章習(xí)題4、7、9、10

習(xí)題4如何用封鎖機(jī)制保證數(shù)據(jù)的一樣性?

答:DBMS在對數(shù)據(jù)進(jìn)行讀、寫操作之前首先對該數(shù)據(jù)執(zhí)行封

鎖操作,例如下圖中事務(wù)T1在對A進(jìn)行修改之前先對A執(zhí)

行Xlock(A),即對A力口x鎖。這樣,當(dāng)T2懇求對A加x鎖時

就被拒絕,T2只能等待T1釋放A上的鎖后才能獲得

對A的x鎖,這時它讀到的A是T1更新后的值,再按此新

的A值進(jìn)行運(yùn)算。這樣就不會丟失T1的更新。

TiT2

①Xlock(A)

獲得限制權(quán)

②讀A=16

Xlock(A)

③A^A-1等待

寫回A=15等待

Commit等待

Unlock(A)等待

獲得Xlock

讀A=15

A-A-1

寫回A=14

Commit

Unlock(A)

DBMS依據(jù)肯定的封鎖協(xié)議,對并發(fā)操作進(jìn)行限制,使得多個

并發(fā)操作有序地執(zhí)行,就可以避開丟失修改、不行重復(fù)讀和讀

“臟'夕數(shù)據(jù)等數(shù)據(jù)不一樣性。

習(xí)題7請給出檢測死鎖發(fā)生的一種方法,當(dāng)發(fā)生死鎖后如何解

除死鎖?

答:數(shù)據(jù)庫系統(tǒng)一般采納允許死鎖發(fā)生,DBMS在解決死鎖的

問題上普遍采納的是診斷并加以解除的方法。

DBMS中診斷死鎖的方法與操作系統(tǒng)類似,一般運(yùn)用超時

法或事務(wù)等待圖法。

超時法是:假如一個事務(wù)的等待時間超過了規(guī)定的時限,就

認(rèn)為發(fā)生了死鎖。超時法實(shí)現(xiàn)簡潔,但有可能誤判死鎖,事務(wù)因

其他緣由長時間等待超過時限時,系統(tǒng)會誤認(rèn)為發(fā)生了死鎖。若

時限設(shè)置得太長,又不能剛好發(fā)覺死鎖發(fā)生。

DBMS并發(fā)限制子系統(tǒng)檢測到死鎖后,就要設(shè)法解除。通

常采納的方法是選擇一個處理死鎖代價最小的事務(wù),將其撤消,

釋放此事務(wù)持有的全部鎖,使其他事務(wù)得以接著運(yùn)行下去。當(dāng)然,

對撤銷的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必需加以復(fù)原。

習(xí)題9

設(shè)Tl、T2、T3是如下的3個事務(wù),設(shè)A的初始值為0;

Tl:A:=A+2;

T2:A:=A*2;

T3:A:=A**2;(A-A2)

若這3個事務(wù)允許并發(fā)執(zhí)行,則有多少種可能的正確結(jié)果,請一

一列舉出來;

請給出一個可串行化的調(diào)度,并給出執(zhí)行結(jié)果;

請給出一個非串行化的調(diào)度,并給出執(zhí)行結(jié)果;

若這三個事務(wù)遵守兩段鎖協(xié)議,請給出一個不產(chǎn)生死鎖的可串行

化調(diào)度;

若這三個事務(wù)遵守兩段鎖協(xié)議,請給出一個產(chǎn)生死鎖的調(diào)度;

答:有六種正確的結(jié)果:

1.Tl—T2—T316

2.Tl—T3—T28

3.T2—Tl—T34

4.T2—T3—T12

5.T3—Tl—T24

6.T3—T2—T12

T1T2T3T1T2T3

SlcokASlockA

Y=A=0Y=A=0

UnlockAUnlockA

XlockASlockA

SlockAY=A=0

A=Y+2等待XlockA

寫回A(=2)等待等待UnlockA

UnlockA等待A=Y+2

Y=A二2寫回A(=2)SlockA

UnlockAUnlockA等待

XlockAY=A=2

SlockAUnlockA

A=Y*2等待XlockA

寫回A(=4)等待XlockA

UnlockA等待等待Y=Y**2

Y=A=4等待寫回A(=4)

UnlockA等待UnlockA

XlockAA=Y*2

A=Y**2寫回A(=0)

溫馨提示

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

最新文檔

評論

0/150

提交評論