數(shù)據(jù)庫 練習題答案.doc
《數(shù)據(jù)庫 練習題答案.doc》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)庫 練習題答案.doc(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第四章 練習題 一、選擇題 1、設有兩個關系R(A,B)和S(B,C),與下列SELECT語句 SELECT A,B FROM R WHERE B NOT IN(SELECT B FROM S WHERE C=C56); 等價的關系代數(shù)表達式是 [ C] C≠C56 A.πA,B(σC≠C56(R?S)) B.πA,B(R ? S) C.R-πA,B(σC= C56(R?S)) D.R-πA,B(σC≠C56(R?S)) 2、嵌入式SQL的預處理方式,是指[ B] A.識別出SQL語句,加上前綴標識和結束標志 B.把嵌入的SQL語句處理成函數(shù)調用形式 C.對源程序進行格式化處理 D.把嵌入的SQL語句編譯成目標程序 3、SQL中,“DELETE FROM 表名”表示 [ A] A.從基本表中刪除所有元組 B.從基本表中刪除所有屬性 C.從數(shù)據(jù)庫中撤消這個基本表 D.從基本表中刪除重復元組 4、SQL中,聚合函數(shù)COUNT(列名)用于 [ C] A.計算元組個數(shù) B.計算屬性的個數(shù) C.對一列中的非空值計算個數(shù) D.對一列中的非空值和空值計算個數(shù) 5、在傳統(tǒng)SQL技術中,使用“ORDER BY”子句的SELECT語句查詢的結果,實際上為 [ B] A.數(shù)組 B.列表 C.包 D.集合 6、在數(shù)據(jù)庫中,能提高查詢速度的是(C ) A. 數(shù)據(jù)依賴 B. 視圖 C. 索引 D. 數(shù)據(jù)壓縮 7、語句 delete from sc 表明( A ?。? A. 刪除sc中的全部記錄 B. 刪除基本表sc C. 刪除基本表sc中的列數(shù)據(jù) D. 刪除基本表sc中的部分行 8、在DB應用中,一般一條SQL 語句可產(chǎn)生或處理一組記錄,而DB主語言語句一般一次只能處理一條記錄,其協(xié)調可通過( B )實現(xiàn)。 A. 指針 B. 游標 C. 數(shù)組 D. 棧 9、在下列基本表的定義中,數(shù)值5表示( C ) CREATE TABLE student (Sno char(5) not null unique,Sname char(2)); A. 表中有5條記錄 B. 表中有5列 C. 表中字符串Sno 的長度 D. 表格的大小 10、 在視圖上不能完成的操作是( C ) A. 更新視圖 B. 查詢 C. 在視圖上定義新的基本表 D. 在視圖上定義新視圖 11、下列聚合函數(shù)中不忽略空值 (null) 的是 (C) A、SUM (列名) B、MAX (列名) C、COUNT ( * ) D、AVG (列名) 12、SQL的查詢語句的where子句中,對空值的操作,不正確的是 ( C?。? A、where AGE IS NULL B、where AGE IS NOT NULL C、where AGE = NULL D、where NOT (AGE IS NULL) 13、Transact-SQL對標準SQL的擴展主要表現(xiàn)為( A )。 A. 加入了程序控制結構和變量 B. 加入了建庫和建表語句 C. 提供了分組(Group By)查詢功能 D. 提供了Min、Max待統(tǒng)計函數(shù) 14、以下哪種情況應盡量創(chuàng)建索引( A )。 A. 在Where子句中出現(xiàn)頻率較高的列 B. 具有很多NULL值的列 C. 記錄較少的基本表 D. 需要更新頻繁的基本表 15、下列SQL Server語句中出現(xiàn)語法錯誤的是( D )。 A. DECLARE @Myvar INT B. SELECT * FROM [AAA] C. CREATE DATABASE AAA D. DELETE * FROM AAA 16、屬于事務控制的語句是( A )。 A. Begin Tran、Commit、RollBack B. Begin、Continue、End C. Create Tran、Commit、RollBack D. Begin Tran、Continue、End 17、在SQL語言的SELECT語句中,實現(xiàn)投影操作的是哪個子句?(A ) A)select B)from C)where D)grou by 18、 用二維表結構表示實體以及實體間聯(lián)系的數(shù)據(jù)模型稱為(C ) A)網(wǎng)狀模型 B)層次模型 C)關系模型 D)面向對象模型 第(19)至(21)題是基于如下兩個關系,其中雇員信息表關系EMP的主鍵是雇員號,部門信息表關系DEPT的主鍵是部門號 EMP DEPT 雇員號 雇員名 部門號 工資 部門號 部門名 地址 001 010 056 101 張 山 王宏達 馬林生 趙 敏 02 01 02 04 2000 1200 1000 1500 01 02 03 04 業(yè)務部 銷售部 服務部 財務部 1號樓 2號樓 3號樓 4號樓 19、 若執(zhí)行下面列出的操作,哪個操作不能成功執(zhí)行?(D ) A) 從EMP中刪除行(‘010’,‘王宏達’,‘01’,1200) B) 在EMP中插入行(‘102’,‘趙敏’,‘01’,1500) C) 將EMP中雇員號=‘056’的工資改為1600元 D) 將EMP中雇員號=‘101’的部門號改為‘05’ 20、若執(zhí)行下面列出的操作,哪個操作不能成功執(zhí)行?(C ) A) 從DEPT 中刪除部門號=‘03’的行 B)在DEPT中插入行(‘06’,‘計劃部’,‘6號樓’) C) 將DEPT中部門號=‘02’的部門號改為‘10’ D) 將DEPT中部門號=‘01’的地址改為‘5號樓’ 21、在雇員信息表關系EMP中,哪個屬性是外鍵(foreign key)?(C ) A) 雇員號 B) 雇員名 C) 部門號 D) 工資 22、設關系R和關系S的元數(shù)分別是3和4,關系T是R與S的廣義笛卡爾積,即:T=RS,則關系T的元數(shù)是(A ) A) 7 B) 9 C) 12 D) 1 23、設屬性A是關系R的主屬性,則屬性A不能取空值(NULL)。這是(A ) A) 實體完整性規(guī)則 B) 參照完整性規(guī)則 C) 用戶定義完整性規(guī)則 D) 域完整性規(guī)則 24、 下面列出的關于“視圖(View)”的條目中,哪一條是不正確的?( B) A) 視圖是外模式 B)使用視圖可以加快查詢語句的執(zhí)行速度 C) 視圖是虛表 D) 使用視圖可以簡化查詢語句的編寫 25、 SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,語句INSERT、DELETE、UPDATE實現(xiàn)哪類功能?(B ) A) 數(shù)據(jù)查詢 B) 數(shù)據(jù)操縱 C) 數(shù)據(jù)定義 D) 數(shù)據(jù)控制 26、在數(shù)據(jù)庫管理系統(tǒng)中,下面哪個模塊不是數(shù)據(jù)庫存取的功能模塊?( A) A) 事務管理程序模塊 B) 數(shù)據(jù)更新程序模塊 C) 交互式程序查詢模塊 D) 查詢處理程序模塊 27、SQL查詢語句中,用于測試子查詢是否為空的謂詞是(A)。 A、EXISTS B、UNIQUE C、SOME D、ALL 28、下列SQL語句中,插入數(shù)據(jù)的是(D )。 A、CREATE B、ALTER C、UPDATE D、INSERT 29、 在下面所列出的條目中,哪些是數(shù)據(jù)庫管理系統(tǒng)的基本功能?(D ) Ⅰ.數(shù)據(jù)庫定義 Ⅱ.數(shù)據(jù)庫的建立和維護 Ⅲ.數(shù)據(jù)庫存取 Ⅳ.數(shù)據(jù)庫和網(wǎng)絡中其他軟件系統(tǒng)的通信 A) Ⅰ和Ⅱ B) Ⅰ、Ⅱ和Ⅲ C) Ⅱ和Ⅲ D) 都是 30、當修改基本數(shù)據(jù)時,下列關系視圖的說法正確的是(B ) A、需要重建 B、查以看到修改結果 C、無法看到修改結果式 D、不許修改帶視圖的基表 31、 在數(shù)據(jù)庫管理系統(tǒng)的層次結構中,由高級到低級的層次排列順序為(D ) A) 應用層、數(shù)據(jù)存取層、數(shù)據(jù)存儲層、語言翻譯處理層 B) 應用層、數(shù)據(jù)存儲層、數(shù)據(jù)存取層、語言翻譯處理層 C) 應用層、數(shù)據(jù)存儲層、語言翻譯處理層、數(shù)據(jù)存取層 D) 應用層、語言翻譯處理層、數(shù)據(jù)存取層、數(shù)據(jù)存儲層 32、在SQL語言的SELECT語句中,實現(xiàn)投影操作的是( A )子句。 A、select B、from C、where D、grou by 33、SQL中,“AGE IN(20,22)”的語義是( D )。 A)AGE<=22 AND AGE >=20 B)AGE <22 AND AGE >20 C)AGE =20 AND AGE =22 D)AGE =20 OR AGE =22 34 SQL中,聚合函數(shù)COUNT(列名)用于( C ) A.計算元組個數(shù) B.計算屬性的個數(shù) C.對一列中的非空值計算個數(shù) D.對一列中的非空值和空值計算個數(shù) 35、Transact-SQL對標準SQL的擴展主要表現(xiàn)為(A )。 A. 加入了程序控制結構和變量 B. 加入了建庫和建表語句 C. 提供了分組(Group By)查詢功能 D. 提供了Min、Max統(tǒng)計函數(shù) 36、已知關系:廠商(廠商號,廠名) PK=廠商號 產(chǎn)品(產(chǎn)品號,顏色,廠商號) PK=產(chǎn)品號,F(xiàn)K=廠商號 假設兩個關系中已經(jīng)存在如圖所示元組: 廠商 產(chǎn)品 廠商號 廠名 C01 宏達 C02 立仁 C03 廣源 產(chǎn)品號 顏色 廠商號 P01 紅 C01 P02 黃 C03 若再往產(chǎn)品關系中插入如下元組: I(P03,紅,C02) II(P01,藍,C01) III(P04,白,C04) IV(P05,黑,null) 能夠插入的元組是( D ) A I,II,IV B I,III C I,II D I,IV 37、設有一個關系:DEPT(DNO,DNAME),如果要找出倒數(shù)第三個字母為W,并且至少包含4個字母的DNAME,則查詢條件子句應寫成WHERE DNAME LIKE ( B ) A ‘_ _ W _ %’ B ‘_ % W _ _’ C ‘_ W _ _’ D ‘_ W _ %’ 38、下列SQL語句中,修改表結構的是(D )。 A、CREATE B、INSERT C、UPDATE D、ALTER 39、SQL語句通常稱為( A)。 A、結構化查詢語言 B、結構化控制語言 C、結構化定義語言 D、結構化操縱語言 40、SQL語言的一體化特點主要是與( B)相比較而言的。 A、操作系統(tǒng)命令 B、非關系模型的數(shù)據(jù)語言 C、高級語言 D、自然語言 41、SQL語言中,刪除一個表的命令是( B ) A、 DELETE table B、DROP table C、 CLEAR table D、 REMORE table 42、在基表S中查詢所有姓名中有“國”的學生,在WHERE子句中應使用( A)通配符。 A. LIKE ’%國%’ B. LIKE ‘%國_’ C. LIKE ’_國%’ D. LIKE ‘_國_’ 43、下列哪個不屬于數(shù)據(jù)庫對象(B ) A、默認 B、SELECT語句 C、存儲過程 D、視圖 44、下列那一個不屬于SQL SERVER工具(A ) A數(shù)據(jù)庫管理器 B、事件探查器 C、導入和導出數(shù)據(jù) D、查詢分析器 45、 下列那一個不屬于企業(yè)管理器的功能(D ) A、注冊服務器 B、配置本地和遠程服務器 C、引入和導出數(shù)據(jù) D、為WINDOWS創(chuàng)建操作系統(tǒng)用戶 46、關于SQL Server文件組的敘述正確的是:( A )。 A、一個數(shù)據(jù)庫文件不能存在于兩個或兩個以上的文件組里 B、日志文件可以屬于某個文件組 C、文件組可以包含不同數(shù)據(jù)庫的數(shù)據(jù)文件 D、一個文件組只能放在同一個存儲設備中 47、下面關于外碼的描述中,不正確的是(C )。 A. 外碼體現(xiàn)了關系間的聯(lián)系手段 B. 外碼是某個關系的碼 C. 外碼不是任何關系的碼 D. 外碼是一個關系的碼同時是另一個關系的屬性 48、在SQL Server 中關于索引敘述正確的是:( B )。 A、每個數(shù)據(jù)庫表可以建立多個聚集索引 B、每個表可以定義多個非聚集索引 C、索引的數(shù)據(jù)保存在同一個表中 D、索引不會改變表中的數(shù)據(jù) 49、關于索引描述錯誤的是以下的哪一個?( A) A、表中的任何數(shù)據(jù)列都可以添加索引 B、創(chuàng)建索引的列最好不要含有許多重復的值 C、一般不給很少使用的列添加索引 D、并不是數(shù)據(jù)庫中聚集索引越多搜索效率就越高 50、關于存儲過程的描述正確的一項是:( C )。 A、存儲過程的存在獨立于表,它存放在客戶端,供客戶使用 B、存儲過程只是一些T-SQL語句的集合,不能看作SQL Server的對象 C、存儲過程可以使用控制流語句和變量,大大增強了SQL的功能 D、存儲過程在調用時會自動編譯,因此使用方便 51、關于觸發(fā)器敘述正確的是( A )。 A、觸發(fā)器是自動執(zhí)行的,可以在一定條件下觸發(fā) B、觸發(fā)器不可以同步數(shù)據(jù)庫的相關表進行級聯(lián)更改 C、SQL Server 不支持DDL觸發(fā)器 D、觸發(fā)器不屬于存儲過程 52、在基表S中刪除電話號碼(PHONE)屬性使用( B) 命令。 A. ALTER S DROP PHONE B. ALTER TABLE S DROP PHONE C. UPDATE TABLE S PHONE D. DROP TABLE S PHONE 54、描述事物性質的最小數(shù)據(jù)單位是( C )。 A. 記錄 B. 文件 C. 數(shù)據(jù)項 D. 數(shù)據(jù)庫 55.在SQL數(shù)據(jù)庫中,視圖(view)是從一個或幾個基表(或視圖)導出的表,它本身不獨立存儲在數(shù)據(jù)庫中,即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍然存放在對應的基表中。因此視圖( B )。 A. 也是一個表 B. 是一個虛表 C. 是一個數(shù)據(jù)庫 D. 是一個文件 56. 當前DBMS所支持的數(shù)據(jù)模型的主流是(C)。 A. 網(wǎng)狀模型 B. 層次模型 C. 關系模型 D. 面向對象模型 57. 能唯一地標識實體屬性的( C)稱為主碼。 A. 組和 B. 排列 C. 集合 D. 元組 58 下述關于數(shù)據(jù)庫系統(tǒng)的正確敘述是( B)。 A. 數(shù)據(jù)庫中只存在數(shù)據(jù)項之間的聯(lián)系 B. 數(shù)據(jù)庫的數(shù)據(jù)項之間和記錄之間都存在聯(lián)系 C. 數(shù)據(jù)庫的數(shù)據(jù)項之間無聯(lián)系,記錄之間存在聯(lián)系 D. 數(shù)據(jù)庫的數(shù)據(jù)項之間和記錄之間都不存在聯(lián)系 59. 授權定義經(jīng)過編譯和存儲在( D)中。 A. DBMD B. 視圖 C. 基表 D. 數(shù)據(jù)庫 60.假定學生關系是S(S#,SNAME,SEX,AGE),課程關系是C(C#,CNAME,TEACHER), 學生選課關系是SC(S#,C#,GRADE),要查找選修“COMPUTER”課程的女學生的姓名,將涉及到關系(D)。 A. S B. SC,C C. S.SC D. S,C,SC 61.數(shù)據(jù)庫技術的奠基人之一,E.F.Codd于1970年發(fā)表過多篇論文,主要論述的是(C) 。 A. 層次數(shù)據(jù)模型 B. 網(wǎng)絡數(shù)據(jù)模型 C. 關系數(shù)據(jù)模型 D. 面向對象數(shù)據(jù)模型 62.數(shù)據(jù)庫管理系統(tǒng)通常提供授權功能來控制不同用戶訪問數(shù)據(jù)的權限,這主要是為了實現(xiàn)數(shù)據(jù)庫的( D)。 A. 可靠性 B. 一致性 C. 完整性 D. 安全性 63、 SQL語言的GRANT和REVOKE語句主要用來維護數(shù)據(jù)庫的(A )。 A. 安全性 B. 完整性 C. 可靠性 D. 一致性 64、 在關系數(shù)據(jù)庫中,實現(xiàn)“表中任意二行不能相同”的約束是靠(C ) 。 A. 外碼 B. 屬性 C. 主碼 D. 列 65、 對表進行垂直方向的分割用的運算是(B )。 A. 交 B. 投影 C. 選擇 D. 連接 66、 關系數(shù)據(jù)庫中,實現(xiàn)表與表之間的聯(lián)系是通過_(B)。 A. 實體完整性規(guī)則 B. 參照完整性規(guī)則 C. 用戶自定義完整性 D. 值域 67、 關系數(shù)據(jù)庫中,實現(xiàn)主碼標識元組的作用是通過(A) 。 A. 實體完整性規(guī)則 B. 參照完整性規(guī)則 C. 用戶自定義完整性 D. 屬性的值域 68、如果有n個事務串行調度,那么不同的有效調度有 [ D] A.n2 B.2n C.4n D.n! 69、部分匹配查詢中有關通配符“_”的正確的敘述是 ( D) A.“_”代表多個字符 B.“_”可以代表零個或多個字符 C.“_”不能與“%”一同使用 D.“_”代表一個字符 70、下列SQL語句中,能夠實現(xiàn)“收回用戶ZHAO對學生表(STUD)中學號(XH)的修改權”這一功能的是 C A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC C.REVOKE UPDATE(XH) ON STUD FROM ZHAO D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC 71、把對關系SC的屬性GRADE的修改權授予用戶ZHAO的SQL語句是 (C) A)GRANT GRADE ON SC TO ZHAO B)GRANT UPDATE ON SC TO ZHAO C)GRANT UPDATE (GRADE) ON SC TO ZHAO D)GRANT UPDATE ON SC (GRADE) TO ZHAO 二、填空題 1、在SQL查詢語句中,用于測試子查詢是否為空的謂詞是_ EXISTS __。 2、在查詢操作結果中不出現(xiàn)重復元組,應在Select子句中使用_ DISTINCT_保留字。 3、.SQL的SELECT語句在未使用分組子句但在SELECT子句中使用了聚合函數(shù)。此時SELECT子句的語句就不是投影的意思了,而是對查詢結果執(zhí)行聚合操作。 4、數(shù)據(jù)庫系統(tǒng)的權限控制方法分為 自主存取控制和 強制存取控制方法兩種 5、在SQL Server 中,數(shù)據(jù)庫的文件分為主數(shù)據(jù)文件_、輔助數(shù)據(jù)文件_和_事務日志文件三大類; 6、SQL的數(shù)據(jù)操縱功能主要包括INSERT、__UPDATE__和__DELETE_三個語句。 7、在字符匹配查詢中,通配符“%”代表_任意多個字符___,“_”代表__任意單個字符。 8、觸發(fā)器是一種特殊的存儲過程,它可以在對一個表上進行__插入__、_刪除_和___修改__操作中的任一種或幾種操作時被自動調用執(zhí)行。 9、視圖是一個虛表,它是從一個或幾個基本表中導出的表。在數(shù)據(jù)庫中,只存放視圖的結構定義,不存放視圖的對應的數(shù)據(jù)。 三、判斷題 1、視圖是一張?zhí)摫?,所有的視圖中不存儲數(shù)據(jù)(√) 2、用戶不允許使用視圖修改表數(shù)據(jù)( ) 3、數(shù)據(jù)庫中的視圖只能使用所屬數(shù)據(jù)庫的表,不能訪問其它數(shù)據(jù)庫的表( ) 4、視圖既可以通過表得到,也可以通過其它視圖得到(√) 5、規(guī)則在創(chuàng)建后,并不能直接使用,必須綁定到表中某一列或者用戶定義的數(shù)據(jù)類型上。( √) 6、 創(chuàng)建規(guī)則對象后,必須把它綁定到一個列或用戶定義的數(shù)據(jù)類型上才能起作用。(√) 7、 觸發(fā)器就其本質而言是一種特殊的存儲過程。存儲過程和觸發(fā)器在數(shù)據(jù)庫的開發(fā)中,在維護數(shù)據(jù)庫實體完整性等方面具有不可替代的作用。() 8、 現(xiàn)實世界的對象在數(shù)據(jù)庫中用實體描述 (╳ ) 9、 游標是系統(tǒng)為用戶的查詢結果開辟的數(shù)據(jù)緩沖區(qū),存放SELECT語句的查詢結果。(√) 10、 在數(shù)據(jù)庫系統(tǒng)中,核心的部分是應用程序。(√ ) 11、候選碼可以選作主碼,但一個主碼不總是候選碼. (√ ) 12、存儲過程是存放在服務器上的預先定義與編譯好的SQL語句的命名集合(√) 13.視圖、表是一樣的,都可以進行更新操作的。 ( ╳ ) 14、觸發(fā)器操作與約束有沖突時,觸發(fā)器仍會執(zhí)行。( ╳ ) 15、刪除觸發(fā)表時,觸發(fā)器被隨之刪除。(√) 16、Order by子句僅對檢索數(shù)據(jù)的顯示有影響,并不改變表中行的內部順序。(√) 17、從一個表中刪除元組時,delete和drop table命令可以起到同樣的效果。() 18、與主鍵不同,惟一性可以是null值。(√) 19、使用having子句是為了限制group by子句返回的行的個數(shù)。(√) 20、在數(shù)據(jù)表定義時設置Primary key是數(shù)據(jù)庫的實體完整性控制。 ( √ ) 21、在數(shù)據(jù)表定義時設置主鍵(Primary key)則不允許插入全為空的記錄。(√ ) 22、數(shù)據(jù)庫一旦建立,就沒有辦法重命名了,所以命名數(shù)據(jù)庫要慎重。( ) 四、綜合題 1、設某商業(yè)集團關于商店銷售商品的數(shù)據(jù)庫中有三個基本表: 商店 SHOP(S#,SNAME,AREA,MGR_NAME) 其屬性是商店編號,商店名稱,區(qū)域名,經(jīng)理姓名。 銷售 SALE(S#,G#, QUANTITY) 其屬性是商店編號,商品編號,銷售數(shù)量。 商品 GOODS(G#,GNAME,PRICE) 其屬性是商品編號,商品名稱,單價。 (1)試寫出檢索銷售“冰箱”的商店的編號和商店名稱的SELECT語句表達形式。 (2)試寫出下列操作的SQL語句: 從SALE表中,把“開開商店”中銷售單價高于1000元的商品的銷售元組全部刪除。 (3)試寫出下列操作的SQL語句: 統(tǒng)計區(qū)域名為“EAST”的所有商店銷售的每一種商品的總數(shù)量和總價值。 要求顯示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其屬性為商品編號、商品名稱、銷售數(shù)量、銷售價值。 1、答:解:(1)SELECT語句如下: SELECT A.S#,SNAME FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME=冰箱; (2)解:DELETE FROM SALE WHERE S# IN(SELECT S# FROM SHOP WHERE SNAME=開開商店) AND G# IN(SELECT G# FROM GOODS WHERE PRICE>1000); (3)解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY, PRICE*SUM(QUANTITY)AS SUM_VALUE FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA=EAST GROUP BY C.G#,GNAME; (注:SELECT子句中的屬性C.G#,GNAME應在分組子句中出現(xiàn)) 2、設數(shù)據(jù)庫中有兩個基本表: 職工表 EMP(E#,ENAME,AGE,SALARY,D#), 其屬性分別表示職工工號、姓名、年齡、工資和工作部門的編號。 部門表 DEPT(D#,DNAME,MGR#), 其屬性分別表示部門編號、部門名稱和部門經(jīng)理的職工工號。 (1)試指出每個表的主鍵和外鍵。并寫出每個表創(chuàng)建語句中的外鍵子句。 (2)寫出下列查詢的關系代數(shù)表達式和SQL語句: 檢索每個部門經(jīng)理的工資,要求顯示其部門編號、部門名稱、經(jīng)理工號、經(jīng)理姓名和經(jīng)理工資。 (3) 建一個年齡大于50歲的職工視圖,屬性為(D#,DNAME,E#,ENAME,AGE,SALARY)。 答:(1)EMP表的主鍵為E#,外鍵為D#。 DEPT表的主鍵為D#,外鍵為MGR# 在EMP表的創(chuàng)建語句中,可寫一個外鍵子句: FOREIGN KEY D# REFERENCES DEPT(D#); 在DEPT表的創(chuàng)建語句中,可寫一個外鍵子句: FOREIGN KEY MGR# REFERENCES EMP(E#); MGR#=E# (2)關系表達式為:πDEPT.D#,DNAME,MGR#,ENAME,SALARY(DEPT ? EMP) SELECT語句為: SELECT DEPT.D#,DNAME,MGR#,ENAME,SALARY FROM DEPT,EMP WHERE MGR#=E#; (3)CREATE VIEW VIEW5 AS SELECT DEPT.D#,DNAME,E#,ENAME,AGE,SALARY FROM DEPT,EMP WHERE DEPT.D#=EMP.D# AND AGE>50; 3、 有圖書借閱管理的數(shù)據(jù)庫系統(tǒng),其數(shù)據(jù)庫關系模式(屬性只用英文字母)為: 學生(學號,姓名,系別,專業(yè)) 主碼為:學號 圖書B(圖書編號,圖書名,出版日期,出版社) 主碼為:圖書編號 借閱 R(學號,圖書編號,借閱日期) 主碼為:(學號,圖書編號) 外碼有:學號 、圖書編號 請寫出完成下列操作的SQL語句 (1)創(chuàng)建借閱R表,要求指定其主碼和外碼 Create table 借閱(學號 char(10) foreign key references 學生, 圖書編號 char(10) foreign key references 圖書, 借閱日期 datetime ,primary key(學號, 圖書編號) (2)向借閱表增加記錄(’20030101‘,‘tp201.01’, ‘2006/06/12‘)。 Insert into 借閱 values (’20030101’, ‘tp201.01’, ‘2006/06/12‘) (3)將圖書表的查詢權授給user用戶,并允許其轉授給其他人 Grant select on 圖書 to uset with grant option (4)、查詢借閱了“數(shù)據(jù)庫原理”一書的學生信息。 Select * from 學生 where學號 in (select學號 from 借閱 Where 圖書編號 in select 圖書編號 from 圖書 where 圖書名=’數(shù)據(jù)庫原理’ (5)、 查詢借閱了關于數(shù)據(jù)庫方面書籍的學生的學號、圖書名稱和出版社。 Select 學號,圖書名,出版社 from 借閱 A, 圖書 B where A. 學號=B. 學號 and 圖書名 like ‘%數(shù)據(jù)庫%’ (6)查詢2006年5月1日到2006年6月1日期間,圖書的借閱情況 Select * from 借閱 where 借閱日期 between ‘2006/05/01’ and ‘2006/06/01’ 4、設教學數(shù)據(jù)庫中有四個關系: 教師(教師編號,教師姓名,聯(lián)系電話) 課程(課程號,課程名,教師編號) 學生(學號,學生姓名,年齡,性別,專業(yè)) 選課(學號,課程號,成績) (1)創(chuàng)建學生表和選課表,要求:指定每個表的主關鍵字、外部關鍵字和check約束。 (2)將所有學生的“高等數(shù)學”課程的成績增加10分。 Update選課 set成績=成績+10 where課程號in ( select課程號 from 課程 where課程名=’高等數(shù)學’ (3)將課程表的查詢和修改權限授給teacher用戶,同時允許轉授給其它用戶。 Grant select,update on 課程 to teacher with grant option (4)查詢男生所學課程的課程號和課程名。 Selec 課程號,課程名 FROM 學生,選課,課程 Where學生.學號=選課.學號 and 選課.課程號=課程.課程號 and 性別=’男’ 或Selec 課程號,課程名 FROM 課程 where課程號 in ( Select 課程號 from 選課 where 學號 in ( Select學號 from 學生 where 性別=’男’)) (5)查詢所有姓王的教師所授課程的課程號和成績(按課程號排序)。 Select 選課.課程號, 成績 from 教師,課程,選課 where 教師姓名like ‘王%’ And 教師.教師編號=課程.教師編號 and 課程.課程號=選課.課程號 order by 課程號 (6)統(tǒng)計每門課程的學生選修人數(shù)(超過10人的課程才統(tǒng)計)。要求顯示課程號和人 數(shù),查詢結果按人數(shù)降序排列。 Select 課程號 ,count(學號) 人數(shù) from 選課 group by課程號 having count(*)>10 order by 人數(shù) desc (7) 檢索所有姓“李”的學生的姓名和年齡 Select 學生姓名,年齡 from 學生 where 學生姓名 like ‘李%’ (8)求男生的最高成績 Select max(成績) from 選課 where 學號 in (select 學號 from 學生 Where 性別=’男’) 5、已知有關系:倉庫(倉庫號,城市,面積) 職工(倉庫號,職工號,工資) 訂購單(職工號,供應商號,訂購單號,訂購日期) 供應商(供應商號,供應商名,地址) (1)創(chuàng)建訂購單表,要求:數(shù)據(jù)類型及長度自定義,并指定其主碼和外碼 Create table 訂購單表(職工號 char(10) foreign key references職工,供應商號 char(10) foreign key references供應商, 訂購單號 char(10) primary key, 訂購日期 datetime) (2)修改職工表,增加一個職工名(可變長字符型,最長為20)字段 Alter 職工表 add 職工名 varchar(20) (3)向訂購單表中增加一條記錄,記錄值為: (’ZG0001’,‘GY0001’, ‘DD0001’,‘2006/06/12’) Insert into 訂購單表 values (’ZG0001‘,‘GY0001’, ‘DD0001’,‘2006/06/12’) (4)給低于所有職工平均工資的職工提高10%的工資。 UPDATE 職工 SET 工資=工資*1.1 WHERE 工資< (SELECT AVG(工資) FROM 職工) (5)刪除所有目前沒有任何訂購單的供應商。 DELETE FROM 供應商 WHERE 供應商號 NOT IN (SELECT 供應商號 FROM 訂購單) (6)將職工表的查詢權授給USER用戶,并允許其轉授給其他人 Grant select on職工表 to USER with grant option (7)檢索出向供應商S3發(fā)過訂購單的職工的職工號和倉庫號。 SELECT 職工號,倉庫號 FROM 職工 WHERE 職工號 IN ( SELECT 職工號 FROM 訂購單 WHERE 供應商號=’S3’ ) (8)檢索出目前沒有任何訂購單的供應商信息。 SELECT * FROM 供應商 WHERE NOT EXISTS ( SELECT * FROM 訂購單 WHERE 供應商號=供應商.供應商號 ) (9)檢索出和職工E1、E3都有聯(lián)系的北京的供應商信息。 SELECT * FROM 供應商 WHERE 供應商號 IN ( SELECT 供應商號 FROM 訂購單 WHERE 職工號=’E1’ ) AND 供應商號 IN ( SELECT 供應商號 FROM 訂購單 WHERE 職工號=’E3’ ) (10)檢索出目前和華通電子公司有業(yè)務聯(lián)系的每個職工的工資。 SELECT 職工號,工資 FROM 職工 WHERE 職工號 IN (SELECT 職工號 FROM 訂購單 WHERE 供應商號 IN (SELECT 供應商號 FROM 供應商 WHERE 供應商名=’華通電子公司’)) (11) 檢索出與工資在1220元以下的職工沒有聯(lián)系的供應商的名稱。 SELECT 供應商名 FROM 供應商 WHERE 供應商號 IN (SELECT 供應商號 FROM 訂購單 WHERE 職工號 NOT IN (SELECT 職工號 FROM 職工 WHERE 工資 < 1220)) (12) 檢索出向S4供應商發(fā)出訂購單的倉庫所在的城市。 SELECT 城市 FROM 倉庫 WHERE 倉庫號 IN (SELECT 倉庫號 FROM 職工 WHERE 職工號 IN (SELECT 職工號 FROM 訂購單 WHERE 供應商號=’S4’)) (13)檢索出在上海工作并且向S6供應商發(fā)出了訂購單的職工號。 SELECT 職工號 FROM 職工 WHERE 倉庫號 IN (SELECT 倉庫號 FROM 倉庫 WHERE 城市=’上?!? AND 職工號 IN (SELECT 職工號 FROM 訂購單 WHERE 供應商號=’S6’)) (14)檢索出在廣州工作并且只向S6供應商發(fā)出了訂購單的職工號。 SELECT 職工號 FROM 職工 WHERE 倉庫號 IN (SELECT 倉庫號 FROM 倉庫 WHERE 城市=’廣州’) AND 職工號 IN (SELECT 職工號 FROM 訂購單 WHERE 供應商號=’S6’) AND 職工號 NOT IN (SELECT 職工號 FROM 訂購單 WHERE 供應商號!=’S6’) (15)檢索出由工資多于1230元的職工向北京的供應商發(fā)出的訂購單號。 SELECT 訂購單號 FROM 訂購單 WHERE 職工號 IN (SELECT 職工號 FROM 職工 WHERE 工資>1230) AND 供應商號 IN (SELECT 供應商號 FROM 供應商 WHERE 地址=’北京’) (16)檢索出有最大面積的倉庫信息。 SELECT * FROM 倉庫 WHERE 面積=(SELECT MAX(面積) FROM 倉庫) (17)檢索出向S4供應商發(fā)出訂購單的那些倉庫的平均面積。 SELECT AVG(面積) FROM 倉庫 WHERE 倉庫號 IN (SELECT 倉庫號 FROM 職工 WHERE 職工號 IN (SELECT 職工號 FROM 訂購單 WHERE 供應商號=’S4’)) (18)檢索出每個城市的供應商個數(shù)。 SELECT 地址,COUNT(*) FROM 供應商 GROUP BY 地址 (19)檢索出和面積最小的倉庫有聯(lián)系的供應商的個數(shù)。 SELECT COUNT(*) FROM 供應商 WHERE 供應商號 IN (SELECT 供應商號 FROM 訂購單 WHERE 職工號 IN (SELECT 職工號 FROM 職工 WHERE 倉庫號 IN (SELECT 倉庫號 FROM 倉庫 WHERE 面積= (SELECT MIN(面積) FROM 倉庫)))) (20)插入一個新的供應商元組(S9,智通公司,沈陽)。 INSERT INTO 供應商 VALUES(‘S9’,’智通公司’,’沈陽’) (21)刪除由在上海倉庫工作的職工發(fā)出的所有訂購單。 DELETE FROM 訂購單 WHERE 職工號 IN (SELECT 職工號 FROM 職工 WHERE 倉庫號 IN (SELECT 倉庫號 FROM 倉庫 WHERE 城市=’上海’)- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數(shù)據(jù)庫 練習題答案 練習題 答案
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://m.kudomayuko.com/p-12782130.html