數(shù)據(jù)庫基本概念復(fù)習(xí)_第1頁
數(shù)據(jù)庫基本概念復(fù)習(xí)_第2頁
數(shù)據(jù)庫基本概念復(fù)習(xí)_第3頁
數(shù)據(jù)庫基本概念復(fù)習(xí)_第4頁
數(shù)據(jù)庫基本概念復(fù)習(xí)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫基本概念復(fù)習(xí)第一章數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。如數(shù)字、文字、圖形等。數(shù)據(jù)的解釋是對數(shù)據(jù)含義【語義】的說明,數(shù)據(jù)和其語義不可分。數(shù)據(jù)庫(DB):數(shù)據(jù)庫是長期存放在電腦內(nèi)部、有組織的、可共享的大量數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度,較高的數(shù)據(jù)獨立性和易擴(kuò)展性,并可為各種用戶共享。數(shù)據(jù)庫管理系統(tǒng)(DBMS):數(shù)據(jù)庫管理系統(tǒng)是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。其主要功能為:1) 數(shù)據(jù)定義功能。2) 數(shù)據(jù)組織、存儲和管理?;灸繕?biāo)是提高存儲空間利用率和方便存取。3) 數(shù)據(jù)操縱功能。提供數(shù)據(jù)操縱語言(DML)4) 數(shù)據(jù)庫的事務(wù)管理和運行管理。5)

2、 數(shù)據(jù)庫的建立與維護(hù)。6) 其他功能:DBMS與網(wǎng)絡(luò)中其他如按系統(tǒng)的通信功能一個DBMS與另一個DBMS或文件系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)換功能異構(gòu)數(shù)據(jù)庫之間的互訪和互操作功能數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。數(shù)據(jù)庫-操作系統(tǒng)-數(shù)據(jù)庫管理系統(tǒng)-應(yīng)用開發(fā)工具-應(yīng)用系統(tǒng)-用戶數(shù)據(jù)庫管理技術(shù)經(jīng)過第三個管理階段:人工管理階段、文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫系統(tǒng)的特點:1) 數(shù)據(jù)結(jié)構(gòu)化2) 數(shù)據(jù)的共享性高、冗余度低,易擴(kuò)充。3) 數(shù)據(jù)獨立性高物理獨立性:用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)時相互獨立的。邏輯獨立性:

3、用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)獨立性由DBMS的二級映像功能來保證4) 數(shù)據(jù)由DBMS統(tǒng)一管理和控制。DBMS提供的數(shù)據(jù)控制功能:數(shù)據(jù)的安全性保護(hù)數(shù)據(jù)的完整性檢查并發(fā)控制。當(dāng)多個用戶的并發(fā)進(jìn)程同時存取、修改數(shù)據(jù)庫時,可能會發(fā)生相互干擾而得到錯誤的結(jié)果或使得數(shù)據(jù)庫的完整性遭到破壞,因此必須對多用戶的并發(fā)操作加以控制和協(xié)調(diào)。數(shù)據(jù)庫恢復(fù)。數(shù)據(jù)模型:數(shù)據(jù)模型是對現(xiàn)實世界數(shù)據(jù)特征的抽象。包括 概念模型、邏輯模型、物理模型概念模型:亦稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計。邏輯模型:它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,主要用于DBMS的實現(xiàn)。物理模型:是對數(shù)據(jù)

4、最低層的抽象。描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法,是面向計算機系統(tǒng)的。物理模型的具體實現(xiàn)是DBMS任務(wù)。用戶不必考慮。數(shù)據(jù)模型的組成要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作(查詢和更新兩大類)、完整性約束三部分組成。概念模型:用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象。信息世界中的一些概念:實體:客觀存在并且可以相互區(qū)別的事物成為實體。屬性:實體所具有的某一特性。碼:唯一標(biāo)識實體的屬性集稱為碼。域:域是一組具有相同數(shù)據(jù)類型的值的集合。實體型:用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。如 學(xué)生(學(xué)號,姓名,性別,.)實體集:同一類型實體的集合。如全

5、體學(xué)生。聯(lián)系:分為實體內(nèi)部之間的聯(lián)系和實體之間的聯(lián)系。兩個實體型之間的聯(lián)系可以分為:1:1 1:N M:NE-R圖:實體型->矩形 屬性 ->橢圓形聯(lián)系 ->菱形無向邊相連關(guān)系:一個關(guān)系對應(yīng)通常說的一張表。元組:表中的一行即為一個元組。屬性:表中的一列即為一個屬性。碼:也稱為碼鍵。唯一標(biāo)識一個元組的屬性或?qū)傩越M。域:屬性的取值范圍。分量:元組中的一個屬性值。關(guān)系的每一個分量必須是一個不可再分的數(shù)據(jù)項關(guān)系模式:對關(guān)系的描述。一般表示為:關(guān)系名(屬性1,屬性2,.,屬性n)如 學(xué)生(學(xué)號,姓名,性別,.,年級)關(guān)系的完整性約束條件:實體完整性、參照完整性、用戶定義的完整型。數(shù)據(jù)庫

6、系統(tǒng)的三級模式結(jié)構(gòu):外模式、模式、內(nèi)模式三級構(gòu)成。模式:是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。是數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序,所使用的應(yīng)用開發(fā)工具及高級程序設(shè)計語言無關(guān)。一個數(shù)據(jù)庫只有一個模式。外模式:也稱子模式或用戶模式,是數(shù)據(jù)庫用戶的視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式通常是模式的子集,一個數(shù)據(jù)庫可以有多個外模式。同一個外模式也可以為某一用戶的多個應(yīng)用程序所使用,但一個應(yīng)用程序只能有一個外模式。內(nèi)模式:內(nèi)模式也稱為存儲模式。一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理存儲結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)

7、庫內(nèi)部的表示方式。數(shù)據(jù)庫的二級映像功能:數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的3個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的具體表示方式與存儲方式。為了能夠在系統(tǒng)內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在這三級模式之間提供了兩層映像。外模式/模式映像模式/內(nèi)模式映像,這保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。外模式/模式:模式描述的數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)。對應(yīng)于同一個模式可以任意多個外模式,每一個外模式都有一個外模式/模式映像,定義了該外模式與模式的對應(yīng)關(guān)系。應(yīng)用程序是根據(jù)外模式編

8、寫的,從而當(dāng)模式改變時,數(shù)據(jù)庫管理員只需要對這個映像作相應(yīng)改變,程序無需改變。這保證了數(shù)據(jù)與程序的邏輯獨立性。模式/內(nèi)模式:數(shù)據(jù)庫中模式/內(nèi)模式映像是唯一的。它定義了數(shù)據(jù)全體邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了,數(shù)據(jù)庫管理員通過改變模式/內(nèi)模式映像而不必去改變模式。第二章:關(guān)系數(shù)據(jù)庫域:一組具有相同數(shù)據(jù)類型的值的集合。笛卡爾積:域上面的一種集合運算。定義:給定一組域D1,D2,.,Dn,這些域中可以是相同的域。D1,D2,.Dn的笛卡爾積為:D1×D2×.×Dn=(d1,d2,.,dn)|diDi,i=1,2,.,n其中每一個元素(d1,d2

9、,.,dn)叫做一個n元組,簡稱元組。元素中的每一個值di叫做一個分量。笛卡爾積可以表示為一張二維表,每行對應(yīng)一個元組。關(guān)系:D1×D2×.Dn的子集叫做在域D1,D2,.Dn上的關(guān)系,表示為R(D1,D2,.,D n)候選碼:一個關(guān)系中能唯一標(biāo)識一個元組的屬性組。主碼:候選碼中的一個。關(guān)系可以有三種關(guān)系:基本關(guān)系(基本表),查詢表,視圖表基本表:實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示。查詢表:查詢結(jié)果對應(yīng)的表。視圖表:有基本表或其它視圖表導(dǎo)出的表,是虛表,不對應(yīng)實際存儲的數(shù)據(jù)。關(guān)系模式:關(guān)系的描述成為關(guān)系模式。關(guān)系是遠(yuǎn)足的集合,因此關(guān)系模式必須指出這個元組集合的結(jié)構(gòu)。表示

10、為R(U,D,DOM,F(xiàn)),其中U屬性名集合,D域DOM屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合??梢院営洖镽(U)。關(guān)系數(shù)據(jù)庫:在一個給定的領(lǐng)域中,所有實體及實體之間聯(lián)系的關(guān)系的集合構(gòu)成一個關(guān)系數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫模式包括:若干域的定義在這些域上定義的若干關(guān)系模式。關(guān)系模型中常用的關(guān)系操作包括查詢、【插入、刪除、修改】兩大類。查詢操作又分為 選擇、投影、連接、除、并、差、交,笛卡爾積等。關(guān)系數(shù)據(jù)語言可以分為三類:關(guān)系代數(shù)語言 關(guān)系演算語言 具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言。如SQL關(guān)系的完整性約束:實體完整性、參照完整性、用戶定義完整性關(guān)系代數(shù)運算符:集合運算符:并()、差(-)、

11、交()、笛卡爾積(×)比較運算符:>、<、=、<>專門的關(guān)系運算符:(選擇)、(投影)、÷(除)、(連接)邏輯運算符:非()、與()、或()區(qū)別:傳統(tǒng)的集合運算符講關(guān)系看成元組的集合,其運算是從關(guān)系的“水平”方向即行的角度來進(jìn)行。專門的關(guān)系運算不僅涉及行而且涉及列。第四章:數(shù)據(jù)庫安全性計算機系統(tǒng)安全型:是指為計算機系統(tǒng)建立和采取的各種安全保護(hù)措施,以保護(hù)計算機系統(tǒng)中的硬件、軟件及數(shù)據(jù),防治其因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。計算機系統(tǒng)的安全性問題可以分為三大類:技術(shù)安全類、管理安全類、政策法律類計算機以及信息安全技術(shù)方面有一系列

