国产最新a级毛片无码专区_综合亚洲欧美日韩久久精品_日本成年片在线观看66_一本到九九av电影_一级毛片免费网站播放_国内精品久久人无码大片_国产人成视频99在线观看_欧美不卡在线一本二本_国产亚洲电影av_可以免费看黄色软件

知ing

數(shù)據(jù)庫系統(tǒng)概論(第5版)

王珊,薩師煊 著 / 高等教育出版社

牧兒 上傳

查看本書

5章 數(shù)據(jù)庫完整性

1什么是數(shù)據(jù)庫的完整性?

:

數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。

?

2 .?dāng)?shù)據(jù)庫的完整性概念與數(shù)據(jù)庫的安全性概念有什么區(qū)別和聯(lián)系?

:

數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念,但是有一定的聯(lián)系。前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂垃圾進(jìn)垃圾出( Garba : e In Garba : e out )所造成的無效操作和錯(cuò)誤結(jié)果。后者是保護(hù)數(shù)據(jù)庫防止惡意的破壞和非法的存取。也就是說,安全性措施的防范對(duì)象是非法用戶和非法操作,完整性措施的防范對(duì)象是不合語義的數(shù)據(jù)。

?

3 .什么是數(shù)據(jù)庫的完整性約束條件?可分為哪幾類?

完整性約束條件是指數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該滿足的語義約束條件。一般可以分為六類:靜態(tài)列級(jí)約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動(dòng)態(tài)列級(jí)約束、動(dòng)態(tài)元組約束、動(dòng)態(tài)關(guān)系約束。靜態(tài)列級(jí)約束是對(duì)一個(gè)列的取值域的說明,包括以下幾個(gè)方面: ( l )對(duì)數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、長(zhǎng)度、單位、精度等; ( 2 )對(duì)數(shù)據(jù)格式的約束; ( 3 )對(duì)取值范圍或取值集合的約束; ( 4 )對(duì)空值的約束; ( 5 )其他約束。靜態(tài)元組約束就是規(guī)定組成一個(gè)元組的各個(gè)列之間的約束關(guān)系,靜態(tài)元組約束只局限在單個(gè)元組上。靜態(tài)關(guān)系約束是在一個(gè)關(guān)系的各個(gè)元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束。

常見的靜態(tài)關(guān)系約束有: ( l )實(shí)體完整性約束; ( 2 )參照完整性約束; ( 3 )函數(shù)依賴約束。

動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿足的約束條件,包括下面兩方面: ( l )修改列定義時(shí)的約束; ( 2 )修改列值時(shí)的約束。動(dòng)態(tài)元組約束是指修改某個(gè)元組的值時(shí)需要參照其舊值,并且新舊值之間需要滿足某種約束條件。動(dòng)態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條件。

?

4 . DBMS 的完整性控制機(jī)制應(yīng)具有哪些功能?

:

DBMS 的完整性控制機(jī)制應(yīng)具有三個(gè)方面的功能: ( l )定義功能,即提供定義完整性約束條件的機(jī)制; ( 2 )檢查功能,即檢查用戶發(fā)出的操作請(qǐng)求是否違背了完整性約束條件;( 3 )違約反應(yīng):如果發(fā)現(xiàn)用戶的操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來保證數(shù)據(jù)的完整性。

?

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

RDBMs 在實(shí)現(xiàn)參照完整性時(shí)需要考慮以下幾個(gè)方面:

( l )外碼是否可以接受空值。

( 2 )冊(cè) l 除被參照關(guān)系的元組時(shí)的考慮,這時(shí)系統(tǒng)可能采取的作法有三種: l )級(jí)聯(lián)刪除( CASCADES ) ; 2 )受限刪除( RESTRICTED ) ; 3 )置空值刪除( NULLIFIES )。 ( 3 )在參照關(guān)系中插入元組時(shí)的問題,這時(shí)系統(tǒng)可能采取的作法有: l )受限插入; 2 )遞歸插入。

