點擊查看:2018全國計算機四級數(shù)據(jù)庫工程師過關(guān)試題及答案匯總
1 .試述SQL語言的特點。 (填空題) 參考答案:
(1)綜合統(tǒng)一。 SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體。(2)高度非過程化。用SQL語言進行數(shù)據(jù)操作,只要提出“做什么”,而無須指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動完成。(3)面向集合的操作方式。SQL語言采用集合操作方式,不僅操作對象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。(4)以同一種語法結(jié)構(gòu)提供兩種使用方式。SQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用于聯(lián)機交互的使用方式,也能夠嵌入到高級語言程序中,供程序員設(shè)計程序時使用。(5)語言簡捷,易學(xué)易用。
2 .SQL的中文全稱是________________。 (問答題)
參考答案:
結(jié)構(gòu)化查詢語言
3 .試述SQL的定義功能。 (填空題)
參考答案:
SQL的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引。 SQL語言使用CREATE TABLE語句建立基本表,ALTER TABLE語句修改基本表定義,DROP TABLE語句刪除基本表;使用CREATE INDEX語句建立索引, DROP INDEX語句刪除索引;使用CREATE VIEW命令建立視圖,DROP VIEW語句刪除視圖。
4 .SQL語言除了具有數(shù)據(jù)查詢和數(shù)據(jù)操縱功能之外,還具有________和________的功能,它是一個綜合性的功能強大的語言。 (問答題)
參考答案:
數(shù)據(jù)定義 數(shù)據(jù)控制
5 .在關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL中,實現(xiàn)數(shù)據(jù)檢索的語句命令是________。 (問答題)
參考答案:
SELECT
6 .用SQL語句建立第2章習(xí)題5中的四個表。 (填空題)
參考答案:
對于S表:S( SNO,SNAME,STATUS,CITY); 建S表 CREATE TABLE S (SNO CHAR(3), SNAME CHAR(10), STATUS CHAR(2), CITY CHAR(10)); P(PNO,PNAME,COLOR,WEIGHT); 建P表 CREATE TABLE P (PNO CHAR(3), PNAME CHAR(10), COLOR CHAR(4), WEIGHT INT); J(JNO,JNAME,CITY); 建J表 CREATE TABLE J (JNO CHAR(3), JNAME CHAR(10), CITY CHAR(10)); SPJ(SNO,PNO,JNO,QTY); 建SPJ表 CREATE TABLE SPJ (SNO CHAR(3), PNO CHAR(3), JNO CHAR(3), QTY INT);
7 .在SQL語言的結(jié)構(gòu)中,________有對應(yīng)的物理存儲,而________沒有對應(yīng)的物理存儲。 (問答題)
參考答案:
基本表 視圖
8 .針對上題中建立的四個表試用SQL語言完成第2章習(xí)題5中的查詢。 (填空題)
參考答案:
(1) 求供應(yīng)工程J1零件的供應(yīng)商號碼SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’;(2) 求供應(yīng)工程J1零件P1的供應(yīng)商號碼SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’;(3) 求供應(yīng)工程J1零件為紅色的供應(yīng)商號碼SNO; SELECT SNO /*這是嵌套查詢*/ FROM SPJ WHERE JNO=‘J1’ AND PNO IN /*找出紅色的零件的零件號碼PNO */ (SELECT PNO FROM P /*從P表中找*/ WHERE COLOR=‘紅’);或 SELECT SNO FROM SPJ,P /*這是兩表連接查詢*/ WHERE JNO=‘J1’ /*這是復(fù)合條件連接查詢*/ AND SPJ.PNO=P.PNO AND COLOR=‘紅’; (4) 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO; *解析:讀者可以對比第2章習(xí)題5中用ALPHA語言來完成該查詢的解答。如果大家理解了有關(guān)該題的解析說明,那么本題的解答可以看成是把關(guān)系演算用SQL來表示的過程。 GET W (J.JNO): ??SPJX( SPJX .JNO=J.JNO ? ?SX ( SX.SNO=SPJX .SNO ? SX .CITY='天津' ? ?PX(PX .PNO=SPJX .PNO ? PX .COLOR=' 紅' )) 這里的第一種解法是使用多重嵌套查詢,第二種方法的子查詢是一個多表連接。注意:從J表入手,以包含那些尚未使用任何零件的工程號。 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN /*天津供應(yīng)商的SNO*/ (SELECT SNO FROM S WHERE CITY=‘天津’) AND PNO IN /*紅色零件的PNO*/ (SELECT PNO FROM P WHERE COLOR=‘紅’)); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ, S, P WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO AND S.CITY=‘天津’ AND P. COLOR=‘紅’); //刪除: 本例中父查詢和子查詢均引用了Student表,可以像自身連接那樣用別名將父查詢中的Student表與子查詢中的Student表區(qū)分開:// (5) 求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO (類似于P113例44)。 *解析:本查詢的解析可以參考第二章第5題,用ALPHA語言的邏輯蘊函來表達。 上述查詢可以抽象為: 要求這樣的工程x,使 (?y) p ? q為真。即: 對于所有的零件y,滿足邏輯蘊函 p ? q: P表示謂詞:“供應(yīng)商S1供應(yīng)了零件y” q表示謂詞:“工程x選用了零件y” 即 只要“供應(yīng)商S1供應(yīng)了零件y”為真,則“工程x選用了零件y”為真。邏輯蘊函可以轉(zhuǎn)換為等價形式: (?y)p ? q≡ ? (?y (?(p ? q ))≡? (?y (?(? p∨ q)≡? ?y(p∧?q) 它所表達的語義為:不存在這樣的零件y,供應(yīng)商S1供應(yīng)了y,而工程x沒有選用y。用SQL語言表示如下: SELECT DISTINCT JNO FROM SPJ SPJZ WHERE NOT EXISTS /*這是一個相關(guān)子查詢 */ (SELECT * /*父查詢和子查詢均引用了SPJ表*/ FROM SPJ SPJX /*用別名將父查詢與子查詢中的SPJ表區(qū)分開*/ WHERE SNO='S1' AND NOT EXISTS (SELECT * FROM SPJ SPJY WHERE SPJY.PNO=SPJX.PNO AND SPJY.JNO=SPJZ.JNO AND SPJY.SNO=’S1’));
9 .針對習(xí)題3中的四個表試用SQL語言完成以下各項操作: (1) 找出所有供應(yīng)商的姓名和所在城市。 (2) 找出所有零件的名稱、顏色、重量。 (3) 找出使用供應(yīng)商S1所供應(yīng)零件的工程號碼。 (4) 找出工程項目J2使用的各種零件的名稱及其數(shù)量。 (5) 找出上海廠商供應(yīng)的所有零件號碼。 (6) 找出使用上海產(chǎn)的零件的工程名稱。 (7) 找出沒有使用天津產(chǎn)的零件的工程號碼。 (8) 把全部紅色零件的顏色改成藍色。 (9) 由S5供給J4的零件P6改為由S3供應(yīng),請作必要的修改。 (填空題) 參考答案:
(1) 找出所有供應(yīng)商的姓名和所在城市。 SELECT SNAME, CITY FROM S; (2) 找出所有零件的名稱、顏色、重量。 SELECT PNAME, COLOR, WEIGHT FROM P; (3) 找出使用供應(yīng)商S1所供應(yīng)零件的工程號碼。 SELECT JNO FROM SPJ WHERE SNO=‘S1’; (4) 找出工程項目J2使用的各種零件的名稱及其數(shù)量。 SELECT P.PNAME, SPJ.QTY FROM P, SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'; (5) 找出上海廠商供應(yīng)的所有零件號碼。 SELECT DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY='上海'); (6) 找出使用上海產(chǎn)的零件的工程名稱。 SELECT JNAME FROM J, SPJ, S WHERE J. JNO=SPJ. JNO AND SPJ. SNO=S.SNO AND S.CITY='上海'; 或 SELECT JNAME FROM J WHERE JNO IN (SELECT JNO FROM SPJ, S WHERE SPJ. SNO=S.SNO AND S.CITY='上海'); (7) 找出沒有使用天津產(chǎn)的零件的工程號碼。 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN (SELECT SNO FROM S WHERE CITY=‘天津’)); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ, S WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND S.CITY=‘天津’); (8) 把全部紅色零件的顏色改成藍色。 UPDATE P SET COLOR='藍' WHERE COLOR='紅' ; (9) 由S5供給J4的零件P6改為由S3供應(yīng),請作必要的修改。 UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'; (10) 從供應(yīng)商關(guān)系中刪除S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。 DELETE FROM SPJ WHERE SNO='S2'; DELETE FROM S WHERE SNO='S2'; *解析:注意刪除順序,應(yīng)該先從SPJ表中刪除供應(yīng)商S2所供應(yīng)零件的記錄,然后從從S表中刪除S2。(11) 請將 (S2,J6,P4,200) 插入供應(yīng)情況關(guān)系。 INSERT INTO SPJ(SNO, JNO, PNO, QTY) /*INTO子句中指明列名*/ VALUES (S2,J6,P4,200); /*插入的屬性值與指明列要對應(yīng)*/ 或 INSERT INTO SPJ /*INTO子句中沒有指明列名*/ VALUES (S2,P4,J6,200); /*插入的記錄在每個屬性列上有值*/ /*并且屬性列要和表定義中的次序?qū)?yīng)*/
10 .關(guān)系R(A,B,C)和S(A,D,E,F(xiàn)),R和S有相同屬性A,若將關(guān)系代數(shù)表達式:πR.A,R.B,S.D,S.F(R∞ S)用SQL語言的查詢語句表示,則為: SELECT R.A,R.B,S.D,S.F FROM R,S WHERE________________。 (問答題)
參考答案:
R.A=S.A
11 .什么是基本表?什么是視圖?兩者的區(qū)別和聯(lián)系是什么? (填空題)
參考答案:
基本表是本身獨立存在的表,在SQL中一個關(guān)系就對應(yīng)一個表。視圖是從一個或幾個基本表導(dǎo)出的表。視圖本身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復(fù)習(xí)知識點匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |