電大數(shù)據(jù)庫應(yīng)用考試復(fù)習(xí)參考_第1頁
電大數(shù)據(jù)庫應(yīng)用考試復(fù)習(xí)參考_第2頁
電大數(shù)據(jù)庫應(yīng)用考試復(fù)習(xí)參考_第3頁
電大數(shù)據(jù)庫應(yīng)用考試復(fù)習(xí)參考_第4頁
電大數(shù)據(jù)庫應(yīng)用考試復(fù)習(xí)參考_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、單項(xiàng)選擇題1.數(shù)據(jù)庫管理系統(tǒng)中的( D)功能實(shí)現(xiàn)對數(shù)據(jù)庫的數(shù)轉(zhuǎn)據(jù)儲操、縱恢復(fù)。 A.數(shù)據(jù)定義 B.據(jù)操縱 c. 數(shù)據(jù)查詢 D. 數(shù)據(jù)庫的建立與維護(hù)2.選擇與投影運(yùn)算,屬于關(guān)系模型中(B )的功能。系代數(shù) c. 關(guān)系完整性 D. 數(shù)據(jù)獨(dú)立性3.在系統(tǒng)數(shù)據(jù)庫中,( C)包含了復(fù)制到每個用戶數(shù)據(jù)庫中的表。 A.master數(shù)據(jù)庫 B.tempdb數(shù)據(jù)庫 c.model數(shù)據(jù)庫 D.msdb數(shù)據(jù)庫4.如A.果要存儲的數(shù)據(jù)是圖形圖像等,應(yīng)使用( D )做為數(shù)據(jù)類型。 A.數(shù)值數(shù)據(jù)類型 B.字符型 c. 日期時間型 D. 位型5. 下列( B )情況,一般不建立索引。 A. 基本表的某列中記錄數(shù)量特別多

2、 B 基本表的某列中記錄數(shù)量特別少 c. 基本表的某列經(jīng)常出現(xiàn)在ORDER BY字句中 D. 基本表的某列經(jīng)常被查詢6.下列關(guān)于視圖的描述不正確的是( C )。 A. 視圖是由行和列組成的二維表 B. 執(zhí)行視圖可能會比執(zhí)行select語句速度更快 c. 視圖與數(shù)據(jù)表是完全一樣的 D. 視圖更便于用戶使用7.對于教學(xué)管理數(shù)據(jù)庫,當(dāng)采用事務(wù)控制機(jī)制時,利用UPDATE語句將課程表中課程號為A002的課程號改為A2002后,還沒來得急對成績表進(jìn)行更新操作,突然停電了,SQL的事務(wù)控制功能將( C )。 A. 保留對課程表的修改,機(jī)器重新啟動后,自動進(jìn)行對成績表的更新 B. 保留對課程表的修改,機(jī)器重

3、新啟動后,提示用戶對成績表的進(jìn)行更新 c. 清除對課程表的修改 D. 清除對課程表的修改,機(jī)器重新啟動后,自動進(jìn)行對課程表和成績表的更新8.下列關(guān)系中,符合第2范式但不符合第3范式的是( B )。 A.姓名 性別 單位 城市 郵編 聯(lián)系 電話 辦公電話 手機(jī)號 張華 男 天津大學(xué) 北京 110110 8676532B. 學(xué)號 姓名 性別 籍貫 系號 系 名 系電話 0101002 張華 男 江蘇 X01 計(jì)算機(jī) 56663278 c.學(xué)號 姓名 性別 專業(yè) 0101002 劉紅 女 機(jī)械 D. 姓名 性別 單位 城市 郵編 辦公室電話 手機(jī)號 王明 男 天津大學(xué) 北京

4、 110110 3676562 135112998989.把A.一個關(guān)系算.兩個關(guān)系的并中按所需順序選取若干個屬性構(gòu)成新的關(guān)系稱為( C )。 A.選擇運(yùn)算 B。兩個關(guān)系的并 c. 投影運(yùn)算 D. 兩個關(guān)系的差10.如果希望統(tǒng)計(jì)學(xué)生表中選修網(wǎng)頁設(shè)計(jì)課程的學(xué)生的人數(shù),那么語句中應(yīng)該包含( D ) A.SELECTMIN () AS專業(yè)人數(shù)FROM學(xué)生表WHERE專業(yè)=網(wǎng)頁設(shè)計(jì) B.SELECTMAX (*) AS專業(yè)人數(shù)FROM 學(xué)生表WHERE專業(yè)=網(wǎng)頁設(shè)計(jì) C.SELECTAVG (*) AS專業(yè)人數(shù)FROM學(xué)生表WHERE專業(yè)=網(wǎng)頁設(shè)計(jì) D.SELECTCOUNT) AS專業(yè)人數(shù)FROM學(xué)

5、生表WHERE專業(yè)=網(wǎng)頁設(shè)計(jì)11.SQLSE設(shè)RVER數(shù)據(jù)庫的備份不支持( D )。磁帶設(shè)備 A。磁盤設(shè)備 B。磁帶設(shè)備 c. 命名管道設(shè)備 D.I/O接口設(shè)備12.下列說法中,( B )屬于字段設(shè)計(jì)原則。 A. 遵守第三范式標(biāo)準(zhǔn)的數(shù)據(jù)庫設(shè)計(jì) B. 字段長度盡量充足 C. 適當(dāng)使用視圖 D. 為設(shè)計(jì)編制文檔13.下列SQL語句中,能夠統(tǒng)計(jì)每個專業(yè)的人數(shù)的是( A )。 A.SELECT專業(yè),COUNT(篝) AS學(xué)生人數(shù)FROM學(xué)生表GROUPBY 專業(yè) B.SELECT專業(yè),COUNT(鉗) AS 學(xué)生人數(shù)FROM學(xué)生表GROUPBY專業(yè) C.SELECT 專業(yè),COUNT(曾 ) AS 學(xué)

6、生人數(shù)FROM學(xué)生表AVG 專業(yè) D.SELECT 專業(yè),COUNT(骨 ) AS 學(xué)生人數(shù)FRO1 學(xué)生表DISTINCT專業(yè) 14.查詢課程名中帶有Windows的課程,則條件語句應(yīng)包含( D )。 A.WIIERE課程名LIKE% Windows B.WHERE課程名LIKE% Windows% C.WHERE課程名 % LIKE Windows LIKE D.WHERE課程名LIKE Windows %15.下列SQIJ語句中,字段的值具有唯一性的約束是( A )。 A. 學(xué)號char(8) N01NULLCONSTRAIN1un_noUNIQUE B. 成績numeric(8,2)

7、CONSTRAINTdf_scoreDEFAULT0.00 c. 性別 char(2) NOTNULLcheck (性別=男, or性別=女)D. 學(xué)號char (8) NOT NULL16下列( D )是指數(shù)據(jù)庫管理系統(tǒng)。A、DML B、DDL C、DBA D、DBMS 17有嚴(yán)格的數(shù)學(xué)基礎(chǔ)并在此基礎(chǔ)上發(fā)展起來的數(shù)據(jù)庫模型是( C )。A、層次模型B、網(wǎng)狀模型C、關(guān)系模型D、面向?qū)ο竽P?8在銷售商品關(guān)系中,能夠成為主關(guān)鍵字(或稱主碼)的屬性是( B )。A、商品名B、商品編號C、商品數(shù)量D、商品價格19SQL Server系統(tǒng)中的所有系統(tǒng)級信息存儲于( A )數(shù)據(jù)庫中。Amaster Bm