12、的安全標(biāo)準(zhǔn),最有影響的是TCSEC和CC這兩個標(biāo)準(zhǔn)。數(shù)據(jù)庫安全性控制:在計算機操作系統(tǒng)中,安全措施是一級一級層層設(shè)置的。重點:用戶標(biāo)識與鑒別、存取控制、視圖和密碼存儲 等安全技術(shù)。1) 用戶標(biāo)識與鑒別:是系統(tǒng)提供的最外層安全保護(hù)措施。方法有:用戶標(biāo)識、口令。2) 存取控制。存取控制機制主要包括兩部分。定義用戶權(quán)限,并將用戶權(quán)限登記到數(shù)據(jù)字典中。合法權(quán)限檢查這兩部分的簡單定義是在自主存取方法中,用戶對于不同的數(shù)據(jù)庫對象有不同的存取權(quán)限,不同的用戶對同一對象也有不同的權(quán)限,而且用戶還可以將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶。因此自主存取控制非常靈活。【主要通過SQL的GRANT語句和REVOKE語句來

13、實現(xiàn)。】【用戶權(quán)限由兩個要素構(gòu)成:數(shù)據(jù)庫對象和操作類型】在強制存取方法中,每一個數(shù)據(jù)庫對象被標(biāo)以一定的密級,每一個用戶也被授予一定級別的許可證。對于任意一個對象,只有具有合法許可證的用戶才可以存取。強制存取控制因此相對比較嚴(yán)格。第五章:數(shù)據(jù)庫完整性數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(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ù)的非法存取。為維護(hù)數(shù)據(jù)庫的完整性

14、,DBMS必須能夠:1)提供定義完整性約束條件的機制。包括關(guān)系模型的實體完整性、參照完整性和用戶定義完整性。這些完整性一般由SQL的DDL語句來實現(xiàn)。2)提供完整性檢查的方法。3)違約處理。觸發(fā)器:是用戶定義在關(guān)系表上的一類由事件驅(qū)動的特殊過程。一旦定義,任何用戶對表的增、刪、改操作均由服務(wù)器自動激活相應(yīng)的觸發(fā)器,在DBMS核心層進(jìn)行集中的完整性控制。第6章 :關(guān)系數(shù)據(jù)理論一個關(guān)系模式應(yīng)該是一個五元組,R(U,D,DOM,F(xiàn)),本章中因集中對屬性和數(shù)據(jù)以來做討論,所以寫成R(U,F(xiàn))。三范式:1)1NF:滿足了每一個分量都是一個不可再分的數(shù)據(jù)項這個條件的關(guān)系模式都是第一范式。2)2NF:若R1

15、NF,且每一個非主屬性完全依賴于碼,則R2NF。3)3NF:關(guān)系模式R<U,F(xiàn)>中若不存在這樣的碼X,屬性組Y及非主屬性Z(ZY),使得X->Y,Y->Z成立,YX,則稱R<U ,F >3NF即每一個非主屬性既不依賴于碼也不傳遞依賴。第7章 :數(shù)據(jù)庫設(shè)計“三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)”是數(shù)據(jù)庫設(shè)計的特點之一。 數(shù)據(jù)庫章節(jié)試題及答案第二章-關(guān)系數(shù)據(jù)庫理論一.名詞解釋: 1.關(guān)系的數(shù)學(xué)定義:笛卡爾積D1×D2××Dn的子集叫做在域D1,D2,Dn上的關(guān)系,用R(D1,D2,Dn)表示。 2.關(guān)系模式:關(guān)系模式是對關(guān)系結(jié)構(gòu)的描述

16、和定義,表示為:R(U,D,DOM,F(xiàn))。其中,R為關(guān)系名,U為該關(guān)系的屬性名集合,D為U中屬性的域,DOM為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合。簡記為:R(U)=R(A1,A2,An) 3.候選碼和主碼:關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個元組,則稱該屬性組為候選碼,可有多個。主碼屬于候選碼,1個關(guān)系只能有一個。4、主屬性和非主屬性:候選碼的所有屬性;不包含在任何候選碼中的屬性,因此也理解為非碼屬性。6、關(guān)系代數(shù):一種抽象的查詢語言,采用關(guān)系運算來表達(dá)查詢,是支持關(guān)系數(shù)據(jù)庫理論的數(shù)學(xué)工具。關(guān)系代數(shù)的運算對象、運算結(jié)果都是關(guān)系。7、元組關(guān)系演算:以元組變量作為謂詞變元的基本對象

17、的關(guān)系演算,典型語言是:ALPHA語言。 ALPHA語言語句基本格式如下: 操作語句工作空間名(表達(dá)式):操作條件8、域關(guān)系演算:以域變量作為謂詞變元的基本對象的關(guān)系演算方法。 典型:QBE.二、試述關(guān)系數(shù)據(jù)語言的特點和分類。三.試述等值連接與自然連接的區(qū)別和聯(lián)系。答:(1)等值連接:比較運算符為“=”的連接運算,其結(jié)果是從笛卡兒積R×S中選取A、B屬性值相等的那些元組。(2)自然連接:一種特殊的等值連接,要求將等值連接結(jié)果中重復(fù)的屬性去掉。 四、設(shè)教學(xué)數(shù)據(jù)庫TeachingData中有3個基本表。 學(xué)生表 (,) 選課表 (,) 課程表 (,) 試寫出下列查詢語句的關(guān)系代數(shù)表達(dá)式。

