Ⅰ 資料庫經典筆試題和面試題答案
如下這些有關資料庫知識考查的經典筆試題,非常全面,對計算機專業畢業生參加筆試會很有幫助,建議大家收藏。
一、選擇題
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
Ⅱ IBM認證資料庫考試試題
(1)已知表T1中有2行數據,T2中有3行數據,執行SQL語句
“select a.* from T1 a,T2 b”後,返回的行數為______
A、2行
B、3行
C、5行
D、6行
多表查詢沒有指定連接條件,會導致笛卡爾積的出現,返回行數等於2張表的行數乘積,返回6行記錄
考察:對多表連接、笛卡爾積的理解
答案:A
(2)、已知表T1和T2的欄位定義完全相同,T1,T2中各有5條不同的數據,其中T1有2條數據存在於表T2中,語句“select * from T1 union select * from T2”
返回的行數為_______
A、8行
B、10行
C、3行
D、12行
第二題? UNION在進行表鏈接後會篩選掉重復的記錄,所以在表鏈接後會對所產生的結果集進行排序運算,刪除重復的記錄再返回結果。
考察:UNION 的理解
答案: A
(3)、 已知表T1含有欄位ID、CourseID和Score,且數據為
ID CourseID Score
3 1 90
2 1 85
2 2 90
3 2 80
則語句“select id,sum(ScorE) from T1 group by ID”的執行結果為_________
A、 ID sum(ScorE)
—– ? ———-
3 ? 170
2 ? 175
B、 ID sum(ScorE)
—– ? ———-
2 ? 175
3 ? 170
C、 ID sum(ScorE)
—– ? ———-
2 ? 170
3 ? 175
D、 ID sum(ScorE)
—– ? ———-
3 ? 175
2 170
第三題 GROUP BY 對按照ID欄位進行分組,同時對ID相同欄位的ScorE進行求和,GROUP by 會自動對結果集進行排序所以答案選B
考察:group by 的理解
答案: B
(4)、電話號碼表t_phonebook中含有100萬條數據,其中號碼欄位PhoneNo上創建了唯一索引,且電話號碼全部由數字組成,要統計號碼頭為321的.電話號碼的數量,下面寫法執行速度最慢的是_________
A、 select count(*) from t_phonebook where phoneno >= ‘321’ and phoneno < ‘321A’
B、 select count(*) from t_phonebook where phoneno like ‘321%’
C、 select count(*) from t_phonebook where substring(phoneno,1,3) = ‘321’
A>或者<操作符會採用索引查找
B:LIKE通配符在XXX%情況下會應用索引,如果在%xxx%等情況下不會應用索引
答案: C:採用函數處理的欄位不能利用索引,例如substr()? 這個題好像寫成java的函數了
答案: C
(5)、已知表tbl中欄位land_ID建有索引,欄位cust_id建有唯一索引,下列語句查詢邏輯相同,其中執行效率最優的是
A、 SELECT * FROM tbl
WHERE land_id > 750
or (cust_id=180 or cust_id=560)
B、 SELECT * FROM tbl
WHERE (cust_id=180 or cust_id=560)
or land_id > 750
C、 SELECT * FROM tbl WHERE land_id > 750
UNION
SELECT * FROM tbl WHERE cust_id = 180
UNION
SELECT * FROM tbl WHERE cust_id = 560
D、 SELECT * FROM tbl WHERE land_id > 750
UNION
( SELECT * FROM tbl WHERE cust_id = 180
UNION ALL
SELECT * FROM tbl WHERE cust_id = 560
)
C/D相比較而言,D的執行效率更高一些
UNION在進行表鏈接後會篩選掉重復的記錄,所以在表鏈接後會對所產生的結果集進行排序運算,刪除重復的記錄再返回結果。實際大部分應用中是不會產生重復的記錄
採用UNION ALL操作符替代UNION,因為UNION ALL操作只是簡單的將兩個結果合並後就返回。
(6)、員工技能表Staffskill結構如下,Staff和Skill欄位建有唯一約束
staff VARCHAR2(10),
skill VARCHAR2(10)
哪條語句可以查詢同時擁有技能A和技能B的員工
A、 select staff from Staffskill where skill=’A’ OR skill=’B’
B、 select staff from Staffskill where skill=’A’ AND skill=’B’
C、 select staff from Staffskill where skill=’A’ OR skill=’B’ group by staff
D、 select staff from Staffskill where skill=’A’ OR skill=’B’ group by staff having count(*)>1
答案:D
(7)員工表staff表結構如下
staffNo varchar2(10),
Email varchar2(50)
哪一個SQL語句查詢出沒有E_mail地址的員工號
A、select staffno from Staff where Email = NULL
B、select staffno from Staff where Email <> NULL
C、select staffno from Staff where Email is null
D、select staffno from Staff where Email is not null
答案: C
(8)Oracle資料庫啟動步驟的順序為
1.Mount? 2.Open? 3.Nomount
A、3-1-2
B、2-3-1
C、2-1-3
D、3-2-1
答案:A
(9)存在兩個結構相同的資料庫表T1(col1,col2,col3)、T2(col1,col2,col3),寫出一SQL語句將所有T1數據導入到T2表
A、select col1,col2,col3 from T1 INTO T2 (col1,col2,col3)
B、INSERT T1 (col1,col2,col3) INTO T2(col1,col2,col3)
C、insert into T2 (col1,col2,col3) AS select col1,col2,col3 from T1;
D、insert into T2 (col1,col2,col3) select col1,col2,col3 from T1;
答案: D
10)一個表的欄位為varchar2,如果建表時沒有指定長度,則默認長度為:
A、1
B、25
C、38
D、255
E、4000
F、建表時varchar2類型欄位必須指定長度
答案:F
(11)用TRUNCATE和DELETE語句刪除表中數據的區別?
A、TRUNCATE命令不記錄日誌
B、TRUNCATE命令記錄日誌
C、DELETE命令不記錄日誌
答案:A
(12)如下查詢語句SELECT id_number,100/quantity from inventory如果quantity為空,則查詢語句的第二個欄位將返回
A、 a space
B、 a null value
C、 a value of 0
D、 a value of 100
E、 the keywork null
答案:B
(13)如下語句:SELECT i.id_number,m.id_number FROM inventory i,manufacturer m
WHERE i.manufacturer_id = m.id_number
Order by inventory.description
執行時是錯誤的,請問以下措施哪個能夠改正這個錯誤?
A 在order by的子句中使用表的別名
B 在where子句中去掉表的別名
C 在where子句中用表名代替表的別名
D 在order by子句中去掉表名,只要欄位名稱即可
(如果2張表中,不同時存在欄位名為description的話,D答案也是正確的)
答案:A
14)A表欄位a 類型int中有100條記錄,值分別為1至100。如下語句
SELECT a FROM A
WHERE A BETWEEN 1 AND 50
OR (A IN (25,70,95)
AND A BETWEEN 25 AND 75)
則如下哪個值在這個sql語句返回的結果集中
A、30? B、51? C、75? D、95
答案:A
15) 變數v_time = ‘23-MAY-00’,如下那條語句返回值為‘01-JAN-00’?
A SELECT ROUND(V_TIME,’DAY’) FROM DUAL;
B SELECT ROUND(V_TIME,’YEAR’) FROM DUAL;
C SELECT ROUND(V_TIME,’MONTH’) FROM DUAL;
D SELECT ROUND(TO_CHAR(V_TIME,’YYYY’)) FROM DUAL;
答案:B
16)關於索引(index)的說法哪些是錯誤?
A、創建索引能提高數據插入的性能
B、索引應該根據具體的檢索需求來創建,在選擇性好的列上創建索引
C、索引並非越多越好
D、建立索引可使檢索操作更迅速
答案: A
(17)指出下面sql語句的錯誤之處:
select id_number “Part Number”,sum(price) “price” from inventory
where price > 50
group by “Part Number”
order by 2;
A、order by 2
B、from inventory
C、 where price > 50
D、group by “Part Number”
答案:D
(18)如下語句
if v_num > 5 then
v_example := 1;
elsif v_num > 10 then
v_example := 2;
elsif v_num < 20 then
v_example := 3;
elsif v_num < 39 then
v_example := 4;
else? v_example := 5;
如果v_num = 37,則v_example的值是多少?
A、1 ? B、2 C、3 D、4 E、5
答案:A
Ⅲ 資料庫系統工程師考什麼要看什麼書
一、考試說明
1.考試要求
(1)掌握計算機體系結構以及各主要部件的性能和基本工作原理;
(2)掌握操作系統、程序設計語言的基礎知識,了解編譯程序的基本知識;
(3)熟練掌握常用數據結構和常用演算法;
(4)熟悉軟體工程和軟體開發項目管理的基礎知識;
(5)熟悉計算機網路的原理和技術;
(6)掌握資料庫原理及基本理論;
(7)掌握常用的大型資料庫管理系統的應用技術;
(8)掌握資料庫應用系統的設計方法和開發過程;
(9)熟悉資料庫系統的管理和維護方法,了解相關的安全技術;
(10)了解資料庫發展趨勢與新技術;
(11)掌握常用信息技術標准、安全性,以及有關法律、法規的基本知識;
(12)了解信息化、計算機應用的基礎知識;
(13)正確閱讀和理解計算機領域的英文資料。
Ⅳ 資料庫考試題,跪求答案
在資料庫系統中,空值是(什麼也沒有)。
解釋:
所謂的NULL就是什麼都沒有,連\0都沒有,\0在字元串中是陸信結束符,但是在物理內存是占空間的,等於一個位元組,而NULL就是連這一個位元組都沒有。在資料庫里是嚴格區分的,任何數跟拍和NULL進行運算都是NULL, 判斷值是否等於NULL,不能簡單用=,而要用IS關鍵字。
空 (NULL)
值表示數值未知(在實際意義中,如果使用null,就是代表變數值是未知的,比如手機號碼設為null,說明不知道手機號碼是什麼)。空值不同於空白或零值。沒有兩個相等的空值。比較兩個空值或將空值與任何其它襲悉盯數值相比均返回未知,這是因為每個空值均為未知。
在寫入數據的時候,空字元串也是一個確定的值,所以就算定義了 NOT NULL 也可以被寫入。
Ⅳ 計算機四級資料庫工程師要考什麼需要什麼復習資料
我今年3月剛考過四級資料庫,過了也考過了五月的軟考資料庫工程師,但是我科班的。還有三個月來得及何況現在是暑假這么多時間!需要資料留個郵箱!
四級的教材:四級的官方教材+官方的考題與訓練兩本書+歷年真題(學校圖書館可以借飛思希賽前面兩本是官方在指定教材,後三本是我自己用過的復習資料。(網路文庫裡面有這些書的圖片)
全國計算機等級考試四級教程--資料庫工程師(2011年版).
計算機全真筆試+上機考題解答與訓練四級資料庫工程師
(2011)全國計算機等級考試考點分析、題解與模擬——四級資料庫工程師.
全國計算機等級考試考點分析、題解與模擬——四級資料庫工程師.
(四級資料庫歷年真題)全國計算機等級考試歷年真題必練——四級資料庫工程師.
四級資料庫和軟考的資料庫工程師比,更注重理論,所以你得早點開始復習,如果你沒有基礎,書至少看三遍。第一遍,把書大概看一下,知道哪些地方不懂;第二遍,梳理知識點;第三遍,鞏固知識點,最好將重要的和你不懂的知識點記在筆記本上,考前半個月開始做真題!
真題都有規律可尋的!
計算機等級考試(教育部主辦的)
軟考(由國家人事部和信息產業部領導下的國家級考試)
個人覺得等級考試簡單點,軟考難點但是用人單位更重視點(我面試時候我說過了四級資料庫,人家問我軟考資料庫過了沒,明顯軟考含金量高)
等級考試純理論化(純資料庫知識),四級工程師通過率高
軟考理論(考計算機四大基礎知識數據結構、計算機組成原理、計算機網路、操作系統,還涉及軟體工程、編譯原理、計算機安全、計算機英語等知識)+實際,軟考網路工程師軟體設計師資料庫工程師通過率低,含金量高 )
Ⅵ 資料庫工程師 考試需要看什麼參考書
資料庫系統工程師教程——全國計算機技術與軟體專業技術資格(水平)考試指定用書
本書按照人事部、信息產業部全國計算機技術與軟體專業技術資格考試的要求編寫,內容緊扣《資料庫系統工程師專試大綱》。全書共分16章,分別針對計算機系統知識、數據結構與演算法、操作系統知識、程序語言基礎知識、網路基礎知識、多媒體基礎知識、資料庫技術基礎、關系資料庫、SQL語言、系統開發與運行、資料庫設計、資料庫運行與管理、網路與資料庫、資料庫發展趨勢與新技術、知識產權基礎知識、標准化基礎知識進行了系統講解。
本書內容豐富,語言流暢,層次結構合理,既可供有關考生學習,也可作為培訓教材使用。
Ⅶ 資料庫考試的內容包含哪些內容
一、資料庫考試內容:
(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.資料庫發展趨勢與新技術
(7)資料庫考試資料擴展閱讀:
有些考生在報名軟考中級資料庫系統工程師考試的時候發現沒有這項資格考試,以為資料庫系統工程師考試沒有了,其實並不是這樣的。
資料庫系統工程師每年只有一次考試,通常安排在上半年開考,而下半年是沒有安排資料庫系統工程師考試的。因此,要報名資料庫系統工程師考試的考生要在上半年報名。
由於軟考每年的開考資格安排可能會有所變動,並不是固定在上半年或者下半年考試,因此要報名的考生請關注軟考辦公布的每年的開考資格安排,及時報名
Ⅷ 資料庫試題(求答案)
13.B
14.B
D
4.C
5.B
6.C
8.D
11.A
12.B
13.B
Ⅸ 【資料庫歷年期末考試題】資料庫原理期末考試題
2005-2006(2)資料庫系統原理試題(A)參考答案及評分標准
一、填空題(每空1分,共14分)
1、 數據結構
2、 元組
3、 實體完整性 參照完整性
4、 1NF
5、 數據字典
6、 B R +BR B S B S +BR B S
7、 可串列的
8、 RAID
9、 動態Hash 方法 可擴展Hash 方法
10、 並發控制技術 資料庫恢復技術
二、選擇題(每題1分,共10分)
1、 D 2、A 3、A 4、B 5、C 6、C 7、C 8、C 9、C 10、A
三、簡答題(每題4分,共16分)
1. 可以表示任何關系代數操作的5種基本代數操作是什麼?
答: ⋃ , - , ⨯ , σ , π
註:1個1分,寫對4個即可得4分
2. 關系資料庫中常用的連接操作的實現演算法有哪些?
答:循環嵌套連接演算法(1分)、排序合並連接演算法(1分)、hash 連接演算法(1分)、索引連接演算法(1分)。
3. 簡述B 樹和B+樹的區別。
答:(1)B+樹的葉子節點鏈在一起(2分)。(2)B+樹的內節點不存放數據指針(2分)。
4. 什麼是資料庫事務?什麼是資料庫事務的原子性?
答:一個存取或更改資料庫的程序的運行稱為資料庫事務(2分)。事務中的所有操作要麼全部被成功的完成且這些操作的結果被永久地存儲到資料庫中,要麼這
個事務對資料庫和其它事務沒有任何影響。這種性質稱為事務的原子性(2分)。
四、綜合題(每題12分,共60分)
(一)已知關系S ,P ,J ,SPJ 的關系模式為:
S (SNO ,SN ,CITY )
P (PNO ,PN ,COLOR )
J (JNO ,JN ,CITY )
SPJ (SNO ,JNO ,PNO ,QTY )
其中:SNO 為供應商號,SN 為供應商姓名,CITY 為所在城市;PNO 為零件號,PN 為 零件名稱,COLOR 為顏色;JNO 為工程項目號,JN 為工程項目名稱;QTY 為數量。
1、 試用
∏JN ((∏JNO ,PNO (SPJ )÷ ∏PNO (P ∏JNO ,JN (J ))(4分)
2、試用完成下列查詢:把零件號為P2的零件重量增加5,顏色改為黃色。
UPDATE P
SET WEIGHT=WEIGHT+5,COLOR=』黃色』
WHERE PNO=』P2』; (4分)
3、試用完成下列查詢:取出1個以上供應商提供的零件號。
SELECT PNO
FROM SPJ
GROUP BY PNO
HA VING COUNT (SNO )≥1 (4分)
(二) 設某商業集團資料庫有三個實體集。一是「商店」實體集,屬性有商店編號、商店名、地址等;二是「商品」 實體集,屬性有商品編號、商品名、規格、單價等;三是「供應商」 實體集,屬性有供應商編號、供應商名、地址等。
商店與商品間存在「銷售」聯系,每個商店可銷售多種商品,每個商品也可放在多個商店檔信胡銷售,每個商店行攔銷售一種商品,有月銷售量;供應商與商品間存在著「供應」 聯系,每個供應商供應多種商品,每種商品可以向多個供應商訂購。供應商供應商品給每個商店有月供應量。
(1)試畫出E-R 圖,並在圖上註明屬性。
(2) 將E--R 圖轉換成關系模型,並指明主鍵和外鍵。
(1)E-R 圖如圖所示。
(6分,其中實體2分、聯系2分、屬性2分)
(2)此E--R 圖轉換成的關系模型如下
商店(商店編號,商店名,地址) 主碼為商店編號
供應商(供應商編號,供應商名,地址) 主碼為供應商編號
商品(商品編號,商品名,規格,單價)
銷售(商店編號,商品號,月銷售量)
主碼為(商店編號,商品號),外碼為商店編號和商品號
供應(供應商編號,商店編號,月供應量)
主碼為(供應商編號,商店編號),外碼為供應商編號,商店編號
共6分,由於學生的寫法多樣,教師根據具體情況給分。
(三)1.設關系模式R 其中: U={A, B, C, D, E, P}
F={A→B,C→P,E→A,CE→D}
求出R 的所有候選關鍵字。
解:由計算可知: (CE)的閉包 = {ABCDEP}
而 C 的閉包={CP}
E 的閉包={ABE} (2分)
所以:R 的候選鍵為坦配 : CE 。 (2分)
2.判斷下面的關系模式最高屬於第幾範式) ,並說明理由。
R({A,B,C},{AC→B,AB→C,B→C})
答:是1NF ,(2分) 因為該關系的候選鍵之一為AB, 又因為有B→C,存在部分函數依賴(2分), 所以, 該關系為1NF.
3. 設關系R 具有屬性集合{O, I, S, A, B},函數依賴集合{I->B, IS->A, A->O}。把R 分解成
3NF ,並使其具有無損連接性和函數依賴保持性。
答:{IB,ISA,AO}(4分)
(四) 設文件F 具有10000個記錄,每個記錄50位元組,其中10位元組用來表示文件的鍵值。每個磁碟塊大小1000位元組,指向磁碟塊的指針佔5位元組,不允許記錄跨兩個塊。
(1) 如果為文件F 建立簡單hash 索引,使用100個hash 桶,則桶目錄需要多
少磁碟塊?平均每個桶需要多少磁碟塊?
答:(1)1 (2)10000個記錄/100個桶=100個記錄每桶,(2分)100個記
錄×50位元組每記錄/1000位元組每塊=5塊(2分)
(2) 如果為文件F 建立B +樹索引,各磁碟塊盡量裝滿,需要多少磁碟塊存儲索
引?
答:求秩D :5D+10(D+1) D=67 (2分)
即每個葉節點能保存D-1=66個鍵值。所以葉節點數為⎡10000/66⎤
=152個。(2分)
上一層的內節點同樣有67個指針,是一個67叉的節點,
⎡10000/67⎤=3,⎡3/67⎤=1(2分)
因此B+樹的節點總數為152+3+1=156個。即需要156個磁碟塊
存儲B+樹索引。(2分)
(五) 對於教學資料庫S(S#,SNAME ,AGE ,SEX) ,SC(S#,C#,GRADE) ,C(C#,CNAME ,TEACHER) 。現有一個查詢:檢索至少學習W ANG 老師所授一門課程的男學生學號和姓名。
1. 給出該查詢的關系代數表達式,並畫出該表達式構成的語法樹。
2. 使用啟發式優化演算法對語法樹進行優化,得到優化的語法樹。
解:(1) 關系代數表達式:
∏ S#,SNAME (σS.S#=SC.S#∧SC.C#=C.C#∧S.SEX=』男』 ∧teacher=』wang』(S×SC×C )) (3分)
∏ S#,SNAME
S.S#=SC.S#∧SC.C#=C.C#∧S.SEX=』男』 ∧teacher=』wang』
(3分)
∏ S#,SNAME σSC.C#=C.C#
σteacher=』wang』
∏ S#,C# S.SEX=』男』
s
結果樹(3分) c sc (3分)
Ⅹ 哪位大俠可以提供一些mysql資料庫的題庫,一定要帶答案的!將感激不盡!!
一、不定項選擇題(共40題,每小題2.5分,總分100分)
1. 資料庫管理系統的發展歷經了如下那些模型階段( ACDE )
A. 層次模型 B. 結構模型 C. 關系模型
D. 網狀模型 E.對象模型
2. 關系型資料庫的核心單元是( B )
A. 對象 B. 表
C. 行 D. 列
3. 對於關系型資料庫來說,表之間存在下面那些關系( ABC )
A. 一對一關系 B. 一對多關系
C. 多對多關系 D. 繼承關系
4. 在SQL中,下面對於數據定義語言(DDL)描述正確的是( D )。
A. DDL關心的是資料庫中的數據 B. 完成數據的增、刪、改、查操作
C. 控制對資料庫的訪問 D. 定義資料庫的結構
5. MySQL是一種( C )資料庫管理系統。
A. 層次型 B. 網路型 C. 關系型 D. 對象型
6. SQL中,下列操作有語法錯誤的是( B )
A. AGE IS NOT NULL B. NOT(AGE IS NULL)
C. SNAME=『王五』 D. SNAME=『王%』
7. SQL中,下列關於創建、管理資料庫的操作語句不正確的是( CDE )
A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant
D. Connection Instant E. Delete DATEBASE Instant
8. 在MySQL中,不存在的數據類型是( F )。
A. INT B. TEXT C. DECIMAL
D. VARCHAR E. DATETIME F. VARCHAR2
9. 在MySQL中,下列關於創建資料庫表的描述正確的是( C )。
A. 在創建表時必須設定列的約束
B. 在刪除表的時候通過外鍵約束連接在一起的表會被一同刪除
C. 在創建表時必須設置列類型
D. 通過CREATE TABLE new_t SELECT * FROM old_t復製表的同時,表的約束能夠一起被復制到新表中
10. 根據數據完整性實施的方法,可以將其分為( ACDF )
A. 實體完整性 B. 表完整性 C.域完整性
D. 引用完整性 E. 記錄完整性 F.用戶自定義完整性
11. 下面關於域完整性的方法,不正確的是( A )。
A. 主鍵約束 B. 外鍵約束 C.檢查約束
D. 非空約束 E. 默認值
12. 下面關於創建和管理索引正確的描述是( C )。
A. 創建索引是為了便於全表掃描
B. 索引會加快DELETE、UPDATE和INSERT語句的執行速度
C. 索引被用於快速找到想要的記錄
D. 大量使用索引可以提高資料庫的整體性能
13. 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
14. 有一個關系:學生(學號,姓名,系別),規定學號的值域是8個數字組成的字元串,這一規則屬於( C )
A. 實體完整性約束 B. 參照完整性約束
C. 用戶自定義完整性約束 D. 關鍵字完整性約束
15. 下面SQL是來源於考試成績表t_exam:學號stuId、科目編號subId、成績score,考試日期:ex_date。有以下sql,它表示的意思是:( B )
Select stu_id,subId,count(*) as x
From t_exam
Where ex_date=』2008-08-08』
Group stu_id,subId
Having count(*)>1
Order by x desc
A. 找出』2008-08-08』這天某科考試2次及以上的學生記錄
B. 找出』2008-08-08』這天,某科考試2次及以上的學生記錄,考試次數多的放在前面
C. 找出』2008-08-08』這天,某科考試2次及以上的學生記錄,考試次數少的放在前面
D. 根據學號和學科分組,找出每個人考試科數,最後考試次數多的放在前面
16. EMP表如下所示,下面哪些SQL語句的返回值為3:( BD )
EMP
雇員號 雇員名 部門號 工資
001 張山 022000
010 王宏達01 1200
056 馬林生02 1000
101 趙敏 04
A. select count(*) from emp
B. select count(distinct 部門號) from emp
C. select count(*) from emp group by 雇員號
D. select count(工資) from emp
17. 下面那一項不是SELECT語句對數據的操作:( D )
A. 投影 B. 聯接 C. 並 D. 級聯
18. 下面關於SQL數據查詢操作描述正確的有:( ABD )
A. 投影操作是選擇對表中的哪些列進行查詢操作
B. 使用DISTINCT關鍵字可以過濾查詢中重復的記錄
C. 在模糊查詢中,通配符「%」表示匹配單個字元,而「_」表示匹配零個或多個字元
D. 在MySQL中使用LIMIT關鍵字限制從資料庫中返回記錄的行數
19. 在SQL語言中,條件「BETWEEN 20 AND 30」表示年齡在20到30之間,且( A )。
A. 包括20歲和30歲 B. 不包括20歲和30歲
C. 包括20歲,不包括30歲 D. 不包括20歲,包括30歲
20. SQL語言中,刪除EMP表中全部數據的命令正確的是( C )。
A. delete * from emp B. drop table emp
C. truncate table emp D. 沒有正確答案
21. 有關索引的說法錯誤的是( AD )
A. 索引的目的是為增加數據操作的速度
B. 索引是資料庫內部使用的對象
C. 索引建立得太多,會降低數據增加刪除修改速度
D. 只能為一個欄位建立索引
22. 下列哪個關鍵字在Select語句中表示所有列( A )
A. * B. ALL C. DESC D. DISTINCT
23. 在表中設置外鍵實現的是哪一類數據完整性( B )
A. 實體完整性 B. 引用完整性
C. 用戶定義的完整性 D. 實體完整性、引用完整性和用戶定義的完整性
24. 下面正確表示Employees表中有多少非NULL的Region列的SQL語句是( B )
A. SELECT count(* ) from Employees
B. SELECT count(ALL Region) from Employees
C. SELECT count(Distinct Region) from Employees
D. SELECT sum(ALL Region) from Employees
25. 下面可以通過聚合函數的結果來過濾查詢結果集的SQL子句是( C )
A. WHERE子句 B. GROUP BY子句
C. HAVING 子句 D. ORDER BY子句
26. t_score(stu_id,sub_id,score),即成績表(學號,科目編號,成績)。學生如果某科沒有考試,則該科成績錄入null。能夠獲取各位學生的平均成績的選項是( A )
A. select avg(nvl(socre,0)) from score group by stu_id
B. select stu_id,avg(sorce) from score
C. select stu_id,avg(score) from score
D. select stu_id,sum(score)/count(score) from score
27. 若要求查找S表中,姓名的第一個字為'王'的學生學號和姓名。下面列出的SQL語句中,哪個是正確的( B )
A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′
B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′
C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′
D. 全部
28. 若要求「查詢選修了3門以上課程的學生的學生號」,正確的SQL語句是( B )
A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3
B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*)> 3)
C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*)> 3
D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)>= 3
29. 對下面的查詢語句描述正確的是( D )
Select StudentID,Name,
(select count(*) from StudentExam
where StudentExam.StudentID = Student.StudentID) as ExamsTaken
from Student
order by ExamsTaken desc
A. 從Student表中查找StudentID和Name,並按照升序排列
B. 從Student表中查找StudentID和Name,並按照降序排列
C. 從Student表中查找StudentID、Name和考試次數
D. 從Student表中查找StudentID、Name,並從StudentExam表中查找與StudentID一致的學生考試次數,並按照降序排列
30. 下面題基於學生-課程資料庫中的三個基本表:
學生信息表:s(sno, sname, sex, age, dept) 主鍵為sno
課程信息表:c(cno, cname, teacher) 主鍵為cno
學生選課信息表:sc(sno, cno, grade) 主鍵為(sno, cno)
「從學生選課信息表中找出無成績的學生信息」的SQL語句是( C d )
A.
SELECT * FROM sc WHERE grade=NULL
B.
SELECT * FROM sc WHERE grade IS 『 』
C.
SELECT * FROM sc WHERE grade IS NULL
D.
SELECT * FROM sc WHERE grade =『 』
31. 當子查詢返回多行時,可以採用的解決辦法是( C )。
A. 使用聚合函數 B. Where條件判斷
C. 使用IN運算符 D. 使用Group by進行分組
32. 下面關於在子查詢中使用運算符描述不正確的是( D )。
A. 使用IN運算符用於查找欄位值屬於某一組值的行
B. 使用Exists運算符用於測試子查詢是否返回行,如果返回其值就為真
C. 使用ALL運算符用於測試子查詢結果集的所有行是否滿足指定的條件
D. 使用Any運算符用於測試子查詢結果集中的一行或多行不滿足指定的條件
33. 下面關於組合查詢描述不正確的是( D )。
A. 從一個表中獲取的數據必須和其它表中的數據具有相同的列數
B. 兩個表中相對應的列必須具有相同的數據類型
C. UNION的結果集列名與第一個SELECT語句的結果集中的列名相同
D. UNION的結果集列名與第二個SELECT語句的結果集中的列名相同
E. UNION ALL運算符返回每個數據集的所有成員
34. 下面關於聯接的描述正確的是( A )。
A. 內聯接使用比較運算符根據每個表共有的列值來匹配兩個表中的行
B. 左外聯接結果集包含從右邊的表返回的所有行
C. 右外聯接結果集包含從左邊的表返回的所有行
D. 全外聯接返回左表和右表中的所有匹配的行
35. 下面關於資料庫設計過程正確的順序描述是( C )。
A. 需求收集和分析、邏輯設計、物理設計、概念設計
B. 概念設計、需求收集和分析、邏輯設計、物理設計
C. 需求收集和分析、概念設計、邏輯設計、物理設計
D. 需求收集和分析、概念設計、物理設計、邏輯設計
36. ER圖屬於下面哪一種資料庫設計模型( B )。
A. 物理數據模型
B. 概念數據模型
C. 邏輯數據模型
D. 需求模型
37. 非主鍵必須完全依賴於主鍵列,這屬於下列範式的內容( BC )
A. 1NF B. 2NF C. 3NF D. 都沒有的
38. 如果一個欄位的數據必須來源另一個表的主鍵,那麼要在這個欄位上建立( B )。
A. PK(主鍵) B. FK(外鍵) C. UK(唯一鍵) D. 復合主鍵
39. 根據三個範式的定義,下面哪個選項的設計是正確的( C )
職工編號 姓名 工種 車間 車間主任
1001 李寧 車工 一車間 周傑
1002 王海 銑工 一車間 周傑
1003 趙亮 鉗工 二車間 吳明
1001 李寧 鉗工 二車間 吳明
A. 員工表、工種表、車間表
B. 員工表、工種表、車間表、車間主任表
C. 員工表、工種表、車間表、員工工種表、員工車間表
D. 以上設計均不正確
40. 下列說法中,哪些是正確的( BD )
A. RDBMS是資料庫管理系統的簡稱
B. 各行記錄都不能重復,是第二範式要求的
C. 在資料庫設計中一定要滿足第三範式
D. 索引越多,查詢越快,數據更新越慢