8、odel Ctempdb Dmsdb20關(guān)系數(shù)據(jù)庫規(guī)范化理論是為解決關(guān)系數(shù)據(jù)庫中( A )問題而引入的。A、插入、刪除和數(shù)據(jù)冗余B、提高查詢速度C、減少數(shù)據(jù)操作的復(fù)雜性D、保證數(shù)據(jù)的安全性和完整性21下列符合第三范式的關(guān)系是( B )。A、零件(零件編號,零件名稱,零件重量,生產(chǎn)零件的車間名,零件儲存的倉庫名)B、零件(零件編號,零件名稱,零件重量,零件儲存的倉庫編號)C、倉庫(倉庫編號,主任姓名,電話,儲存的零件)D、倉庫(倉庫編號,主任姓名,儲存零件的數(shù)量,儲存零件的種類)22如果希望從學(xué)生表中查詢出最大年齡的同學(xué),那么語句中應(yīng)該包含( B )。A、SELECT MIN (年齡) AS 最

9、大 FROM 學(xué)生表B、SELECT MAX (年齡) AS 最大 FROM 學(xué)生表C、SELECT AVG (年齡) AS 最大 FROM 學(xué)生表D、SELECT COUNT (年齡) AS 最大 FROM 學(xué)生表23下列關(guān)于索引的說明不正確的是( B )。A、索引與基本表分開存儲B、索引一經(jīng)建立就需要人工進(jìn)行維護(hù)C、索引的建立或撤消對數(shù)據(jù)的內(nèi)容毫無影響D、索引會在一定程度上影響增刪改操作的效率9在第一個關(guān)系中出現(xiàn),在第二個關(guān)系中不出現(xiàn)的記錄組成的新關(guān)系稱為( D )。A、兩個關(guān)系的和B、兩個關(guān)系的并C、兩個關(guān)系的交D、兩個關(guān)系的差24 SQL Server默認(rèn)的登錄賬號為( A )。A、s

10、aB、dboC、administrterD、自己任意設(shè)置25數(shù)據(jù)庫應(yīng)用程序開發(fā)中,( B )屬于物理設(shè)計(jì)。A、回答“干什么”的問題B、存儲方法設(shè)計(jì)C、繪制E-R圖D、將E-R圖轉(zhuǎn)換為關(guān)系模型26下列SQL語句中,能夠完成刪除功能的是( D )。A、INSERT INTO 教師表 VALUES(053006,王振東,男2)B、UDATE 教師表 SET 姓名=王振東 WHERE 學(xué)號=053006C、DELETE 教師表 SET 姓名=王振東 WHERE 教師編號=053006D、DELETE FROM 教師表 WHERE 性別=男27查詢姓名中帶有“芳”字的學(xué)生,則條件語句應(yīng)包含( B )。A

11、、Where 姓名 LIKE % 芳B、Where 姓名 LIKE %芳C、Where 姓名 % LIKE芳LIKED、Where 姓名 LIKE 芳%28下列SQL語句中,限制字段取值范圍的約束是( C )。A、學(xué)號 char (8) NOT NULL CONSTRAINT un_no UNIQUEB、學(xué)號 char (8) NOT NULL CONSTRAINT PK_學(xué)生表 PRIMARY KEYC、性別 char (2) NOT NULL check (性別男or 性別女)D、學(xué)號 char (8) NOT NULL29設(shè)學(xué)生表和成績表的結(jié)構(gòu)分別為(學(xué)號,姓名,所在系)和(學(xué)號,課程名

12、,成績),如果希望按分?jǐn)?shù)降序查詢出“英語系中選修了計(jì)算機(jī)課程的學(xué)生姓名和成績”,則對應(yīng)的SQL語句是( D )。A、SELECT 姓名,成績 FROM 學(xué)生表,成績表 WHERE 所在系英語系 AND課程名計(jì)算機(jī) AND 學(xué)生表.學(xué)號=課程表.學(xué)號B、SELECT 姓名,成績 FROM 學(xué)生表,成績表 WHERE 所在系英語系 AND課程名計(jì)算機(jī) AND 學(xué)生表.學(xué)號=課程表.學(xué)號 ORDER BY 成績 ASCC、SELECT 姓名,成績 FROM 學(xué)生表,成績表 WHERE 所在系英語系 AND課程名計(jì)算機(jī) AND 學(xué)生表.學(xué)號=課程表.學(xué)號 ORDER BY 成績 D、SELECT 姓名

13、,成績 FROM 學(xué)生表,成績表 WHERE 所在系英語系 AND課程名計(jì)算機(jī) AND 學(xué)生表.學(xué)號=課程表.學(xué)號 ORDER BY 成績 DESC30_SQL Server數(shù)據(jù)庫是基于( C )數(shù)據(jù)模型的。A層次模型 B網(wǎng)狀模型 C關(guān)系模型 D面向?qū)ο竽P?1通常情況下,“數(shù)據(jù)庫管理員”的英文縮寫是( C )。ADBMS BDBS CDBA DDMS32如果希望從成績表中查詢出所有成績大于等于90分的記錄,那么條件語句應(yīng)該是( A )。Awhere成績=90 Bwhere成績90Cwhere成績90 AND成績=90Dwhere成績9033在一個課程關(guān)系中,最可能成為主關(guān)鍵字(或稱主碼)的屬

14、性是( C )。A任課教師 B所屬專業(yè) C課程編號 D開課學(xué)期34. SQL Server的系統(tǒng)主數(shù)據(jù)庫是( A )。Amaster BPubs Ctempdb DNorthwind35.SQL Server數(shù)據(jù)庫中的NULL值(空值)( D )。A表示空格 B表示數(shù)字 C表示一種數(shù)據(jù)類型 D表示沒有值、不確定的值36.設(shè)一個關(guān)系為R,如果它的每個屬性都是不可再分的,則稱這個關(guān)系是符合( A )。A第一范式 B第二范式 C.第三范式 DBNC范式37下列符合第三范式的關(guān)系是( D )。A教師(教師號,教師姓名,課程號,課程名,成績)B.教師(教師號,教師姓名,性別,課程號,課程名,NN)C.職

15、工(職工號,職工姓名,性別,籍貫,所屬部門編號,所屬部門名稱)D.職工(職工號,職工姓名,性別,籍貫,所屬部門編號)38.將第一個關(guān)系的記錄加到第二個關(guān)系中,生成的新關(guān)系稱為( B )。A兩個關(guān)系的積 B兩個關(guān)系的并C兩個關(guān)系的交 D兩個關(guān)系的差39.數(shù)據(jù)庫應(yīng)用程序開發(fā)中,概念設(shè)計(jì)階段的主要目的是( D )。A繪制ER圖 B編寫數(shù)據(jù)字典C建立邏輯數(shù)據(jù)模型 D建立概念模型40用戶使用SQLServer時,通常需要考慮兩個安全性階段( B )。A登錄驗(yàn)證、操作驗(yàn)證 B身份驗(yàn)證、權(quán)限認(rèn)證C操作驗(yàn)證、登錄驗(yàn)證 D權(quán)限認(rèn)證、身份驗(yàn)證41創(chuàng)建數(shù)據(jù)庫的SOL語句是( C )。AINSERT DATABASE

16、 BBACKUP DATABA。SECCREATE DATABASE DRESTORE DATABASE42SQLServer 數(shù)據(jù)庫中的一個完整的備份通常要包括( A )。A系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和事務(wù)日志B系統(tǒng)數(shù)據(jù)庫、系統(tǒng)表和數(shù)據(jù)字典C系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和數(shù)據(jù)字典D用戶數(shù)據(jù)庫和事務(wù)日志43下列SQL語句中,能夠完成笛卡爾積運(yùn)算的是( D )。ASELECT*FROM籃球愛好者UNION SELECT*FROM足球愛好者BSELECT*FROM籃球愛好者INTERSECT SELECT*FROM足球愛好者CSELECT*FROM籃球愛好者EXCEPT SELECT*FROM足球愛好者DS

17、ELECT*FROM篩球秀好者。足球秀好者44設(shè)學(xué)生表和選課表的結(jié)構(gòu)分別為(學(xué)號,姓名)和(學(xué)號,課程號,成績),如果希望查詢出“所有姓王的學(xué)生且選修了A001課程的學(xué)生”,則對應(yīng)的SQL語句是( C )。ASELECT姓名FROM學(xué)生表,選課表 WHERE學(xué)生表學(xué)號=選課表學(xué)號AND學(xué)生表姓名LIKE王OR選課表課程號=A001BSELECT姓名FROM學(xué)生表,選課表 WHERE學(xué)生表學(xué)號=選課表學(xué)號AND學(xué)生表姓名LIKE王OR選課表課程號=A001CSELECT姓名FROM學(xué)生表,選課表 WHERE學(xué)生表學(xué)號=選課表學(xué)號AND學(xué)生表姓名LIKE王AND選課表課程號=A001DSELECT

18、姓名FROM學(xué)生表,選課表 WHERE學(xué)生表學(xué)號=選課表學(xué)號AND學(xué)生表姓名LIKE王AND選課表課程號=A00l45數(shù)據(jù)庫管理系統(tǒng)中的( B )功能實(shí)現(xiàn)對數(shù)據(jù)庫的插入、刪除、修改。 A. 數(shù)據(jù)定義 B數(shù)據(jù)操縱C數(shù)據(jù)庫的運(yùn)行管理 D數(shù)據(jù)庫的建立與維護(hù)46以二維表的形式表示關(guān)系之間的聯(lián)系,屬于關(guān)系模型中( A )的功能。 A. 數(shù)據(jù)結(jié)構(gòu) B. 規(guī)范性 C. 關(guān)系完整性 D數(shù)據(jù)獨(dú)立性47在系統(tǒng)數(shù)據(jù)庫中,( A )包含了系統(tǒng)級信息。 A. master數(shù)據(jù)庫 Btempdb數(shù)據(jù)庫Cmodel數(shù)據(jù)庫 Dmsdb數(shù)據(jù)庫48如果要存儲的數(shù)據(jù)是帶有小數(shù)位的數(shù)據(jù),應(yīng)使用( A )做為數(shù)據(jù)類型。 A. 數(shù)值數(shù)據(jù)

19、類型 B字符型 C. 日期時間型 D位型49下列( A )情況,適于建立索引。 A. 基本表的某列中記錄數(shù)量特別多 B基本表的某列中記錄數(shù)量特別少C經(jīng)常進(jìn)行插入操作的基本表的某列 D經(jīng)常進(jìn)行刪除操作的基本表的某列50下列關(guān)于視圖的描述不正確的是( C )。 A. 視圖是由行和列組成的二維表 B視圖可以限制用戶對數(shù)據(jù)的訪問C . 視圖與數(shù)據(jù)表是一樣的 D視圖是建立在基本表上的51對于教學(xué)管理數(shù)據(jù)庫,當(dāng)采用事務(wù)控制機(jī)制時,利用UPDATE語句將學(xué)生表中學(xué)號為 “002的學(xué)生的學(xué)號改為2002”后,還沒來得急對成績表進(jìn)行更新操作,突然停電了,SQL的事務(wù)控制功能將(C )。 A. 保留對學(xué)生表的修改

20、,機(jī)器重新啟動后,自動進(jìn)行對成績表的更新 B. 保留對學(xué)生表的修改,機(jī)器重新啟動后,提示用戶對成績表的進(jìn)行更新 C. 清除對學(xué)生表的修改 D清除對學(xué)生表的修改,機(jī)器重新啟動后,自動進(jìn)行對學(xué)生表和成績表的更新52下列關(guān)系中,符合第2范式但不符合第3范式的是( B )。 53把第一個關(guān)系和第二個關(guān)系中都出現(xiàn)的記錄提取出來,形成新的關(guān)系稱為( C )。 A. 兩個關(guān)系的和 B兩個關(guān)系的并 C. 兩個關(guān)系的交 D兩個關(guān)系的差54如果希望從學(xué)生表中查詢出同學(xué)的平均年齡,那么語句中應(yīng)該包含( C )。 ASELECTMIN(年齡)AS平均FROM學(xué)生表 BSELECT MAX(年齡)AS平均FROM學(xué)生表

21、 C. SELECTAVG(年齡)AS平均FROM學(xué)生表DSELECTCOUNT(年齡)AS平均FROM學(xué)生表55數(shù)據(jù)庫的備份不包括( A )。 A. 操作系統(tǒng) B系統(tǒng)數(shù)據(jù)庫C. 用戶數(shù)據(jù)庫 D事務(wù)日志 56下列說法中,( A )屬于表設(shè)計(jì)原則。 A. 遵守第三范式標(biāo)準(zhǔn)的數(shù)據(jù)庫設(shè)計(jì) B盡可能地建立觸發(fā)器 C. 適當(dāng)使用視圖 D盡可能多地采用外鍵57下列SQL語句中,能夠?qū)Σ樵兘Y(jié)果進(jìn)行排序的是( A )。 A. SELECT*FROM學(xué)生表WIlERE專業(yè)軟件ORDERBY年齡 BSELECT*FROM學(xué)生表WHERE專業(yè)軟件 CSELECT*FROM學(xué)生表WHERE專業(yè)=軟件AVG年齡 D.

22、SELECT*FROM學(xué)生表WHERE專業(yè):軟件DISTINCT年齡58查詢姓名中帶有“玲”字的學(xué)生,則條件語句應(yīng)包含( B )。 AWHERE姓名LIKE玲 BWHERE姓名IIKE玲 CWHERE姓名LIKE玲LIKE DWHERE姓名LIKE玲59下列SQL語句中,對字段創(chuàng)建唯一的聚集索引的約束是( B )。 A學(xué)號cha,(8)NOT NULL CONSTRAINT un_no UNIQUE B學(xué)號char(8)NOT NULL CONSTRAINTPK一學(xué)生表PRIMARYKEY C. 性別char(2)NOT NULL check(性別男or性別女)D學(xué)號char(8)NOTNUL