18、 ()查詢老師"張三"所授課程的課程號和課程名(,)。 分析:結(jié)果反映在一個關(guān)系中,屬于選擇+投影:(C) ()查詢沒有選修"高等數(shù)學(xué)"的學(xué)生的姓名和所在班級(,)。分析:結(jié)果反映在三個關(guān)系中,需要連接,同時需要“投影” (,)以及“選擇”沒有選修"高等數(shù)學(xué)":高等數(shù)學(xué)其他(S)-(SCSC) ()查詢所有女生的姓名和所在班級。 分析:不需連接。(S) ()查 詢 未 選 修 課 程 號 為 "0010002" 的 課 程 的 男 學(xué) 生 的 學(xué) 號 和 姓 名 (, )。 (S)-(SCS)五、設(shè)有一個 數(shù)據(jù)庫,

19、包括 S、P、J、SPJ4個關(guān)系模式。 供應(yīng)商由供應(yīng)商代碼()、供應(yīng)商姓名()、供應(yīng)商狀態(tài)()、供應(yīng)商所在城市()組成; 零件P 由零件代碼()、零件名()、顏色()、重量()組成; 工程項目表J 由工程項目代碼()、工程項目名()、工程項目所在城市()組成。 供應(yīng)情況表SPJ由供應(yīng)商代碼()、零件代碼()、工程項目代碼()、供應(yīng)數(shù)量()組成,表示某供應(yīng)商供應(yīng)某種零件給某工程項目的數(shù)量為 。關(guān)系模式如下: (,) (,)J (,)_ SPJ(,) 對應(yīng)數(shù)據(jù)表如下:試用關(guān)系代數(shù)完成如下(1)-(5)查詢,用語言完成(1)-(3)、用語言完成(1)查詢。 ()求供應(yīng)工程 零件的供應(yīng)商代碼 。 ()

20、求供應(yīng)工程 零件 的供應(yīng)商代碼 。 ()求供應(yīng)工程 零件為紅色的供應(yīng)商代碼 。 ()求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程項目代碼 。 ()求至少用了供應(yīng)商 所供應(yīng)的全部零件的工程項目代碼 。答:用關(guān)系代數(shù)方法。()求供應(yīng)工程 零件的供應(yīng)商代碼 。 分析:只用到spj表。(SPJ)()求供應(yīng)工程零件 的供應(yīng)商代碼 。 (SPJ)()求供應(yīng)工程 零件為紅色的供應(yīng)商代碼 。 (SPJP)()求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程項目代碼。 (J)-(SPJJ)()求:至少用了供應(yīng)商 所供應(yīng)的全部零件的工程項目代碼。(J)-(SPJ)以表中數(shù)據(jù)為例:S1提供的非S1提供的根據(jù)表中數(shù)據(jù)可看出,只有

21、J5沒有選擇S1提供的零件。答:用ALPHA方法。()求供應(yīng)工程 零件的供應(yīng)商代碼 。 GET W (SPJ.Sno):spj.jno=j1()求供應(yīng)工程零件 的供應(yīng)商代碼 。 GET W (SPJ.Sno):spj.jno=j1pno=p1()求供應(yīng)工程 零件為紅色的供應(yīng)商代碼。 RANGE P1 SPJ1GET W(SPJ.Sno):答:用QBE方法。()求供應(yīng)工程 零件的供應(yīng)商代碼 。 snopnojnoqtyp.snoJ1一.名詞解釋: 1.關(guān)系模型的完整性規(guī)則。2.外碼:3.實體完整性4.參照完整性5.函數(shù)依賴、6.非平凡函數(shù)依賴7.部分函數(shù)依賴、8.完全函數(shù)依賴9.傳遞函數(shù)依賴、1

22、0.候選碼和主碼11.全碼12.主屬性和非主屬性13.范式、14.1NF、2NF、3NF、BCNF、二、單項選擇1. 現(xiàn)有關(guān)系模式:運貨路徑(顧客姓名,顧客地址,商品名,供應(yīng)商姓名,供應(yīng)商地址),其主鍵應(yīng)是( C )。A顧客姓名,供應(yīng)商姓名B顧客姓名,商品名C顧客姓名,商品名,供應(yīng)商姓名D顧客娃名,顧客地址,商品名2. 以下關(guān)于函數(shù)依賴的說法正確的是( D )。A函數(shù)依賴與關(guān)系中各屬性列的取值有關(guān),因此當(dāng)關(guān)系中各屬性列取值發(fā)生變化時,函數(shù)依賴必然發(fā)生改變;B屬性間的聯(lián)系方式與函數(shù)依賴密切相關(guān),無論哪種聯(lián)系方式都對應(yīng)一種函數(shù)依賴;CXY是否成立僅取決于X、Y屬性集上的值,與其他屬性(集)的取值無

23、關(guān);D以上都不是3. 當(dāng)X、Y之間是一對多聯(lián)系時,則存在函數(shù)依賴的是( B )。AXYBYXCXYD以上都不是4. 對于決定因素是單個屬性的函數(shù)依賴,以下說法正確的是( B )。A有可能存在部分函數(shù)依賴 B不可能存在部分函數(shù)依賴C是否存在部分函數(shù)依賴取決于該關(guān)系模式中的屬性個數(shù) D以上都不是5. 以下關(guān)于主屬性的說法正確的是( C )。A包含在主鍵中的屬性B包含在外鍵中的屬性C包含在任何一個候選鍵中的屬性D包含在全鍵中的屬性6下列有關(guān)范式的敘述中正確的是( C )。A如果關(guān)系模式R1NF,且R中主屬性完全函數(shù)依賴于主鍵,則R是2NFB如果關(guān)系模式R3NF,X,Y ÍU,若XY,則R是

