『壹』 資料庫試題
1/A
2/B
3/A
4/A
5/B
6/C
7/數據結構,數據操作,完整性約束條件
8/表
9/DBA
10/數據獨立性差
11/sql
12/內模式
13/存儲
14/外模式,模式和內模式
15/應用程序,操作系統,資料庫管理系統
16/資料庫管理系統
17/增刪改查
18/實體,屬性和聯系
19/A
20/屬性
歡迎批評指正。
『貳』 資料庫經典筆試題和面試題答案
如下這些有關資料庫知識考查的經典筆試題,非常全面,對計算機專業畢業生參加筆試會很有幫助,建議大家收藏。
一、選擇題
1. 下面敘述正確的是___c___。
A、演算法的執行效率與數據的存儲結構無關
B、演算法的空間復雜度是指演算法程序中指令(或語句)的條數
C、演算法的有窮性是指演算法必須能在執行有限個步驟之後終止
D、以上三種描述都不對
2. 以下數據結構中不屬於線性數據結構的是___c___。
A、隊列B、線性表C、二叉樹D、棧
3. 在一棵二叉樹上第5層的結點數最多是__b____。2的(5-1)次方
A、8 B、16 C、32 D、15
4. 下面描述中,符合結構化程序設計風格的是___a___。
A、使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯
B、模塊只有一個入口,可以有多個出口
C、注重提高程序的執行效率 D、不使用goto語句
5. 下面概念中,不屬於面向對象方法的是___d___。
A、對象 B、繼承 C、類 D、過程調用
6. 在結構化方法中,用數據流程圖(DFD)作為描述工具的軟體開發階段是___b___。
A、可行性分析 B、需求分析 C、詳細設計 D、程序編碼
7. 在軟體開發中,下面任務不屬於設計階段的是__d____。
A、數據結構設計 B、給出系統模塊結構 C、定義模塊演算法 D、定義需求並建立系統模型
8. 資料庫系統的核心是___b___。
A、數據模型 B、資料庫管理系統 C、軟體工具 D、資料庫
9. 下列敘述中正確的是__c____。
A、資料庫是一個獨立的系統,不需要操作系統的支持
B、資料庫設計是指設計資料庫管理系統
C、資料庫技術的根本目標是要解決數據共享的問題
D、資料庫系統中,數據的物理結構必須與邏輯結構一致
10. 下列模式中,能夠給出資料庫物理存儲結構與物理存取方法的是___a___。
A、內模式 B、外模式 C、概念模式 D、邏輯模式
11. Visual FoxPro資料庫文件是___d___。
A、存放用戶數據的文件 B、管理資料庫對象的系統文件
C、存放用戶數據和系統的文件 D、前三種說法都對
12. SQL語句中修改表結構的命令是___c___。
A、MODIFY TABLE B、MODIFY STRUCTURE
C、ALTER TABLE D、ALTER STRUCTURE
13. 如果要創建一個數據組分組報表,第一個分組表達式是"部門",第二個分組表達式是"性別",第三個分組表達式是"基本工資",當前索引的索引表達式應當是__b____。
A、部門+性別+基本工資 B、部門+性別+STR(基本工資)
C、STR(基本工資)+性別+部門 D、性別+部門+STR(基本工資)
14. 把一個項目編譯成一個應用程序時,下面的敘述正確的是___a___。
A、所有的項目文件將組合為一個單一的應用程序文件
B、所有項目的包含文件將組合為一個單一的應用程序文件
C、所有項目排除的文件將組合為一個單一的應用程序文件
D、由用戶選定的項目文件將組合為一個單一的應用程序文件
15. 資料庫DB、資料庫系統DBS、資料庫管理系統DBMS三者之間的關系是_a___。
A、DBS包括DB和DBMS B、DBMS包括DB和DBS
C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS
16. 在"選項"對話框的"文件位置"選項卡中可以設置___b___。
A、表單的默認大小 B、默認目錄
C、日期和時間的顯示格式 D、程序代碼的顏色
17. 要控制兩個表中數據的完整性和一致性可以設置"參照完整性",要求這兩個表_a_。
A、是同一個資料庫中的兩個表 B、不同資料庫中的兩個表
C、兩個自由表 D、一個是資料庫表另一個是自由表
18. 定位第一條記錄上的命令是___a___。
A、GO TOP B、GO BOTTOM C、GO 6 D、SKIP
19. 在關系模型中,實現"關系中不允許出現相同的元組"的約束是通過__b____。
A、候選鍵 B、主鍵 C、外鍵 D、超鍵
20. 設當前資料庫有10條記錄(記錄未進行任何索引),在下列三種情況下,當前記錄號為1時;EOF()為真時;BOF()為真時,命令?RECN()的結果分別是___a___。
A、1,11,1 B、1,10,1 C、1,11,0 D、1,10,0
21. 下列表達式中結果不是日期型的是___c___。
A、CTOD("2000/10/01") B、{^99/10/01}+365
C、VAL("2000/10/01") D、DATE()
22. 只有滿足聯接條件的記錄才包含在查詢結果中,這種聯接為___c___。
A、左聯接 B、右聯接 C、內部聯接 D、完全聯接
23. 索引欄位值不唯一,應該選擇的索引類型為___b___。
A、主索引 B、普通索引 C、候選索引 D、唯一索引
24. 執行SELECT 0選擇工作區的結果是___b___。
A、選擇了0號工作區 B、選擇了空閑的最小號工作區
C、關閉選擇的工作區 D、選擇已打開的工作區
25. 從資料庫中刪除表的命令是___a___。
A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE
26. DELETE FROM S WHERE 年齡>60語句的功能是__b____。
A、從S表中徹底刪除年齡大於60歲的記錄
B、S表中年齡大於60歲的記錄被加上刪除標記
C、刪除S表 D、刪除S表的年齡列 1 2
『叄』 誰有sql 筆試題,要多的不要選擇填空。
javaeye裡面轉的,十幾個問題覆蓋多個方面,含答案
目前在職場中很難找到非常合格的資料庫開發人員。我的一個同事曾經說過:「SQL開發是一門語言,它很容易學,但是很難掌握。」
在面試應聘的SQL Server資料庫開發人員時,我運用了一套標準的基準技術問題。下面這些問題是我覺得能夠真正有助於淘汰不合格應聘者的問題。它們按照從易到難的順序排列。當您問到關於主鍵和外鍵的問題時,後面的問題都十分有難度,因為答案可能會更難解釋和說明,尤其是在面試的情形下。
您能向我簡要敘述一下SQL Server 2000中使用的一些資料庫對象嗎?
您希望聽到的答案包括這樣一些對象:表格、視圖、用戶定義的函數,以及存儲過程;如果他們還能夠提到像觸發器這樣的對象就更好了。如果應聘者不能回答這個基本的問題,那麼這不是一個好兆頭。
什麼是索引?SQL Server 2000里有什麼類型的索引?
任何有經驗的資料庫開發人員都應該能夠很輕易地回答這個問題。一些經驗不太多的開發人員能夠回答這個問題,但是有些地方會說不清楚。
簡單地說,索引是一個數據結構,用來快速訪問資料庫表格或者視圖里的數據。在SQL Server里,它們有兩種形式:聚集索引和非聚集索引。聚集索引在索引的葉級保存數據。這意味著不論聚集索引里有表格的哪個(或哪些)欄位,這些欄位都會按順序被保存在表格。由於存在這種排序,所以每個表格只會有一個聚集索引。非聚集索引在索引的葉級有一個行標識符。這個行標識符是一個指向磁碟上數據的指針。它允許每個表格有多個非聚集索引。
NULL是什麼意思?
NULL(空)這個值是資料庫世界裡一個非常難纏的東西,所以有不少應聘者會在這個問題上跌跟頭您也不要覺得意外。
NULL這個值表示UNKNOWN(未知):它不表示「」(空字元串)。假設您的SQL Server資料庫里有ANSI_NULLS,當然在默認情況下會有,對NULL這個值的任何比較都會生產一個NULL值。您不能把任何值與一個 UNKNOWN值進行比較,並在邏輯上希望獲得一個答案。您必須使用IS NULL操作符。
什麼是主鍵?什麼是外鍵?
主鍵是表格里的(一個或多個)欄位,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關系的約束。這種關系一般都涉及一個表格里的主鍵欄位與另外一個表格(盡管可能是同一個表格)里的一系列相連的欄位。那麼這些相連的欄位就是外鍵。
什麼是觸發器?SQL Server 2000有什麼不同類型的觸發器?
讓未來的資料庫開發人員知道可用的觸發器類型以及如何實現它們是非常有益的。
觸發器是一種專用類型的存儲過程,它被捆綁到SQL Server 2000的表格或者視圖上。在SQL Server 2000里,有INSTEAD-OF和AFTER兩種觸發器。INSTEAD-OF觸發器是替代數據操控語言(Data Manipulation Language,DML)語句對表格執行語句的存儲過程。例如,如果我有一個用於TableA的INSTEAD-OF-UPDATE觸發器,同時對這個表格執行一個更新語句,那麼INSTEAD-OF-UPDATE觸發器里的代碼會執行,而不是我執行的更新語句則不會執行操作。
AFTER觸發器要在DML語句在資料庫里使用之後才執行。這些類型的觸發器對於監視發生在資料庫表格里的數據變化十分好用。
您如何確一個帶有名為Fld1欄位的TableB表格里只具有Fld1欄位里的那些值,而這些值同時在名為TableA的表格的Fld1欄位里?
這個與關系相關的問題有兩個可能的答案。第一個答案(而且是您希望聽到的答案)是使用外鍵限制。外鍵限制用來維護引用的完整性。它被用來確保表格里的欄位只保存有已經在不同的(或者相同的)表格里的另一個欄位里定義了的值。這個欄位就是候選鍵(通常是另外一個表格的主鍵)。
另外一種答案是觸發器。觸發器可以被用來保證以另外一種方式實現與限制相同的作用,但是它非常難設置與維護,而且性能一般都很糟糕。由於這個原因,微軟建議開發人員使用外鍵限制而不是觸發器來維護引用的完整性。
對一個投入使用的在線事務處理表格有過多索引需要有什麼樣的性能考慮?
您正在尋找進行與數據操控有關的應聘人員。對一個表格的索引越多,資料庫引擎用來更新、插入或者刪除數據所需要的時間就越多,因為在數據操控發生的時候索引也必須要維護。
您可以用什麼來確保表格里的欄位只接受特定范圍里的值?
這個問題可以用多種方式來回答,但是只有一個答案是「好」答案。您希望聽到的回答是Check限制,它在資料庫表格里被定義,用來限制輸入該列的值。
觸發器也可以被用來限制資料庫表格里的欄位能夠接受的值,但是這種辦法要求觸發器在表格里被定義,這可能會在某些情況下影響到性能。因此,微軟建議使用Check限制而不是其他的方式來限制域的完整性。
返回參數和OUTPUT參數之間的區別是什麼?
如果應聘者能夠正確地回答這個問題,那麼他的機會就非常大了,因為這表明他們具有使用存儲過程的經驗。
返回參數總是由存儲過程返回,它用來表示存儲過程是成功還是失敗。返回參數總是INT數據類型。
OUTPUT參數明確要求由開發人員來指定,它可以返回其他類型的數據,例如字元型和數值型的值。(可以用作輸出參數的數據類型是有一些限制的。)您可以在一個存儲過程里使用多個OUTPUT參數,而您只能夠使用一個返回參數。
什麼是相關子查詢?如何使用這些查詢?
經驗更加豐富的開發人員將能夠准確地描述這種類型的查詢。
相關子查詢是一種包含子查詢的特殊類型的查詢。查詢里包含的子查詢會真正請求外部查詢的值,從而形成一個類似於循環的狀況。
關於面試過程的思考
這些問題只不過是確定一個SQL Server資料庫開發人員是否合格的起點。根據應聘者對上面這些問題的回答情況,我可能會要求他們參加我的TSQL編程考試,這一般是一套根據不同情況進行的10到12個資料庫查詢。
您需要自己決定將要僱用的開發人員具有什麼樣的專業技能。然後,需要通過自己的經驗、判斷以及在面試時對應聘者的感受(來做最終決定)。
您在面試資料庫開發人員時一般會問哪些問題呢?讓我們一起來討論一下吧。
Tim Chapman是肯塔基州路易維爾市一家銀行的SQL Server資料庫管理員,他有超過7年的行業經驗。他還通過了微軟SQL Server 2000和SQL Server 2005的認證。
『肆』 三級資料庫筆試題 求高手解答 感謝萬分!
答案選A,關於模式分解有三個標准:
1、分解是具有無損連接性的;
2、分解是保持函數依賴的;
3、分解既要具有無損連接又要保持函數依賴兩種。
按三個標准進行分解後,還要記住一些東西:
1、分解具有無損連接性和分解保持函數依賴是兩個互相獨立的標准。具有無損連接性的分解不一定保持函數依賴,保持函數依賴的分解不一定具有無損連接性。
2、 若要求分解具有無損連接性,那麼模式分解一定可以達到4NF。
3、 若要求分界保持函數依賴,那麼模式分解可以達到3NF,但不一定能達到4NF。
4、 若要求分解既具有無損連接性,又保持函數依賴,則模式分解可以達到3NF,但不一定能達到4NF。
詳情請參看下面的鏈接:
『伍』 求恆生電子 軟體運維工程師,資料庫筆試題!!!
1、寫C語言的拷貝函數,要求復制字元串,並且將復制後的字元串逆序
比如form中是1234, 則to中是4321
void strcyp(char * to,const char * form)
不能使用庫函數 不能定義其他的變數
最佳答案
int main()
{
char a[10],b[10];
printf("請輸入a字元可以隨意輸入小於10個字元")
/*這里不知道為什麼查過10個就前面一部分對
且a字元串就沒有值了你可以自己事實*/
scanf("%s",a);
printf("a字元串:%s\n",a);
turnto(a,b);
printf("b字元串:%s\n",b);
printf("a字元串:%s\n",a);
return 0;
}
void turnto(char *q,char *p)
{
int length,i,j;
for(length=0;;length++)
{
if(q[length]=='\0')
break;
}
j=length-1;
for(i=0;i
{
// *(p+i)=*(q+(j--));
p[i]=q[j--];
}
// *(p+i)='\0';
p[i]='\0';
}
第一個編程題:
827328929 數字反轉,不能使用類庫,不能使用數組。
第二個編程題:
public int[] getNum(aArray[] ,bArray[]){ }
求出數組aArray[] ,和bArray[]兩個數組的交集,交集放在數組中返回。
資料庫題目:
學生表(student){學好,姓名,年齡,所在系}
課程表(course){課程編號,課程名,學分}
關系表(sc){學號,課程編號,成績}
1、查詢出選修了「資料庫」的學生姓名。
2、查詢平均成績大於85分的學生姓名和平均成績(悲劇的沒有寫出來)
3、添加一個課程信息(「Java」,』1001『,2)
4、添加一個唯一索引
5、在學生表中添加身份證列,大小18,非空
『陸』 資料庫考試的內容包含哪些內容
一、資料庫考試內容:
(1)計算機體系結構以及各主要部件的性能和基本工作原理。
(2)操作系統、程序設計語言的基礎知識,了解編譯程序的基本知識。
(3)常用數據結構和常用演算法。
(4)軟體工程和軟體開發項目管理的基礎知識。
(5)計算機網路的原理和技術。
(6)資料庫原理及基本理論。
(7)常用的大型資料庫管理系統的應用技術。
(8)資料庫應用系統的設計方法和開發過程。
(9)資料庫系統的管理和維護方法,了解相關的安全技術。
(10)資料庫發展趨勢與新技術。
(11)常用信息技術標准、安全性,以及有關法律、法規的基本知識。
(12)了解信息化、計算機應用的基礎知識。
(13)正確閱讀和理解計算機領域的英文資料。
二、考試目標
作為資料庫管理員管理信息系統中的數據資源,作為資料庫管理員建立和維護核心資料庫;擔任資料庫系統有關的技術支持,同時具備一定的網路結構設計及組網能力;具有工程師的實際工作能力和業務水平,能指導計算機技術與軟體專業助理工程師(或技術員)工作。
三、考試范圍
信息系統知識
1.計算機系統知識
2.資料庫技術
3.系統開發和運行維護知識
4.安全性知識
5.標准化知識
6.信息化基礎知識
7.計算機專業英語
資料庫系統設計與管理
1.資料庫設計
2.資料庫應用系統設計
3.資料庫應用系統實施
4.資料庫系統的運行和管理
5.SQL
6.網路環境下的資料庫
7.資料庫的安全性
8.資料庫發展趨勢與新技術
(6)資料庫管理員筆試題擴展閱讀:
有些考生在報名軟考中級資料庫系統工程師考試的時候發現沒有這項資格考試,以為資料庫系統工程師考試沒有了,其實並不是這樣的。
資料庫系統工程師每年只有一次考試,通常安排在上半年開考,而下半年是沒有安排資料庫系統工程師考試的。因此,要報名資料庫系統工程師考試的考生要在上半年報名。
由於軟考每年的開考資格安排可能會有所變動,並不是固定在上半年或者下半年考試,因此要報名的考生請關注軟考辦公布的每年的開考資格安排,及時報名
『柒』 資料庫常見筆試面試題
資料庫常見筆試面試題
資料庫常見筆試面試題有哪些?資料庫常見筆試面試會考什麼?下面是資料庫常見面試題總結,為大家提供參考。
1、SQL的表連接方式有哪些?
SQL中連接按結果集分為:內連接,外連接,交叉連接
內連接:inner join on,兩表都滿足的組合。內連接分為等值連接,不等連接,自然連接。
等值連接:兩表中相同的列都會出現在結果集中。
自然連接:兩表中具體相同列表的列會合並為同一列出現在結果集中。
外連接:分為左(外)連接,右(外)連接,全連接
左(外)連接:A left (outer) join B,以A表為基礎,A表的全部數據,B表有的組合,沒有的為null。
右(外)連接:A right(outer) join B,以B表為基礎,B表的全部數據,A表有的組合,沒有的位null。
全連接:A full (outer) join 兩表相同的組合在一起,A表有,B表沒有的數據(顯示為null),同樣B表有,A表沒有的顯示為null。
交叉連接:cross join,就是笛卡爾乘積。
2、三範式
1NF:表中的欄位都是單一屬性,不再可分。
2NF:在1NF的基礎上,表中所有的非主屬性都必須完全依賴於任意一組候選鍵,不能僅依賴於候選鍵中的某個屬性。
3NF:在2NF的基礎上,表中所有的屬性都不依賴其他非主屬性。
簡單的說就是:1NF表示每個屬性不可分割,2NF表示非主屬性不存在對主鍵的部分依賴,3NF表示不存在非主屬性對主鍵的依賴傳遞。
3、表的操作
表的創建:create table 表名 (列名1 類型 約束,列2 類型 約束…)
表的刪除: 表名
表的更改(結構的更改,不是記錄的更新):alter table 表名 add|drop 列名|約束名
插入記錄: into 表名…values…
更新記錄:表名 set 列名=值 where 條件
刪除記錄: from 表名 where 條件
4、數據的完整性
數據完整性指的是存儲在資料庫中的數據的一致性和准確性。
完整性分類:
(1)實體完整性:主鍵值必須唯一且非空。(主鍵約束)
(2) 引用完整性(也叫參照完整性):外鍵要麼為空,要麼引用主表中存在的記錄。(外鍵約束)。
(3)用戶自定義完整性:針對某一具體關系資料庫中的約束條件。
5、SQL的查詢優化
(1)從表連接的角度優化:盡量使用內連接,因為內連接是兩表都滿足的行的組合,而外連接是以其中一個表的全部為基準。
(2)盡量使用存儲過程代替臨時寫SQL語句:因為存儲過程是預先編譯好的SQL語句的集合,這樣可以減少編譯時間。
(3)從索引的角度優化:對那些常用的查詢欄位簡歷索引,這樣查詢時值進行索引掃描,不讀取數據塊。
(4)還有一些常用的select優化技巧:
(5)A.只查詢那些需要訪問的欄位,來代替select*
B、將過濾記錄越多的where語句向前移:在一個SQL語句中,如果一個where條件過濾的資料庫記錄越多,定位越准確,則該where條件越應該前移。
6、索引的作用,聚集索引與非聚集索引的區別
索引是一個資料庫對象,使用索引,可以是資料庫程序無須對整個數據進行掃描,就可以在其中找到目標數據,從而提高查找效率。索引的底層採用的是B樹。
聚集索引:根據記錄的key再表中排序數據行。
非聚集索引:獨立於記錄的結構,非聚集所以包含的`key,且每個鍵值項都有指向該簡直的數據行的指針。
聚集索引與非聚集索引的區別:
(1)聚集索引的物理存儲按索引排序,非聚集所以的物理存儲不按索引排序。
(2) 聚集索引插入,更新數據的速度比非聚集索引慢,單查詢速度更快。
(3) 聚集索引的葉級結點保存的是時間的數據項,而非聚集結點的葉級結點保存的是指向數據項的指針。
(4)一個表只能有一個聚集索引(因為只有一種排序方式),但可以有多個非聚集索引。
7、存儲過程與函數的區別
(1)函數有返回值,存儲過程沒有返回值。
(2) 因為存儲過程沒有返回值,所以不能將存儲過程的執行結果賦值給變數;函數有返回值類型,調用函數時,可以將函數的執行結果賦值給變數。也就是說,函數可以在select語句中使用,而存儲過程則不能。
『捌』 請問有誰知道2011年3月的全國計算機四級資料庫工程師考試題型和以前的還一樣不謝謝!
一樣的。我剛過3月的。有三種題型:選擇題+填空題+設計與應用題
如果需要真題,請留下郵箱。
2010年3月計算機等級考試四級資料庫筆試試題(文字版)
一、選擇題
(1)在資料庫應用系統的需求分析階段,需要考慮數據的安全性需求。下列不屬於數據安全性需求分析內容的是
A)分析數據的安全性需求,以確定每個關系表上定義的數據約束能夠滿足使用要求
B)分析全局用戶對數據的存取需求,以確定全局數據的安全控制策略
C)分析特殊用戶對數據的存取需求,以保證資料庫的安全控制策略能夠滿足其使用要求
D)分析各類用戶對數據的存取需求,以確定各類用戶能夠操作的數據
(2)有學生表(學號, 姓名, 性別, 身份證號, 出生日期, 所在系號),在此表上使用如下語句建立索引:
CREATE NONCLUSTERED INDEX Idx_Name ON學生表(姓名);
此索引被稱為
A)非聚集散列索引
B)非聚集輔索引
C)非聚集順序索引
D)非聚集主索引
(3)在資料庫物理設計階段,使用聚集文件組織數據可以提高一些查詢的效率。下列關於聚集文件和聚集鍵的描述錯誤的是
A)聚集文件將不同關系表中有關聯關系的記錄存儲在一起,以減少系統的物理I/O次數
B)聚集鍵應該選用頻繁用於進行自然連接的屬性或屬性組
C)聚集文件可以提高某些連接查詢的速度,但是它可能導致其他類型的查詢處理變慢
D)關系表中某個屬性的數據重復率越高,越適合作聚集鍵
(4)己知有描述科研項目及負責教師的關系模式:科研項目(項目號, 項目名稱, 經費, 負責教師號, 姓名, 職稱),該關系模式滿足函數依賴集:F={項目號→項目名稱, 項目號→經費, 項目號→負責教師號, 負責教師號→姓名, 負責教師號→職稱}。下列分解中最合理的符合3NF的關系模式是
A)科研項目(項目號, 項目名稱, 經費),教師(教師號, 姓名, 職稱)
B)科研項目(項目號, 項目名稱, 經費),教師(教師號, 姓名, 職稱, 項目號)
C)科研項目(項目號, 項目名稱, 經費, 負責教師號),教師(教師號, 姓名, 職稱)
D)科研項目(項目號, 項目名稱, 經費),項目_教師(項目號, 負責教師號), 教師(教師號, 姓名, 職稱)
(5)在IDEF0圖中矩形框代表功能活動。關於連接到矩形框4條邊上的箭頭的語義,下列說法錯誤的是
A)左邊的箭頭表示完成功能活動需要的數據,它強調被活動消耗或變換的內容
B)上邊的箭頭表示影響這個活動執行的事件或約束,它強調被活動變換的內容
C)右邊的箭頭表示由這個活動產生的信息,它強調活動變換和處理的結果
D)下邊的箭頭表示實施該活動的手段或完成活動需要的資源,它強調如何做
(6)資料庫的運行管理與維護主要由資料庫管理員負責,工作內容主要包括日常維護、系統監控與分析、性能優化等。下列關於資料庫管理員工作內容的說法錯誤的是
A)資料庫的備份和恢復是重要的維護工作,資料庫管理員應根據不同的應用要求制定不同的備份計劃,在備份計劃中應包含備份的時間、周期、備份方式和備份內容等
B)性能優化是資料庫管理員的重要工作,性能優化的主要手段有查詢優化、索引調整、模式調整等,這些工作一般無需開發人員參與
C)資料庫管理員應監控資料庫中各種鎖的使用情況,並處理可能出現的死鎖情況,若發現問題應及時通知相關人員
D)資料庫管理員需要定期檢查存儲空間使用情況並根據需求擴展存儲空間,這些工作一般無需最終用戶參與
(7)若系統中存在4個等待事務T0、T1、T2、T3,其中T0正等待被T1鎖住的數據項Al,T1正等待被T2鎖住的數據項A2,T2正等待被T3鎖住的數據項A3,T3正等待被T0鎖住的數據項A0。根據上述描述,系統所處的狀態是
A)活鎖
B)死鎖
C)封鎖
D)正常
(8)在SQL Server 2000中,某資料庫中有教師表(教師號, 姓名, 職稱),其中教師號的數據類型是整型,其他均為字元類型。若教師表中當前沒有數據,用戶在數霜尾幣藕次執行下列語句:
Ⅰ.BEGIN TRANSACTION T1
Ⅱ.INSERT INTO教師表VALUES(1000,'張三','助教');
Ⅲ.INSERT INTO教師表VALUES(1001,'王二','助教');
Ⅳ.COMMIT T1;
Ⅴ.BEGIN TRANSACTION T2
Ⅵ.INSERT INTO教師表VALUES(1002,'王三','講師');
Ⅶ.INSERT INTO教師表VALUES(1003,'李四','講師');
Ⅷ.COMMIT T2;
在Ⅶ執行的時候資料庫所在的伺服器突然掉電,當資料庫系統重新啟動後,教師表中包含的數據條數為
A)4條
B)3條
C)2條
D)0條
(9)已知學生關系(學號, 姓名, 性別, 課程號, 成績, 所在系號)有下列函數依賴
Ⅰ.(學號, 課程號)→課程號 Ⅱ.(學號, 課程號)→成績
Ⅲ.(學號, 課程號)→所在系號 Ⅳ.(學號, 課程號)→姓名,性別
Ⅵ.(學弓, 桌程號)→學號
以上函數依賴屬於非平凡函數依賴的是
A)僅I和V
B)僅Ⅱ和V
C)僅Ⅲ和Ⅳ
D)僅II、Ⅲ和Ⅳ
(10)資料庫管理系統採用三級加鎖協議來防止並發操作可能導致的數據錯誤。在三級加鎖協議中,1級加鎖協議能夠解決的問題是
A)丟失修改
B)不可重復讀
C)讀臟數據
D)死鎖
(11)在SQL Server 2000中,假設某資料庫使用一段時間後,其數據文件和日誌文件的空間均己快用完,如果要以手工方式擴大該資料庫的空間,下列說法正確的是
A)可以擴大單個數據文件的大小,但不能擴大單個日誌文件的大小
B)可以一次按比例擴大整個資料庫的數據文件和日誌文件的大小
C)可以添加一塊新的磁碟,並在新的磁碟上為資料庫建立新的數據文件和日誌文件
D)可以一次按比例擴大整個數據文件的大小,但不能擴大日誌文件的大小
(12)在SQL Server 2000中,設有職工表(職工號, 職工名, 電子郵箱),現要限制電子郵箱的最後幾位的取值為「@abc.com」,且「@」前至少有一位字元。下列添加約束的語句正確的是
A)ALTER TABLE職工表
ADD CONSTRAINT chk_email CHECK(電子郵箱LIKE '_%@abc.com')
B)ALTER TABLE職工表
ADD CONSTRAINT chk_email CHECK(電子郵箱 = '_%@abc.com')
C)ALTER TABLE職工表
ADD CONSTRAINT chk_email CHECK(電子郵箱LIKE '[email protected]')
D)ALTER TABLE職工表
ADD CONSTRAINT chk_email CHECK(電子郵箱 = '[email protected]')
(13)OLE DB是一種通用數據訪問介面。下列關於OLE DB的說法錯誤的是
A)OLE DB是Microsoft OLE對象標準的一個實現,它由一系列的COM介面組成
B)與ODBC驅動程序需要支持幾乎所有的DBMS特性不同,OLE DB允許只支持DBMS的部分功能
C)OLE DB支持訪問關系資料庫和非關系資料庫
D)OLE DB定義了數據提供者、數據消費者和數據驅動理序三類數據訪問組件
(14)日誌文件是資料庫系統出現故障以後,保證數據正確、一致的重要機制之一。下列關於日誌文件的說法錯誤的是
A)日誌的登記順序必須嚴格按照事務執行的時間次序進行
B)為了保證發生故障時能正確地恢復數據,必須保證先寫資料庫後寫日誌
C)檢查點記錄是日誌文件的一種記錄,用於改善恢復效率
D)事務故障恢復和系統故障恢復都必須使用日誌文件
(15)統一建模語言UML是一種定義良好、易於表達、功能強大、通用的可視化建模語言,下列關於UML說法錯誤的是
A)在UML的用例模型中,一個角色可以執行多個用例,一個用例可以被多個角色使用
B)UML也適用於對象建模,其中的類圖和對象圖用於描述類模型、對象模型以及它們之間的動態關系,這兩種圖都屬於UML的動態視圖
C)UML的包圖是表明包以及包之間的關系的類圖,包是對模型中涉及的元素進行分組後得到的結果。在進行元素分組時,應盡量追求包間低耦合、包內高內聚的目標
D)UML中的順序圖和協作圖都描述交互,但是順序圖強調的是時間,協作圖強調的是空間
(16)對資料庫中的數據進行及時轉儲是保證數據安全可靠的重要手段。下列關於靜態轉儲和動態轉儲的說法正確的是
A)靜態轉儲過程中資料庫系統不能運行其他事務,不允許在轉儲期間執行數據插入、修改和刪除操作
B)靜態轉儲必須依賴資料庫日誌才能保證數據的一致性和有效性
C)動態轉儲需要等待正在運行的事務結束後才能開始
D)對一個24小時都有業務發生的業務系統來說,比較適合採用靜態轉儲技術
(17)設某並行資料庫系統中有表T(al, a2, . . .,an),因數據量大,需採用一維劃分法將數據劃分到不同的磁碟上,以提高系統效率。設al是劃分屬性,針對表T的查詢操作多數為點查詢,則適合採用的元組劃分策略是
A)輪轉法與范圍劃分
B)輪轉法與散列劃分
C)散列劃分與范圍劃分
D)以上都不合適
(18)軟體開發模型是對軟體開發過程的一種規范描述,用於表示軟體開發過程的整體框架和軟體開發活動各階段間的關系。下列模型屬於軟體開發模型的是
Ⅰ.爆布模型 Ⅱ.快速原型模型
Ⅲ.增量模型 Ⅳ.螺旋模型
A)僅Ⅰ和Ⅱ
B)僅Ⅰ、Ⅲ和Ⅳ
C)僅Ⅱ和Ⅲ
D)Ⅰ、II、Ⅲ和Ⅳ
(19)設有某大型聯鎖商場,建立有面向業務的資料庫應用系統和面向決策支持的數據倉庫系統,數據倉庫系統每天夜間需要從資料庫應用系統的資料庫導入新數據。在下列數據表中,最不適合採用快照方式從資料庫應用系統中獲取數據的是
A)商品表和商品類別表
B)員工表和供應商表
C)商品銷售表和商品采購表
D)商場組織機構表
(20)在資料庫應用系統中,查詢效率是考核資料庫應用系統的一個重要方面。下列方法中,通常有利於提高查詢效率的是
Ⅰ.盡可能避免無用的排序操作
Ⅱ.盡可能消除對大型錶行數據的順序存取
Ⅲ.盡可能避免使用否定查詢
Ⅳ.盡可能避免使用外連接操作
Ⅴ.盡可能用子查詢代替連接查詢
A)僅I、Ⅱ、Ⅲ和Ⅳ
B)僅I、Ⅱ和Ⅳ
C)僅II、Ⅲ、Ⅳ和V
D)全部
(21)資料庫概念設計需要對一個企業或組織的應用所涉及的數據進行分析和組織。現有下列設計內容
Ⅰ.分析數據,確定實體集
Ⅱ.分析數據,確定實體集之間的聯系
Ⅲ.分析數據,確定每個實體集的存儲方式
Ⅳ.分析數據,確定實體集之間聯系的基數
Ⅴ.分析數據,確定每個實體集的數據量
Ⅵ.分析數據,確定每個實體集包含的屬性
以上內容不屬於資料庫概念設計的是
A)僅I、Ⅳ和Ⅵ
B)僅Ⅱ和Ⅴ
C)僅Ⅲ、Ⅳ和Ⅵ
D)僅Ⅲ和Ⅴ
(22)客戶端、伺服器(C/S)架構和瀏覽器/伺服器(B/S)架是現在常用的兩種資料庫應用系統架構。關於C/S和B/S架構,下列說法錯誤的是
A)在C/S和B/S架構中,資料庫伺服器都承擔了數據共享和管理的功能
B)如果系統的最終用戶群體大,用戶地域分布廣,一般應採用B/S架構
C)C/S架構的應用程序需要發布給每個用戶,並在每個用戶計算機上進行安裝。B/S架構一般以通用瀏覽器為業務應用界面,較為復雜的數據處理功能一般還可通過與瀏覽器進行交互的組件實現
D)一般來說,對於功能需求相同的資料庫應用系統項目,C/S架構的應用開發成本要高於B/S架構的應用開發成本
(23)資料庫應用系統環境中存在各種類型的數據,設有如下數據
Ⅰ.為提高查詢效率建立的索引
Ⅱ.描述表結構信息的數據字典
Ⅲ.用於優化查詢的統計分析數據
Ⅳ.用戶會話信息
Ⅴ.用戶查詢結果
以上數據一般會存儲在資料庫中的是
A)僅Ⅰ、Ⅱ和Ⅴ
B)僅Ⅰ和Ⅲ
C)僅Ⅰ、Ⅱ和Ⅲ
D)僅II、Ⅲ和Ⅳ
(24)在資料庫應用系統生命周期中,系統規劃與分析是一個重要的環節。關於系統規劃與分析,下列說法錯誤的是
A)規劃與分析是資料庫應用系統生命周期的起點。規劃與分析階段的主要工作包括系統規劃與定義、可行性分析和項目規劃
B)系統規劃與定義是規劃與分析的主要環節,它需要在系統設計過程中逐步完成
C)可行性分析是從技術、經濟和操作等方面進行項目可行性的分析,它在明確目標和任務之後,評估系統在給定條件下是否可行
D)項目規劃是對項目所需的資源、成本和進度進行合理估算,並制定初步的項目開發計劃
(25)在SQL Server 2000中,某資料庫的數據量比較大,且存儲在無磁碟陣列的存儲設備上。為盡可能提高數據的操作效率,下列構建資料庫文件的方法中,最合適的是
A)盡可能選擇一塊足夠大的磁碟,並在此磁碟上建立一個數據文件和一個日誌文件
B)盡可能建立多個數據文件,讓每個數據文件位於不同的磁碟上,並盡可能將日誌文件一與數據文件分別建立在不同的磁碟上
C)盡可能建立多個數據文件,將這些數據文件建立在一塊足夠大的磁碟上,並將全部日誌文件建立在另一塊足夠大的磁碟上
D)盡可能建立多個數據文件,讓每個數據文件位於不同的磁碟上,並盡可能將日誌文件與數據文件建立在相同的磁碟上
(26)設有某大型連鎖超市的資料庫應用系統,在系統實施或改造過程中,需要對系統進行測試。設有下列測試活動
Ⅰ.模擬客戶消費行為,生成銷售數據,測試系統是否能正確完成銷售業務
Ⅱ.編寫模擬數據生成器,每秒生成2千筆與銷售業務對應的銷售數據,測試系統吞吐率
Ⅲ.在資料庫中模擬生成5億條銷售數據,同時開啟所有的收銀台,測試系統平均響應時間
Ⅳ.模擬銷售持續一周時間,在此期間,每天審核系統結賬功能是否正確
Ⅴ.測試資料庫應用系統能否正確地完成銀聯卡消費業務
以上測試活動,屬於性能測試的是
A)僅Ⅰ、Ⅱ和Ⅲ
B)僅Ⅱ、Ⅲ和Ⅴ
C)僅Ⅱ和Ⅲ
D)僅I、Ⅳ和Ⅴ
(27)在SQL Server 2000中,設有課程表(課程號,課程名,學分,開課學期),現要在此關系表上建立一個查詢指定學期開設的課程總門數和總學分數的內嵌表值函數,函數名為f _FindTotal。實現這個函數的正確代碼是
A)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT COUNT(課程號)as課程門數, SUM(學分)as總學分FROM課程表
WHERE開課學期 = @ semester)
B)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT COUNT(課程號)as課程門數, COUNT(學分)as總學分FROM課程表
WHERE開課學期 = @semester)
C)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT SUM(課程號)as課程門數, SUM(學分)as總學分FROM課程表
WHERE開課學期= @semester)
D)CREATE FUNCTION f_FindTotal(@semester int)
RETURNS table
AS
RETURN(
SELECT SUM(課程號)as課程門數, COUNT(學分)as 總學分FROM課程表
WHERE開課學期 = @semester)
(28)設商場業務系統中有銷售單據表(銷售單據號, 收款員, 銷售時間),銷售明細表(銷售明細條目號, 銷售單據號, 商品號, 數量, 單位, 金額)和商品表(商品號, 商品名, 價格)。該系統業務繁忙,保存的數據量非常大,每次換班時要統計收款員的收入總額,每天停業後要統計各個商品的當天銷售量,銷售過程中經常需要查詢某筆銷售業務的情況。為了優化系統性能,下列優化方案合理的是
A)在銷售單據表的收款員屬性上建立聚集索引,在銷售明細表的銷售單據號屬性上建立非聚集索引,在商品表的商品號屬性上建立聚集索引
B)在銷售單據表的銷售單據號屬性上建立聚集索引,在銷售明細表的銷售單據號屬性上建立非聚集索引,在商品表的商品號屬性上建立聚集索引,建立收款員單班銷售量表和商品當天銷售匯總表,在每筆銷售成交後分別累計統計相應數據
C)在銷售單據表的銷售時間屬性和收款員屬性上分別建立聚集索引,在銷售明細表的銷售單據號屬性上建立非聚集索引,在商品表的商品號屬性上建立聚集索引,建立收款員單班銷售量表和商品當天銷售匯總表,在每筆銷售成交後分別累計統計相應數據
D)在銷售單據表的銷售單據號屬性和收款員屬性上分別建立聚集索引,在銷售明細表的商品號屬性上建立聚集索引
(29)在SQL Server 2000中,假設利用備份設備對某個數據量和日誌量都比較大的資料庫進行完全備份。下列說法正確的是
A)如果各個磁碟上的剩餘空間均不足以存儲資料庫的備份,但全部磁碟的剩餘空間總和大於備份資料庫所需的空間,則可以將這些磁碟的剩餘空間組織起來建立一個備份設備以實施備份
B)如果各個磁碟上的剩餘空間均不足以存儲資料庫的備份,但全部磁碟的剩餘空間總和大於備份資料庫所需的空間,則可以將資料庫中的數據和日誌分別備份到位於不同磁碟的備份設備上,以解決單個磁碟空間不足的問題
C)可以只對資料庫中的數據進行備份,並且可以備份到位於不同磁碟的備份設備上,以最大限度地減少備份該資料庫佔用的空間
D)如果各個磁碟上的剩餘空間均不足以存儲資料庫的備份,但全部磁碟的剩餘空間總和大於備份資料庫所需的空間,則可以在每個磁碟上分別建立一個備份設備,並同時利用這些設備備份資料庫
(30)在某分布式資料庫系統中,設某數據表的模式為S(al, a2, a3, a4, a5),其中al為主碼,該表中數據量大,a2取值空間為{1,2,3}。設有兩個數據分片方案,分別為PSz1={S11, S12, S13}和PS2={S21, S22, S23},任取分片S1i,S1i的模式為(al, a2, a3, a4, a5),且S1i中的任一元組t都屬於S,且t在屬性a2上的取值為i。任取分片S2i,有S2i與S元組數相同,且其主碼為al,S21的模式為(al, a2),S22為(a1, a3, a4),S23為(al, a5)。則關於PS1和PS2的分片機制,下列說法正確的是
A)PS1為水平分片,PS2為垂直分片
B)PS1為垂直分片,PS2為導出分片
C)PS1為水平分片,PS2為導出分片
D)PS1為垂直分片,PS2為水平分片
二、應用題
(1)在SQL Server 2000中,現要在employees表的first_name和last_name列上建立一個唯一的非聚集復合索引,其中first_name列數據的重復率是5%,last_name列數據的重復率是10%。請補全下列語句使以first_name和last_name列作為條件的查詢效率最高。
CREATE UNIQUE NONCLUSTERED INDEX Idx_Name
ON employees( 【1】 )
(2)在SQL Server 2000中,設有顧客表(顧客號, 顧客名, 所在地區, 年齡),應用系統中需統計指定地區的顧客人數和平均年齡。請補全下列存儲過程代碼以完成該功能。
CREATE PROC P_Count
@area varchar(20)
AS
SELECT COUNT(*)AS 人數, 【2】 AS平均年齡FROM顧客表
WHERE所在地區=@area
(3)設有顧客表(顧客號, 顧客名, 聯系電話)和購買表(商品號, 顧客號, 購買時間),現要統計有購買記錄的顧客人數。請補全下列實現該功能的語句。
SELECT【3】FROM購買表
(4)在VB 6.0中,為簡化訪問資料庫數據的編程,經常使用Adodc數據控制項來訪問資料庫中的數據。該控制項中用於描述伺服器連接信息的屬性是【4】 。
(5)在SQL Server 2000中,要授予某資料庫中的某個用戶具有該資料庫中全部用戶數據表的插入、刪除和修改許可權,比較合理的做法是將該用戶添加到系統提供的【5】資料庫角色中。
(6)設有學生表(學號, 姓名, 性別, 所在系),這些列均不允許有空值。現要建立一個視圖,統計「計算機系」的男生人數和女生人數。請補全下列語句。
CREATE VIEW V_Count
AS
SELECT【6】 , COUNT(*)AS人數FROM學生表
WHERE所在系='計算機系'
【7】
(7)事務是由一系列操作組成的,事務的執行表現為事務中各個操作的執行。每個事務應具有結束操作。當一個事務需要終止並取消所有已執行的數據修改時應執行的語句是【8】。
(8)數據倉庫是一個面向【9】的、集成的、非易失的,且隨時間變化的數據集合。
(9)事務對一個數據項的操作類型決定了數據項上的鎖的類型。鎖的類型主要有互斥鎖(簡稱X鎖)和【10】鎖(簡稱S鎖)兩種。
(10)在SQL Server 2000中,現要將資料庫DB1差異備份到備份設備BK上,並且不覆蓋BK上的已有內容。請補全下列備份資料庫DBI的語句。
BACKUP 【11】 DB1 TO BK【12】 , NOINIT
(11)在SQL Server 2000中,某資料庫中有圖書表(書號, 圖書名稱, 類別)和銷售表(書號, 銷售時間, 銷售數量),其中銷售數量大於0。現要查詢2009年10月銷售的圖書名稱和類別。請補全下列實現該功能的查詢語句。
SELECT圖書名稱, 類別FROM圖書表
WHERE EXISTS(SELECT*FROM銷售表
WHERE銷售時間BETWEEN '2009/10/1' AND '2009/10/31'
【13】 )
(12)OLAP主要用於支持復雜的分析操作,側重對決策人員和高層管理人員的數據支持。OLAP的實現方式主要有三種:MOLAP、【14】和HOLAP。
(13)在分布式資料庫系統中,數據分布透明性是方便用戶使用數據的重要保證。數據分布透明性的最高級別是【15】透明性。
三、設計與應用題
(1)設有某簡化的網上購物系統,其ER圖如下:
該系統數據之間存在下列約束:
Ⅰ. 一個客戶(編號唯一)可以擁有多個訂單,每個訂單僅屬於一個客戶;
Ⅱ. 一個訂單(編號唯一)可以包含多個訂購細目,每個訂購細目只屬於一個訂單;
Ⅲ. 一種商品可以出現在多個訂購細目中,一個訂購細目只包含一種商品;
Ⅳ. 一個商品類別可以包含多種商品,一種商品只屬於一個商品類別。
① 請根據以上約束,標出ER圖中各實體集之間聯系的基數。(2分)
② 請將ER圖轉換成符合3NF的關系模式,並給出各關系模式的主碼和外碼。(4分)
③ 請修改所設計的關系模式使之支持下列功能(僅列出發生修改的關系模式)。(4分)
Ⅰ. 使客戶能方便了解每個訂購細目的處理狀態和到貨時間;
Ⅱ. 使客戶能方便查詢商品供應商的編號、名稱、所在城市、聯系電話和信譽。(限定一個供應商可以供應多種商品,一種商品只選自一個供應商)
(2)某學校的學籍管理系統實現了對學生學籍信息的管理,其中學生表結構為:學生表(學號, 姓名, 性別, 系號, 是否有學籍),此表中除學號列有唯一索引外,其它列均無索引。
①設學籍管理系統中經常執行如下形式的操作:
SELECT*FROM學生表
WHERE姓名='張三' AND 系號='10' AND 是否有學籍='有'
系統運行中發現這類操作的效率比較低,系統工程師建議:由於查詢條件中使用了「系號」、「姓名」和「是否有學籍」三列,建議在這三個列上分別建立索引,以提高查詢效率。
請問其建議建立的三個索引是否都能提高查詢效率?請簡要說明原因。
②設學生表中有下列數據:
並且已經在學生表的姓名列上建立了一個非聚集索引(按姓名拼音升序排序)。請給出查找碼「姓名」對應的稠密索引示意圖。(4分)
(3)在SQL Server 2000中,設有教師表(教師號, 姓一名, 所在部門號, 職稱)和部門表(部門號, 部門名, 高級職稱人數)。請編寫滿足下列要求的後觸發型觸發器(設觸發器名字為tri_zc)。(10分)
每當在教師表中插入一名具有高級職稱(「教授」或「副教授」)的教師時,或者將非高級職稱教師的職稱更改為高級職稱時,均修改部門表中相應部門的高級職稱人數。(假設一次操作只插入或更改一名教師的職稱)