23、L60如果希望從學(xué)生表中查詢出所有姓“張”的同學(xué),那么條件語句應(yīng)該是( B )。 AWhere姓名張 BWhere姓名LIKE張 CWhere姓名LIKE張 DWhere姓名LIKE張61. 本教材介紹的數(shù)據(jù)庫管理系統(tǒng)基于(C )數(shù)據(jù)庫。 AOracle BInformix CMicrosoft SQL Server DSybase62.( A )數(shù)據(jù)庫包含了所有系統(tǒng)級信息,對SQL Server系統(tǒng)來說至關(guān)重要,一旦受到損壞,有可能導(dǎo)致SQL Server系統(tǒng)的徹底癱瘓。 Amaster數(shù)據(jù)庫 Btempdb數(shù)據(jù)庫 Cmodel數(shù)據(jù)庫 Dmsdb數(shù)據(jù)庫63在一個教師關(guān)系中,能夠成為主關(guān)鍵字(

24、或稱主碼)的屬性是( B )。 A教師姓名 B教師編號 C教師年齡 D教師性別64從邏輯層次上看,數(shù)據(jù)庫不包括( D )。 A表 B視圖 C存儲過程 D內(nèi)模式65下列關(guān)于索引的說明不正確的是( A )。 A索引一經(jīng)建立就需要人工進(jìn)行維護(hù) B索引與基本表分開存儲 C索引的建立或撤消對數(shù)據(jù)的內(nèi)容毫無影響 D索引會在一定程度上影響增刪改操作的效率66第二范式是指(B )。 A. 設(shè)一個關(guān)系為R,它是滿足第一范式的,若R中不存在非主屬性對主鍵的傳遞函數(shù)依賴,則稱該關(guān)系符合第二范式 B設(shè)一個關(guān)系為R,它是滿足第一范式的,若R中不存在非主屬性對主鍵的部分函數(shù)依賴,則稱該關(guān)系符合第二范式 C設(shè)一個關(guān)系為R,

25、它是滿足第二范式的,若R中不存在非主屬性對主鍵的傳遞函數(shù)依賴,則稱該關(guān)系符合第三范式 D設(shè)一個關(guān)系為R,它是滿足第二范式的,若R中不存在非主屬性對主鍵的部分函數(shù)依賴,則稱該關(guān)系符合第三范式67下列符合第三范式的關(guān)系是( D )。 A教師(教師編號,教師姓名,教師講授的課程號,教師講授的課程名) B教師(教師編號,教師姓名,教師講授的課程名,教師所在的系) C. 教師(教師編號,教師姓名,教師講授的課程號,教師所在的辦公室) D教師(教師編號,教師姓名,教師性別)68在第一個關(guān)系中出現(xiàn),在第二個關(guān)系中也出現(xiàn)的記錄組成的新關(guān)系稱為( C )。 A兩個關(guān)系的和 B兩個關(guān)系的并 C兩個關(guān)系的交 D兩個

26、關(guān)系的差69. 數(shù)據(jù)庫應(yīng)用程序開發(fā)中,( B )屬于物理設(shè)計(jì)。 A回答“干什么”的問題 B存儲方法設(shè)計(jì) C繪制E-R圖 D將ER圖轉(zhuǎn)換為關(guān)系模型70.通過賬號管理,SQL Server用戶分為( C )。 A管理員賬號和普通用戶賬號 B操作賬號和登錄賬號 C登錄賬號和用戶賬號 D權(quán)限賬號和身份賬號71.下列SQL語句中,能夠完成刪除功能的是( B )。 A.INSERT INTO學(xué)生表VALUES(2006001,王小明,男,2) B.UPDATE學(xué)生表SET姓名=王莉WHERE學(xué)號=2006001 C.DELETE學(xué)生表SET姓名=王莉WHERE學(xué)號=2006001 D.DELETE FRO

27、M學(xué)生表WHERE性別=男72.下列SQL語句中,能夠完成求某列最大值的是( D )。 ASELECT AVG(Age)FROM Student BSELECT MAX(Age)FROM Student CSELECT MIN(Age)FROM Student DSELECT COUNT(*)FROM Student73.下列SQL語句中,能夠完成交運(yùn)算的是( D )。 A.SELECT * FROM 劉德華出演的電影UNION SELECT * FROM 梅艷芳出演的電影 B.SELECT * FROM 劉德華出演的電影INTERSECT SELECT * FROM 梅艷芳出演的電影 C.S

28、ELECT * FROM 劉德華出演的電影EXCEPT SELECT * FROM 梅艷芳音演的電影 DSELECT * FROM 劉德華出演的電影,梅艷芳出演的電影74設(shè)學(xué)生表和課程表的結(jié)構(gòu)分別為(學(xué)號,姓名)和(學(xué)號,課程名,成績),如果希望查詢出“選修了數(shù)據(jù)庫應(yīng)用技術(shù)課程的學(xué)生姓名和成績”,則對應(yīng)的SQL語句是( B )。ASELECT 姓名,成績FROM學(xué)生表WHERE學(xué)生表學(xué)號=課程表學(xué)號AND 課程名=數(shù)據(jù)庫應(yīng)用技術(shù)BSELECT姓名,成績FROM課程表WHERE學(xué)生表學(xué)號=課程表學(xué)號AND 課程名=數(shù)據(jù)庫應(yīng)用技術(shù)CSELECT姓名FROM學(xué)生表,課程表WHERE學(xué)生表學(xué)號=課程表

29、學(xué)號OR 課程名=數(shù)據(jù)庫應(yīng)用技術(shù)DSELECT姓名,成績FROM學(xué)生表,課程表WHERE學(xué)生表學(xué)號=課程表學(xué)號AND課程名=數(shù)據(jù)庫應(yīng)用技術(shù)二、填空題1.SQL語言中的查詢語句是SELECT2.數(shù)據(jù)庫還原方式包括完全還原方式、簡單還原方式 和大容量日志記錄還原方式o 3.數(shù)據(jù)庫設(shè)計(jì)的主要原則包括表設(shè)計(jì)原則、字段設(shè)計(jì)原則 和其他原則。 4.關(guān)系完整性是指關(guān)系模型中數(shù)據(jù)的正確性、一致性 和有效性。 5.SQLServer 中的事務(wù)處理控制語句,BEGIN TRANSACTION 或BEGIN 實(shí)現(xiàn)開始一個事務(wù)。6關(guān)系模型由三個部分組成,分別是數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性 。7備份是指將數(shù)據(jù)從硬

30、盤復(fù)制到 可移動 媒體上的過程。8數(shù)據(jù)庫應(yīng)用系統(tǒng)的建設(shè)包括結(jié)構(gòu)設(shè)計(jì)和 行為設(shè)計(jì) 兩個方面。9計(jì)算機(jī)數(shù)據(jù)處理技術(shù)大致經(jīng)歷了人工管理、文件管理和數(shù)據(jù)庫管理等三個階段。10.如果一個數(shù)據(jù)表不滿足第三范式,那么至少會存在數(shù)序冗余、更新異常、插入異常和刪除異常等問題。11.SQL Server支持3種備份設(shè)備,即磁盤設(shè)備、磁帶設(shè)備和命名管道設(shè)備。12.VB提供了三種數(shù)據(jù)庫訪問引擎,即Jet引擎、ODBC和OLE DB,目前主要使用OLE DB 。13表是SQL語言存放數(shù)據(jù)、查找數(shù)據(jù)以及更新數(shù)據(jù)的基本數(shù)據(jù)結(jié)構(gòu)。14數(shù)據(jù)依賴通常包括函數(shù)依賴和多值依賴兩個方面。15當(dāng)需要對查詢結(jié)果進(jìn)行排序時,可以指定其排序方