24、BCNFC一個關(guān)系模式如果屬于4NF,則必定屬于BCNF;反之不成立7關(guān)于屬于BCNF的關(guān)系模式,以下說法正確的是( A )。A消除了屬性間的部分函數(shù)依賴和傳遞函數(shù)依賴B只消除了主屬性之間的傳遞函數(shù)依賴和部分函數(shù)依賴C只消除了非主屬性對鍵的部分函數(shù)依賴和傳遞函數(shù)依賴D不是哪個關(guān)系模式都可以規(guī)范化到BCNF8若關(guān)系模式中的函數(shù)依賴的決定因素都是鍵,則其所屬的最高范式為( D )。A1NF B2NF C3NF DBCNF9在關(guān)系數(shù)據(jù)庫設(shè)計理論中,起核心作用的是( C )。A范式B模式設(shè)計 C數(shù)據(jù)依賴D數(shù)據(jù)完整性10任何二元關(guān)系模式所屬的最高范式是( D )。A1NFB2NF C3NF DBCNF四

25、、簡答題及分析設(shè)計題1. 全碼的關(guān)系是否必然屬于3NF?為什么?是否也必然屬于BCNF?為什么?【解答】全碼沒有非主屬性,因此不存在傳遞依賴,自然屬于3NF;全碼作為一個整體,主屬性之間不存在依賴,因此屬于BCNF。2. 要建立關(guān)于系、學(xué)生、班級、研究會等信息的一個關(guān)系數(shù)據(jù)庫,規(guī)定:一個系有若干個專業(yè),每個專業(yè)每年只招一個班級,每個班級有若干名學(xué)生,一個系的學(xué)生住在同一個宿舍區(qū)。每個學(xué)生可以參加若干個研究會,每個研究會有若干名學(xué)生。描述學(xué)生的屬性有:學(xué)號、姓名、出生年月、系號、班號、宿舍區(qū)。描述班級的屬性有:班號、專業(yè)名、系號、人數(shù)、入校年份。描述系的屬性有:系號、系名、系辦公地點、人數(shù)。描述

26、研究會的屬性有:研究會名、成立年份、地點、人數(shù)。學(xué)生參加某研究會,有一個入會年份。試給出上述數(shù)據(jù)庫的關(guān)系模式;寫出每個關(guān)系的函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴;對于函數(shù)依賴左部是多屬性的情況,討論其函數(shù)依賴是完全函數(shù)依賴還是部分函數(shù)依賴,指出關(guān)系的候選鍵、外鍵、有沒有全鍵?!窘獯稹扛麝P(guān)系模式如下:學(xué)生(學(xué)號、姓名、出生年月、班號、研究會、入會年份、系號、宿舍區(qū));班級(班號、專業(yè)名、系號、人數(shù)、入校年份);系(系號、系名、系辦公地點、人數(shù));研究會(研究會名、成立年份、地點、人數(shù));每個關(guān)系的函數(shù)依賴集:系:專業(yè)=1:n,專業(yè):班級=1:1,班級:學(xué)生=1:n系:宿舍區(qū)=1:1學(xué)生:研究會=

27、n:n專業(yè)系,專業(yè)班級,學(xué)生班級, 宿舍區(qū)系學(xué)生(學(xué)號、姓名、出生年月、班號、研究會、入會年份、系號、宿舍區(qū));即:(學(xué)號、系號、姓名、出生年月、班號、研究會、入會年份、宿舍區(qū));學(xué)生關(guān)系中:存在 學(xué)號班號,系號宿舍區(qū)。系號宿舍區(qū),而(學(xué)號、系號)宿舍區(qū)存在 部分函數(shù)依賴學(xué)號班號 ,而(學(xué)號、系號)班號 存在 部分函數(shù)依賴班級(班號、專業(yè)名、系號、人數(shù)、入校年份);班級關(guān)系中:班號專業(yè)名,專業(yè)名系號;班號專業(yè)名系號,而(班號)系號“系號”通過“專業(yè)名”傳遞依賴于班號指出關(guān)系的外碼。學(xué)生(學(xué)號、姓名、出生年月、班號、研究會,入會年份、系號、宿舍區(qū));班級(班號、專業(yè)名、系號、人數(shù)、入校年份);系

28、(系號、系名、系辦公地點、人數(shù));研究會(研究會名、成立年份、地點、人數(shù));指出關(guān)系是否有全碼。沒有全碼。3. 設(shè)關(guān)系模式R (CITY,ADDRESS,ZIP),CITY代表城市名,ADDRESS代表街道名,ZIP代表郵政編碼,函數(shù)依賴為 (CITY,ADDRESS)ZIP;ZIPCITY試分析該關(guān)系屬于哪種范式等級,有哪種異常弊病,為什么,可具體討論。并對其進(jìn)行規(guī)范化提高范式等級,直到消除弊病,最后能達(dá)到哪級范式?【解答】由(CITY,ADDRESS)Z1P,ZIPCITY可知:(1)關(guān)系R的候選鍵為(CITY,ADDRESS)和(ADDRESS,ZIP)。因此,所有屬性均為主屬性,所以不

