數據庫原理題目和答案_第1頁
數據庫原理題目和答案_第2頁
數據庫原理題目和答案_第3頁
數據庫原理題目和答案_第4頁
數據庫原理題目和答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、【精品文檔】如有侵權,請聯系網站刪除,僅供學習與交流數據庫原理題目和答案.精品文檔.P36:8.分別舉出實體型之間具有一對一,一對多,多對多聯系的例子。9.學校有若干個系,每個系有若干班級和教研窒,每個教研窒有若干教員,其中有的教授和副教授每人各帶若干研究生。每個班有若干學生,每個學生選修若干課程,每門課程可由若干學生選修。用E-R圖畫出該學校的概念模型。11教師與課程之間的聯系是多對多聯系,試用層次模型表示之。14.試比較層次模型,網狀模型和關系模型的優點與缺點。層次模型的優點主要有:( l )模型簡單,對具有一對多層次關系的部門描述非常自然、直 觀,容易理解,這是層次數據庫的突出優點;(

2、2 )用層次模型的應用系統性能好,特別 是對于那些實體間聯系是固定的且預先定義好的應用,采用層次模型來實現,其性能優于 關系模型;( 3 )層次數據模型提供了良好的完整性支持。層次模型的缺點主要有:( l )現實世界中很多聯系是非層次性的,如多對多聯系、一個結 點具有多個雙親等,層次模型不能自然地表示這類聯系,只能通過引入冗余數據或引入虛 擬結點來解決;( 2 )對插入和刪除操作的限制比較多;( 3 )查詢子女結點必須通過雙 親結點。網狀數據模型的優點主要有:( l )能夠更為直接地描述現實世界,如一個結點可以有多 個雙親;( 2 )具有良好的性能,存取效率較高。網狀數據模型的缺點主要有:(

3、l )結構比較復雜,而且隨著應用環境的擴大,數據庫的 結構就變得越來越復雜,不利于最終用戶掌握;( 2 )其 DDL 、 DML 語言復雜,用戶不 容易使用。由于記錄之間聯系是通過存取路徑實現的,應用程序在訪問數據時必須選擇適當 的存取路徑。因此,用戶必須了解系統結構的細節,加重了編寫應用程序的負擔。17.數據庫管理系統有哪些主要功能?l 數據庫定義功能;2 數據存取功能;3 數據庫運行管理;4 數據庫的建立和維護功能。18.數據庫管理系統有哪幾部分組成?1 數據定義語言及其翻譯處理程序2 數據操縱語言及其編譯(或解釋)程序3 數據庫運行控制程序4 實用程序P642.解釋下列概念,并說明它們之

4、間的聯系與區別:1碼,候選碼,外部碼2笛卡爾,關系,元組,屬性,域3關系模式,關系模型,關系數據庫答: 關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。在用戶觀點下,關 系模型中數據的邏輯結構是一張二維表,它由行和列組成。1)碼,候選碼,外部碼?碼:唯一標識實體的屬性組,碼可能不止一個候選碼:同類關系中能夠唯一標識每個元組的屬性組,在這些關系中,這個屬性組上的值每行都不同外部碼:設F是基本關系R的一個或一組屬性,但不是關系 R的碼,如果F與基本關系S的主碼Ks相對應,則稱 F 是基本關系R的外碼,并稱基本關系R為參照關系,基本關系S為被參照關系或目標關,外碼不一定與相應的主碼同

5、名2)笛卡爾,關系,元組,屬性,域?笛卡爾積:給定一組域D1,D2,Dn,這些域中可以有相同的。D1,D2,Dn的笛卡爾積為:D1×D2××Dn(d1,d2,dn)diDi,i1,2,n所有域的所有取值的一個組合不能重復笛卡爾積可以表示為一個二維表關系:D1×D2 × × Dn的子集叫做在域D1,D2 , ,Dn上的關系,用R( D1,D2 , ,Dn)表示。這里R是關系的名字,n是關系的目或度。關系中的每個元素是關系中的元組,通常用t表示。當n=1時,稱該關系為單元關系 當n=2時,稱該關系為二元關系關系是n個域的笛卡爾積的子集,也