31、式,字段后使用ASC表示升序, DESC表示降序。16SQL數(shù)據(jù)定義語言的主要作用是創(chuàng)建存儲數(shù)據(jù)的結(jié)構(gòu),而數(shù)據(jù)操縱語言的主要作用則是向數(shù)據(jù)庫中填寫數(shù)據(jù),具體包括增加、刪除、修改等操作。17數(shù)據(jù)庫系統(tǒng)的三級模式是指外模式、模式和內(nèi)模式三、判斷題1.DROP PROC的功能是刪除表結(jié)構(gòu)。 ( X ) 2.索引實(shí)際上是一張建立在基本表上的虛表。 ( X )3.如果我們想將數(shù)據(jù)庫系統(tǒng)從被安裝的系統(tǒng)盤轉(zhuǎn)移到E盤上,可以進(jìn)行數(shù)據(jù)庫分離和附加操作。(L ) 4.任何一個用戶賬號背后都有一個登錄賬號o ( L )5.c/s模式主要由客戶應(yīng)用程序和數(shù)據(jù)庫兩部分組成。 ( L )6在教師任課關(guān)系(教師編號,教師姓

32、名,教師職稱,課程號,課程名,課時費(fèi))中,主鍵是教師編號。( X )7觸發(fā)器是一種特殊的存儲過程,它基于一個表創(chuàng)建,可以針對多個表進(jìn)行操作。( )8做結(jié)構(gòu)設(shè)計(jì)時,要盡量使設(shè)計(jì)符合第三范式的要求。( )9登錄賬號用于身份驗(yàn)證,用戶賬號用于權(quán)限驗(yàn)證。( )10數(shù)據(jù)庫應(yīng)用程序開發(fā)中,需求分析階段的主要目的是回答“干什么,的問題。( )12SQL結(jié)構(gòu)化查詢語言是一種過程化語言。( X )13.索引是在基本表的列上建立的一種數(shù)據(jù)庫對象,它和基本表分開存儲,它的建立或撤消對數(shù)據(jù)的內(nèi)容毫無影響。( )14當(dāng)刪除一個視圖時,與之相關(guān)聯(lián)的基本表也會自動被刪除。( X )15.參照完整性規(guī)則通常是指在兩個參照和被

33、參照關(guān)系中,參照關(guān)系中每條記錄的外鍵或者為空,或者等于被參照關(guān)系中某條記錄的主鍵。( ) 16索引與視圖具有相同的用途。( X )17每個用戶需要通過登錄賬號建立自己的連接能力,以便獲得對SQL的訪問權(quán)限。 ( )18BS模式實(shí)際上就是兩層結(jié)構(gòu)的CS模式。( X )19. 目前,在數(shù)據(jù)庫系統(tǒng)中,使用最廣泛的數(shù)據(jù)模型是面向?qū)ο竽P汀? X )20主鍵可以取空值。( X )21.數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。有效存儲數(shù)據(jù),足用戶信息要求和處理要求。( )22.根據(jù)索引的特點(diǎn),應(yīng)該對那些數(shù)據(jù)量大、查詢頻度較高、實(shí)時性要求強(qiáng)的基本表創(chuàng)建索引。( )

34、23.在實(shí)際應(yīng)用中,盡可能不要通過視圖對記錄進(jìn)行更新操作。( )四、簡述題1.簡述SQL Server數(shù)據(jù)庫的存儲結(jié)構(gòu)。SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)包括物理存儲結(jié)構(gòu)和邏輯存儲結(jié)構(gòu)兩個層面。 在物理層面上,SQL Selvel數(shù)據(jù)庫是由兩個操作系統(tǒng)文件組成的,即數(shù)據(jù)文件和事務(wù)日志文件,它們的后綴分別是 MDF和 LDF。數(shù)據(jù)文件主要用于存儲數(shù)據(jù),事務(wù)日志文件主要用于存儲數(shù)據(jù)庫的更新情況等事務(wù)日志信息。在邏輯層次上,數(shù)據(jù)庫是由表、視圖、存儲過程等一系列數(shù)據(jù)對象組成的。當(dāng)采用 SQLServer企業(yè)管理器將上述數(shù)據(jù)庫文件打開后,就能看到數(shù)據(jù)庫的邏輯結(jié)構(gòu)了o 數(shù)據(jù)庫中的數(shù)據(jù)分別存儲在幾個不同的對

35、象中,而這些對象是用戶在操作數(shù)據(jù)庫時,實(shí)際能夠看到和接觸到的,屬于邏輯存儲結(jié)構(gòu)。常用的數(shù)據(jù)庫對象主要包括:表(Table)、索引(Index)、視圖(Views)、 觸 發(fā) 器 (Triggers)、 存儲過 程(Store Procedures)、 缺省 (Default)、 約 束(Constraints)、用戶(Users)以及圖表(Diagram)和用戶 自定義的數(shù)據(jù)類型等。 2. 數(shù)據(jù)庫設(shè)計(jì)的目的是什么,請簡要說明。數(shù)據(jù)庫設(shè)計(jì)指的是設(shè)計(jì)數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是指對于一個給定的應(yīng)用環(huán)境,包括硬件環(huán)境和操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)等軟件環(huán)境,如何使用這個環(huán)境來表達(dá)用戶的要求,

36、構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及圍繞數(shù)據(jù)庫展開的應(yīng)用系統(tǒng),使之能夠有效地收集、存儲、操作和管理數(shù)據(jù),滿足企業(yè)組織中各類用戶的應(yīng)用需求(信息需求和處理需求)。1關(guān)系完整性的主要內(nèi)容是什么?為什么要保證關(guān)系的完整性? 關(guān)系完整性就是關(guān)系模型中數(shù)據(jù)的正確性、一致性和有效性。關(guān)系完整性又包括實(shí)體完整性、參照完整性和用戶定義的完整性三個方面。只有保證了關(guān)系的完整性,才能使數(shù)據(jù)庫中的數(shù)據(jù)正確、一致和有效。2什么是嵌入式SQL,它有哪些用途?嵌入式SQL語言是將SQL語句直接嵌入到程序的源代碼中,與其他程序設(shè)計(jì)語言語句混合。嵌入式SQL的用途:它是數(shù)據(jù)庫應(yīng)用程序的一種開發(fā)方法。是一種應(yīng)用程序進(jìn)行數(shù)據(jù)庫訪問