29、存在非主屬性對鍵的部分函數(shù)依賴和傳遞函數(shù)依賴,因此R3NF。(2)若想為某個CITY增加一個ZIP,必須立刻為其指定一個ADDRESS。如果想取消一個ADDRESS的行政區(qū)劃,則可能丟失該CITY所包含的一個ZIP。如果一個ZIP對應(yīng)多個地址,則會重復(fù)多個同樣的CITY值。因此,關(guān)系仍然存在插入異常、刪除異常和冗余大的問題。(3)對其進(jìn)行規(guī)范化,得到以下兩個新關(guān)系:R1(ZIP,CITY),鍵為ZIP;R2(ZIP,ADDRESS),鍵為全鍵。R1和R2均屬于BCNF,因為它們的決定因素均為鍵。經(jīng)過這樣的分解解決了上述問題。第四章-數(shù)據(jù)庫的管理一.名詞解釋: 1.系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫有5個:m

30、aster、model、msdb、tempdb和resource,它們在SQL Server2005中都有特殊的用途,不能隨意對其進(jìn)行修改或?qū)⑵鋭h除。2.數(shù)據(jù)文件數(shù)據(jù)文件包括數(shù)據(jù)庫的數(shù)據(jù)和對象,如表、視圖、索引等。每個數(shù)據(jù)庫應(yīng)該包含1個主要數(shù)據(jù)文件(.mdf) ,1個事務(wù)日志文件(.ldf)以及n個(n>=0)次要數(shù)據(jù)文件(.ndf)。3.日志文件保存用于恢復(fù)數(shù)據(jù)庫的日志信息。每個數(shù)據(jù)庫至少有一個日志文件,也可以有多個。4. T-SQLT-SQL (Transact-SQL)是結(jié)構(gòu)化查詢語言的增強版本,是Microsoft  SQL Server提供的使客戶端能通過訪問服務(wù)器上

31、數(shù)據(jù)的工具。二、填空題。1.數(shù)據(jù)庫文件由稱為( 頁 )的單元組成。數(shù)據(jù)庫中的(1MB)有128頁。2.數(shù)據(jù)庫存儲結(jié)構(gòu)包括:(邏輯)存儲結(jié)構(gòu)和(物理)存儲結(jié)構(gòu)。每個SQL Server 2005的數(shù)據(jù)庫至少包含一個數(shù)據(jù)文件和一個( 日志 )文件 。4.日志文件包含用于(恢復(fù)數(shù)據(jù)庫)的日志信息。5.創(chuàng)建數(shù)據(jù)庫文件可采用(對象資源管理器)和(T-SQL命令)方法。三單選題1.哪個數(shù)據(jù)庫被破壞或出現(xiàn)故障不可用,則SQL Server無法啟動。Amaster B. tempdb C. msdb D. resource2. SQL Server2005的示例數(shù)據(jù)庫名字為:A.Works B.Adventu

32、re C. Adventure Works D. Works Adventure3.次要數(shù)據(jù)文件的擴(kuò)展名是:Amdf B. ndf C. ldf D.rdf4.主要數(shù)據(jù)文件的個數(shù)是:A>=1 B. >=0 C.=0 D.=15.次要數(shù)據(jù)文件的個數(shù)是:A>=1 B. >=0 C.=0 D.=16.SQL Server2005數(shù)據(jù)庫結(jié)構(gòu)包括:A.目錄結(jié)構(gòu)。 B.存儲結(jié)構(gòu)。 C.日志結(jié)構(gòu)。 D.目錄結(jié)構(gòu)和存儲結(jié)構(gòu)。 四.簡答題。1.SQL Server2005的5個系統(tǒng)數(shù)據(jù)庫是什么?他們各自的主要功能是什么?Master: 記錄SQL Server 2005系統(tǒng)的所有系統(tǒng)級的

33、信息,包括元數(shù)據(jù)(例如登錄帳戶)、端點、鏈接服務(wù)器和系統(tǒng)配置設(shè)備等,以及數(shù)據(jù)庫文件的位置、初始化信息等。Model: 模板數(shù)據(jù)庫,向用戶提供各種模板Msdb: 是SQL Server 代理用來安排警報和作業(yè)、記錄SQL Server代理程序服務(wù)項目和操作員信息等的數(shù)據(jù)庫,有關(guān)數(shù)據(jù)庫備份和還原的記錄也會寫在該數(shù)據(jù)庫中。 Tempdb: 保存臨時或中間結(jié)果的工作空間,包含了所有的暫存數(shù)據(jù)表與暫存的預(yù)存程序。Resource: SQL Server 2005中新增加的只讀數(shù)據(jù)庫,包含了SQL Server 2005中所有系統(tǒng)對象。2.文件組有什么用途?通常有哪三種類型,各種組包含哪些文件?用于數(shù)據(jù)庫