6、是一個二維表元組:關系中的每個元素是關系中的元組屬性:實體具有的某一方面的特性,域:一組具有相同數據類型的值的集合關系是一張二維表,表的每行對應一個元組,表的每列對應一個域 。由于域可以相同,為了加以區分,給每列取一個名字,稱為屬性。n目關系必有n個屬性。(3)關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。在用戶觀點下,關 系模型中數據的邏輯結構是一張二維表,它由行和列組成。 ( l )關系:一個關系對應通常 說的一張表 ( 2 )屬性:表中的一列即為一個屬性; ( 3 )域:屬性的取值范圍; ( 4 ) 元組:表中的一行即為一個元組; ( 5 )主碼:表中的某個屬性組,它可

7、以惟一確定一個 元組; ( 6 )分量:元組中的一個屬性值; ( 7 )關系模式:對關系的描述,一般表示為 關系名(屬性 1 ,屬性 2 , ,屬性 n )4.在關系模型的參照完整性規則中,為什么外部碼屬性的值也可以為空?什么情況下可以為空?答:實體完整性規則是指若屬性 A 是基本關系 R 的主屬性,則屬性 A 不能取空值。 若屬性(或屬性組)F 是基本關系 R 的外碼,它與基本關系 S 的主碼 Ks 相對應(基本關系 R 和 S 不一定是不同的關系),則對于 R 中每個元組在 F 上的值必須為:或者取空值(F 的每 個屬性值均為空值);或者等于 S 中某個元組的主碼值。即屬性 F 本身不是主

8、屬性,則可以 取空值,否則不能取空值。7.(1)求供應工程J1零件的供應商號SNO;(2)求供應工程J零件P1的供應商號SNO;(3)求供應工程J1紅色零件的供應商號SNO;(4)求沒有使用天津供應商生產的紅色零件的工程好JNO;(5)求至少用了S1供應商所供應的全部零件的工程號JNO.答:1)求供應工程 J1 零件的供應商號碼 SNO:Sno(Sno=J1(SPJ))2)求供應工程 J1 零件 P1 的供應商號碼 SNO:Sno(Sno=J1Pno=P1(SPJ)3)求供應工程 J1 零件為紅色的供應商號碼 SNO:Sno(Pno=P1 (COLOR=紅 (P)SPJ))4)求沒有使用天津供

9、應商生產的紅色零件的工程號 JNO:Jno(SPJ)- JNO(city=天津Color=紅 (SSPJP)5)求至少用了供應商 S1 所供應的全部零件的工程號 JNO:Jno,Pno(SPJ)÷ Pno(Sno=S1 (SPJ)P1262.用SQL語言建立第2章第7題中的四個表。答:對于 S 表: S ( SNO , SNAME , STATUS , CITY ) ;建 S 表:CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4);對于 P 表: P ( PNO , PNAME , COLOR , WE

10、IGHT );建 P 表 :CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT);對于 J 表: J ( JNO , JNAME , CITY) ;建 J 表:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)對于 sPJ 表: sPJ ( sNo , PNo , JNo , QTY) ;建 SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY INT)3.針對第2題創建的

11、表,用SQL語言完成第2章第7題中的各項操作。( l )求供應工程 Jl 零件的供應商號碼 SNO ;SELECT DIST SNO FROM SPJ WHEREJNO=J1( 2 )求供應工程 Jl 零件 Pl 的供應商號碼 SNO ;SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' ( 3 )求供應工程 Jl 零件為紅色的供應商號碼 SNO ;SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='紅&#

12、39;( 4 )求沒有使用天津供應商生產的紅色零件的工程號 JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY=' 天 津 ' AND COLOR=' 紅 ' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。( 5 )求至少用了供應商 Sl 所供應的全部零件的工程號 JNO ;由于 VFP 不允許子查詢嵌套太深,將查詢分為兩步 A、查詢 S1 供應商供應的零件號SELECT DIST PNO FROM SPJ WHERE S

13、NO='S1'結果是(P1,P2)B、查詢哪一個工程既使用 P1 零件又使用 P2 零件。SELECT JNO FROM SPJ WHERE PNO='P1'AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')4.針對第2題創建的表,用SQL語言進行下列各項操作:(1)統計每種零件的供應總量;(2)求零件供應總量在1000種以上的供應商名字;(3)在S表中插入一條供應商信息:(S6,華天,深圳);(4)把全部紅色零件的顏色改為粉紅色;(5)將S1供應給J1的零件P1改為由P2供給;(6)刪去全部藍色零件及