37、時所采取的編程式數(shù)據(jù)庫語言1請簡要說明存儲過程的概念和優(yōu)點(diǎn)。存儲過程(Stoed Procedure)是一組預(yù)先編譯好的,以一種可執(zhí)行的形式永久地存儲在數(shù)據(jù)中的SQL代碼(3分)。使用存儲過程的好處可歸納為以下幾點(diǎn):(a)執(zhí)行速度快。在經(jīng)過第一次調(diào)用以后,就駐留在內(nèi)存中,不必再經(jīng)過編譯和優(yōu)化;(b)模塊化的程序設(shè)計(jì)。經(jīng)過了一次創(chuàng)建以后,可以被調(diào)用無數(shù)次;(c)減少網(wǎng)絡(luò)流量;(d)保證系統(tǒng)的安全性。2請簡要說明關(guān)系規(guī)范化的必要性。減少數(shù)據(jù)冗余(2分)、更新異常(1分)、插入異常(1分)、刪除異常(1分)。1什么是數(shù)據(jù)和數(shù)據(jù)處理?數(shù)據(jù)與信息的區(qū)別聯(lián)系是什么? 數(shù)據(jù)(Data)是一組表示數(shù)量、行動和

38、目標(biāo)的非隨機(jī)的可鑒別的符號。 數(shù)據(jù)處理通常包括查找、統(tǒng)計(jì)、分類、修改、計(jì)算、匯總等各種方法。、 信息(Information)是經(jīng)過加工的,能對接收者的行為和決策產(chǎn)生影響的、有價值的數(shù)據(jù)。 如果將數(shù)據(jù)比喻為原料,那么信息就是數(shù)據(jù)經(jīng)過加工而生產(chǎn)的產(chǎn)品,是有價值的數(shù)據(jù)。與原料和產(chǎn)品的概念相似,一個系統(tǒng)的產(chǎn)品可能是另一個系統(tǒng)的原料,那么一個系統(tǒng)的信息可能成為另一個系統(tǒng)的數(shù)據(jù)。2請簡要說明數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的步驟。數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的步驟包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。1.為什么要使用事務(wù)?事務(wù)處理的作用是什么?事務(wù)(Transaction)是并發(fā)控制的基本單位,它反映了現(xiàn)實(shí)世界中需要以一

39、個完整的單位提交的一項(xiàng)工作。SQL Server通過事務(wù)機(jī)制,將邏輯相關(guān)的一組操作捆綁在一起,以便服務(wù)器保持?jǐn)?shù)據(jù)的完整性。它是SQL復(fù)雜程序設(shè)計(jì)必不可少的內(nèi)容。 如果在執(zhí)行完第一個語句后,計(jì)算機(jī)突然斷電,而第二條語句還沒來得急執(zhí)行,數(shù)據(jù)出現(xiàn)不一致怎么辦?這時候就需要用到SOL的事務(wù)控制功能了。如果使用了SQL Server的事務(wù)控制機(jī)制,以上兩個問題均可獲得解決。在使用事務(wù)的情況下,SQL Server可以保證,所有的記錄要么全部處理,要么一行也不處理。如果修改了全部記錄的一半時服務(wù)器出錯了,SQL Server會返回到以前未執(zhí)行UPDATE操作前的位置,清除它已經(jīng)修改過的數(shù)據(jù),這就是事務(wù)處理

40、的作用。2.為什么要進(jìn)行數(shù)據(jù)備份?數(shù)據(jù)庫備份包括哪些主要內(nèi)容?任何系統(tǒng)都不可避免會出現(xiàn)各種形式的故障,而某些故障可能會導(dǎo)致數(shù)據(jù)庫災(zāi)難性的損壞,所以做好數(shù)據(jù)庫的備份工作極為重要。備份可以創(chuàng)建在磁盤、磁帶等備份設(shè)備上,與備份對應(yīng)的是還原。數(shù)據(jù)庫備份就是在某種介質(zhì)上(磁帶、磁盤等)存儲數(shù)據(jù)庫(或者其中一部分)的拷貝的過程。更嚴(yán)格意義上講,備份應(yīng)該是一種把數(shù)據(jù)從硬盤上復(fù)制到其他可移動介質(zhì)上的操作過程。一個完整的備份通常要包括三部分內(nèi)容,即系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和事務(wù)日志。五、綜合應(yīng)用題1.用SQL語句創(chuàng)建簡單數(shù)據(jù)表 設(shè)某數(shù)據(jù)庫中的物資臺賬數(shù)據(jù)表T,包括物資編號TNo、物資名稱TN、物資單價 TD等字段

41、:TNo和 TN為字符型(長度20),fD為數(shù)值型(帶小數(shù))0 TNo是主鍵,請用SQL語句創(chuàng)建該數(shù)據(jù)表T。CREATE TABLE T( TNo CHAR(20) PRIMARY KEY, TN CHAR(20), TDMoney ); 2. 用SQL語句查詢數(shù)據(jù)表 在第五大題第 1小題基礎(chǔ)上,要求按下列條件對物資臺賬表 T進(jìn)行查啕,顯示所有字段o條件是:物資編號TNo以X開頭,并且物資單價在20元和 30元之間(不包括20元、30元),請寫出相關(guān)的Select語句。SELECT* FROM T WHERE TNo LIKE X% and TD20 and TDSN,S#-SD。 下面我們先