34、文件的集中管理。文件組有三種類型。 主文件組包含:主要數(shù)據(jù)文件和未放入其他文件組的所有次要文件。在創(chuàng)建數(shù)據(jù)庫時,如果沒有定義文件組,SQL Server 2005會建立主文件組,所有的系統(tǒng)表都分配在主文件組中。 用戶定義文件組是指:在創(chuàng)建或修改數(shù)據(jù)庫時,用戶創(chuàng)建的文件組。創(chuàng)建了用戶文件組后,我們可以任意分配數(shù)據(jù)文件。如果用戶定義的文件組被填滿,那么只有該文件組的用戶表會受影響。 初始情況下,主文件組是默認(rèn)文件組。創(chuàng)建數(shù)據(jù)庫對象時,如果沒有指定它所屬的文件組,那么就將這些對象指派到默認(rèn)文件組。3.一個數(shù)據(jù)庫至少應(yīng)該有哪些文件?它們的擴(kuò)展名是什么? 每個數(shù)據(jù)庫應(yīng)該包含1個主要數(shù)據(jù)文件(.mdf)

35、,1個事務(wù)日志文件(.ldf)以及n個(n>=0)次要數(shù)據(jù)文件(.ndf)。4.可否使用ALTER DATABASE命令修改數(shù)據(jù)庫庫名,為什么?ALTER DATABASE命令不能用來修改數(shù)據(jù)庫庫名,而要用系統(tǒng)提供的存儲過程SP_rename。5.什么是數(shù)據(jù)庫分離和數(shù)據(jù)庫附加?分離數(shù)據(jù)庫是指將數(shù)據(jù)庫從SQL Server實例中刪除,但數(shù)據(jù)庫在其數(shù)據(jù)文件和事務(wù)日志文件中保持不變。數(shù)據(jù)庫附加就是將“已經(jīng)分離的數(shù)據(jù)庫”的數(shù)據(jù)文件和日志文件復(fù)制到需要該數(shù)據(jù)庫的地方,然后將其附加到數(shù)據(jù)庫服務(wù)器中。6.什么是數(shù)據(jù)的導(dǎo)入?數(shù)據(jù)導(dǎo)入是指,從其他數(shù)據(jù)源中把數(shù)據(jù)復(fù)制到SQL Server數(shù)據(jù)庫中,導(dǎo)出則為反

36、過程。其他數(shù)據(jù)源包括:同版本或舊版本的 SQL Server; Excel、Access、純文本文件; 通過OLE DB或ODBC來訪問的數(shù)據(jù)源等。第5章習(xí)題-數(shù)據(jù)表的管理一、思考題 簡述 的數(shù)據(jù)類型。 系統(tǒng)數(shù)據(jù)類型和用戶自定義類型。系統(tǒng)數(shù)據(jù)類型包括:數(shù)值類型、字符類型、時間數(shù)據(jù)類型和一些特殊的數(shù)據(jù)類型等。每種類型里都包含若干細(xì)分類型。簡述索引的概念及優(yōu)越性。 索引是數(shù)據(jù)庫隨機檢索的常用手段,其作用是將數(shù)據(jù)表中的記錄按照某個順序進(jìn)行排序,從而可以快速找到需要查找的記錄。索引提供指針以指向存儲在表中指定列的數(shù)據(jù)值,然后根據(jù)指定排序次序排列這些指針。合理地利用索引,將大大提高數(shù)據(jù)庫的檢索速度和數(shù)據(jù)

37、庫的性能。二、實驗操作題 (一)創(chuàng)建表 使用 Management Studio在TeachingDataA數(shù)據(jù)庫中建立Tinfo表,表結(jié)構(gòu)見表5-1。 使用T-SQL命令在TeachingDataA數(shù)據(jù)庫中建立SInfo、Cinfo和ScoreInfo表,表結(jié)構(gòu)如下。 (二)用T-SQL命令語句按下列要求修改表結(jié)構(gòu) 修改表SInfo表結(jié)構(gòu),設(shè)置IDCardNo為唯一的。 use teachingDataAAlter table SInfo add CONSTRAINT Uni_ID UNIQUE (IDCardNo) 修改表ScoreInfo的表結(jié)構(gòu),設(shè)置term值只能為1或2,默認(rèn)值為1(

38、?)。Alter table ScoreInfo add CONSTRAINT che_term CHECK(term='1' or term='2') 在表SInfo中添加一個字段EntrData(即入學(xué)日期),要求該值輸入范圍在2000-1-1至2010-1-1之間。 Alter table SInfo add EntrData smalldatetime CONSTRAINT che_entr CHECK(EntrData>='2000-1-1' and EntrData<='2010-1-1') 修改表Tinf

39、o表結(jié)構(gòu),要求刪除其中的Birthday字段。 Alter table TInfo drop column birthday 5 修改表Tinfo表結(jié)構(gòu),要求其中字段homeTel只允許輸入數(shù)字,且第一位不能為0.use teachingdataAgoAlter table Tinfo add check (isnumeric(homeTel)=1 and left(homeTel,1)<>'0' ) (三)添加與更新數(shù)據(jù) 1用-命令語句在表Tinfo中輸入數(shù)據(jù),如表5-5。 insert into TInfo values ('101001',&#

40、39;施 華','男',null,'1962-5-1 0:00:00','教 授','11111111',null)insert into TInfo values ('101002','張小同','男',null,'1969-12-2 0:00:00','副教授','22222222',null)insert into TInfo values ('101003','李 可','女

41、9;,null,'1972-5-1 0:00:00','講 師','12345678',null)insert into TInfo values ('101004','王露','女',null,'1982-5-1 0:00:00','助 教','11111111',null)insert into TInfo values ('101005','周杰','男',null,'1975-5-1 0:

42、00:00','講師','11111111',null)insert into TInfo values ('102001','張偉華','男',null,'1959-5-1 0:00:00','教 授','11111111',null)insert into TInfo values ('102002','李林','女',null,'1963-5-1 0:00:00','副教授'

43、,'11111111',null)insert into TInfo values ('102003','林森','男',null,'1960-5-1 0:00:00','教 授','11111111',null)insert into TInfo values ('102004','王明','男',null,'1951-5-1 0:00:00','教 授','11111111',null

44、)insert into TInfo values ('102005','史有才','男',null,'1964-5-1 0:00:00','講','11111111',null) 2用T-SQL命令在表Tinfo中輸入數(shù)據(jù),當(dāng)TID大于等于:101000且小于等于101999時,其所在部門dept字段的值為“信息管理”, 當(dāng)TID大于等于:102000且小于等于102999時,其所在部門dept為電子商務(wù)。(四)創(chuàng)建索引 利用T-SQL命令為表Tinfo中的Dept和Tname兩個字段創(chuàng)建一個簡單