14、相應地SPJ記錄。(1)求供應工程J1的零件的供應商的編號 此題是對查詢條件的考察,查詢的總體上包括單表查詢與多表查詢,這就說明我們在查詢時一定要弄清楚是在一個表中查詢還是在多個表中查詢。根據題目可知,SNO與J1在一個表中;單表查詢:Select SNO (控制查詢結果的顯示條件) distinct(刪除重復行) Sno from SPJ where JNO='J1'(2)求供應商工程J1零件P1的供應商號SNO;單表查詢,將查詢條件細化:select SNO from SPJ where JNO='J1' and PNO='P1'(3)求供應

15、工程J1紅色零件的供應商號SNO多表查詢:分清查詢的主表,這里查詢的范圍任然是在SPJ中,不過問題的關鍵是在如何確定另一個限定條件PNO,這里用到多表查詢,可以在P表中根據顏色找到PNO,就可以確定供應商號; select SNO From SPJ Where JNO='J1' and PNO=(select PNO from P where COLOR='紅');(4)求沒有使用天津供應商生產的紅色零件的工程號JNO;查詢目標表還是在SPJ中:分析查詢映射關系:JNO-SNO-select JNO From SPJ Where SNO not in (sele

16、ct SNO from S where CITY='天津') and PNO not in (select PNO from P where COLOR='紅');(5)求至少用了S1供應商所提供全部零件的工程號JNOSelect JNO From SPJ Where PNO ='P1' And JNO in (select JNO from SPJ where PNO='P2');(1)統計每種零件的供應總量這里要使用集函數:尋找每種零件的總量就是就是將所有編號一致的零件數相加;集函數的使用方法,例如下面的意思是在同一個PNO下

17、QTY的總量,統計條件的設置顯得尤為重要Select distinct PNO,count(QTY) From SPJ Group by PNO;(2)求零件供應總量在1000種以上的供應商的名字多表查詢:在SPJ中找到哦供應商的編號,在到s表中尋找供應商的名字Select SNAME From S Where SNO=(select SNO from SPJ where count(QTY)>1000); (3)在s表中插入一條供應商信息:(S6,華天,深圳);插入語句:Insert into S Values('s6','華天','深圳'

18、;);(4)把全部紅色零件的顏色改為粉紅色;更新操作,必須先找出這些元組,以便進行操作,這個操作是修改多個元組數據的操作要利用帶有子查詢的修改語句:Update P<表名> Set color='粉紅色' Where COLOR=(select COLOR from P where color='紅色');/尋找符合條件的元組(5)將S1供應給J1的零件P1改為P2供應;首先要找到這條記錄Update SPJ Set PNO='P2' Where SNO=S1 and PNO=P1 and JNO=J1;(6)刪除全部藍色零件及相應的

19、SPJ記錄;Delete From SPJ Where PNO=(select PNO from P where color='藍色');Delete From P Where color='藍色'6.在上面各表的基礎上創建下列試圖VSJ,它記錄了給“三建”工程項目的供應零件的情況,包括供應商號,零件號和零件數量;并對該試圖查詢S1供應商的供貨情況。CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME='三建'針對該視圖 VSP 完成下列查

20、詢:(1)找出三建工程項目使用的各種零件代碼及其數量。SELECT DIST PNO,QTY FROM VSP (2)找出供應商 S1 的供應情況。SELECT DIST * FROM VSP WHERE SNO='S1'7.針對第2題創建的表,用SQL語言進行下列各項操作:(1)將S,P,J和SPJ表的所有權限授予用戶張成。(2)將SPL表的SELECT權和QTY列的UPDATE權授予用戶徐天,并允許他傳播這些權限。(3)回收劉斕用戶對S表SNO列的修改權。GRANT ALL PRIVILEGES ON TABLE S,P,J,SPJ TO 張成;將SPJ表的SELECT權和

21、QTY列的UPDATE權授予用戶徐天,并允許他傳播這些權限GRANT UPDATE (QTY),SELECT ON TABLE SPJ TO 徐天WITH GRANT OPTION;回收劉斕用戶對S表SNO列的修改權REVOKE UPDATE (SNO) ON TABLE S FROM 劉斕;P1433.今要建立關于系,學生,班級,學會諸信息的一個關系數據庫。一個系有若干專業,每個專業每年只招一個班,每個班有若干學生。一個系的學生住在同一宿舍區。每個學生可參加若干學會,每個學會有若干學生。描述學生的屬性有:學號,姓名,出生年月,系名,班號,宿舍號。描述班級的屬性有:班號,專業名,系名,人數,入