42、通過一個例子來說明設(shè)計(jì)不好的關(guān)系模式會存在什么問題,分析這些問題產(chǎn)生的原因,從中尋找出設(shè)計(jì)一個好的關(guān)系模式方法。 當(dāng)我們要建立一個數(shù)據(jù)庫來描述學(xué)校中的情況時,所面臨描述對象有學(xué)生(用學(xué)號S#描述),系(用系名SD描述),系負(fù)責(zé)人(用系負(fù)責(zé)人姓名DM描述),課程(用課程名CN描述)和成績(用G描述),于是我們得到了這樣一組屬性:U=S#,SD,DM,CN,G. 現(xiàn)實(shí)世界的已知事實(shí)告訴我們:(1)一個系有若干學(xué)生,但每個學(xué)生只能屬于一個系;(2)一個系只有一名負(fù)責(zé)人;(3)一個學(xué)生可以選修多門課程,而每門課程又可被若干學(xué)生同時選修;(4)每個學(xué)生學(xué)習(xí)每門課程只有一個成績;于是,我們得到了屬性組U上

43、的一組函數(shù)依賴:F=S#-SD,SD-DM,(S#,CN)-G。因此一個關(guān)系模式應(yīng)當(dāng)描述為:R(U,D,DOM,F)。這其中:(1)R是關(guān)系名;(2)U是一組屬性,即組成R的全部屬性的集合;(3)D為域的集合,即屬性取值范圍的集合;(4)DOM為U與D之間的映象;(5)F是屬性組U上的一組函數(shù)依賴。 由于域的定義對關(guān)系模式設(shè)計(jì)關(guān)系不大,(3)和(4)往往可以忽略,于是我們得到了學(xué)校數(shù)據(jù)庫模式:S(U,F(xiàn))。這個模式有下述3個缺點(diǎn):(1)有較大的冗余度。比如,每個系的負(fù)責(zé)人姓名,要與該系每個學(xué)生學(xué)習(xí)每一門課程的成績出現(xiàn)的次數(shù)一樣多,同一數(shù)據(jù)的重復(fù)存貯,不僅僅多占用了存貯空間,同時也為數(shù)據(jù)庫的修改

44、帶來困難。例如某系的負(fù)責(zé)人更換了,那就必須逐一修改有關(guān)這個系的每一個元組;(2)插入異常。如果一個系剛剛成立,尚沒有學(xué)生,那么我們就無法把這個系及其負(fù)責(zé)人的信息存入到某個元組中去,可能有人會這樣想,先存入系及負(fù)責(zé)人的信息,放一空值在這個元組的其他項(xiàng)上,但由于S#和CN是這個關(guān)系的關(guān)鍵字,就要用到帶空值的關(guān)鍵字對元組的查找,而關(guān)鍵字為空值的元組是通常都是不容許在關(guān)系中存在的。(3)刪除異常。如果一個系的學(xué)生全部畢業(yè)了,我們在刪除該系學(xué)生選修課程的信息的同時,也把這個系及其負(fù)責(zé)人的信息也丟了。 上述這些缺點(diǎn)非常不利于數(shù)據(jù)庫的維護(hù)和應(yīng)用,所以我們說,它是一個不好的數(shù)據(jù)庫模式,一個好的模式應(yīng)當(dāng)不會發(fā)生

45、插入和刪除異常,而且冗余要盡可能少,在操作過程中不致產(chǎn)生信息的丟失和造成數(shù)據(jù)的不一致。 產(chǎn)生插入和刪除異常的原因可以從對關(guān)鍵字的定義看出,一個關(guān)系中的兩個元組,如果關(guān)鍵字相同,那么別的屬性值也一定相同,也就是說這兩個元組一定是同一元組,因而關(guān)鍵字是一個元組區(qū)別于其它元組的依據(jù),同時也是一個元組賴以生存的依據(jù),因?yàn)槿魏问挛镏挥挟?dāng)它能區(qū)別于別的事物時,談到它的存在才是有意義的,因而關(guān)鍵字或關(guān)鍵字的一部分為空值的元組是不可能在關(guān)系中存在的。 消除插入異常和刪除異常的辦法就是進(jìn)行模式分離,例如,把上述關(guān)系模式分解成以下三個關(guān)系模式:SD(S#,SD,S#-SD),SG(S#,CN,G,(S#,CN)-

46、G,D(SD,DM,SD-DM)。這時,一個關(guān)系只用來描述一個實(shí)體或?qū)嶓w之間的一種聯(lián)系,下面介紹的規(guī)范化理論就是基于這一簡單概念的。 在1.4.5中我們曾提過:關(guān)系中的每一個分量必須是不可再分的數(shù)據(jù)項(xiàng),這就是一種最基本的規(guī)范化(也稱第一范式),并非這一簡單的規(guī)范化關(guān)系都能很好的描述現(xiàn)實(shí)世界,必須作進(jìn)一步的分析以確定如何設(shè)計(jì)一個好的、反映現(xiàn)實(shí)世界的模式。 通常是根據(jù)一個關(guān)系所具有屬性之間的依賴情況來判定其是否具有某些不合適的性質(zhì),按屬性間依賴情況區(qū)分關(guān)系規(guī)范化的程度為第一范式,第二范式,第三范式,第四范式等,其中第一、二、三范式是Codd最早定義的。后來人員又陸續(xù)提出了BC范式、第四范式和第五范

47、式。1.5.2 函數(shù)依賴 函數(shù)依賴是關(guān)系數(shù)據(jù)庫設(shè)計(jì)中的一個重要概念,下面我們給出函數(shù)依賴的定義。 定義1。設(shè)R(U)是屬性集U上的一個關(guān)系模式,X,Y是U的子集。若對于R(U)中任意可能關(guān)系r(即對于每一時刻的數(shù)據(jù)庫中對應(yīng)于關(guān)系模式R的內(nèi)容),r中不可能有兩個元組在X的屬性分量相等,而同時在Y的屬性分量值卻不等,則稱“X函數(shù)決定Y”,或稱Y函數(shù)依賴于X。記作X-Y。 將上述定義說得更明確一些,就是對于r中的屬性或?qū)傩越MX的每一個值,r中Y只有一個值與之對應(yīng)。例如,若X是R的關(guān)鍵字的屬性集合,則對于這一關(guān)系的所有屬性子集Y,都有X-Y成立,這是因?yàn)殛P(guān)鍵字唯一地決定一個元組。當(dāng)兩個元組的關(guān)鍵字相等

48、時,這兩個元組內(nèi)容也必相等,即它們所有的屬性值都相等,因此不可能存在這樣兩個元組,它們在X關(guān)鍵字屬性值上相等,而在Y值上卻不等。又如姓名和年齡,在沒有同名的情況下,姓名-年齡,這里年齡對于姓名的函數(shù)依賴關(guān)系,必須是在沒有同名的條件下成立,如果有相同的姓名,則年齡就不再函數(shù)依賴于姓名了。 對于函數(shù)依賴,必須說明幾點(diǎn)的是:(1)當(dāng)我們在確定關(guān)系模式R中的某個函數(shù)依賴時,是指R的所有可能關(guān)系r都必須滿足這個函數(shù)依賴;反之,如果R中只要有一個關(guān)系r不滿足這個函數(shù)依賴,我們就認(rèn)為R不存在這個函數(shù)依賴;(2)一個關(guān)系模式R上的函數(shù)依賴的確定,只能從屬性的含義上來說明,而不能從數(shù)學(xué)上來說明,它僅是一個語義范

49、疇的概念;(3)只有數(shù)據(jù)庫的設(shè)計(jì)者才能確定是否存在函數(shù)依賴,例如,一旦確定SN-SD,則實(shí)際上規(guī)定一個學(xué)生只能在一個系中,排斥了他處在兩個系的可能性。 若X-Y,而且,則稱X-Y是非平凡函數(shù)依賴,下面的討論均基于此定義。(1)若X-Y,X稱作決定因素;(2)若X-Y,Y-X,則記作XY;(3)若Y不依賴于X,則記作。 下面討論函數(shù)依賴的一些性質(zhì)。假設(shè)R(A,B,C)是一個關(guān)系模式,A,B,C為屬性,若在R中有A-B和B-C,則在R中必定有A-C。關(guān)于這一點(diǎn),可以用反證法來說明,假定在R的某一關(guān)系r中滿足A-B,B-C,但不能滿足A-C;即在r中存在兩個元組u,v,它們在屬性A的分量上取值相等,