45、的復(fù)合索引。 利用T-SQL命令為表Tinfo中的homeTel字段創(chuàng)建一個唯一索引。 利用T-SQL命令為表Tinfo中的Tname字段創(chuàng)建一個降序的非聚集索引。 第6章習(xí)題-數(shù)據(jù)查詢一、思考題 1. SQL查詢語句有哪些子句,其中哪個子句為必選項。Select/ from/ where/ group by/ having/ order by 2. 簡述排序查詢、分組查詢、聯(lián)結(jié)查詢及嵌套查詢的概念。排序查詢:用ORDER BY子句實現(xiàn)對查詢結(jié)果集按列(列標(biāo)題、列計算表達(dá)式)升、降序排序。如CID、平均年齡(列標(biāo)題)、AVG(score) 分組查詢:GROUP BY子句能夠?qū)?shù)據(jù)記錄依據(jù)設(shè)置的

46、條件分成若干組,實現(xiàn)分組查詢。group_by_express: 分組依據(jù)表達(dá)式。它既可以是列(如CID,Sex等)也可以是引用由FROM子句返回的列的非聚合表達(dá)式,如 2011-Year(Birthday) 。CUBE:指定結(jié)果集不僅包含由GROUP BY提供的行,也包含匯總行。 聯(lián)結(jié)查詢:當(dāng)一條查詢語句涉及多個表時,稱為聯(lián)結(jié)查詢。表之間的聯(lián)結(jié)通過表的字段值來實現(xiàn)(這些字段稱為聯(lián)結(jié)字段),聯(lián)結(jié)兩表的條件稱為聯(lián)結(jié)條件。其種類包括:等值與非等值聯(lián)結(jié)查詢、自身聯(lián)結(jié)、外聯(lián)結(jié)、復(fù)合條件聯(lián)結(jié)等。 嵌套查詢:在一個外層查詢中包含另一個內(nèi)層查詢。其中外層查詢稱為主查詢,內(nèi)層查詢稱為子查詢。3.SQL查詢語句

47、中 ALL 和 * 選項的作用有何不同?ALL 操作對象是行,為包含查詢結(jié)果集中的重復(fù)記錄;*指代某表的所有列。4在SELECT語句中WHERE和HAVING有什么不同?兩者都是條件子句,但是HAVING用于group by子句。二、實驗操作題 .完成本章中的所有例題。 .查詢?nèi)w學(xué)生的SID、SNAME和SEX. SELECT SID, Sname,Sex from StuInfo .查詢表StuInfo前5條記錄中的學(xué)生姓名Sname和專業(yè)Major,要求在顯示列標(biāo)題為姓名和專業(yè)。 Select top 5 sname as 姓名,major as 專業(yè) from StuInfo 4.查詢

48、表StuInfo中的前50%的信息。 Select top 5 * from StuInfo 5.在表ScoreInfo中查詢課程號CID為"002"且成績低于60分的學(xué)生的SID和Score。 SELECT SID, Score from ScoreInfo where CID=002 AND Score<=60 6.分別用"BETWEEN AND"和比較運算符查詢成績在70分到80分之間的學(xué)生SID成績 SCORE。 SELECT SID, Score from ScoreInfo where Score between 70 and 80 S

49、ELECT SID, Score from ScoreInfo where Score>=70 and Score<=80 7.試用兩種方法來查詢既沒有選修課程"001",也沒有選修"003"的學(xué)生SID、CID和成績Score。 SELECT SID, CID,Score from ScoreInfo where CID<>”001” AND CID<>”003” SELECT SID, CID,Score from ScoreInfo where CID NOT IN (”001”,”003”) 8.在TchInf

50、o表中查詢職稱為"副教授"的教師的Tname和Birthday,并按出生年月進(jìn)行降序排列。 Select Tname,birthday from TchInfo where Title="副教授" order by birthday desc9.查詢SID為"2008001"的學(xué)生的總分和平均分。 Select sum(score),avg(score) from score where SID=2008001 10.查詢各院系的講師數(shù)。 Select count(*) from Tchinfo where Title=講師 11.查詢與李小紅同學(xué)在同一個班級的學(xué)生的姓名。 Select Sname from stuInfo where cl

溫馨提示

  • 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

提交評論