- 數(shù)據(jù)庫程序員面試筆試真題庫
- 李華榮等編著
- 3261字
- 2019-09-16 15:03:23
真題1 某國企銀行數(shù)據(jù)庫工程師筆試題
一、選擇題
1.下列不屬于Oracle的邏輯結(jié)構(gòu)的是( )
A.區(qū)
B.段
C.?dāng)?shù)據(jù)文件
D.表空間
2.下面不是Oracle的用戶的是( )
A.SYSDBA
B.SYSTEM
C.SCOTT
D.SYS
3.下面情況中,會讓普通用戶連接到Oracle數(shù)據(jù)庫,但不能創(chuàng)建表的是( )
A.授予了CONNECT的角色,但沒有授予RESOURCE的角色
B.沒有授予用戶系統(tǒng)管理員的角色
C.?dāng)?shù)據(jù)庫實(shí)例沒有啟動
D.?dāng)?shù)據(jù)庫監(jiān)聽沒有啟動
4.SELECT語句在帶有下列哪個(gè)選項(xiàng)中的子句時(shí)可以在表的一行或多行放置排它鎖( )
A.FOR INSERT
B.FOR UPDATE
C.FOR DELETE
D.FOR REFRESH
5.在Oracle中,可以釋放鎖的命令是( )
A.INSERT
B.DELETE
C.ROLLBACK
D.UNLOCK
6.在Oracle中,當(dāng)以SYSDBA登錄,CUSTOMER表位于MARY用戶方案中,下面語句中,能為數(shù)據(jù)庫中的所有用戶創(chuàng)建CUSTOMER表的同義詞的是( )
A.CREATE PUBLIC SYNONYM CUST ON MARY.CUSTOMER;
B.CREATE PUBLIC SYNONYM CUST FOR MARY.CUSTOMER;
C.CREATE SYNONYM CUST ON MARY.CUSTOMER FOR PUBLIC;
D.不能創(chuàng)建CUSTOMER的公用同義詞。
7.在Oracle中,下列關(guān)于PL/SQL的描述中,正確的是( )
A.PL/SQL代表Power Language/SQL
B.PL/SQL不支持面向?qū)ο缶幊?/p>
C.PL/SQL塊包括聲明部分、可執(zhí)行部分和異常處理部分
D.PL/SQL提供的四種內(nèi)置數(shù)據(jù)類型是CHARACTER、INTEGER、FLOAT、BOOLEAN
8.在Oracle數(shù)據(jù)庫中,下面關(guān)于函數(shù)的描述中,正確的是( )
A.SYSDATE函數(shù)返回Oracle服務(wù)器的日期和時(shí)間
B.ROUND數(shù)字函數(shù)按四舍五入原則返回與指定十進(jìn)制數(shù)最靠近的整數(shù)
C.ADD_MONTHS日期函數(shù)返回指定兩個(gè)月份天數(shù)的和
D.SUBSTR函數(shù)從字符串指定的位置返回剩余的子串
9.閱讀下面的PL/SQL程序塊:

運(yùn)行上面的程序,下面選項(xiàng)中能永久保存到數(shù)據(jù)庫中的更改有( )(多選題)
A.INSERT INTO EMPLOYEE(SALARY,LAST_NAME,FIRST_NAME) VALUES(50000,'LDD', 'FRIK');
B.INSERT INTO EMPLOYEE(SALARY,LAST_NAME,FIRST_NAME) VALUES(32000,'CHUNG', 'MIKE');
C.INSERT INTO EMPLOYEE(SALARY,LAST_NAME,FIRST_NAME) VALUES(35000,'WANG', 'FRED');
D.INSERT INTO EMPLOYEE(SALARY,LAST_NAME,FIRST_NAME) VALUES(40000,'WOO', 'DAVID');
10.在Oracle數(shù)據(jù)庫中,表VENDOR包含以下列:

下面對表VENDOR運(yùn)用分組函數(shù)的子句合法的是( )
A.FROM MAX(ORDER_DT)
B.SELECT SUM(ORDER_DT)
C.SELECT SUM(ORDER_AMOUNT)
D.WHERE GROUP BY ORDER_D
11.下列不適合建立索引的屬性有( )
A.經(jīng)常出現(xiàn)在GROUP BY字句中的屬性
B.經(jīng)常參與連接操作的屬性
C.經(jīng)常出現(xiàn)在WHERE字句中的屬性
D.經(jīng)常需要進(jìn)行更新操作的屬性
12.在SQL Server 2000中,如果希望用戶U1在DB1數(shù)據(jù)庫中具有查詢T1表的權(quán)限,那么正確的授權(quán)語句是( )
A.GRANT SELECT ON DB1(T1) TO U1
B.GRANT SELECT TO U1 ON DB1(T1)
C.GRANT SELECT TO U1 ON T1
D.GRANT SELECT ON T1 TO U1
13.?dāng)?shù)據(jù)模型定義了數(shù)據(jù)庫中數(shù)據(jù)的組織、描述、存儲和操作規(guī)范,可以分為概念模型、數(shù)據(jù)結(jié)構(gòu)模型和物理模型三大類。概念模型的典型代表是( )
A.實(shí)體-聯(lián)系模型
B.關(guān)系模型
C.面向?qū)ο竽P?/p>
D.網(wǎng)狀模型
14.以下關(guān)于查詢語句敘述錯(cuò)誤的是( )
A.查詢語句的功能是從數(shù)據(jù)庫中檢索滿足條件的數(shù)據(jù)
B.查詢的數(shù)據(jù)源可以來自一張表,或多張表甚至是視圖
C.查詢的結(jié)果是由0行或是多行記錄組成的一個(gè)記錄集合
D.不允許選擇多個(gè)字段作為輸出字段
15.關(guān)于視圖的屬性列有如下說法,正確的是( )
A.組成視圖的屬性列名應(yīng)該全部指定
B.組成視圖的屬性列名可以省略一部分或者指定一部分,其他隱含在子查詢中
C.組成視圖的屬性列名或者全部省略或者全部指定,別無選擇
D.組成視圖的屬性列名應(yīng)該全部省略
二、應(yīng)用題
已知有如下4張表:
學(xué)生表:STUDENT(S#,SNAME,SAGE,SSEX)
課程表:COURSE(C#,CNAME,T#)
成績表:SC(S#,C#,SCORE)
教師表:TEACHER(T#,TNAME)
其中,S#代表學(xué)號,SNAME代表學(xué)生姓名,SAGE代表學(xué)生年齡,SSEX代表學(xué)生性別,C#代表課程編號,CNAME代表課程名字,T#代表教師編號,TNAME代表教師名字,SCORE代表成績。
根據(jù)以上信息按照下面要求寫出對應(yīng)的SQL語句。
1.查詢課程編號為“001”的課程比編號為“002”的課程成績高的所有學(xué)生的學(xué)號
2.查詢平均成績大于60分的學(xué)生的學(xué)號和平均成績
3.查詢所有學(xué)生的學(xué)號、姓名、選課數(shù)、總成績
4.查詢姓“李”的老師的個(gè)數(shù)
5.查詢沒學(xué)過“李美玲”老師所教的課程的學(xué)生的學(xué)號和姓名
6.查詢學(xué)過編號為“001”的課程并且也學(xué)過編號為“002”的課程的學(xué)生的學(xué)號和姓名
7.查詢學(xué)過“李多多”老師所教的所有課程的學(xué)生的學(xué)號和姓名
8.查詢課程編號為“002”的總成績
9.查詢所有課程成績小于60分的學(xué)生的學(xué)號和姓名
10.查詢沒有學(xué)全所有課程的學(xué)生的學(xué)號和姓名
11.查詢至少有一門課程與學(xué)號為“1001”的學(xué)生所學(xué)課程相同的學(xué)生的學(xué)號和姓名
12.查詢所學(xué)課程和學(xué)號為“001”的學(xué)生所有課程一樣的其他學(xué)生的學(xué)號和姓名
13.把“SC”表中“李多多”老師教的課程的成績都更改為此課程的平均成績
14.查詢沒有學(xué)習(xí)過“1002”號課程的學(xué)生的學(xué)號和姓名
15.刪除學(xué)習(xí)“李多多”老師所教的課程的SC表記錄
16.向SC表中插入一些記錄,這些記錄要求符合以下條件:沒有上過編號為“003”課程的學(xué)生的學(xué)號、編號為002的課程的平均成績
17.按平均成績從高到低顯示所有學(xué)生的“數(shù)據(jù)庫”“企業(yè)管理”“英語”三門課程的成績,其中數(shù)據(jù)庫的c#為004,企業(yè)管理的c#為001,英語的c#為006,按如下形式顯示:
學(xué)生ID 數(shù)據(jù)庫 企業(yè)管理 英語 有效課程數(shù) 有效平均成績
18.查詢各科成績最高和最低的分?jǐn)?shù),以如下形式顯示:課程ID 最高分 最低分
19.按各科平均成績從低到高和及格率的百分?jǐn)?shù)從高到低排列,以如下形式顯示:
課程號 課程名 平均成績 及格百分?jǐn)?shù)
20.查詢?nèi)缦抡n程平均成績和及格率的百分?jǐn)?shù)(用1行顯示),其中企業(yè)管理為001,馬克思為002, UML為003,數(shù)據(jù)庫為004
21.查詢不同老師所教不同課程平均分從高到低顯示
22.查詢?nèi)缦抡n程成績第3名到第6名的學(xué)生成績單,其中企業(yè)管理為001,馬克思為002,UML為003,數(shù)據(jù)庫為004,以如下形式顯示:
學(xué)生ID 學(xué)生姓名 企業(yè)管理 馬克思 UML 數(shù)據(jù)庫 平均成績
23.使用分段[100-85],[85-70],[70-60],[<60]來統(tǒng)計(jì)各科成績,分別統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù):課程ID和課程名稱
24.查詢學(xué)生平均成績及其名次
25.查詢各科成績前三名的記錄(不考慮成績并列情況)
26.查詢每門課程被選修的學(xué)生數(shù)
27.查詢出只選修了一門課程的全部學(xué)生的學(xué)號和姓名
28.查詢男生和女生人數(shù)
29.查詢姓“張”的學(xué)生名單
30.查詢同名同性別學(xué)生名單并統(tǒng)計(jì)同名人數(shù)
31.1981年出生的學(xué)生名單(注:STUDENT表中SAGE列的類型是DATE)
32.查詢每門課程的平均成績,結(jié)果按平均成績升序排列,平均成績相同時(shí)按課程號降序排列
33.查詢平均成績大于85的所有學(xué)生的學(xué)號、姓名和平均成績
34.查詢課程名稱為“數(shù)據(jù)庫”且分?jǐn)?shù)低于60的學(xué)生姓名和分?jǐn)?shù)
35.查詢所有學(xué)生的選課情況
36.查詢?nèi)魏我婚T課程成績在70分以上的姓名、課程名稱和分?jǐn)?shù)
37.查詢不及格的課程并按課程號從大到小排列
38.查詢課程編號為003且課程成績在80分以上的學(xué)生的學(xué)號和姓名
39.查詢選了課程的學(xué)生人數(shù)
40.查詢選修“李多多”老師所授課程的學(xué)生中成績最高的學(xué)生姓名及其成績
41.查詢各門課程及相應(yīng)的選修人數(shù)
42.查詢有2門不同課程成績相同的學(xué)生的學(xué)號、課程號、學(xué)生成績
43.查詢每門課程成績最好的前兩名
44.查詢每門課程的學(xué)生選修人數(shù),超過10人的課程才統(tǒng)計(jì)。要求輸出課程號和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同按課程號升序排列
45.查詢至少選修兩門課程的學(xué)生學(xué)號
46.查詢?nèi)繉W(xué)生都選修的課程的課程號和課程名
47.查詢沒學(xué)過“李多多”老師講授的任一門課程的學(xué)生姓名
48.查詢兩門以上不及格課程的同學(xué)的學(xué)號及其平均成績
49.檢索課程編號為“004”且分?jǐn)?shù)小于60的學(xué)生學(xué)號,結(jié)果按分?jǐn)?shù)降序排列
50.刪除學(xué)生編號為“002”的,課程編號為“001”的課程的成績
三、設(shè)計(jì)題
有商品表(商品號、商品名、分類、單價(jià)),請編寫一個(gè)實(shí)現(xiàn)更改商品單價(jià)的存儲過程(存儲過程名為PUPDATE),更改規(guī)則如下:“電腦”類商品降價(jià)10%,“電視”類商品降價(jià)6%,“冰箱”類商品降價(jià)3%,其他商品不降價(jià)。以商品的分類作為輸入?yún)?shù),假設(shè)“分類”為字符串類型,長度最多為6個(gè)字符。如果商品表中沒有用戶指定的分類,那么用輸出參數(shù)返回字符串“指定的分類不存在”;如果用戶指定的分類存在,那么用輸出參數(shù)返回字符串“修改已成功”。
四、簡答題
1.?dāng)?shù)據(jù)庫系統(tǒng)的組成與結(jié)構(gòu)有哪些?
2.什么是視圖?視圖的作用是什么?哪一類是可更新視圖?
3.什么是聚簇索引和非聚簇索引?在哪些列上適合創(chuàng)建聚簇索引?
4.在Oracle中,位圖索引是什么?在哪些列上適合創(chuàng)建位圖索引?
5.在Oracle中,哪幾種情況不能用上索引?
6.在Oracle中,行遷移和行連接的區(qū)別有哪些?
7.在Windows下啟動Oracle的數(shù)據(jù)庫的命令和啟動Oracle監(jiān)聽的命令分別是什么?
8.在Oracle中,如何查看登陸到系統(tǒng)用戶的用戶名?
9.Oracle有哪些預(yù)定義角色?
10.在Oracle中,什么是ASMM和AMM?
11.在Oracle中,拋出異常有哪幾種方式?
12.Oracle和MySQL中的分組(GROUP BY)有什么區(qū)別?
13.Oracle和MySQL中的分組(GROUP BY)后的聚合函數(shù)分別是什么?
14.MySQL支持哪幾類分區(qū)表?
- 計(jì)算機(jī)組成原理與接口技術(shù):基于MIPS架構(gòu)實(shí)驗(yàn)教程(第2版)
- 在你身邊為你設(shè)計(jì)Ⅲ:騰訊服務(wù)設(shè)計(jì)思維與實(shí)戰(zhàn)
- 云數(shù)據(jù)中心基礎(chǔ)
- Unity 5.x Game AI Programming Cookbook
- 信息系統(tǒng)與數(shù)據(jù)科學(xué)
- Developing Mobile Games with Moai SDK
- Mastering Ninject for Dependency Injection
- Python金融大數(shù)據(jù)分析(第2版)
- Python廣告數(shù)據(jù)挖掘與分析實(shí)戰(zhàn)
- Lean Mobile App Development
- Mastering Machine Learning with R(Second Edition)
- Spark核心技術(shù)與高級應(yīng)用
- 大數(shù)據(jù)治理與安全:從理論到開源實(shí)踐
- Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)(第3版)
- 達(dá)夢數(shù)據(jù)庫運(yùn)維實(shí)戰(zhàn)