22、校年份。描述系的屬性有:系名,系號,系辦公窒地點,人數。描述學會的屬性有:學會名,成立年份,地點,人數。學生參加某學會有一個入會年份。請給出關系模式,寫出每個關系模式的極小函數依賴集,指出是否存在傳遞函數依賴,對于函數依賴左部是多屬性的情況,討論函數依賴是完全函數依賴,還是部分函數依賴。指出各關系的候選碼和外部碼。關系模式如下:學生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班級:C(Class,Pname,Dept,Cnum,Cyear)系: D(Dept,Dno,Doffice,Dnum)學會:M(Mname,Myear,Maddr,Mnum)每個關系模式的最小函

23、數依賴集:確定出該關系模式各個非主屬性的最小函數依賴集學生S:Sno->Sname,Sno->Sbirth,Sno->Class,Class->Dept,Dept->Rno傳遞依賴:Sno->Rno,Class->Dept,Sno->Dept候選碼:Sno外部碼:Class,Dept班級C:Class->Pname,Class->Cnum,Pname->Dept,Class->Cyear傳遞依賴:Class->Dept候選碼:Class系D:Dno->Dept,Dno->Doffice,Dno->D

24、num;候選碼:Dno或Dept不存在傳遞依賴關系;學會M:Mname->Myear,Mname->Maddr,Mname->Mnum候選碼:Mname不存在傳遞函數依賴關系;關系判斷:(1)若R.A->R.B , R.B->R.C,則R.A->R.C正確,傳遞函數依賴;(2)若R.A->R.B,R.A->R.C,則R.A->R.(B,C);錯誤,(3)若R.B->R.A,R.C->R.A,則R.(B,C)->R.A正確,(4)若R.(B,C)->R.A,則R.B->R.A,R.C->R.A錯誤,例如:R

25、(sno,cno,grade) (sno,cno)->grade; sno->grade,cno->gradeP183什么是數據庫的安全性?什么是數據庫的完整性?兩者之間有什么聯系和區別?1數據庫的安全性是指保護數據庫以防止不合法的使用所造成的數據泄露、更改或破壞。2數據庫的完整性是指數據的正確性和相容性3數據的完整性和安全性是兩個不同的概念,但是有一定的聯系。前者是為了防止數據庫中存 在不符合語義的數據,防止錯誤信息的輸入和輸出,即所謂垃圾進垃圾出( Garba : e In Garba : e out )所造成的無效操作和錯誤結果。后者是保護數據庫防止惡意的破壞和非法的

26、存取。也就是說,安全性措施的防范對象是非法用戶和非法操作,完整性措施的防范對象是 不合語義的數據。6.假設有下面兩個關系模式;職工(職工號,姓名,年齡,職務,工資,部門號),其中職工號為主碼;部門(部門號,名稱,經理名,電話),其中部門號為主碼;用SQL語言定義這兩個關系模式,要求在模式中完成以下完整性約束條件的定義:定義每個模式的主碼;定義參照完整性;定義職工年齡不得超過60歲。CREATE TABLE職工(職工號 CHAR(5)PRIMARY KEY, 姓名CHAR(8)NOT NULL, 年齡SMALLINT 職務CHAR(10), 工資DECIMAL(7,2), 部門號CHAR(5)。

27、 CONSTRAINT CI CHECK(年齡 60) CONSTRAIN C2 FOREIGN KEY(部門號) REFEENCES部門(部門號); CREAT TABLE部門(部門號CHAR(5)PRIMARY KEY 名稱CHAR(l) 經理名 CHAR(8) 電話 CHAR(8) CONSTRAINT C3 FOREIGN KEY(經理名) REFERECES職工(姓名);13.設T1,T2,T3是如下的三個事務:T1:A:=A+2;T2:A:=A*2;T3:A:=A*2;(A)設A的初值為0;若這三個事務允許并行執行,則有多少可能的正確結果,請一一列舉出來;請給出一個可串行化地調度,并給出執行結果;請給出一個非串行化地調度,并給出執行結果;若這三個事務都遵守兩段鎖協議,請給出一個不產生死鎖的可串行化調度;若這三個事務都遵守兩段鎖協議,請給出一個產生死鎖的調度。(1)正確結果:T1T2T3,結果為16;T1T3T2,結果為8;T2T1T3,結果為4;T2T3T1,結果為2;T3T1T2,結果為4;T3T2T1,結果為2;四種正確結果:16、8、4、2。(2)可串行化調度:執行結果為8。

溫馨提示

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

評論

0/150

提交評論