( 4 )修改關(guān)系中主碼的問題。一般是不能用 UPDATE 語句修改關(guān)系主碼的。如果需要修改主碼值,只能先刪除該元組,然后再把具有新主碼值的元組插入到關(guān)系中。如果允許修改主碼,首先要保證主碼的惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關(guān)系還是被參照關(guān)系。

?

6 .假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,部門號(hào)),其中職工號(hào)為主碼;部門(部門號(hào),名稱,經(jīng)理名,電話),其中部門號(hào)為主碼。用 sQL 語言定義這兩個(gè)關(guān)系模式,要求在模式中完成以下完整性約束條件的定義:定義每個(gè)模式的主碼;定義參照完整性;定義職工年齡不得超過 60 歲。

CREATE TABLE DEPT

????(Deptno NUMBER(2),

?????Deptname VARCHAR(10),

?????Manager VARCHAR(10),

?????PhoneNumber Char(12)

?????CONSTRAINT PK_SC RIMARY KEY(Deptno));

CREATE TABLE EMP

????(Empno NUMBER(4),

?????Ename VARCHAR(10),

?????Age NUMBER(2),

?????CONSTRAINT C1 CHECK ( Aage<=60),

??????Job VARCHAR(9),

??????Sal NUMBER(7,2),

??????Deptno NUMBER(2),

??????CONSTRAINT FK_DEPTNO

?????????FOREIGN KEY(Deptno)

?????????REFFERENCES DEPT(Deptno));

?

7 .關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶定義的完整性約束條件時(shí),一般是如何分別進(jìn)行處理的?

:

對(duì)于違反實(shí)體完整性和用戶定義的完整性的操作一般都采用拒絕執(zhí)行的方式進(jìn)行處理。而對(duì)于違反參照完整性的操作,并不都是簡(jiǎn)單地拒絕執(zhí)行,有時(shí)要根據(jù)應(yīng)用語義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫的正確性。

?

6章 關(guān)系數(shù)據(jù)庫理論

1 .理解并給出下列術(shù)語的定義:
函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、候選碼、主碼、外碼、全碼(All key )、1 NF 、ZNF 3NF 、BcNF 、多值依賴、4NF

定義1:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是屬性集U的子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系rr中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定YY函數(shù)依賴于X,記作XàY。(即只要X上的屬性值相等,Y上的值一定相等。)

術(shù)語和記號(hào):

XàY,但Y不是X的子集,則稱XàY是非平凡的函數(shù)依賴。若不特別聲明,總是討論非平凡的函數(shù)依賴。

XàY,但YX的子集,則稱XàY是平凡的函數(shù)依賴。

XàY,則X叫做決定因素(Determinant)。

XàY,YàX,則記作X?àY。

Y不函數(shù)依賴于X,則記作X à?Y

定義2:在R(U)中,如果 XàY,并且對(duì)于X的任何一個(gè)真子集X,都有X?à?Y,則稱Y對(duì)X完全函數(shù)依賴

???????XàY,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X部分函數(shù)依賴

定義3:若關(guān)系模式R的每一個(gè)分量是不可再分的數(shù)據(jù)項(xiàng),則關(guān)系模式R屬于第一范式(1NF)。

定義4:若關(guān)系模式R1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則關(guān)系模式R2NF 。(即1NF消除了非主屬性對(duì)碼的部分函數(shù)依賴則成為2NF)。

定義5:關(guān)系模式R<UF>?中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XàY,Y à?XY à?Z成立,則稱R<UF>3NF。

定義6:關(guān)系模式R<UF>1NF 。若XàYY不是X的子集時(shí),X必含有碼,則R<U,F>BCNF。

定義7:關(guān)系模式R<U,F>1NF,如果對(duì)于R的每個(gè)非平凡多值依賴XààY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<UF>4NF。

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

學(xué)生:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。

班級(jí):班號(hào)、專業(yè)名、系名、人數(shù)、入校年份。

系:系名、系號(hào)、系辦公地點(diǎn)、人數(shù)。

學(xué)會(huì):學(xué)會(huì)名、成立年份、辦公地點(diǎn)、人數(shù)。

????語義如下:一個(gè)系有若干專業(yè),每個(gè)專業(yè)每年只招一個(gè)班,每個(gè)班有若干學(xué)生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參加若干學(xué)會(huì),每個(gè)學(xué)會(huì)有若干學(xué)生。學(xué)生參加某學(xué)會(huì)有一個(gè)入會(huì)年份。

請(qǐng)給出關(guān)系模式,寫出每個(gè)關(guān)系模式的極小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對(duì)于函數(shù)依賴左部是多屬性的情況討論函數(shù)依賴是完全函數(shù)依賴,還是部分函數(shù)依賴。指出各關(guān)系模式的候選碼、外部碼,有沒有全碼存在?

解:(1)關(guān)系模式如下:

??學(xué)生:S(Sno,Sname,Sbirth,Dept,Class,Rno)

??班級(jí):C(ClassPname,Dept,Cnum,Cyear)

??系:D(Dept,Dno,Office,Dnum)

??學(xué)會(huì):M(Mname,MyearMaddr,Mnum)

??(2)每個(gè)關(guān)系模式的最小函數(shù)依賴集如下:

??A、學(xué)生S (Sno,Sname,Sbirth,Dept,ClassRno) 的最小函數(shù)依賴集如下:SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno

????傳遞依賴如下:

由于SnoàDept,而DeptàSno ,DeptàRno(宿舍區(qū))

?

所以SnoRno之間存在著傳遞函數(shù)依賴。

????由于ClassàDept,Dept à?Class,DeptàRno

?????????所以ClassRno之間存在著傳遞函數(shù)依賴。

????由于SnoàClass,ClassàSno,ClassàDept

?????????所以SnoDept之間存在著傳遞函數(shù)依賴。

??B、班級(jí)C(Class,PnameDeptCnum,Cyear)的最小函數(shù)依賴集如下:

????ClassàPnameClassàCnum,ClassàCyear,PnameàDept.

????由于ClassàPnamePnameàClass,PnameàDept

????????所以C1assDept之間存在著傳遞函數(shù)依賴。

?C、系D(DeptDno,OfficeDnum)的最小函數(shù)依賴集如下:

????DeptàDno,DnoàDept,DnoàOffice,DnoàDnum

????根據(jù)上述函數(shù)依賴可知,DeptOffice,DeptDnum之間不存在傳遞依賴。

?D、學(xué)會(huì)M(Mname,Myear,Maddr,Mnum)的最小函數(shù)依賴集如下:

????MnameàMyear,MnameàMaddr,MnameàMnum

?????該模式不存在傳遞依賴。

??(3)各關(guān)系模式的候選碼、外部碼,全碼如下:

??A、學(xué)生S候選碼:Sno;外部碼:Dept、Class;無全碼

??B、班級(jí)C候選碼:Class;外部碼:Dept;無全碼

??C、系D候選碼:DeptDno;無外部碼;無全碼

??D、學(xué)會(huì)M候選碼:Mname;無外部碼;無全碼

7.下面的結(jié)論哪些是正確的? 哪些是錯(cuò)誤的? 對(duì)于錯(cuò)誤的請(qǐng)給一個(gè)反例說明之。

1)任何一個(gè)二目關(guān)系是屬于3NF。

答:正確。因?yàn)殛P(guān)系模式中只有兩個(gè)屬性,所以無傳遞。

2)任何一個(gè)二目關(guān)系是屬于BCNF.

:正確。按BCNF的定義,若XàY,Y不是X的子集時(shí),每個(gè)決定因素都包含碼,對(duì)于二目關(guān)系決定因素必然包含碼。詳細(xì)證明如下:(任何二元關(guān)系模式必定是BCNF)。

證明:設(shè)R為一個(gè)二目關(guān)系R(A1A2),則屬性A1A2之間可能存在以下幾種依賴關(guān)系:

AA1àA2,但A2àA1,則關(guān)系R的碼為A1,決定因素都包含碼,所以,RBCNF。

B、A1àA2,A2àA1,則關(guān)系R的碼為A2,所以決定因素都包含碼,RBCNF。

包含碼。RBCNF。CR的碼為(A1,A2)(即A1 àA2,A2 àA1),決定因素都


查看更多