50、而在C的分量上取值不相等,u,v在屬性B的分量上的值有兩種可能,若相等,則違反了B-C;若不相等;則違反了A-B;這與假設(shè)矛盾,也就說明了在r中必滿足A-C。從這個例子中,我們可以看出函數(shù)依賴A-B,B-C邏輯蘊(yùn)涵了函數(shù)依賴A-C。 定義2。在R(U)中,若屬性集合Y函數(shù)依賴于屬性集合X,但Y函數(shù)不依賴于X的任一子集,則稱Y對X完全函數(shù)依賴,記作,反之,若Y依賴于X的某一個真子集,則稱Y對X部分函數(shù)依賴,記作。這里舉一個簡單的例子,在關(guān)系S(S#,SN,SD,SA)中,S#-SD,S#-SA,S#-SN;而在關(guān)系SC(S#,C#,G)中,。 定義3。在R(U)中,如果,Y-X,X-Z,則稱Z對

51、Y傳遞依賴。這里加上條件,是因?yàn)槿绻鸛-Y,則YX,實(shí)際上是Y-Z,而不是傳遞函數(shù)依賴. 定義4。在R(U)中。K為U的屬性或?qū)傩越M,若有,則稱K為R的一個候選關(guān)鍵字,若候選關(guān)鍵字多于一個,則選擇其中之一為主關(guān)鍵字(Primary Key). 包含在一個候選關(guān)鍵字中的屬性叫做主屬性,不包含在任何一個候選關(guān)鍵字中的屬性稱為非主屬性,最簡單的情況,單個屬性是關(guān)鍵字,最極端的情況,整個屬性組是關(guān)鍵字,如在關(guān)系模式S(S#,SN,SD,SA)中,S#是關(guān)鍵字,如在關(guān)系模式SC(S#,C#,G)中,屬性組(S#,C#)是關(guān)鍵字。 定義5。在R(U)中,屬性或?qū)傩越M集合X并非它的關(guān)鍵字,但X是另一個關(guān)系模

52、式的關(guān)鍵字,則稱X是R的外部關(guān)鍵字。 例如SC(S#,C#,G)中,S#不是關(guān)鍵字,但S#是關(guān)系S(S#,SN,SD,SA)的關(guān)鍵字,則S#對于關(guān)系模式SC來說是外部關(guān)鍵字,主關(guān)鍵字與外部關(guān)鍵字提供了一條關(guān)系之間相互聯(lián)系的途徑,例如關(guān)系模式S與關(guān)系模式SC的聯(lián)系就是通過S#。1.5.3 范式的定義 關(guān)系數(shù)據(jù)庫中的關(guān)系是要滿足一定要求的,滿足不同要求為不同范式,滿足最低要求的叫第一范式,簡稱1NF,在第一范式基礎(chǔ)上進(jìn)一步滿足一些要求的為第二范式,其余以此類推。 對于各種范式之間的聯(lián)系有。一個低一級范式的關(guān)系模式,通過投影運(yùn)算可以轉(zhuǎn)化為若干個高一級的關(guān)系模式集合,這種過程就叫規(guī)范化。我們經(jīng)常把某一

53、關(guān)系模式R為第幾范式記為。以下我們著重介紹常用的第一范式、第二范式和第三范式的定義,以及設(shè)計(jì)這些范式的基本方法?!?】1NF 定義6.如果一個關(guān)系模式R的所有屬性都是基本的、不可分的,則R是第一范式。S#STATUSCITYP#QTYS120LONDONP1300S120LONDONP2200S120LONDONP3400S120LONDONP4200S120LONDONP5100S120LONDONP6100S210PARISP1300S210PARISP2400S310PARISP2200S420LONDONP2200S420LONDONP4300S420LONDONP5400圖1.13

54、FIRST關(guān)系表 關(guān)系模式FIRST(S#,STATUS,CITY,P#,QTY),該關(guān)系內(nèi)容如圖1.13所示,其函數(shù)依賴集為:,,。顯然FIRST關(guān)系模式是第一范式。此關(guān)系模式的關(guān)鍵字為(S#,P#),屬性STATUS和CITY不完全函數(shù)依賴于(S#,P#),QTY是完全函數(shù)依賴于(S#,P#)。并且STATUS和CITY也不是相互獨(dú)立的,而是也存在著函數(shù)依賴,這使得關(guān)系FIRST在插入,刪除,修改三種存貯操作出現(xiàn)異常。在供應(yīng)商未供應(yīng)零件時,我們不能登記某供應(yīng)商位于某一城市的信息,例如不能登記供應(yīng)商位于ATHENS這樣一個信息,其原因是關(guān)鍵字的值在P#出現(xiàn)了空值。 當(dāng)我們刪除某一供應(yīng)商時,若

55、該供應(yīng)商僅出現(xiàn)在一個元組中,那么我們不僅刪除了該供應(yīng)商該供應(yīng)零件的信息,而且也刪除了該供應(yīng)商位于某一城市的信息。例如我們刪除了關(guān)鍵字為(S3,P2)的元組,則我們也刪除了S3位于PARIS的信息。 如果要修改某一供應(yīng)商的城市值,通常需要修改多個元組,這就容易產(chǎn)生不一致。例如供應(yīng)商S1從LONDON遷移到AMSTERDAM,就需要修改6個元組。【2】2NF 為了解決上述問題,我們把關(guān)系模式FIRST分解成兩個關(guān)系模式SECOND(S#,STATUS,CITY)和SP(S#,P#,QTY),如圖1.14所示。S#STATUSCITYS120LONDONS210PARISS310PARISS4120

56、LONDONS530ATHENSSECONDS#P#QTYS1P1300S1P2200S1P3400S1P4200S1P5100S1P6100S2P1300S2P2400S3P2200S4P2200S4P4300S4P5400SP圖1.14 SECOND和SP關(guān)系表 這樣處理后的結(jié)構(gòu),克服了S#和CITY存貯操作中的問題。例如,我們可以把S5位于ATHENS的信息插入到SECOND關(guān)系中,即使S5沒有提供任何零件。 如果我們在關(guān)系SP中刪除(S3,P2)為關(guān)鍵字的元組,也不會丟失供應(yīng)商S3位于PARIS的信息,當(dāng)供應(yīng)商S1從LONDON遷移到AMSTERDAM,只要對SECOND關(guān)系S1為關(guān)鍵

57、字的元組作修改就可以了,僅僅修改一次,不會出現(xiàn)上述的不一致了。 將圖1.13與圖1.14作比較,在關(guān)系模式下FIRST中屬性STATUS和CITY是非關(guān)鍵字屬性,它們只依賴于(S#,P#)的一部分,即只依賴于S#,也就是說關(guān)系模式FIRST中非關(guān)鍵字屬性并不完全函數(shù)依賴于關(guān)鍵字屬性;而改進(jìn)之后,關(guān)系模式SECOND中,非關(guān)鍵屬性完全依賴于關(guān)鍵字屬性; 定義7.如果關(guān)系模式R是1NF,而且非關(guān)鍵的屬性完全函數(shù)依賴于關(guān)鍵字的屬性,那么,關(guān)系模式R是第二范式。 按照定義7,關(guān)系模式SECOND和SP都是2NF,如果一個關(guān)系模式是1NF而不是2NF,總可以通過適當(dāng)投影化為一組等價的2NF關(guān)系模式集合,這種投影后的關(guān)系等價于原關(guān)系,即原關(guān)系能夠通過這種投影關(guān)系的適當(dāng)連接而恢復(fù)。在上面的例子中,關(guān)系SECOND和SP是關(guān)系FIRST的投影,而關(guān)系FIRST可通過SECOND和SP連接得到??梢钥吹?,若一個關(guān)系模式是1NF,而不是2NF,則該關(guān)系模式的關(guān)鍵字一定由多于一個屬性組成。 由于這種分解過程不丟失信息,故原關(guān)系中的任何信息能從這個新的關(guān)系中導(dǎo)出,但新的關(guān)系中包含了原關(guān)系中無法表示的某種信息。例如S5位于ATHENS的信息。從這個意義上來說,新的關(guān)系更好的反應(yīng)了現(xiàn)實(shí)世界。【3】3NF 關(guān)系模式SECOND在存

溫馨提示

  • 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

提交評論