第一篇:數據庫第三章習題參考答案
3-2 對于教務管理數據庫的三個基本表 S(SNO,SNAME, SEX, AGE,SDEPT)SC(SNO,CNO,GRADE)
C(CNO,CNAME,CDEPT,TNAME)試用SQL的查詢語句表達下列查詢:
⑴ 檢索LIU老師所授課程的課程號和課程名。⑵ 檢索年齡大于23歲的男學生的學號和姓名。
⑶ 檢索學號為200915146的學生所學課程的課程名和任課教師名。⑷ 檢索至少選修LIU老師所授課程中一門課程的女學生姓名。⑸ 檢索WANG同學不學的課程的課程號。⑹ 檢索至少選修兩門課程的學生學號。
⑺ 檢索全部學生都選修的課程的課程號與課程名。
⑻ 檢索選修課程包含LIU老師所授課程的學生學號。解:
⑴ SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’;⑵ SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=’M’;⑶ SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND S#=’200915146’ ⑷ SELECT SNAME(連接查詢方式)FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND TEACHER=’LIU’;
或:
SELECT SNAME(嵌套查詢方式)FROM S WHERE SEX=’F’AND S# IN(SELECT S# FROM SC WHERE C# IN(SELECT C# FROM C WHERE TEACHER=’LIU’))或:
SELECT SNAME(存在量詞方式)
SEX=’F’ AND FROM S WHERE SEX=’F’ AND EXISTS(SELECT* FROM SC WHERE SC.S#=S.S# AND EXISTS(SELECT * FROM C WHERE C.C#=SC.C# AND TEACHER=’LIU’))⑸ SELECT C# FROM C WHERE NOT EXISTS(SELECT * FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG));⑹ SELECT DISTINCT X.S# FROM SC AS X,SC AS Y WHERE X.S#=Y.S# AND X.C#!=Y.C#;⑺ SELECT C#.CNAME FROM C WHERE NOT EXISTS(SELECT * FROM S WHERE NOT EXISTS(SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#));⑻ SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTIS(SELECT * FROM C WHERE TEACHER=’LIU’ AND NOT EXISTS(SELECT * FROM SC AS Y WHERE Y.S#=X.S# AND Y.C#=C.C#));3-3 試用SQL查詢語句表達下列對3.2題中教務管理數據庫的三個基本表S、SC、C查詢:
⑴ 統計有學生選修的課程門數。
⑵ 求選修4號課程的學生的平均年齡。
⑶ 求LIU老師所授課程的每門課程的學生平均成績。
⑷ 統計每門課程的學生選修人數(超過10人的課程才統計)。要求輸出課程號和選修人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列。
⑸ 檢索學號比WANG同學大,而年齡比他小的學生姓名。⑹ 檢索姓名以WANG打頭的所有學生的姓名和年齡。⑺ 在SC中檢索成績?yōu)榭罩档膶W生學號和課程號。⑻ 求年齡大于女同學平均年齡的男學生姓名和年齡。⑼ 求年齡大于所有女同學年齡的男學生姓名和年齡。
解:
⑴ SELECT COUNT(DISTINCT C#)FROM SC;⑵ SELECT AVG(AGE)FROM S,SC WHERE S.S#=SC.S# AND C#=’4’AND SEX=’F’;⑶ SELECT C.C#,AVG(GRADE)FROM SC,C WHERE SC.C#=C.C# AND TEACHER=’LIU’;⑷ SELECT C#,COUNT(S#)FROM SC GROUP BY C# HAVING COUNT(*)>10 ORDER BY 2 DESC,1;⑸ SELECT SNAME FROM S WHERE S#>ALL(SELECT S# FROM S WHERE SNAME=’WANG’
AND AGE
3-4 試用SQL更新語句表達對3.2給出的教務管理數據庫中三個基本表S、SC、C進行如下更新操作:
⑴ 往基本表S中插入一個學生元組(‘200912143’,‘張晶’,21)。
⑵ 在基本表S中檢索每一門課程成績都大于等于80分的學生學號、姓名和性別,并把檢索到的值送往另一個已存在的基本表STUDENT(SNO,SNAME,SEX)。⑶ 在基本表SC中刪除尚無成績的選課元組。⑷ 把張成民同學在SC中的選課記錄全部刪去。
⑸ 把選修高等數學課程中不及格的成績全部改為空值。⑹ 把低于總平均成績的女同學成績提高5%。
⑺ 在基本表SC中修改4號課程的成績,若成績小于等于75分時提高5%,若成績大于75分時提高4%(用兩個UPDATE語句實現)。
解:
⑴INSERT INTO S(S#,SNAME,AGE)VALUES(‘200912143’,’張晶’,21);
⑵INSERT INTO STUDENT(SNO,SNAME,SEX)SELECT S#,SNAME,SEX FROM S WHERE S# IN(SELECT S# FROM SC WHERE 80<=ALL(SELECT GRADE FROM SC GROUP BY S#));⑶DELETE FROM SC WHERE GRADE IS NULL;⑷DELETE FROM SC WHERE S# IN(SELECT S# FROM S WHERE SNAME=’張成民’)⑸UPDATE SC SET GRADE=NULL WHERE GRADE<60 AND C# IN(SELECT C# FROM C WHERE CNAME=’高等數學’);⑹UPDATE SC SET GRADE=GRADE*1.05 WHERE S# IN(SELECT S# FROM S WHERE SEX=’F’)
AND GRADE<(SELECT AVG(GRADE)FROM SC);⑺ 用兩個UPDATE語句實現: UPDATE SC SET GRADE=GRADE*1.04
WHERE C#=’4’AND GRADE>75;UPDATE SC SET GRADE=GRADE*1.05 WHERE C#=’4’AND GRADE<=75;
注意:這兩個UPDATE語句的順序不能顛倒。
第二篇:數據庫習題與答案
一.選擇題:
1.日志文件是用于記錄()
A.程序運行過程 B.數據操作 C.對數據的所有更新操作 D.程序執(zhí)行的結果
答案:C(114)2.利用查詢分析器,能()
A.直接執(zhí)行SQL語句
B.提交SQL語句給服務器執(zhí)行 C.作為企業(yè)管理器使用
D.作為服務管理器使用 答案:B(123)
3.不屬于SQL Server系統全局變量的是()
A.@@Error
B.@@Connections
C.@@Fetch_Status
D.@Records
答案:D(131)
4.Transact-SQL對標準SQL的擴展主要表現為()
A.加入了程序控制結構和變量 B.加入了建庫和建表語句 C.提供了分組(Group By)查詢功能 D.提供了Min、Max等統計函數
答案:A(133)
5.下列選項中,查詢中的匯總函數是()
A.CONST B.RETURN C.FETCH D.COUNT 答案:D(134)
6.下列選項中,不是存儲過程的組成部分是()
A.過程聲明 B.過程名 C.參數 D.過程體
答案:A(135)
7.在SQL Server服務器上,存儲過程是一組預先定義并()
A.保存的T-SQL語句 B.編譯的T-SQL語句 C.解釋的T-SQL語句 D.編寫的T-SQL語句
答案:B(135)
8.在ODBC與數據的交換管理中,所涉及的下列選項中不屬于交換管理的是()A.連接管理 B.分配管理 C.游標管理 D.診斷管理
答案:B(138)
9.在下列的選項中,不屬于Web常用的開發(fā)工具的是()
A.ASP B.JSP C.PHP D.Visual BASIC 答案:D(143)
二.填空題
1.連接管理語句主要用于數據交換中主客體間建立實質性關聯的語句,它們由______________、置連接語句與斷開語句三條語句組成。
答案:連接語句
(115)
2.連接管理語句主要用于數據交換中主客體間建立實質性關聯的語句,它們由連接語句、______________與斷開語句三條語句組成。
答案:置連接語句
(115)
3.連接管理語句主要用于數據交換中主客體間建立實質性關聯的語句,它們由連接語句、置連接語句與______________三條語句組成。
答案:斷開語句
(115)
4.診斷管理語句主要用于獲取SQL語句執(zhí)行 的狀態(tài)。
答案:后(117)
5.人機交互方式是人與______________直接交互的方式,它是最原始、最簡單也是最方便的一種方式。
答案:數據庫
(118)
6.自含式SQL構成一種完整的語言,它將傳統的程序設計語言與SQL相結合,其數據同時具有______________與標量形式。
答案:集合量
(130)
7.在Web應用中一般使用典型的三層結構B/S模式,在這個結構中由瀏覽器、______________及數據庫服務器三部分組成。
答案:Web服務器
(143)
8.在Web應用中一般使用典型的三層結構B/S模式,在這個結構中由瀏覽器、Web服務器及______________三部分組成。
答案:數據庫服務器
(143)
三.簡答題
1.請說明游標管理語句的作用和他所設有的4個SQL語句。
答案:(116)游標管理語句主要用于在數據交換中數據庫中的集合量數據與應用程序的標量數據間的轉換。它主要用于SQL的查詢語句中。
在游標管理中一共設有4個SQL語句,它們是:
⑴ 定義游標。為某SELECT語句的結果集合定義一個命名游標
⑵ 打開游標。在游標定義后當使用數據時需打開游標,此時游標處于活動狀態(tài)并指向集合的第一個記錄
⑶ 推進游標。此語句功能是將游標定位于集合中指定的記錄,并從該記錄取值,送入程序變量中
⑷ 關閉游標。游標使用完后需關閉 2.請說明動態(tài)SQL管理語句內容。
第三篇:數據庫習題與答案
一.選擇題:
1.數據模型用來表示實體間的聯系,但不同的數據庫管理系統支持不同的數據模型。在常用的數據模型中,不包括()
A.網狀模型 B.鏈狀模型 C.層次模型 D.關系模型 答案:B(18)
2.E-R圖中的主要元素是實體型、屬性和()
A.記錄型 B.結點 C.聯系 D.有向邊
答案:C(19)3.關系數據模型____。
A.只能表示實體間的1:1聯系 B.只能表示實體間的1:n聯系 C.只能表示實體間的m:n聯系 D.可以表示實體間的上述三種聯系
答案:D(20)
4.數據庫概念設計E-R方法中,用屬性描述實體的特征,實體集在E-R圖中,用下列選項之一表示()
A.矩形 B.四邊形 C.菱形 D.橢圓形
答案:A(22)
5.層次型、網狀型和關系型數據庫劃分原則是()A.記錄長度 B.文件的大小 C.聯系的復雜程度 D.數據之間的聯系
答案:D(24)
6.數據庫技術的奠基人之一E.F.Codd從1970年起發(fā)表過多篇論文,主要論述的是()A.層次數據模型 B.網狀數據模型 C.關系數據模型 D.面向對象數據模型
答案:C(24)
7.按照傳統的數據模型分類,數據庫系統可以分為三種類型()A.大型、中型和小型 B.西文、中文和兼容 C.層次、網狀和關系 D.數據、圖形和多媒體
答案:C(24)
8.在數據庫設計中用關系模型來表示實體和實體之間的聯系。關系模型的結構是()A.二維表結構 B.封裝結構 C.層次結構 D.網狀結構
答案:A(24)
9.一個關系數據庫文件中的各條記錄()
A.前后順序不能任意顛倒,一定要按照輸入的順序排列 B.前后順序可以任意顛倒,不影響庫中的數據關系
C.前后順序可以任意顛倒,但排列順序不同,統計處理的結果就可能不同 D.前后順序不能任意顛倒,一定要按照關鍵字段值的順序排列
答案:B(25)
10.關系數據庫中的關鍵字是指()
A.能惟一決定關系的字段 B.不可改動的專用保留字 C.關鍵的很重要的字段 D.能惟一標識元組的屬性或屬性集合
答案:D(26)
二.填空題
1.根據數據模型的應用目的不同,數據模型分為、邏輯數據模型和物理數據模型。
答案:概念數據模型(18)
2.數據模型按不同的應用層次分成三種類型,它們是概念數據模型、及物理數據模型。
答案:邏輯數據模型
(18)
3.數據模型按不同的應用層次分成三種類型,它們是______________、邏輯數據模型及物理數據模型。
答案:概念數據模型
(18)
4.數據模型按不同的應用層次分成三種類型,它們是概念數據模型、邏輯數據模型
及。
答案:物理數據模型
(18)
5.數據模型所描述的內容有三個部分,它們是______________、數據操縱與數據約束。
答案:數據結構
(18)
6.數據模型所描述的內容有三個部分,它們是數據結構、______________與數據約束。
答案:數據操縱
(18)
7.數據模型所描述的內容有三個部分,它們是數據結構、數據操縱與。
答案:數據約束
(18)
8.數據庫中的數據模型可以將復雜的現實世界要求反映到計算機數據庫中的______________。
答案:物理世界
(19)
9.關系數據庫是采用______________作為數據的組織方式。
答案:關系模型
(24)
10.關系模型統一采用______________形式,它也可簡稱表。
答案:二維表
(25)
11.在一個實體表示的信息中,稱 為關鍵字。
答案:能惟一標識實體的屬性或屬性組
(26)
12.關系模型的數據操縱即是建立在關系上的一些操作,一般有、刪除、插入及修改等四種操作。
答案:查詢
(27)
三.簡答題
1.試區(qū)別數據模型與數據模式。答案:(18)數據模型(data model)是數據管理基本特征的抽象,它是數據庫的核心與基礎。
數據模式主要描述基礎數據的類型、性質以及數據間的關聯,且在數據庫系統中具有統一的結構形式。2.在數據庫的物理模型中有哪幾個層次?請說明之。
答案:(28)
物理模型主要是指,計算機系統的物理存儲介質(特別是磁盤組織),操作系統的文件級以及在它們之上的數據庫中的數據組織三個層次。3.試給出文件系統的組成結構以及它的操作。
答案:(30)⑴ 文件系統的組成:
文件系統是實現數據庫系統的直接物理支持,文件系統的基本結構由項、記錄、文件及文件集合等四個層次組成。
⑵ 文件的操作文件有若干操作,一般的操作有如下五種:
①打開文件
②關閉文件
③讀記錄
④寫記錄
⑤刪除記錄 4.數據庫中有哪些數據分類,請說明之。
答案:(30)存儲于數據庫中的數據除了數據主體外還需要很多相應的輔助信息,它們的整體構成了完整的數據庫數據的全體。
⑴ 數據主體(main data)
⑵ 數據字典(data dictionary)
⑶ 數據間聯系的信息
⑷ 數據存取路徑信息
⑸ 與數據主體有關的其他信息
5.設有一車輛管理系統,其中的數據有:
車輛號碼、名稱、型號;
駕駛員身份證號、姓名、地址、電話; 駕駛證號、發(fā)證單位。
其中車輛、駕駛員及駕駛證間滿足如下條件: 一輛車可以由多個駕駛員駕駛; 每個駕駛員可以駕駛多輛車; 每個駕駛員可以有多個駕駛證; 每個駕駛證只能供一個駕駛員使用。
請設計該數據庫的E-R圖,并給出聯系間的函數關系。車輛號名稱m型號身份證號n姓名地址電話車輛駕駛駕駛員1擁有p駕駛證駕駛證號發(fā)證單位
第四篇:數據庫應用習題及答案
數據庫應用習題及答案
4、在下述關于數據庫系統的敘述中,正確的是()
A.數據庫中只存在數據項之間的聯系 B.數據庫的數據項和記錄之間都存在聯系
C.數據庫的數據項之間無聯系,記錄之間存在聯系 D.數據庫的數據項和記錄之間都不存在聯系 參考答案: B
8、為了合理組織數據,應遵從設計原則是()
A.“一事一地”的原則,即一個表描述一個實體或實體間的一種聯系
B.表中的字段必須是原始數據和基本數據元素,并避免在表之間出現重復字段
C.用外部關鍵字保證有關聯的表之間的聯系
D.以上各條原則都包括
參考答案: D
9、如果要改變一個關系中屬性的排列順序,應使用的關系運算是()
A.重建 B.選取 C.投影 D.連接
參考答案: C A.索引、排序、查找 B.建庫、錄入、排序 C.選擇、投影、聯接 D.顯示、統計、復制 參考答案: C
12、Visual FoxPro關系數據庫管理系統能夠實現的三種基本關系運算是()填空題:
1、在關系數據庫中,二維表的列稱為屬性,二維表的行稱為 [ ]。
參考答案: 元組
3、用二維表的形式來表示實體之間聯系的數據模型叫做_____________
參考答案: 關系模型
4、數據模型不僅表示反映事物本身的數據,而且表示()。
參考答案: 事物之間的聯系
5、信息是有用的()。
參考答案: 數據
6、數據是信息的表現()。
參考答案: 形式
7、一個關系數據庫由若干個()組成;一個數據表由若干個()組成;每一個記錄由若干個以字段屬性加以分類的()組成。
參考答案: 數據表 記錄 數據項
5、關系模型有哪些主要的特點?
學生答案: 數據結構簡單、查詢與處理方便、數據獨立性高、堅實的理論基礎
參考答案: B Visual FoxPro 6.0基礎
單選題:
1、Visual Foxpro中,要顯示或隱藏某個工具欄,應選擇()
A.文件--退出
B.顯示--工具欄
C.顯示--命令窗口
D.工具--選項
參考答案: B
11、Visual Foxpro中,顯示和隱藏命令窗口的操作是在_______菜單中完成的 A.工具 B.顯示 C.編輯 D.窗口
參考答案: D
15、Visual Foxpro 6.0主要界面菜單欄中不包括________菜單項
A.“文件”
B.“項目” C.“程序” D.“窗口” 參考答案: B A.“工具” B.“顯示” C.“窗口” D.“文件”
16、Visual Foxpro中,若要定制工具欄,應選擇________菜單項
參考答案: B
19、以下有關Foxpro工作方式的敘述,正確的是()
A.只有一種工作方式,即命令工作方式
B.有兩種工作方式,即命令方式和程序方式 C.有兩種工作方式,即鍵盤方式和鼠標方式
D.有三種工作方式,即命令方式、程序方式和菜單方式 參考答案: B 20、Foxpro某些類型的文件只有在庫文件打開的情況下才能打開,在庫文件關閉時自動關閉。屬于這一類文件的擴展名的有:
A.IDX、MEM B.FMT、DBT C.PRG、FOX D.IDX、DBT 參考答案: D 填空題:
1、數據庫管理系統的英文全稱是,簡稱是。
參考答案: database management system ,dbms
4、安裝完Visual Foxpro之后,系統自動用一些默認值來設置環(huán)境,要定制自己的系統環(huán)境,應單擊___________菜單下的__________菜單項
參考答案: 工具,選項
6、在全屏幕編輯狀態(tài)下,按_______鍵可保存文件并退出此狀態(tài)。按______鍵或_______鍵放棄存盤退出
參考答案: Ctrl+W,Esc,Ctrl+Q
7、Visual Foxpro 6.0支持兩種工作方式,即_______和________
參考答案: 交互方式,程序執(zhí)行
8、Visual FoxPro 6.0的用戶界面由6部分組成,它們是()、()、()、()、()、()。
參考答案: 標題欄 菜單欄 工具欄 工作區(qū) 狀態(tài)欄 命令窗口
9、常用的Visual FoxPro 6.0有()種向導
參考答案: 18
10、常用的Visual FoxPro 6.0有()種設計器。
參考答案: 10 問答題:
1、試述VFP6.0的啟動與退出
參考答案: 略
2、在VFP6.0中有哪幾種變量。
參考答案: 略
3、VFP有哪幾種工作方式?簡單說明各種方式的特點。
參考答案: 在VF6.0中提供了三種工作方式,即命令方式、菜單方式和程序文件方式。
命令方式的工作特點是:輸入一條操作命令,系統完成一個數據庫操作。菜單方式的工作特點是:通過選擇菜單懸想完成所需的操作。
程序文件方式簡稱程序,其工作特點是:通過程序文件中的命令完成對數據庫的操作和系統環(huán)境的配置。單選題:
6、退出Visual Foxpro的操作方法是()
A.從“文件”下拉菜單中選擇“退出”選項
B.用鼠標左按鈕單擊關閉窗口按鈕
C.在命令窗口中鍵入QUIT命令,然后敲回車鍵
D.以上方法都可以
參考答案: D
8、要啟動Visual Foxpro的向導可以()
A.打開新建對話框
B.單擊工具欄上的“向導”圖標按鈕
C.從“工具”菜單中選擇“向導”
D.以上方法均可以
參考答案: D
9、Visual Foxpro中,顯示和隱藏命令窗口的操作是在_______菜單中完成的 A.工具 B.顯示 C.編輯 D.窗口
參考答案: D
10、關于用戶創(chuàng)建工具欄的如下說法中,哪一個是正確的()
A.只能定制Visual Foxpro系統工具欄,不能自定義工具欄
B.不能定制Visual Foxpro系統工具欄,但可以自定義工具欄
C.既能定制Visual Foxpro系統工具欄,也能自定義工具欄
D.只能使用系統工具欄,不能創(chuàng)建自定義工具欄
參考答案: C
12、Visual Foxpro 6.0主要界面菜單欄中不包括________菜單項
A.“文件”
B.“項目”
C.“程序”
D.“窗口”
參考答案: B
13、Visual Foxpro中,若要定制工具欄,應選擇________菜單項
A.“工具”
B.“顯示”
C.“窗口”
D.“文件”
參考答案: B
14、啟動Visual Foxpro 6.0后,屏幕上出現兩個窗口:一個是Visual Foxpro 6.0的主窗口,另一個是()窗口。
A.文本
B.命令
C.幫助
D.對話框
參考答案: B
15、VFP6.0是一種支持用戶使用菜單、命令、_________三種不同操作方式 的新型數據管理系統
A.循環(huán)
B.備份文件
C.命令文件
D.內存變量
參考答案: C
17、以下有關Foxpro工作方式的敘述,正確的是()
A.只有一種工作方式,即命令工作方式
B.有兩種工作方式,即命令方式和程序方式 C.有兩種工作方式,即鍵盤方式和鼠標方式
D.有三種工作方式,即命令方式、程序方式和菜單方式
參考答案: B
22、將內存變量定義為全局變量的VFP命令是()。
A.GLOBAL
B.PUBLIC
C.PRIVATE
D.LOCAL
參考答案: B
23、一個軟件在安裝之前,不需要了解它的()
A.硬件環(huán)境
B.軟件環(huán)境
C.喬遷環(huán)境
D.用戶
參考答案: D
24、以下方法中()不可以啟動Visual FoxPro 6.0
A.從程序菜單
B.從資源管理器
C.word系統
D.從桌面
參考答案: C 單選題:
12、Visual Foxpro中,控制命令窗口顯示和隱藏的命令在________菜單項中
A.“編輯” B.“工具” C.“窗口” D.“項目”
參考答案: C
13、Visual Foxpro中,若要定制工具欄,應選擇________菜單項
A.“工具”
B.“顯示”
C.“窗口”
D.“文件”
參考答案: B
17、Foxpro某些類型的文件只有在庫文件打開的情況下才能打開,在庫文件關閉時自動關閉。屬于這一類文件的擴展名的有:
A.IDX、MEM
B.FMT、DBT
C.PRG、FOX
D.IDX、DBT
參考答案: D
24、不是Visual FoxPro 6.0可視化編程工具的是()
A.向導
B.生成器
C.設計器
D.程序編輯器
參考答案: D 單選題:
24、不是Visual FoxPro 6.0可視化編程工具的是()
A.向導
B.生成器
C.設計器
D.程序編輯器
參考答案: D 單選題:
18、Foxpro某些類型的文件只有在庫文件打開的情況下才能打開,在庫文件關閉時自動關閉。屬于這一類文件的擴展名的有:
A.IDX、MEM
B.FMT、DBT
C.PRG、FOX
D.IDX、DBT
參考答案: D 項目管理器
1、打開“項目管理器”可以使用的命令是()。
參考答案: A
2、在VFP6.0中,項目的擴展名為_______
A..DBC
B..TAB
C..IDX
D..PJX
參考答案: D
3、項目文件的擴展名是()
參考答案: A
4、項目管理器中“數據”選項卡,可以管理()
參考答案: C
5、項目管理器對資源文件進行管理時,不能完成()等操作。
A.程序 B.查詢 C.數據表 D.內存變量
A..pjx B..dbf C..opr D..dbc
A.MODIFY PROJECT B.CREATE PROJECT C.OPEN PROJECT D.OPEN DATABASE
A.修改
B.復制
C.移去
D.刪除
參考答案: B
6、項目管理器中“文檔”選項卡,可以管理()。
A.數據庫 B.查詢 C.表單 D.內存變量
參考答案: C
7、項目管理器中的“代碼”選項卡,可以管理()。
A.數據庫 B.查詢 C.表單 D.程序
參考答案: D 填空題:
1、在Visual FoxPro中,項目文件的擴展名是 []。
參考答案: PJX或.PJX
2、項目管理器的______選項卡用于顯示和管理數據庫,自由表和查詢等.參考答案: 數據
3、每一個項目只能設一個()文件
參考答案: 主
4、擴展名為.prg的程序文件在“項目管理器”的_____________選項卡中顯示和管理
參考答案: 代碼
5、項目管理器的“移去”按鈕有兩個功能:一是把文件______________,二是__________文件
參考答案: 移出項目,從磁盤上刪除
6、在項目管理器,有()()()()()()等多個選項卡。
參考答案: 全部 數據 文檔 類 代碼 其他
7、在項目管理器中,()方便、快捷地瀏覽數據表。
參考答案: 可以
8、“+”標志是表示某一項目的下面()子項目。
參考答案: 包含 問答題:
1、項目管理器有哪些主要功能?
學生答案: 在使用vfp編制程序時,需要創(chuàng)建各種類型文件,為為提高工作效率,vfp提供了一個非常有效的管理工具:項目管理器。項目管理器是Vfp中處理數據和對象的主要組織工具,建立一個項目文件可以幫助你方便的組織文件和數據。在項目管理器中只需單幾次鼠標,就可以方便地組織相關的文件。可以這樣下定義:項目是文件、數據、文檔及其它Vfp對象的集合,要建立一個項目就必需先創(chuàng)建一個項目文件,項目文件的擴展名為.Pjx.參考答案: 略
2、項目管理器是什么?使用它有什么好處?
學生答案: 項目管理器是Visual FoxPro 6.0用來管理、組織數據和對象的主要工具。它將一些相關的文件、數據、文檔等集合起來,用圖形與分類的方式來管理
單選題:
1、打開“項目管理器”可以使用的命令是()。
A.MODIFY PROJECT
B.CREATE PROJECT
C.OPEN PROJECT
D.OPEN DATABASE
參考答案: A
2、在VFP6.0中,項目的擴展名為_______
A..DBC
B..TAB
C..IDX
D..PJX
參考答案: D
3、項目文件的擴展名是()
A..pjx
B..dbf
C..opr
D..dbc
參考答案: A
4、項目管理器中“數據”選項卡,可以管理()
A.程序
B.查詢
C.數據表
D.內存變量
參考答案: C
5、項目管理器對資源文件進行管理時,不能完成()等操作。
A.修改
B.復制
C.移去
D.刪除
參考答案: B
6、項目管理器中“文檔”選項卡,可以管理()。
A.數據庫
B.查詢
C.表單
D.內存變量
參考答案: C
7、項目管理器中的“代碼”選項卡,可以管理()。
A.數據庫 B.查詢 C.表單 D.程序
參考答案: D
創(chuàng)建數據庫和表
單選題:
1、Visual FoxPro參照完整性規(guī)則不包括()。
參考答案: B
2、Visual Foxpro中,從數據庫中移去表的命令是()
A.REMOVE TABLE
B.REMOVE DATABASE
C.USE
D.DELETE TALBE
參考答案: A
3、Visual Foxpro中,打開名為STUDENTS的數據庫的命令是()
A.USE STUDENTS B.OPEN STUDENTS C.OPEN DATABASE STUDENTS D.USE DATABASE STUDENTS
A.更新規(guī)則 B.查詢規(guī)則 C.刪除規(guī)則 D.插入規(guī)則
參考答案: C
4、用create d命令建立的d文件是一個什么文件()
A.數據庫文件
B.表文件
C.表單文件
D.菜單文件
參考答案: B
5、在Visual FoxPro中,數據庫表和自由表()。
A.字段名最長可達128個字符
B.均擁有4種類型的索引,即主索引、候選索引、唯一索引和普通索引
C.只有數據庫表設置有字段屬性
D.均擁有3種類型的索引,即主索引、候選索引、唯一索引
參考答案: A
6、在不打開“表設計器”的情況下,若要創(chuàng)建一個新表,可以使用的命令是()。
A.CREATE TABLE
B.CREATE
C.ALTER TABLE ADD
D.MODIFY TABLE
參考答案: A
7、在不打開“表設計器”的情況下,若要為表添加新字段,可以使用的命令是()。
參考答案: A
8、在不打開“表設計器”的情況下,若要刪除表中指定字段,可以使用的命令是()。
參考答案: B
9、在Visual FoxPro中,打開數據庫的命令是()。
A.DELETE FILE B.ALTER TABLE DROP C.DROP TABLE D.PACK
A.ALTER TABLE ADD B.ALTER TABLE ALTER C.ALTER TABLE DROP D.ALTER
A.OPEN DATABASE <數據庫名>
B.USE <數據庫名>
C.USE DATABASE <數據庫名>
D.OPEN <數據庫名>
參考答案: A
10、在Visual Foxpro的命令窗口中鍵入CREATE DATA命令后,屏幕會出現一個創(chuàng)建話框,要想完成同樣的工作,還可以采取如下步驟()
A.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“數據庫”單選鈕,再單擊“新建文件“命令按鈕
B.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“數據庫”單選鈕,再單擊“向導“命令按鈕
C.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“表”單選鈕,再單擊“新建文件“命令按鈕
D.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“表”單選鈕,再單擊“向導“命令按鈕
參考答案: A
11、Visual Foxpro中,擴展名為DBC的文件是()
A.表單文件
B.數據庫表文件
C.數據庫存文件
D.項目文件
參考答案: C
12、Visual Foxpro中,一數據庫名為student,要想打開該數據庫,應使用命令()
參考答案: B
13、在VFP中,數據庫表和自由表的字段名最大字符數分別是()
參考答案: B
A.10,10 B.128,10 C.256,128 D.128,128
A.OPEN student B.OPEN DATA student C.USE DATA student D.USE student
14、Visual Foxpro中,打開一個數據庫的命令是()
參考答案: D
15、Visual Foxpro數據庫文件是()
A.存放用戶數據的文件
B.管理數據庫對象的系統文件
C.存放用戶數據和系統數據的文件
D.前三種說法都對
參考答案: B
16、以下關于自由表的敘述,正確的是()
參考答案: C
17、Visual Foxpro參照完整性規(guī)則不包括()
A.更新規(guī)則 B.刪除規(guī)則 C.查詢規(guī)則 D.插入規(guī)則 參考答案: C
A.全部是用以前版本的Foxpro(FoxBASE)建立的表
B.可以用Visual Foxpro建立,但是不能把它添加到數據庫中
C.自由表可以添加到數據庫中,數據庫表也可以從數據庫中移出成為自由表 D.自由表可以添加到數據庫中,但是數據庫表不可以從數據庫中移出成為自由表
A.USE B.USE DATABASE C.OPEN D.OPEN DATABASE
18、對表結構的修改是在下面哪一個對話框中完成的()
A.表設計器
B.數據庫設計器
C.表達式生成器
D.瀏覽窗口
參考答案: A
19、下列關于數據庫表的說法中錯誤的是()
A.可設置長表名,長字段名
B.可設置匹配字段類型到類,字段驗證和記錄驗證,觸發(fā)器
C.可設置主索引和候選索引關鍵字,字段默認值,顯示模式
D.不可用use命令直接打開,必須在數據庫設計器中打開
參考答案: D 20、數據庫文件的擴展名是()
A.DBF
B.DBC
C.DBT D.FPT
參考答案: B
21、若表文件含有備注型或通用型字段,則在打開表文件的同時,自動打開擴展名為_______的文件
A.FRX
B.FMT
C.FRT
D.FPT
參考答案: D
22、關于數據庫表與自由表的轉換,下列說法中正確的是()
A.數據庫表能轉換為自由表,反之不能
B.自由表能轉換成數據庫表,反之不能
C.兩者不能轉換
D.兩者能相互轉換
參考答案: D
23、在VFP6.0中,打開數據庫和表的命令分別為()
A.USE,OPEN
B.SELECT,CREAT
C.OPEN,USE D.CREAT,OPEN
參考答案: C
24、在Visual FoxPro中,打開數據庫的命令是()
A.OPEN DATABASE <數據庫名>
B.USE <數據庫名>
C.USE DATABASE <數據庫名
D.OPEN <數據庫名>
參考答案: A
25、在Foxpro環(huán)境下,可以同時打開的數據庫文件的最多個數是()
A.2
B.10
C.16
D.256
參考答案: B
26、在Foxpro中,僅關閉當前工作區(qū)數據庫文件的命令是
A.CLOSE
B.USE
C.CLEAR
D.CLOSE DATABASE
參考答案: C
27、對數據庫文件進行修改,不需要交互操作的命令是
參考答案: C
28、在數據庫中的數據表間()建立關聯關系。
參考答案: D
29、數據表建立參照完整性后,不能設置數據表間()操作規(guī)則。
參考答案: C 30、在數據庫環(huán)境下限制記錄的操作,要在()中進行。
A.表達式生成器
A.跟新 B.刪除 C.瀏覽 D.插入
A.隨意 B.不可以 C.必須
D.可根據需要
A.EDIT B.CHANGE C.REPLACE D.BROWSE
B.字段選擇器
C.表設計器
D.瀏覽
參考答案: A
多選題:
判斷題: 填空題:
1、建立一個名稱為STUDENTS的數據庫的命令是________。
參考答案: create dababase students
2、Visual Foxpro不允許在主鍵字字段中有重復值或__________________
參考答案: 空值
3、在Visual Foxpro的表之間建立一對多聯系是把____________的主關鍵字字段添加到________________的表中
參考答案: 一方,多方
4、在定義字段有效性規(guī)則時,在規(guī)則框中輸入的表達式類型是______________
參考答案: 邏輯型
5、在數據庫表的表設計器中可以設置3種觸發(fā)器,分別是______,_______和_______。
參考答案: 插入,更新,刪除
6、若要控制只能在每月的8號才能修改表中記錄,則相應的觸發(fā)器表達式為___________
參考答案: day(date())=8
7、在Visual Foxpro6.0中,數據庫文件的擴展名為________,表文件的擴展名為________
參考答案: dbc,dbf
8、在Visual Foxpro 6.0中,表有兩種類型,即________和__________
參考答案: 自由表,數據庫表
9、設置數據表中某異一字段的默認值,要在()環(huán)境下使用表設計器。
參考答案: 數據庫打開的
10、使用字段默認值,可以提高數據的()速度。
參考答案: 輸入 問答題:
1、如何打開表設計器,對表的結構進行修改或顯示。
學生答案: 方法一:點菜單上“文件”——“打開”,會出現“打開”對話框,在對話框下面有個“文件類型”,選擇“表(*.dbf)”,在該對話框上面“查找范圍”選擇表文件所在的文件夾,選擇要打開的表。然后在菜單上“顯示”——“表設計器”。方法二:在命令窗口輸入命令:use 盤符:路徑表文件名 回車 再輸入命令: modify stru 回車
參考答案: 略
2、數據庫中的數據表間有幾種關聯關系?建立這些關聯的依據是什么?
學生答案: 一對一:比如一個學生只有一個學號 一對多:一個老師可以教多個班級 多隊一:多個學生對應同一個老師
多對多:一個學生可以有多個老師,同樣一個老師也可以有多個學生
參考答案: 略
4、Visual Foxpro中,修改表結構的命令是()
A.MODI COMM
B.MODI STRU
C.MODI FORM
D.USE
學生答案: C
參考答案: B
6、在Visual FoxPro中,數據庫表和自由表()。
A.字段名最長可達128個字符
B.均擁有4種類型的索引,即主索引、候選索引、唯一索引和普通索引
C.只有數據庫表設置有字段屬性
D.均擁有3種類型的索引,即主索引、候選索引、唯一索引
學生答案: B
參考答案: A
13、在VFP中,當創(chuàng)建一個數據庫文件時,可選用()
A.數據庫向導
B.數據庫生成器
C.表單設計器
D.應用程序向導
學生答案: C
參考答案: A
17、Visual Foxpro中,要求表文件某數值型字段的整數是4位,小數是2位,其值可能為負數,該字段的寬度應定義為()
A.8位
B.7位
C.6位
D.4位
學生答案: D
參考答案: A
19、下列關于數據庫表的說法中錯誤的是()
A.可設置長表名,長字段名
B.可設置匹配字段類型到類,字段驗證和記錄驗證,觸發(fā)器
C.可設置主索引和候選索引關鍵字,字段默認值,顯示模式
D.不可用use命令直接打開,必須在數據庫設計器中打開
學生答案: B
參考答案: D 20、若要控制數據庫表中學號字段只能輸入數字,則應設置()
A.顯示格式 B.輸入掩碼 C.字段有效性 D.記錄有效性
學生答案: C
參考答案: B
23、在Visual FoxPro中,可以對字段設置默認值的表()。
A.必須是數據庫表
B.必須是自由表
C.自由表或數據庫表
D.不能設置字段的默認值
學生答案: C
參考答案: A
25、在下列幾組文件擴展名中,不一定必須與數據庫同時使用的相應文件是________
A.DBF、FMT B.IDX、MEM C.FMT、DBT D.MEM、PRG 學生答案: C 參考答案: D
26、Foxpro是關系數據庫管理系統,在Foxpro中用以表示關系的是()
A.數據庫字段 B.數據庫記錄 C..idx文件 D..dbf文件 學生答案: B 參考答案: D
27、在Foxpro環(huán)境下,可以同時打開的數據庫文件的最多個數是()
A.2 B.10 C.16 D.256
學生答案: C
參考答案: B 30、一個數據表可以添加到()數據庫中。
A.兩個
B.一個
C.多個
D.隨意個
學生答案: C 單選題:
15、Visual Foxpro數據庫文件是()
A.存放用戶數據的文件
B.管理數據庫對象的系統文件
C.存放用戶數據和系統數據的文件
D.前三種說法都對
學生答案: B
參考答案: B
21、在下列幾組文件擴展名中,不一定必須與數據庫同時使用的相應文件是________
A.DBF、FMT
B.IDX、MEM
C.FMT、DBT
D.MEM、PRG
學生答案: B
參考答案: D
22、在FoxPro中,下列敘述正確的是 ________.A.用SET RELATION命令建立數據庫關聯之前,兩個數據庫都必須索引
B.用JOIN命令連接兩個數據庫之前,這兩個數據庫必須在不同的工作區(qū)打開
C.用APPEND FROM命令向當前數據庫追加記錄之前,這兩個數據庫必須在不同的工作區(qū)打開
D.用UPDATE命令更新數據庫之前,這兩個數據庫都必須索引
學生答案: C
參考答案: A
25、對兩個數據庫文件進行物理連接操作的命令是
A.LINK
B.JOIN
C.SET RELATION
D.RELATION
學生答案: B
參考答案: B
28、數據表建立參照完整性后,不能設置數據表間()操作規(guī)則。
A.跟新 B.刪除 C.瀏覽 D.插入
學生答案: A 參考答案: C
29、在數據庫環(huán)境下限制字段個數的操作,要在()中進行。
A.表達式生成器
B.字段選擇器
C.表設計器
D.瀏覽
學生答案: A
參考答案: B 30、在數據庫環(huán)境下限制記錄的操作,要在()中進行。
A.表達式生成器
B.字段選擇器
C.表設計器
D.瀏覽
學生答案: C
參考答案: A
18、若要控制數據庫表中學號字段只能輸入數字,則應設置()
A.顯示格式
B.輸入掩碼
C.字段有效性
D.記錄有效性
學生答案: C
參考答案: B
21、在Visual FoxPro中,可以對字段設置默認值的表()。
A.必須是數據庫表
B.必須是自由表
C.自由表或數據庫表
D.不能設置字段的默認值
學生答案: D
參考答案: A
29、數據表建立參照完整性后,不能設置數據表間()操作規(guī)則。
A.跟新
B.刪除
C.瀏覽
D.插入
學生答案: C
參考答案: C 30、在數據庫環(huán)境下限制字段個數的操作,要在()中進行。
A.表達式生成器
B.字段選擇器
C.表設計器
D.瀏覽
學生答案: C
參考答案: B
14、若要控制數據庫表中學號字段只能輸入數字,則應設置()
A.顯示格式
B.輸入掩碼
C.字段有效性
D.記錄有效性
學生答案: B
參考答案: B 30、在數據庫環(huán)境下限制記錄的操作,要在()中進行。
A.表達式生成器
B.字段選擇器
C.表設計器
D.瀏覽
學生答案: B
參考答案: A
4、Visual Foxpro中,修改表結構的命令是()
A.MODI COMM
B.MODI STRU
C.MODI FORM
D.USE
學生答案: B
參考答案: B 30、在數據庫環(huán)境下限制記錄的操作,要在()中進行。
A.表達式生成器
B.字段選擇器
C.表設計器
D.瀏覽
學生答案: C
參考答案: A
問答題:
1、如何打開表設計器,對表的結構進行修改或顯示。
學生答案: 打開設計器 使用命令:MODIFY YALE<表名> 表格結構的顯示:LIST STRUCTURE 表結構的修改;MODIFY STROCTURE 顯示和修改也可用菜單方式“顯示”的“表設計器”打開窗口進行修改
參考答案: 略
2、數據庫中的數據表間有幾種關聯關系?建立這些關聯的依據是什么?
學生答案: 選擇,投影,連接3種
選擇是從行的角度進行運算,選擇條件是邏輯表達方式的形式,為真的元組被選取 投影是從列的角度進行運算,可以得到新的運算,包括屬性比原關系少或順序不同 連接時將其2個關系模式的若干屬性拼接成一個新的關系模式的操作。而連接條件是出現2個表中的公共屬性名或具有相同語義、參考答案: 略
表的基本操作
1、Visual Foxpro中,要為當前表所有職工增加100元工資應該使用命令()。
A.CHANGE 工資 WITH 工資+100
B.REPLACE 工資 WITH 工資+100
C.CHANGE ALL 工資 WITH 工資+100
D.REPLACE ALL 工資 WITH 工資+100
學生答案: D
參考答案: D
2、在Visual FoxProk中,表()。
A.以兩種形態(tài)出現,即數據庫表和自由表 B.必須依附于一個指定的數據庫
C.由于需要依附于數據庫,因此它不是一個獨立的文件 D.學生答案: A
參考答案: A
3、可以使用()命令修改表結構。
A.MODIFY STRUCTURE B.LIST STRUCTURE C.COPY STRUCTURE D.DELETE
學生答案: B
參考答案: A
4、假設當前工作區(qū)是第1工作區(qū),并且已在該工作區(qū)打開了Student表。如果要在第三工作區(qū)再次打開Student表,應使用的命令是()。
A.USE Student
B.USE Student AGAIN
C.USE Student AGAIN IN 3
D.USE Student IN 3
學生答案: C
參考答案: C
5、在不進入全屏幕編輯狀態(tài)下為表添加一條空白記錄,應使用的命令是()。
A.APPEND
B.APPEND BLANK
C.BROWSE
D.LIST
學生答案: B
參考答案: B
6、VISUAL FOXPRO中,若要顯示當前記錄,應使用的命令是():
A.LIST B.DISPLAY C.EDIT D.DELETE
學生答案: C
參考答案: B
7、VISUAL FOXPRO中,參照完整性的規(guī)則不包括()
A.更新規(guī)則 B.刪除規(guī)則 C.插入規(guī)則 D.檢索規(guī)則
學生答案: B
參考答案: D
8、要為當前表所有職工增加100元工資,應該使用命令
A.CHANGE 工資 WITH 工資+100 B.REPLACE 工資 WITH 工資+100 C.CHANGE ALL 工資 WITH 工資+100 D.REPLACE ALL 工資 WITH 工資+100
學生答案: D
參考答案: D
9、下列命令中,僅拷貝表文件結構的命令是()
A.COPY TO
B.COPY STRUCTURE TO
C.COPY FILE TO
D.COPY STRUCTURE TO EXETENDED
學生答案: C
參考答案: B
10、如果要給當前表增加一個字段,應使用的命令是()
A.APPEND B.MODIFY STRUCTURE C.INSERT D.EDIT
學生答案: A
參考答案: B
11、在Visual Foxpro環(huán)境下,若已打開A.DBF表文件,統計該表中的記錄數,使用的命令是()
A.TOTAL
B.COUNT
C.SUM
D.AVERAGE
學生答案: C
參考答案: B
12、當前表中,“體育達標”字段為邏輯類型,要顯示所有未達標的記錄應使用命令()
A.list for 體育達標=“.f.” B.list for 體育達標<>.f.C.list for not 體育達標 D.list for 體育達標=f
學生答案: D
參考答案: C
13、使用replace命令時,如果范圍短語為ALL或REST,則執(zhí)行該命令后記錄指針指向()
A.末記錄
B.首記錄
C.末記錄的后面
D.首記錄的前面
學生答案: A
參考答案: C
14、要從某表文件中真正刪除一條記錄,應當()
A.直接用ZAP命令
B.先用DELETE命令,再用ZAP命令
C.先用DELETE命令,再用PACK命令
D.直接用DELETE命令
學生答案: D
參考答案: C
15、Visual Foxpro中,在瀏覽窗口中,不能將一條記錄邏輯刪除的操作是()
A.將光標定位于該記錄,按Ctrl+T鍵
B.將光標定位于該記錄,按Delete鍵
C.將光標定位于該記錄,單擊表菜單中的“切換刪除標志”選項
D.單擊該記錄前的白色小方塊,使其變黑
學生答案: D
參考答案: B
16、顯示表中所有教授和副教授記錄的命令是()
A.list for 職稱=“教授” and 職稱=“副教授”
B.list for 職稱>=“副教授”
C.list for 職稱=“教授” or “副教授”
D.list for “教授”$職稱
學生答案: A
參考答案: D
17、數據表中共有100條記錄,當前記錄為第10條,執(zhí)行l(wèi)ist next 5以后,當前記錄為()
A.10
B.14
C.15
D.EOF
學生答案: C
參考答案: B
18、在瀏覽窗口打開的情況下,若要向當前表中連續(xù)添加多條記錄應使用()
A.“顯示”菜單中的“追加方式” B.“表”菜單中的“追加新記錄” C.“表”菜單中的“追加記錄” D.快捷鍵Ctrl+Y
學生答案: C
參考答案: A
19、表中相對移動記錄指針和絕對移動記錄指針的命令分別為()
A.Locate和Skip B.Locate和Go C.Skip和Go D.Locate和Find
學生答案: C
參考答案: C 20、Delete的作用是()
A.將記錄從表中徹底刪除
B.只給要刪除的記錄做刪除標志 C.不能刪除記錄
D.刪除整個表中的記錄
學生答案: D
參考答案: B
21、命令中<范圍>子句,使用______可以對表文件從當前記錄開始至最后一個記錄進行操作
A.ALL
B.NEXT n
C.RECORD n
D.REST
學生答案: A
參考答案: D
22、可以在BROWSE瀏覽窗口中,按CTRL+T鍵實現__________操作
A.邏輯刪除記錄和物理刪除記錄 B.邏輯恢復記錄和物理恢復記錄 C.邏輯刪除記錄和邏輯恢復記錄 D.物理刪除記錄和物理恢復記錄
學生答案: A
參考答案: C
23、在表的操作中,DELE命令的作用是()
A.將記錄從表中徹底刪除 B.給要刪除的記錄做刪除標記 C.不能刪除記錄
D.刪除整個表中的記錄
學生答案: A
參考答案: B
24、要想對一個打開的數據庫增加新字段,應當使用命令 ___________.A.APPEND
B.MODIFY STRUCTURE
C.INSERT
D.CHANGE
學生答案: A
參考答案: B
25、當前數據庫中有基本工資、獎金、津貼和工資總額字段,都是N型。要將職工的所有收入匯總后寫入工資總額字段中,應當使用命令 __________.A.REPLACE ALL工資總額 WITH 基本工資+獎金+津貼
B.TOTAL ON 工資總額 FIELDS 基本工資,獎金,津貼
C.REPLACE 工資總額 WITH 基本工資+獎金+津貼
D.SUM基本工資+獎金+津貼TO 工資總額
學生答案: C
參考答案: D
26、在Foxpro中執(zhí)行LIST 命令,要想在屏幕和打印機上同時輸出,應使用命令
A.LIST ON PRINT B.LIST TO PRINT C.PRINT LIST D.LIST PRINT ON
學生答案: D
參考答案: B
27、在Foxpro中,可以使用FOUND()函數來檢測查詢是否成功的命令包括
A.LIST、FIND、SEEK B.FIND、SEEK、LOCATE C.FIND、DISPLAY、SEEK D.LIST、SEEK、LOCATE
學生答案: C
參考答案: B
28、在下面Foxpro命令中,不能修改數據記錄的命令是()
A.BROWSE B.EDIT C.CHANGE D.MODIFY
學生答案: D
參考答案: D
29、在FOXpro中,命令CLOSE ALL與CLEAR ALL 相比,CLEAR ALL作用是()
A.關閉所有文件,不釋放內存變量
B.關閉所有文件,釋放內存變量
C.不關閉文件,釋放內存變量
D.不關閉文件,不釋放內存變量
學生答案: A
參考答案: B 30、在Foxpro的庫文件中,字段的數據類型可以是字符型、數字型、邏輯型、日期型和()
A.整數型
B.浮點數型
C.備注型
D.時間型
學生答案: B
參考答案: D
31、要在當前庫文件的當前記錄之后插入一條新記錄,應該使用命令()A.APPEND
B.EDIT
C.CHANGE
D.INSERT
學生答案: C
參考答案: D
32、與命令LIST FIELDS 姓名,性別,出生日期 不等效的命令是()
A.LIST 姓名,性別,出生日期
B.LIST ALL FIELDS 姓名,性別,出生日期
C.DISPLAY FIELDS 姓名,性別,出生日期
D.DISPLAY ALL 姓名,性別,出生日期
學生答案: C
參考答案: C
33、以下各種說法中,正確的是()
A.DELETE ALL、ZAP和PACK 的功能各不相同 B.ZAP 和PACK的功能相同
C.DELETE ALL 和ZAP的功能相同 D.DELETE ALL 和 PACK的功能相同
學生答案: A
參考答案: A
34、數據表中的數據暫時不想使用,為提高數據表的使用效率,對這些“數據”最好要進行()
A.邏輯刪除
B.物理刪除
C.不加處理
D.數據過濾器
學生答案: D
參考答案: A
35、數據表中有30個記錄,如果當前記錄為第3條記錄,執(zhí)行skip+2命令,測試當前記錄號函數recno()的值是()。
A.3
B.2
C.5
D.4
學生答案: C
參考答案: C
36、數據表中有30個記錄,如果當前記錄為第30條記錄,把記錄指針移到第一個記錄,測試當前記錄號函數recno()的值是()
A.29
B.30
C.1
D.0
學生答案: A
參考答案: C
37、對數據表的結構進行操作,通常是在()環(huán)境下完成的。
A.表設計器 B.表向導 C.表瀏覽器 D.表編輯器
學生答案: A
參考答案: A
38、修改數據表中的數據是在()環(huán)境下完成的
A.表設計器
B.表向導
C.表瀏覽器
D.表單設計器
學生答案: A
參考答案: C
39、每一個數據工作區(qū)上只能打開()數據表
A.1個 B.2個 C.10個 D.任意個
學生答案: D
參考答案: A 40、在當前工作區(qū)可以訪問其它工作區(qū)表中的()
A.數據表結構 B.數據表 C.數據庫 D.數據
學生答案: B
參考答案: D
填空題:
1、表文件擴展名為______。
學生答案: dbf
參考答案:.dbf
2、建立一個名稱為STUDENT1的自由表的命令是_______。
學生答案: CREATE STUDENT
參考答案: create student1
3、對表中記錄邏輯刪除的命令是________,恢復表中所有被邏輯刪除記錄的命令是 ____________,將所有被邏輯刪除記錄物理刪除的命令是_________
學生答案: DELETE RECALL FOR PACK
參考答案: delete,recall all,pack
4、學生檔案表已打開,共有100條記錄,當前記錄為23,執(zhí)行l(wèi)ist rest后,?recn()的值是______,?recc()的值是_____,?eof()的值是________
學生答案: 77 23 100
參考答案: 101,100,.T.5、在使用locate命令查詢以后,可以用____________來檢測是否找到
學生答案: found
參考答案: found()
6、數據表中有“數學(N,5,1)”“英語(N,5,1)”“電子(N,5,1)”“總分(N,5,1)”,該表中現有多條記錄,但“總分”沒有輸入,只要在命令窗口中輸入___________________命令,就能填上這個字段的值
學生答案: append
參考答案: repl all 總分 with 數學+英語+電子
7、假設圖書數據庫已經打開,數據庫中有書名字段,并且已經按書名進行了索引。現在要使用索引查詢將記錄指針定位在書名為“FoxPro+”的第一條記錄上,應該使用的命令是 [ ]。
學生答案: go
參考答案: FIND FoxPro+
8、定義表結構時,要定義表中有多少個字段,同時還要定義每一個字段的()、()、()等。
學生答案: 字段名,字段類型,字段寬帶
參考答案: 字段名 字段類型 字段寬度
9、向表中輸入數據,可以采用()、()兩種格式。
學生答案: 瀏覽,編輯
參考答案: 瀏覽 編輯
10、數據表是由()和()兩部分組成。
學生答案: 表結構 記錄
參考答案: 結構 數據 問答題:
1、在VFP中,對表記錄的操作命令中,邏輯刪除記錄和物理刪除記錄的命令分別是什么?它們有什么區(qū)別?
參考答案: 要點:
邏輯刪除記錄的命令是Delete,物理刪除記錄的命令是Pack。
區(qū)別:邏輯刪除記錄只是在記錄上做一個刪除標記,并不真正刪除記錄,需要時還可恢復。而物理刪除記錄是把做了刪除標記的記錄從表中徹底刪除,不可再恢復。
2、簡述VF中用菜單方式建立一個STUDENT表,通過編輯窗口追加方式向表中添加學生記錄與瀏覽顯示結果的操作步驟。
參考答案: 要點:
建表:文件-新建-新建文件-輸入表名STUDENT-在表設計器窗體定義字段、類型-確定。
追加方式輸入學生記錄:
打開STUDENT表-顯示-瀏覽―編輯―顯示-追加方式-輸入學生記錄-關閉。瀏覽結果:
文件-打開表-顯示-瀏覽。
3、索引的類型有哪幾種?各自有何特征?
參考答案: 要點:
索引有四種:主索引、候選索引、普通索引、唯一索引
主索引要求每一個記錄的索引表達式的值是唯一的,在一個數據庫表中只能有一個主索引。候選索引與主索引一樣要求每一個記錄的索引表達式的值是唯一的,在一個數據表中可以有多個候選索引。
普通索引允許索引表達式的值出現重復值,而唯一索引如果表中記錄的索引表達式的值相同,則只存儲第一個索引表達式的值。程序設計題:
1、Visual Foxpro中,要為當前表所有職工增加100元工資應該使用命令()。
A.CHANGE 工資 WITH 工資+100 B.REPLACE 工資 WITH 工資+100 C.CHANGE ALL 工資 WITH 工資+100 D.REPLACE ALL 工資 WITH 工資+100
學生答案: C
參考答案: D
2、在VFP中,建完表結構未輸入任何數據之前,備注型字段上顯示的是()
A.Memo
B.memo
C.MEMO
D.gen
學生答案: C
參考答案: B
3、在Visual FoxProk中,表()。
A.以兩種形態(tài)出現,即數據庫表和自由表 B.必須依附于一個指定的數據庫
C.由于需要依附于數據庫,因此它不是一個獨立的文件 D.學生答案: C
參考答案: A
4、可以使用()命令修改表結構。
A.MODIFY STRUCTURE
B.LIST STRUCTURE
C.COPY STRUCTURE
D.DELETE
學生答案: C
參考答案: A
5、假設當前工作區(qū)是第1工作區(qū),并且已在該工作區(qū)打開了Student表。如果要在第三工作區(qū)再次打開Student表,應使用的命令是()。
A.USE Student B.USE Student AGAIN C.USE Student AGAIN IN 3 D.USE Student IN 3
學生答案: C
參考答案: C
6、在不進入全屏幕編輯狀態(tài)下為表添加一條空白記錄,應使用的命令是()。
A.APPEND
B.APPEND BLANK
C.BROWSE
D.LIST
學生答案: C
參考答案: B
7、VISUAL FOXPRO中,若要顯示當前記錄,應使用的命令是():
A.LIST B.DISPLAY C.EDIT D.DELETE
學生答案: C
參考答案: B
8、在 Visual FoxPro 中,SELECT 0命令將選擇()。
A.第0工作區(qū) B.當前工作區(qū)
C.當前未用的最小工作區(qū) D.下一工作區(qū)
學生答案: C
參考答案: C
9、在執(zhí)行如下命令時,Subject 表將在()打開。SELECT 1 USE Student SELECT 3 USE Score SELECT 0 USE Subject
A.第0工作區(qū)
B.第1工作區(qū)
C.第2工作區(qū)
D.第3工作區(qū)
學生答案: B
參考答案: C
10、VISUAL FOXPRO中,參照完整性的規(guī)則不包括()
A.更新規(guī)則
B.刪除規(guī)則
C.插入規(guī)則
D.檢索規(guī)則
參考答案: D
11、要為當前表所有職工增加100元工資,應該使用命令
A.CHANGE 工資 WITH 工資+100
B.REPLACE 工資 WITH 工資+100
C.CHANGE ALL 工資 WITH 工資+100
D.REPLACE ALL 工資 WITH 工資+100
學生答案: C
參考答案: D
12、下列命令中,僅拷貝表文件結構的命令是()
A.COPY TO B.COPY STRUCTURE TO C.COPY FILE TO D.COPY STRUCTURE TO EXETENDED
學生答案: C
參考答案: B
13、如果要給當前表增加一個字段,應使用的命令是()
A.APPEND B.MODIFY STRUCTURE C.INSERT D.EDIT
學生答案: C
參考答案: B
15、當前表中,“體育達標”字段為邏輯類型,要顯示所有未達標的記錄應使用命令()
A.list for 體育達標=“.f.” B.list for 體育達標<>.f.C.list for not 體育達標 D.list for 體育達標=f
學生答案: C
參考答案: C
16、在顯示下拉菜單中,單擊“追加方式”選項,將在當前表()
A.中插入一個空記錄
B.中插入一個空記錄
C.中進入追加狀態(tài)
D.上彈出追加對話框
學生答案: C
參考答案: C
17、Visual Foxpro中,在瀏覽窗口中,不能將一條記錄邏輯刪除的操作是()
A.將光標定位于該記錄,按Ctrl+T鍵 B.將光標定位于該記錄,按Delete鍵
C.將光標定位于該記錄,單擊表菜單中的“切換刪除標志”選項 D.單擊該記錄前的白色小方塊,使其變黑
學生答案: C
參考答案: B
18、在向數據庫添加表的操作中,下列敘述中不正確的是()
A.可以將一張“獨立的”表添加到數據庫中
B.可以將一個已屬于一個數據庫的表添加到另一個數據庫中 C.可以在數據庫設計器中新建個表使其成為數據庫表
D.欲使一個數據庫表成為另外一個數據庫的表,則必須先使它成為自由表
學生答案: C
參考答案: B
19、在下列命令中,不具有修改記錄功能的是()
A.edit B.replace C.browse D.modi stru
學生答案: C
參考答案: D 20、表中相對移動記錄指針和絕對移動記錄指針的命令分別為()
A.Locate和Skip
B.Locate和Go
C.Skip和Go
D.Locate和Find
學生答案: C
參考答案: C
22、命令中<范圍>子句,使用______可以對表文件從當前記錄開始至最后一個記錄進行操作
A.ALL
B.NEXT n
C.RECORD n
D.REST
學生答案: C
參考答案: D
23、可以在BROWSE瀏覽窗口中,按CTRL+T鍵實現__________操作
A.邏輯刪除記錄和物理刪除記錄 B.邏輯恢復記錄和物理恢復記錄 C.邏輯刪除記錄和邏輯恢復記錄 D.物理刪除記錄和物理恢復記錄
學生答案: C
參考答案: C
26、在Foxpro中,可以使用FOUND()函數來檢測查詢是否成功的命令包括
A.LIST、FIND、SEEK B.FIND、SEEK、LOCATE C.FIND、DISPLAY、SEEK D.LIST、SEEK、LOCATE
學生答案: C
參考答案: B
28、若用MODIFY STRUCTURE命令把數據文件中“摘要”字段的寬度由40改為30,而且不做其它修改,則“摘要”字段的數據()
A.只保留了前30個字符
B.仍保持40個字符
C.凡字段值超過30個字符的整個字段被刪空
D.全部丟失
學生答案: C
參考答案: A 30、要在當前庫文件的當前記錄之后插入一條新記錄,應該使用命令()
A.APPEND
B.EDIT
C.CHANGE
D.INSERT
參考答案: D
31、MODIFY STRUCTURE命令的功能是()
A.修改字段的類型
B.增加新的字段
C.修改字段的名稱
D.修改庫文件的結構
參考答案: D
32、與命令LIST FIELDS 姓名,性別,出生日期 不等效的命令是()
A.LIST 姓名,性別,出生日期
B.LIST ALL FIELDS 姓名,性別,出生日期
C.DISPLAY FIELDS 姓名,性別,出生日期
D.DISPLAY ALL 姓名,性別,出生日期
學生答案: C
參考答案: C
34、設當前數據庫文件有一個類型為N 的age字段,執(zhí)行命令ZAP FOR age=20的結果是()
A.邏輯刪除age字段值為20的記錄 B.物理刪除age字段值為20的記錄 C.物理刪除全部記錄 D.語法錯誤提示信息
學生答案: C
參考答案: C
35、設庫文件STUDENT.DBF中有10條記錄,相繼執(zhí)行如下兩條命令: USE student INSERT BLANK 其結果是在student文件的
A.第一條記錄的位置插入了一個空白記錄
B.第二條記錄的位置插入了一個空白記錄
C.文件尾插入了一個空白記錄
D.不確定位置插入了一個空白記錄
學生答案: D
參考答案: B
36、數據表中有30個記錄,如果當前記錄為第一條記錄,把記錄指針移到最后一個,測試當前記錄號函數recno()的值是()
A.31
B.30
C.29
D.28
學生答案: C
參考答案: B
37、數據表中有30個記錄,如果當前記錄為第30條記錄,把記錄指針移到第一個記錄,測試當前記錄號函數recno()的值是()
A.29
B.30
C.1
D.0
學生答案: C
參考答案: C
7、在 Visual FoxPro 中,SELECT 0命令將選擇()。
A.第0工作區(qū)
B.當前工作區(qū)
C.當前未用的最小工作區(qū)
D.下一工作區(qū)
學生答案: C
參考答案: C
14、使用replace命令時,如果范圍短語為ALL或REST,則執(zhí)行該命令后記錄指針指向()
A.末記錄
B.首記錄
C.末記錄的后面
D.首記錄的前面
學生答案: D
參考答案: C
15、要從某表文件中真正刪除一條記錄,應當()
A.直接用ZAP命令
B.先用DELETE命令,再用ZAP命令
C.先用DELETE命令,再用PACK命令
D.直接用DELETE命令
學生答案: C
參考答案: C
23、命令中<范圍>子句,使用______可以對表文件從當前記錄開始至最后一個記錄進行操作
A.ALL
B.NEXT n
C.RECORD n
D.REST
學生答案: D
參考答案: D
24、表文件有20條記錄,當前記錄號為10,執(zhí)行命令LIST NEXT 5以后,所顯示記錄的序號是()
A.11--15
B.11--16
C.10--15
D.10--14
學生答案: D 參考答案: D 程序設計題:
32、下列操作中,不能用MODIFY STRUCTURE 命令實現的是()
A.為數據庫增加字段
B.刪除數據庫中的某些字段
C.對數據庫的字段名進行修改
D.對記錄數據進行修改
學生答案: B 參考答案: B 索引與排序
1、可以伴隨著表的打開而自動打開的索引是()。
A.單一索引文件(IDX)
B.復合索引文件(CDX)
C.結構化復合索引文件
D.非結構化復合索引文件
學生答案: C
參考答案: C
2、在數據庫設計器中,建立兩個表之間的一對多聯系是通過以下索引實現的()
A.“一方”表的主索引或候選索引,“多方”表的普通索引
B.“一方”表的主索引,“多方”表的普通索引或候選索引
C.“一方”表的普通索引,“多方”表的主索引或候選索引
D.“一方”表的普通索引,“多方”表的候選索引或普通索引
學生答案: C
參考答案: A
3、若要打開已建立好的索引文件,應使用的命令是()。
A.SET INDEX TO
B.SET ORDER TO
C.INDEX ON D.OPEN INDEX TO。
參考答案: A
4、不允許記錄中出現重復索引值的索引是 _______。
A.主索引
B.主索引、候選索引、普遍索引 C.主索引和候選索引
D.主索引、候選索引和唯一索引
學生答案: B
參考答案: C
5、下面有關索引的的描述正確的是()
A.建立索引以后,原來的數據庫表文件中的記錄的物理順序將被改變
B.索引與數據庫表的數據存儲在一個文件中
C.創(chuàng)建索引是創(chuàng)建一個指向數據庫表文件記錄的指針構成的文件
D.使用索引并不能加快對表的查詢操作
參考答案: C
6、VFP中,主索引可在_____中建立
A.自由表 B.數據庫表 C.任何表
D.自由表和視圖 參考答案: B A.SORT B.UPDATE C.INDEX D.JOIN
7、對表文件建立索引,可使用命令()
學生答案: D
參考答案: C
8、主索引字段_______
A.不能出現重復值或空值
B.能出現重復值
C.能出現空值
D.不能出現重復值,但能出現空值
學生答案: D
參考答案: A
9、在表中建立索引,使用的命令為()
A.SORT
B.UPDATE
C.INDEX
D.JOIN
學生答案: B
參考答案: C
12、建立兩個數據庫關聯,要求()
A.兩個數據庫都必須排序 B.關聯的數據庫必須排序 C.兩個數據庫都必須索引 D.被關聯的數據庫必須索引
學生答案: B
參考答案: D
13、對于一個數據庫文件,可以同時打開的索引文件的個數為()
A.5
B.6
C.7
D.8
學生答案: C
參考答案: C
14、在以下關于索引的敘述中,完全正確的是()
A.索引不僅能提高查詢的速度,還能提高更新的速度
B.索引提高了查詢的速度,但一般會降低更新的速度
C.索引字段不能更新
D.索引字段可以更新,但是必須在更新前關閉索引
學生答案: A
參考答案: B
15、在同一個數據表中不能依照()建立索引
A.一個字段 B.多個字段 C.表達式 D.備注型字段
學生答案: C
參考答案: D
16、索引字段值不唯一,應該選擇的索引類型為()
A.主索引 B.普通索引 C.候選索引 D.任意一種
學生答案: D
參考答案: B
17、若數據庫表索引字段值是唯一值時,最好選擇的索引類型為()
A.主索引 B.普通索引 C.任意一種 D.唯一索引
學生答案: A
參考答案: A
18、已知某一數據庫中有兩個數據表,它們的索引關鍵字是一一對應的關系、這兩個表若想建立關聯,應該建立()關系。
A.一對一
B.一對多
C.多對一
D.多對多
學生答案: C
參考答案: A
19、當主數據表的索引字段的類型是主索引,子數據表的索引字段的類型是候選索引時,兩個數據表間的關聯關系是()。
A.多對多
B.一對多
C.多對一
D.一對一
學生答案: A
參考答案: D 20、當主數據表的索引字段的類型是主索引,子數據表的索引字段的類型是普通索引時,兩個數據表間的關聯關系是()。
A.多對一
B.一對多
C.一對一
D.多對多
學生答案: B
參考答案: B
填空題:
1、同一個表的多個索引可以創(chuàng)建在一個索引文件中,索引文件名與相關的表同名,索引文件的擴展名是_______,這種索引稱為_________
學生答案:
參考答案: CDX 結構復合索引
2、索引可以對表中的記錄進行()排序,排序可以對表中的記錄進行()排序。
學生答案:
參考答案: 邏輯,物理
3、索引文件可以分為兩大類:()索引文件和()索引文件。()索引文件又可以進一步分為()索引文件和()索引文件。
學生答案:
參考答案: 復合,單一,復合,結構復合,非結構復合
4、Visual Foxpro的主索引和候選索引可以保證數據的___________完整性
學生答案:
參考答案: 實體
5、數據庫表之間的一對多聯系通過主表的_______索引和子表的____________索引實現
學生答案:
參考答案: 主索引,普通索引
6、數據庫表的索引類型有_______,________,_________和_________
學生答案:
參考答案: 主索引,候選索引,普通索引,唯一索引
7、在打開索引的情況下,為了使記錄指針指向邏輯首記錄(即索引關鍵字的值最小的記錄),應使用命令【】。
學生答案:
參考答案: GO TOP
8、唯一索引的關鍵字段值是()的 學生答案:
參考答案: 可重復
9、候選索引的關鍵字段值是()的 學生答案:
參考答案: 唯一
10、在同一個數據表中可以有()個主索引。
學生答案:
參考答案: 一個
3、下面有關索引的的描述正確的是()
A.建立索引以后,原來的數據庫表文件中的記錄的物理順序將被改變
B.索引與數據庫表的數據存儲在一個文件中
C.創(chuàng)建索引是創(chuàng)建一個指向數據庫表文件記錄的指針構成的文件
D.使用索引并不能加快對表的查詢操作
學生答案: B
參考答案: C
15、在建立唯一索引出現重復字段值時,只存儲重復出現的()記錄
A.第一個
B.最后一個
C.全部
D.幾個
多表操作
學生答案: C
參考答案: A
16、若數據庫表索引字段值是唯一值時,最好選擇的索引類型為()
A.主索引
B.普通索引
C.任意一種
D.唯一索引
學生答案: B 對照
參考答案: A
17、若自由表索引字段值是唯一值時,做好選擇的索引類型為()
A.主索引
B.候選索引
C.唯一索引
D.普通索引
學生答案: C
參考答案: B
5、在VFP中,使用AVERAGE命令時,表文件需要()
A.排序
B.建立索引
C.排序或建立索引
D.以上都不需要
學生答案: C
參考答案: D
7、打開一個建立了結構復合索引的數據表,表記錄存儲的順序將按()
A.第一個索引標識
B.最后一個索引標識
C.主索引標識
D.原順序
學生答案: C
參考答案: D
8、下列關于索引的敘述中錯誤的是()
A.VFP中的索引類型共有4種,分別是主索引,候選索引,普通索引和惟一索引
B.在用命令方式建立索引時,可以建立普通索引,惟一索引(UNIQUE)或候選索引(CANDIDATE),但是不能建立主索引
C.在表設計器的字段選項卡中建立的索引默認為普通索引
D.在數據庫設計器中建立兩表之間的永久關系時,只須在父表中建立主索引,然后拖動該索引項到子表中的相應字段
學生答案: C
參考答案: D
1、在建立一對多表間永久關系時,主表的索引類型必須是()。
A.主索引或候選索引
B.主索引、候選索引或唯一索引
C.主索引、候選索引、唯一索引或普通索引 D.主索引或普通索引
學生答案: C
參考答案: A
2、要控制兩個表中數據的完整性和一致性可以設置“參照完整性”,要求這兩個表 ________。
A.是同一個數據庫中的兩個表
B.不同數據庫中的兩個表
C.兩個自由表
D.一個是數據庫表另一個是自由表
學生答案: C
參考答案: A
3、在Visual FoxPro的數據工作期窗口,使用SET RELATION命令可以建立兩個表之間的關聯,這種關聯是()。
A.永久性關聯
B.永久性關聯或臨時性關聯
C.臨時性關聯
D.永久性關聯和臨時性關聯
學生答案: C
參考答案: C
4、在Visual FoxPro中進行參照完整性設置時,要想設置成:當更改父表中的主關鍵字段或候選關鍵字段時,自動更改所有相關子表記錄中的對應值。應選擇()。
A.限制(Restrict)
B.忽略(Ignore)
C.級聯(Cascade)
D.級聯(Cascade)或限制(Restrict)
學生答案: C
參考答案: C
5、在VFP中可以同時使用___個工作區(qū)
A.10 B.225 C.32767 D.無限制
學生答案: C
參考答案: C
6、在生成參照完整性中,設置更新操作規(guī)則時選擇了“限制”選項卡后,則()
A.在更新父表時,用新的關鍵字值更新子表中的所有相關記錄
B.在更新父表時,若子表中有相關記錄則禁止更新
C.在更新父表時,若子表中有相關記錄則允許更新
D.允許更新父表,不管子表中的相關記錄
學生答案: C
參考答案: B
7、下列按鈕中,哪一個是數據工作期窗口中沒有的()
A.屬性 B.打開 C.修改 D.關系
學生答案: C
參考答案: C
8、要控制兩個表中數據的完整性和一致性可以設置“參照完整性”,要求這兩個表()
A.是同一個數據庫中的兩個表 B.不同數據庫中的兩個表 C.兩個自由表
D.一個是數據庫表另一個是自由表
學生答案: C
參考答案: A
9、命令SELECT 0 的功能是()
A.選擇區(qū)號最小的空閑工作區(qū) B.選擇區(qū)號最大的空閑工作區(qū)
C.選擇當前工作區(qū)的區(qū)號加1的工作區(qū) D.隨機選擇一個工作區(qū)的區(qū)號
學生答案: C
參考答案: A
10、下面有關關聯操作的說明,其中錯誤的是
A.關聯本身并不進行具體的數據操作,在關聯的基礎上進行什么數據操作由其它命令完成。
B.只在兩個數據庫具有同名字段或相同值域字段的情況下才能按字段建立關聯。
C.在當前工作區(qū)對其他工作區(qū)的被關聯數據庫的數據可任意讀寫,即對子數據庫的數據既能使用又能修改和追加。
D.關聯的作用是單向的,即當前數據庫記錄指針的定位影響被關聯數據庫的記錄指針定位,而不可能出現相反方向的 學生答案: C
參考答案: C
填空題:
1、在Visual FoxPro中,表間關系分為()表間關系和()表間關系兩種。永久表間關系是為了維護數據庫表之間的()而引入的。
學生答案:
參考答案: 永久,臨時,數據完整性
2、實現表之間臨時聯系的命令是_____________
學生答案:
參考答案: SET RELATION
3、在Visual Foxpro中,最多同時允許打開__________個數據庫表和自由表
學生答案:
參考答案: 32767
4、表之間建立關聯的最主要的功能是____________
學生答案:
參考答案: 子表的指針隨父表的指針移動而移動 問答題: 單選題:
6、對多表進行操作時,選擇工作區(qū)所使用的命令為_______
A.USE
B.OPEN
C.SELECT
D.CREATE
學生答案: A
參考答案: C
8、下面有關關聯操作的說明,其中錯誤的是
A.關聯本身并不進行具體的數據操作,在關聯的基礎上進行什么數據操作由其它命令完成。
B.只在兩個數據庫具有同名字段或相同值域字段的情況下才能按字段建立關聯。
C.在當前工作區(qū)對其他工作區(qū)的被關聯數據庫的數據可任意讀寫,即對子數據庫的數據既能使用又能修改和追加。
D.關聯的作用是單向的,即當前數據庫記錄指針的定位影響被關聯數據庫的記錄指針定位,而不可能出現相反方向的 學生答案: C
參考答案: C
9、下列命令用于顯示1968年及其以前出生的職工記錄,其中錯誤的是()
A.LIST FOR YEAR(出生日期)<=1968
B.LIST FOR SUBSTR(DTOC(出生日期),7,2)<=“68”
C.LIST FOR LEFT(DTOC(出生日期),7,2)<=“68”
D.LIST FOR RIGHT(DTOC(出生日期),2)<=“68”
學生答案: D
參考答案: C
10、有如下命令序列: SELECT 1 USE f1 SELECT 2 USE f2 SELECT 1 SET RELATION TO RECNO()-2 INTO B GOTO 5 ?RECNO(2)最后一條命令的輸出結果是
A.5
B.4
C.3
D.1
學生答案: B
參考答案: C
1、在建立一對多表間永久關系時,主表的索引類型必須是()。
A.主索引或候選索引
B.主索引、候選索引或唯一索引
C.主索引、候選索引、唯一索引或普通索引
D.主索引或普通索引
學生答案: C
參考答案: A 查詢視圖
1、視圖設計器中含有,但查詢設計器中卻沒有的選項卡是()
A.篩選
B.排序依據
C.分組依據
D.更新條件
學生答案: C
參考答案: D
2、下面關于查詢描述正確的是()
A.可以使用create view 打開查詢設計器
B.使用查詢設計器可以生成所有的SQL查詢語句
C.使用查詢設計器生成的SQL語句存盤后將放在擴展名為QPR的文件中
D.使用DO命令執(zhí)行查詢時,可以不帶擴展名
學生答案: B
參考答案: C
3、查詢和視圖的共同點是()
A.有相應的SQL語句 B.是一個單獨的文件 C.可以存放在數據庫中 D.可以更新
學生答案: B
參考答案: A
4、如果要將視圖中的修改傳送到基表的原始記錄中,則應當選用視圖設計器的()選項卡。
A.傳送條件
B.更新條件
C.修改條件
D.視圖參數
學生答案: A
參考答案: B
5、有關查詢與視圖,下列說法中不正確的是()
A.查詢不可以更新源表數據,而視圖可以更新源表數據
B.查詢和視圖都可以更新源表數據
C.視圖具有許多數據庫表的屬性,利用視圖可以創(chuàng)建查詢和視圖
D.視圖可以更新源表中的數據,存儲于數據庫中
學生答案: C
參考答案: B
6、“查詢”文件的擴展名是()
A.PRG B.FPX C.QPR D.QPX
學生答案: C
參考答案: C
7、可以作為查詢與視圖的數據源是()
A.自由表 B.數據庫表 C.查詢 D.視圖
學生答案: C
參考答案: B
8、下列關于查詢和視圖的敘述中,查詢和視圖都()
A.保存在數據庫中
B.可以用USE命令打開 C.可以更新基表
D.可以作為列表框對象的數據源
學生答案: B
參考答案: B
9、對于視圖不可以創(chuàng)建的是()
A.字段的默認值
B.獨立索引
C.臨時關系
D.永久關系
學生答案: B
參考答案: B
10、打開本地視圖后,當基表中的數據發(fā)生變化時,則()
A.視圖中的數據將自動隨之發(fā)生變化
B.必須先關閉視圖。再打開視圖后,視圖中的數據都會變化 C.可以用REOUERYO函數刷新視圖 D.必須重新創(chuàng)建視圖
學生答案: C
參考答案: C
11、要求僅顯示兩張表中滿足條件的記錄,應選擇()類型。
A.內連接 B.左連接 C.右連接 D.完全連接
學生答案: C
參考答案: C
12、下面有關對視圖的描述正確的是()
A.可以使用MODIFY STRCTURE命令修改視圖的結構 B.視圖不能刪除,否則影響原來的數據文件 C.視圖是對表的復制產生的
D.使用SQL對視圖進行查詢時必須事先打開該視圖所在的數據庫
學生答案: C
參考答案: D
13、“添加表或視圖”對話框中,單擊“其他”按鈕可以為查詢或視圖添加()。
A.其他數據庫表
B.自由表
C.其他視圖
D.其他查詢
學生答案: C
參考答案: A
14、在Visual FoxPro 中,可以使用CREATE SQL VIEW 命令創(chuàng)建()。
A.查詢 B.視圖
C.查詢或視圖 D.表
學生答案: C
參考答案: B
15、如果要在屏幕上直接看到查詢結果,“查詢去向”應該選擇。
A.屏幕
B.瀏覽
C.臨時表或屏幕
D.瀏覽或屏幕
學生答案: B
參考答案: D
16、下列關于查詢設計器的說法中錯誤的是
A.既可對單表查詢,也可對多表查詢
B.在分組依據選項卡中,可以設置查詢結果按某一字段值的升序排列
C.可以將查詢結果保存到擴展名為.qpr的查詢文件中,并可在命令窗口中直接用do 命令執(zhí)行
D.可以設定查詢結果的輸出形式,如臨時表,圖形等
學生答案: B
參考答案: B
17、在Visual Foxpro 6.0中,建立查詢可用________方法
A.使用查詢向導
B.使用查詢設計器
C.直接使用SELECT-SQL命令
D.以上方法均可
學生答案: C
參考答案: D
18、視圖是一個
A.虛擬的表
B.真實的表
C.不依賴于數據庫的表
第五篇:Oracle數據庫管理習題及答案
1.6習題
一.填空題
1、關系模型提供了3類完整性規(guī)則,分別是_______、_______、_______。參考答案:實體完整性規(guī)則、參照完整性規(guī)則、用戶定義的完整性規(guī)則
2、RDBMS由兩部分組成,即_______、_______兩部分。答案:數據庫系統內核、數據字典
3、關系數據庫模型支持三種類型的表關聯關系:_______、_______、_______。答案:一對一、一對多以及多對多
4、數據模型的種類有很多,例如_______、_______、_______和_______等。目前理論最成熟、使用最普及的是_______。
答案:層次模型、網狀模型、關系數據模型、面向對象模型。關系數據模型
二、選擇題
1、Oracle 11g版本號中字母“g”的含義是()
A.產品類型的“代”(generation)B.網格(gridding)
C.集成(integration)
D.無含義
答案:A
2、設計性能較優(yōu)的關系模式稱為規(guī)范化,規(guī)范化主要的理論依據是()
A.關系規(guī)范化理論
B.關系運算理論 C.關系代數理論
D.數理邏輯
答案:A
3、消除了部分函數依賴的1NF的關系模式必定是()
A.1NF B.2NF C.3NF D.4NF
答案:B
4、當B屬于函數依賴于A屬性時,屬性B與A 的聯系是()
A.1對多B.多對1
C.多對多 D.以上都不是 答案:B
5、根據關系數據庫規(guī)范化理論,關系數據庫中的關系要滿足第一范式。下面“部門”關系中,因哪個屬性而使它不滿足第一范式?
部門(部門號,部門名,部門成員,部門總經理)A.部門總經理
B.部門成員 C.部門名
D.部門號
答案:B
6、下列不屬于Oracle數據庫數據類型的是()
A.NUMBER B.FLOAT C.CLOB D.BOOLEAN 答案:D
三、簡答題
1、簡述數據庫與數據庫管理系統的區(qū)別。
參考答案:數據庫是用來存儲信息或數據的機制,是按照數據結構來組織、存儲和管理數據的倉庫。可以被定義為是在計算機存儲設備上合理存放的,互相關聯的數據集合。
數據庫管理系統,它是基于某種結構數據模型、以統一的方式管理和維護數據庫,并提供訪問數據庫接口的通用軟件。
2、簡述數據庫規(guī)范化的概念及其作用。
參考答案:數據庫規(guī)范化,又稱數據庫或資料庫正規(guī)化、標準化,是數據庫設計中的一系列原理和技術,以減少數據庫中數據冗余,增進數據的一致性。
四、應用題
1、設有一教學管理數據庫,其屬性為:學號(S#),課程號(C#),成績(G),任課教師(TN),教師所在的系(D)。這些數據有下列語義:
– 學號和課程號分別與其代表的學生和課程一一對應。– 一個學生所修的每門課程都有一個成績。
– 每門課程只有一位任課教師,但每位教師可以有多門課程。– 教師中沒有重名,每個教師只屬于一個系。
(1)試根據上述語義確定函數依賴集。
(2)如果用上面所有屬性組成一個關系模式,那么該關系模式為何模式?并舉例說明在進行增、刪操作時的異常現象。
(3)分解為具有依賴保持和無損連接的3NF。
參考答案:
(1)F={(S#,C#)→G,C#→TN,TN→D}(2)關系模式為1NF,因為該關系模式的候選碼為(S#,C#),則非主屬性有G,TN和D。
又∵F中有C#→TN,∴存在非主屬性TN對候選碼(S#,C#)的部分依賴,即: 若新增設一門課程而暫時還沒有學生選修時,則因缺少碼S#值而不能進行插入操作。若某個教師調離學校要刪除有關信息時,會將不該刪除的課程(C#)信息刪除。(3)∵Fm={(S#,C#)→G,C#→TN,TN→D} ∴ρ={R1,R2,R3} 其中:
– R1=(S#,C#,G)– R2=(C#,TN)– R3=(TN,D)
2.7習題
一、填空題
1、常用的Oracle服務主要有如下四種,分別是_______、_______、_______、_______。參考答案:OracleDBConsoleorcl、OracleJobScheduler
2、Oracle數據庫啟動的三個階段是:_______、_______、_______。參考答案:啟動實例、打開控制文件、打開數據庫
3、Oracle數據庫關閉的四個選項是:_______、_______、_______、_______。參考答案:normal、immediate、transaction、abort
二、選擇題
1、系統標識符(SID)是指唯一在網絡域中區(qū)別于其他數據庫的數據庫實例名,下面合法的SID是()
A.my2orcl
B.myoracletest C.my_orcl D.my@orcl 參考答案:A
2、安裝Oracle Database 11g可以選擇安裝類型,下列不屬于Oracle Database 11g的安裝類型是()
A.企業(yè)版
B.個人版
C.定制 D.免費版
參考答案:D
三、簡答題
1、簡述Oracle Database 11g在Windows系統下的安裝步驟。
參考答案:選擇安裝方法、選擇安裝類型、指定主目錄詳細信息、產品特定的先決條件檢查、選擇配置選項、安裝、安裝結束。
2、簡述Oracle中用戶和模式的關系。
參考答案:用戶是用連接數據庫和訪問數據庫對象的。模式是數據庫對象的集合。模式對象是數據庫數據的邏輯結構。通俗地說,模式是用來創(chuàng)建oracle中各種對象,而用戶用來連接數據庫并訪問模式中對象,在oracle中模式與用戶是一一對應關系。
四、上機練習
1、按照書中步驟,正確安裝Oracle Database 11g,創(chuàng)建數據庫,并且創(chuàng)建用戶。
2、從操作系統提示符界面,采用上題創(chuàng)建的用戶登錄數據庫,并創(chuàng)建EMPLOYEES表進行測試。(表結構如下圖)
3、客戶端連接Oracle數據庫時,默認端口為1521。創(chuàng)建一個新的監(jiān)聽程序,其端口為1522。然后將ORCL注冊于該監(jiān)聽程序。
3.5習題
一、填空題
1.查看表結構時,所使用的命令是___________,該命令可以簡寫為___________。參考答案:DESCRIBE、DESC 2.使用SQL*Plus語句快速編輯SQL語句時,可以使用的命令有APPEND(可以簡寫為A)命令、___________(可以簡寫為C)命令、___________(可以簡寫為I)、___________(可簡寫為L)命令,以及RUN(可以簡寫為R)命令。
參考答案:CHANGE、INPUT、LIST
3.在SQL*Plus工具中,可以使用SAVE命令將緩沖區(qū)內容保存到文件;可以使用___________命令讀取并運行文件內容;可以使用___________命令編輯緩沖區(qū)內容或文件內容;還可以使用SPOOL命令復制輸出結果到文件。
參考答案:START、EDIT 4.在SQL語句中,如果在某個變量前面使用了&符號,那么就表示該變量是一個臨時變量。定義變量,可以使用___________或ACCEPT命令;刪除變量,可以使用UNDEFINE命令。
參考答案:DEFINE 5.在SQL*Plus中格式化查詢結果時,COLUMN命令可以對列格式化顯示效果,PAGESIZE命令可以___________,LINESIZE命令可以___________。
參考答案:設置頁的大小、設置行寬度
6.創(chuàng)建簡單報表時,使用___________命令和___________命令,分別為報表設置頁眉和頁腳信息。
參考答案:Ttitle、Btitle
二、選擇題
1.在SQL*Plus中連接數據庫時,可以使用CONNECT命令。下面的4個選項中,哪個命令是正確的?其中,用戶名為scott,密碼為tiger,數據庫名為orcl。()
A.CONNECT scott/tiger;B.CONNECT tiger/scott;C.CONN scott/tiger as sysdba;D.CONN scott/tiger@orcl as sysdba;參考答案:D 2.執(zhí)行語句SAVE scott_emp_query.sql APPEND,執(zhí)行結果表示()。
A.如果scott emp_query.sql文件不存在,則出現錯誤 B.如果scott emp_query.sql文件已經存在,則出現錯誤
C.將緩沖區(qū)中的內容追加到scott_emp_query.sql文件中。如果該文件不存在,會創(chuàng)建該文件
D.將緩沖區(qū)中的內容替換掉scott_emp_query.sql文件的內容。如果該文件不存在,會創(chuàng)建該文件
參考答案:C 3.使用SQL*Plus中的___________,可以將文件中的內容檢索到緩沖區(qū),并且不執(zhí)行。()
A.SAVE命令 B.GET命令 C.START命令 D.SPOOL命令 參考答案:B 4.下面是有關變量的描述,請問哪些描述是正確的?()
A.臨時變量是指僅在某個SQL語句中有效的變量 B.臨時變量是在某個會話期間有效的變量
C.已定義變量是指明確定義,其生命期至顯式地刪除、重新定義或退出SQL*Plus為止
D.已定義的變量是不能被刪除的 參考答案:B、C
5.如果希望控制列的顯式格式,那么可以使用下面的___________命令()
A.SHOW B.DEFINE C.SPOOL D.COLUMN 參考答案:D
三、簡答題
1.使用DESCRIBE命令,查看scott用戶的dept表的結構信息。參考答案:descscott.dept 2.使用SAVE命令將緩沖區(qū)內容寫入到e:test.sql文件中;然后使用START命令將文件中的內容讀入到緩沖區(qū),并且進行執(zhí)行。
參考答案:savee:test.sql
Start e:test.sql 3.執(zhí)行下列語句,觀察輸出結果: DEFINE temp = 5000 SELECT empno , ename , mgr FROM scott.emp WHERE sal >= &temp;參考答案:略
4.對scott用戶的emp表的輸出信息進行格式設置。其中,empno列設置標題為“員工編號”,NUMBER格式為9999;ename列設置標題為“員工名稱”,格式設置為25個字符;hiredate列設置標題為“受雇日期”,并且標題居中顯示。
參考答案:col empno heading?員工編號? format 9999;col ename heading ?員工名稱? for A25;col hiredate heading?受雇日期? justify center;5.設置一頁顯示30行數據,并且設置一行顯示130個字符,然后輸出scott用戶的emp表的全部信息。
參考答案:SET PAGESIZE 30
SET LINESIZE 130
SELECT * FROM SCOTT.EMP
四、操作練習
下載SQL Developer,建立Oracle數據庫的連接,按照書中所述步驟,操作熟悉SQL Developer的使用。
4.5習題
一、填空題
1.如果需要在SELECT子句中包括一個表的所有列,可以使用符號___________。參考答案:* 2.WHERE子句可以接收FROM子句輸出的數據;而HAVING子句可以接收來自FROM、___________或___________子句的輸出的數據。
參考答案:WHERE、GROUP 3.在SELECT語句中,分組條件的子句是___________,對顯示的數據進行排序的子句是___________。
參考答案:GROUP BY、ORDER BY 4.在DML語句中,INSERT語句可以實現插入記錄,___________語句可以實現更新記錄,___________語句和___________語句可以實現刪除記錄。
參考答案:UPDATE、DELETE、TURNCATE 5.___________函數可以返回某個數值的ASCII值,___________函數可以返回某個ASCII值對應的十進制數。
參考答案:ASCII、CHR 6.使用___________函數,可以把數字或日期類型的數據轉換成字符串;使用TO_DATE函數,可以把___________轉換成___________,默認的日期格式為___________。
參考答案:TO_CHAR、字符串、日期型、yyyy-MM-dd HH:mm:ss
二、選擇題
1.查詢scott用戶的emp表中的總記錄數,可以使用下列哪個語句?()
A.SELECT MAX(empno)FROM scott.emp;B.SELECT COUNT(empno)FROM scott.emp;C.SELECT COUNT(comm)FROM scott.emp;D.SELECT COUNT(*)FROM scott.emp;參考答案:D 2.為了去除結果集中的重復行,可以在SELECT中使用下列哪個關鍵字?()
A.ALL
B.DISTINCT C.UPDATA D.MERGE 參考答案:B 3.在SELECT語句中,HAVING子句的作用是()
A.查詢結果的分組條件
B.組的篩選條件 C.限定返回的行的判斷條件
D.對結果集進行排序 參考答案:B 4.下列哪個聚合函數可以把一個列中的所有值相加求和?()
A.MAX函數
B.MIN函數 C.COUNT函數 D.SUM函數 參考答案:A 5.如果要統計表中有多少行記錄,應該使用下列哪個聚合函數?()
A.SUM函數
B.AVG函數 C.COUNT函數 D.MAX函數 參考答案:C
三、簡答題
1.標準SQL語言的語句類型可以分為哪三大類,每種語句類型分別用來操縱哪些語句?
參考答案:數據操縱語言(DML):用來操縱數據庫中數據的命令。包括:select、insert、update、delete。
數據定義語言(DDL):用來建立數據庫、數據庫對象和定義列的命令。包括:create、alter、drop。
數據控制語言(DCL):用來控制數據庫組件的存取許可、權限等的命令。包括:grant、deny、revoke。
2.列舉幾個在WHERE條件中可以使用的操作符。
參考答案:使用 =、>、>=、<、<=、<>符號和 BETWEEN。。AND。。、IN(set)、LIKE、IS NULL。
3.如果要按照降序對數據進行排序,應該在ORDER BY子句中使用哪個關鍵字? 參考答案:DESC 4.下面這個SELECT語句能否輸出查詢結果?如果不能,該如何修改?
SELECT empno , ename , deptno , COUNT(*)FROM scott.emp GROUP BY deptno 參考答案:不能。
SELECT deptno , COUNT(*)FROM scott.emp GROUP BY deptno
5.指定一個日期值,例如08-8月-2008,獲得這個日期與系統當前日期之間相隔的月份數和天數。
參考答案:select months_between('08-8月-2008', sysdate)mon_betw from dual;
5.8習題
一、填空題
1.按照約束的用途,主要可以將表的完整性約束分為NOT NULL約束、___________、___________、___________和___________。
參考答案:Check、Unique Index、Primary key、Foreign key 2.使用___________關鍵字,可以快速刪除表中的所有記錄,并且不在撤消表空間中記錄撤消數據。
參考答案:TRUNCATE
3.___________約束用于定義列中不能出現NULL值,___________約束用于定義列中不能出現重復值,而PRIMARY KEY約束則可以定義列中既不允許出現NULL值,也不允許出現重復值。
參考答案:NOT NULL、UNIQUE
二、選擇題
1.存儲數據123.45,可以使用下面哪種數據類型?()A.NUMBER
B.NUMBER(5)C.NUMBER(5,3)D.NUMBER(5,2)參考答案:D 2.如果某列定義了UNIQUE約束,則()A.該列不允許出現重復值。
B.該列不允許出現NULL值。C.該列內允許出現一個NULL值。
D.該列允許出現多個NULL值。參考答案:A 3.為列定義一個CHECK約束,希望該約束能對表中已存儲的數據,以及以后向表中添加或修改的數據都進行檢查,則應該將該約束設置為如下哪種狀態(tài)?()
A.ENABLE VALIDATE
B.ENABLE NOVALIDATE C.DISABLE VALIDATE
D.DISABLE NOVALIDATE 參考答案:A 4.使用如下語句創(chuàng)建一個臨時表空間temp:
CREAT _________ TABLESPACE temp
_________‘F:oraclefoletemp.dbf’
SIZE 10M
AUTOEXTENT ON
NEXT 2M
MAXSIZE 20M;
請從下列選項中選擇正確的關鍵字補充上面的語句。()A.(不填)、DATAFILE
B.TEMP、TEMPFILE C.TEMPORARY、TEMPFILE
D.TEMP、DATAFILE 參考答案:C 5.下列關于約束與索引的說法中哪一項是不正確的?()A.在字段上定義PRIMARY KEY約束時會自動創(chuàng)建B樹惟一索引 B.在字段上定義UNIQUE約束時會自動創(chuàng)建B樹惟一索引
C.在默認的情況下,禁用約束會刪除對應的索引,而激活約束會自動重建相應的索引
D.在定義FOREIGN KEY 約束時會創(chuàng)建B樹唯一索引 參考答案:D
三、簡答題
1.比較VARCHAR2與CHAR兩種數據類型的區(qū)別,并舉例說明分別在什么情況下使用這兩種數據類型。
參考答案:CHAR的長度是固定的,VARCHAR2的長度是可以變化的,存儲字符串“ABC“,對于CHAR(10),表示存儲的字符將占10個字節(jié)(包括7個空字符),而同樣的VARCHAR2(10)則只占用3個字節(jié)的長度,10只是最大值,當你存儲的字符小于10時,按實際長度存儲。VARCHAR2比CHAR節(jié)省空間,在效率上比CHAR會稍微差一些。
2.創(chuàng)建一個表后,為表中的某列添加CHECK約束,并分別設置該約束的狀態(tài)為4種不同的狀態(tài),比較這4種狀態(tài)下的約束檢查效果。
參考答案:略
3.建立一個學生表,表結構如下stu_info(stuid number,name varchar(20),age number(2),sex char(2),birthday date)(1)在數據庫中建立stu_info表。
(2)添加主鍵約束(stuid)(3)添加 check約束(插入的年齡必須大于19歲)
(4)添加 非空約束(要求姓名不能為空值)
(5)給上面的表添加 唯一約束(要求姓名不可重復)參考答案:
(1)create table stu_info(stuid number, name varchar(20), age number(2), sex char(2), birthday date);(2)ALTER TABLE stu_info ADD CONSTRAINT stu_info _pk PRIMARY KEY(stuid);(3)ALTER TABLE stu_info
ADD CONSTRAINT age_checkcheck(age>19);(4)alter table stu_info modify name not null;(5)ALTER TABLE stu_info ADD CONSTRAINT name_uniunique(name);6.8習題
一、填空題
1.為了保證在SQL>方式下進行INSERT、DELETE和UPDATE操作達到安全的目的,一般在SQL>下進行操作前,建議將環(huán)境設置成為非自動提交的方式,采用的命令是_______,若想取消操作,采取的命令是_______。
參考答案:set autocommit off、rollback 2.對某步操作設置相應保存點的命令是_______,當根據需要用命令_______來實現撤消到這一步。
參考答案:SAVEPOINT、ROLLBACK TO
3.關系數據庫中比較常用的SQL中,采用命令_______進行插入,采用_______來進行數據更新,而同時具有更新和插入功能的命令式_______。
參考答案:INSERT、UPDATA、MERGE
二、選擇題
1.PL/SQL塊中不能直接使用的SQL命令是()。
A.SELECT
B.INSERT
C.UPDATE
D.DROP 參考答案:D 2.以零作除數時會引發(fā)()異常。A.VALUE_ERROR
B.ZERO_DIVIDE C.STORAGE_ERROR
D.SELF_IS_NULL 參考答案:B 3.要更新游標結果集中的當前行,應使用()子句。A.WHERE CURRENT OF
B.FOR UPDATE C.FOR DELETE
D.FOR MODIFY 參考答案:A 4.下面不是常用的數據對象權限的是()A.DELETE
B.REVOKE C.INSERT
D.UPDATE
參考答案:B 5.用于修改表中數據的語句是()A.EDIT
B.MODIFY
C.UPDATE
D.ALTER
參考答案:D 6.在只讀表空間上可以執(zhí)行以下哪些操作?()A.CREATE TABLE
B.ALTER TABLE C.DROP TABLE
D.INSERT 參考答案: C
三、簡答題
1.簡述DETELE操作與TRUNCATE操作的異同。
參考答案:truncate,可以刪除表中的所有記錄,釋放表空間,只保留表結構。
delete,如果沒有where條件,也是刪除表中的所有記錄,但是它不釋放空間。
TRUNCATE在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE則不會被撤銷。RUNCATE將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過TRUNCATE操作后的表比DELETE操作后的表要快得多。
2.已有表文件teacher(教師代碼(C),姓名(C),學院(C),職稱(C),年齡(N)),按照要求寫出SQL語句。
1.查詢職稱為”副教授“的教師代碼,姓名,學院,職稱信息; 2.查詢學院為“電信學院”并且職稱為“講師”的所有教師的信息,并將查詢結果按年齡字段的降序排序。
3.將所有教師的年齡加1;
4.將表中年齡小于15歲的教師記錄加上刪除標記; 參考答案:(1)select 教師代碼,姓名,學院。職稱 from teacher where 職稱=?副教授?;(2)select * from teacher where 學院=?電信學院? and 職稱=?講師? order by 年齡 desc;(3)update teacher set 年齡=年齡+1;(4)delete from teacher where 年齡<15 3.有一個表T,有兩個字段a,b,我們想在表T中做Insert/Update,如果存在,則更新T中b的值,如果不存在,則插入一條記錄。假設待Insert/Update的記錄為(a=?001?,b=100)。
請使用MERGE命令完成。參考答案:
MERGE INTO T T1 USING(SELECT '1001' AS a,2 AS b FROM dual)T2 ON(T1.a=T2.a)WHEN MATCHED THEN UPDATE SET T1.b = T2.b WHEN NOT MATCHED THEN INSERT(a,b)VALUES(T2.a,T2.b);
7.5習題
一.填空題 1.創(chuàng)建視圖的命令是_______。若要保證插入或修改的數據行必須滿足視圖定義的約束,創(chuàng)建時附帶的參數是_______;若要保證視圖上不能進行任何DML操作,創(chuàng)建時附帶的參數是_______。
參考答案:CREATE VIEW、WITH CHECK OPTION、WITH READ ONLY
2.創(chuàng)建序列的命令是_______。若要使序列的增量為5,創(chuàng)建時附帶的參數是_______;若要使序列開始值為10,創(chuàng)建時附帶的參數是_______。
參考答案:CREATE SEQUENCE、INCREMENT BY
5、START WITH 10 3.視圖中的列并不都支持DML操作,通過數據字典___________可以了解視圖中哪些列是可更新的。
參考答案:user_updatable_columns 4.使用___________可以獲取序列的當前值,使用___________可以獲取下一個值。參考答案:currval、nextval
5.如果要清除索引中的存儲碎片,可以對索引進行合并或___________。參考答案:重建 選擇題
1.以下哪個視圖可以查到用戶具有使用權限的表的信息()A.USER_VIEWS
B.USER_TABLES C.ALL_OBJECTS
D.USER_OBJECTS 參考答案:C 2.要查看當前用戶下有哪些數據表格,適用下列哪個視圖()A.USER_TABLE
B.TAB C.USER_ALL_TABLES
D.TABLES_USER 參考答案:C 3.可以使用()偽列來訪問序列。A.CURRVAL和NEXTVAL
B.NEXTVAL和PREVAL C.CACHE和NOCACHE
D.MAXVALUE和MINVALUE 參考答案:A 4.帶有錯誤的視圖可使用()選項來創(chuàng)建。A.FORCE
B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW 參考答案:A 5.在聯接視圖中,當()時,該基表被稱為鍵保留表。A.基表的主鍵不是結果集的主鍵 B.基表的主鍵是結果集的主鍵 C.基表的主鍵是結果集的外鍵 D.基表的主鍵不是結果集的外鍵 參考答案:B 6.使用如下語句創(chuàng)建一個視圖: CREATE VIEW test view AS SELECT stu.stuname , stu.stuage + 1 newage , cla.claname FROM student stu LEFT JOIN class cla ON stu.claid = cla.claid;請問test view視圖中哪些列是可更新的?()A.stuname
B.stuname, newage C.stuname, claname
D.stuname, newage, claname 參考答案:A 7.如果創(chuàng)建一個序列,用于為表的主鍵列生成主鍵值,則創(chuàng)建該序列時不應該指定以下哪種參數?()
A.MAXVALUE 1000
B.MINVALUE 10 C.CACHE 10
D.CYCLE 參考答案:D 8.如果在創(chuàng)建序列時指定其CACHE參數值為10,當序列的當前值為5時,數據庫突然關閉,再次運行數據庫后,序列將從以下哪個值開始?()
A.5
B.6 C.11 D.16 參考答案:C 9.下列關于索引的描述哪一項是不正確的?()A.表是否具有索引不會影響到所使用的sql的編寫形式
B.為表創(chuàng)建索引后,所有的查詢操作都會使用索引
C.為表創(chuàng)建索引后,可以提高查詢的執(zhí)行速度
D.為表創(chuàng)建索引后,Oracle優(yōu)化器將根據具體情況決定是否采用索引 參考答案:B
三、簡答題
1.簡述表與視圖的關系。
參考答案:聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系。
2.表結構說明: create table employee(id number(10)not null, — 員工工號 salary number(10,2)default 0 not null, — 薪水 name varchar2(24)not null — 姓名);(1).創(chuàng)建序列seq_employee,該序列每次取的時候它會自動增加,從1開始計數,不設最大值,并且一直累加,不循環(huán)。
參考答案:create sequence seq_employee 2 increment
by 1 3 start
with
nomaxvalue 5 nocycle
/
(2).寫一個PL/SQL塊,插入表user.employee中100條數據。插入該表中字段id用序列seq_employee實現,薪水和姓名字段可以任意填寫。
參考答案:略
3.如果對視圖的基表進行結構上的改動,將會影響視圖的可用性。請基于一個表創(chuàng)建一個視圖,在視圖的子查詢語句中使用*查詢基表中的所有列,然后對該表進行結構修改,例如增加列、刪除列,修改列名等,測試不同情況下視圖的可用性,并思考其中的原因。
參考答案:視圖依賴于基礎表的存在而存在,當基礎表進行了結構上的修改后,有可能會對視圖產生印象,如果要再次使用此試圖,需要進行編譯。4.如果經常需要使用如下語句查詢employee表中的員工信息: SELECT * FROM employee WHERE SUBSTRB(ename , 0 , 2)= ?李?;那么應該為ename創(chuàng)建什么索引,如何創(chuàng)建? 參考答案:創(chuàng)建基于函數的索引
CREATE INDEX EANME_INDEX ON employee(SUBSTRB(ename , 0 , 2))TABLESPACE myspace
8.6習題
一.填空題
1. PL/SQL程序由三個塊組成,即_______、_______、_______。參考答案:聲明部分、執(zhí)行部分、異常處理部分
2.Oracle塊根據應用模塊功能,可以分為四種類型,分別是:_______、_______、_______、_______。
參考答案:匿名塊、命名塊、子程序、觸發(fā)器
3. Oracle的游標分為_______、_______。
參考答案:顯示游標、隱式游標
4. Oracle 游標有4個屬性,_______判斷游標是否被打開,如果打開等于true,否則等于false;_______判斷游標所在的行是否有效,如果有效,則等于true,否則等于false,_______屬性與之相反;_______返回當前位置為止游標讀取的記錄行數。參考答案:%ISOPEN、%FOUND、%NOTFOUND、%ROWCOUNT
二、選擇題
1.關于存儲過程參數,正確的說法是()
A.存儲過程的輸出參數可以是標量類型,也可以是表類型 B.存儲過程輸入參數可以不輸入信息而調用過程
C.可以指定字符參數的字符長度(函數的()或者過程的(number/varchar2))D.以上說法都不對 參考答案:B 2.下列說法,正確的說法是()
A.只要在存儲過程中有增刪改語句,一定加自治事務 B.在函數內可以修改表數據 C.函數不能遞歸調用 D.以上說法都不對 參考答案:B 3.利用游標來修改數據時,FOR UPDATE充分利用了事務的哪個特性?()A.原子性
B.一致性
C.永久性
D.隔離性 參考答案:D 4.下列哪個語句無需COMMIT而自動提交()A.CREATE TABLE t(t1 NUMBER,t2 NUMBER)B.UPDATE t SET t1=123 C.DELETE FROM t D.INSERT INTO t VALUES(1,3)參考答案:A 5.下列說法不正確的是()
A.在PLSQL自定義函數中如果包含UPDATE、DELETE、INSERT語句,不必在函數 體內給出COMMIT;B.自定義函數可以在SQL語句中調用、也可以在PLSQL塊中調用 C.自定義函數可以返回表類型
D.自定義函數中的參數可以是OUT類型 參考答案:D 6.下面定義PL/SQL記錄的語法正確的是()
A.TYPE <記錄類型名> IS RECORD
B.TYPE <記錄類型名> RECORD C.RECORD <記錄類型名> D.TYPE RECORD<記錄類型名> 參考答案:A 7.在SQL*PLUS環(huán)境中可以利用DBMS_OUTPUT包中的PUT_LINE方法來回顯服務器端變量的值,但在此之前要利用一個命令打開服務器的回顯功能,這一命令是()
A. set server on
B. set serverecho on C. set servershow on
D. set serveroutput on 參考答案:D
三、簡答題
1.簡述NO_DATA_FOUND和%NOTFOUND兩個保留字的用法。
參考答案:SELECT...INTO 語句觸發(fā) NO_DATA_FOUND;
當一個顯示光標的 where 子句未找到時觸發(fā) %NOTFOUND;
當UPDATE或DELETE 語句的where 子句未找到時觸發(fā) SQL%NOTFOUND;
在光標的提取(Fetch)循環(huán)中要用 %NOTFOUND 或%FOUND 來確定循環(huán)的退出條件,不要用 NO_DATA_FOUND。
2.簡述PL/SQL的異常處理機制。
參考答案:當發(fā)生錯誤時,程序無條件轉到異常處理部分,這就要求代碼要非常干凈并把錯誤處理部分和程序的其它部分分開。oracle允許聲明其他異常條件類型以擴展錯誤/異常處理。這種擴展使PL/SQL的異常處理非常靈活。
當一個運行時錯誤發(fā)生時,稱為一個異常被拋出。PL/SQL程序編譯時的錯誤不是能被處理得異常,只有在運行時的異常能被處理。在PL/SQL程序設計中異常的拋出和處理是非常重要的內容。
3.查找出當前用戶模式下,每張表的記錄數,以scott用戶為例,結果應如下:
DEPT...................................4 EMP...................................14 BONUS.................................0 SALGRADE.............................5 請編寫PL/SQL程序塊實現。參考答案: DECLARE
type tab_names is table of varchar2(20)index by binary_integer;
tab_name tab_names;
coun number;
str varchar2(100);BEGIN
select table_name bulk collect into tab_name from user_tables;
for i in tab_name.first..tab_name.last LOOP
str:='select count(*)from '||tab_name(i);execute immediate str into coun;
dbms_output.put_line(tab_name(i)||'....................'||coun);ENDLOOP;END;
9.6習題
一、填空題
1._______關鍵字標志著PL/SQL程序中聲明段的開始。
參考答案: DECLARE
2.PL/SQL的異常處理代碼在_______塊中實現。
參考答案:
EXCEPTION
3.觸發(fā)器可以分為三類,分別是:_______、_______、_______。
參考答案:DML觸發(fā)器、替代觸發(fā)器、系統及觸發(fā)器
4. 包中包含_______和_______,它們共享公共的變量,公共的局部函數和過程。參考答案:過程、函數
5.一個包由兩個分開的部分組成_______和_______。
參考答案:包說明(package soecification)、包主體(package body)
二、選擇題
1.關于觸發(fā)器,下列說法正確的是()
A.可以在表上創(chuàng)建INSTEAD OF 觸發(fā)器
B.語句級觸發(fā)器不能使用“:old”和“:new” C.行級觸發(fā)器不能用于審計功能 D.觸發(fā)器可以顯式調用
參考答案:B 2.分析下面的PL/SQL代碼塊:
BEGIN FOR I IN 1..5 LOOP IF I=1 THEN NULL;ELSEIF I=3 THEN COMMIT;ELSEIF 1=5 THEN ROLLBACK;ELSE INSERT INTO test(results)values(i);END IF;END LOOP;COMMIT;END;有多少個值,被永久地插入到TEST表中?()A.0 B.1 C.2 D.3 參考答案是: B
3.在PL/SQL循環(huán)中,需要測試當前的FETCH是否成功,可以完成這個要求的游標 屬性是下列哪個()。
A.SQL%ISOPEN
B.SQL%ROWCOUNT C.SQL%FOUND
D.這一要求無法使用SQL游標屬性完成。參考答案是: D
4.檢查下面的PL / SQL塊:
DECLARE TYPE EmpList
IS VARRAY(2)OF employees.employee_id%TYPE NOT NULL;v_employees EmpList := EmpList();BEGIN
DBMS_OUTPUT.PUT_LINE(v_employees.COUNT);v_employees.EXTEND;v_employees(1):= 30;END;
/ 下列關于上述PL / SQL塊的結果的說法,正確的一項是:()。A.它執(zhí)行成功,并顯示值為2 B.它執(zhí)行成功,并顯示值為0 C.它生成一個錯誤,因為數組不能擴展
D.它生成一個錯誤,因為該變長數組的聲明是無效的。參考答案是: B
三、簡答題
1. 簡述PL/SQL程序包的作用。
參考答案:把相關的過程和函數歸類,按照功能的相關性存放在一起,并賦予一定的管理功能和使用的一組對象就叫做包。Oracle系統把相關的模塊歸類成為包,可使開發(fā)人員利用面向對象的方法進行內嵌過程的開發(fā),從而提高系統性能。
2. 簡述存儲過程和函數的區(qū)別。
參考答案:本質上沒區(qū)別。只是函數有如:只能返回一個變量的限制。而存儲過程可以返回多個。而函數是可以嵌入在sql中使用的,可以在select中調用,而存儲過程不行。執(zhí)行的本質都一樣。
函數限制比較多,比如不能用臨時表,只能用表變量.還有一些函數都不可用等等.而存儲過程的限制相對就比較少。
3. 思考如何在PL/SQL里避免重復編碼的問題,請舉例說明。參考答案:使用存儲過程或函數,舉例略。
4. 在PL/SQL里如何使用綁定變量,為何使用綁定變量,請舉例說明。
參考答案:這是解決Oracle應用程序可伸縮性的一個關鍵環(huán)節(jié);而Oracle的共享池就決定了開發(fā)人員必須使用綁定變量;如果想要Oracle 運行減慢,甚至完全終止,那就可以不用綁定變量;這里舉例說明上述問題;為了查詢一個員工代號是123,你可以這樣查詢: select * from emp where empno=?123?;你也可以這樣查詢: select * from emp where empno=:empno;第一個查詢使用的頻率越高,所消耗的系統硬件資源越大,從而降低了用戶的使用數量;它也會把優(yōu)化好的其它查詢語句從共享池中踢出,系統的整體性能降低;而執(zhí)行綁定變量,提交相同對象的完全相同的查詢的用戶,,一次性使用就可重復使用,提高效率。
四、應用題
1.用PL/SQL編寫函數計算一個給定的正整數的階乘,并編寫調用程序對該函數進行調用。
參考答案:FUNCTION fac(n POSITIVE)RETURN INTEGER IS
BEGIN IF n = 1 THEN
RETURN 1;ELSE RETURN n * fac(n-1);END IF;
END fac;
BEGIN
dbms_output.put_line(fac(5));
END;
2.給 teacher_info 表編寫一個(before-delete)觸發(fā)器,當要在teacher_info 表中刪除一個記錄,將觸發(fā)該觸發(fā)器。在觸發(fā)器中將判斷老師是否已經授課?如果已經安排某位教師授課,它將激發(fā)一個例外,把無法刪除的信息返回用戶。
參考答案:create trigger teacher_cancel on teacher_info instead of delete as declare @sk int,@ID int begin select @ID=course_id FROM deleted select @sk=SKJL from teacher_info where course_id=@ID if(@sk=0)delete from teacher_info where course_id=@ID else begin raiserror('無法刪除',10,1)end end
3.根據下面的要求編寫相應存儲過程,并調用執(zhí)行。具體要求如下: 1)編寫一個存儲過程,向表中隨機插入1000條記錄
SerialNo:使用序列方式,自增長。Filepath:使用隨機插入6個字母 Partid:使用隨機4位數字
StaffNo:從YTCZ060001…….YTCZ060020 中隨機抽取 RecordTime:從2012年8月1日之前的6個月中隨機抽取。
2)寫一個程序塊,循環(huán)調用500次此存儲過程,保證數據表中存儲50萬條記錄。
參考答案:(1)create table RecordFile(SerialNo
VARCHAR2(20), FilePath
VARCHAR2(200), Partid
Varchar2(4), StaffNo
VARCHAR2(10), RecordTime
DATE)
Create index Ix_RecordFile_SerialNo on recordfile(SerialNo)pctfree 30 tablespace mytbs create sequence seq_RecordFile start with 0 minvalue 0;
create or replace procedure add_RecordFile is begin
for i in 1..1000 loop
insert into RecordFile values(seq_RecordFile.nextval, dbms_random.string('u',6), trunc(dbms_random.value(1000,9999)), 'YTCZ0'||trunc(dbms_random.value(60001,60020)), to_date('2006-08-04','yyyy-mm-dd')-dbms_random.value(0,181));end loop;
commit;end add_RecordFile;(2)begin
for i in 1..500 loop
add_RecordFile;
end loop;end;
10.6習題
一、填空題
1.Oracle數據庫從存儲結構上可以分為___________和___________。參考答案:邏輯存儲結構、物理存儲結構
2.在Oracle數據庫中,___________是指存儲數據庫數據的文件。數據庫中的所有數據最終都保存在___________中。參考答案:數據文件、數據文件
3.Oracle數據庫從邏輯存儲結構的角度可以分為表空間、___________、區(qū)、___________。一個數據庫實例由多個表空間組成,一個表空間由多個___________組成,一個___________由多個區(qū)組成,一個區(qū)由多個___________組成。參考答案:段、數據塊、段、段、數據塊
4.將日志緩沖區(qū)中的日志信息寫入日志文件的后臺進程是___________。如果數據庫實例運行在歸檔模式下,則日志文件中的內容將會被___________進程寫入歸檔日志文件。參考答案:LGWR、ARCH 5.Oracle數據庫的物理存儲結構主要由數據文件、___________和___________這3種類型的文件組成。
參考答案:控制文件、日志文件
6.如果一個服務器進程非正常終止,由Oracle系統會使用___________進程來釋放它所占用的資源。參考答案:PMON 7.Oracle數據庫中,段主要可以分為數據段、___________、___________、___________和___________。
參考答案:索引段、回退段、LOB 段和臨時段
8.在多進程Oracle實例系統中,進程分為___________、___________、___________。參考答案:用戶進程、后臺進程、服務進程。
9.Oracle服務進程用于處理用戶的請求。服務器進程可分為___________、___________。
參考答案:專用服務器進程(dedicated server process)、共享服務器進程(shared server process)10.數據庫寫入器從___________中將修改過的數據塊寫到數據文件。參考答案:數據庫緩沖區(qū)
11.將當用戶進程失敗時,___________進程監(jiān)視器執(zhí)行恢復處理;當日志文件滿或切換發(fā)生時,一個或多個___________負責拷貝聯機重做日志到歸檔存儲上;___________是一個實例的作業(yè)隊列進程,當需要執(zhí)行作業(yè)時就要啟動。參考答案:PMON、歸檔進程、作業(yè)隊列進程
12.LARGE_POOL_SIZE 使用大的池(LARGE_POOL_SIZE)來給I/O服務進程___________和___________分配內存;參數__________設置共享服務器的最大數量;參數___________設置共享服務器進程數量。
參考答案:RMAN、MTS、MAX_DISPATCHERS、SHARED_SERVERS 13.運行___________腳本可建立與鎖有關的視圖;運行___________腳本可顯示(以樹型結構)等待鎖和已占有鎖的信息;在Oracle系統運行中,所產生的死鎖都動態(tài)地記錄在___________視圖中。
參考答案:CATBLOCK.SQL、UTLLOCK.SQL、V$LOCK 14.___________是Oracle在系統異常時,有Oracle自動創(chuàng)建的文件,它與警告文件一起構成完整的故障信息。
參考答案:跟蹤文件
二、選擇題
1.下面對數據文件的敘述中,正確的是()A.一個表空間只能對應一個數據文件 B.一個數據文件可以對應多個表空間 C.一個表空間可以對應多個數據文件
D.數據文件存儲了數據庫中的所有日志信息 參考答案:C 2.下面對Oracle的邏輯存儲結構敘述中,正確的是()A.一個數據庫實例由多個表空間組成 B.一個段由多個區(qū)組成 C.一個區(qū)由多個段組成 D.一個塊由多個區(qū)組成 參考答案:B 3.用符號”->"表示組成關系,下面哪一個組成關系正確表示了Oracle數據庫的邏輯存儲結構()
A.塊->段->區(qū)->表空間->數據庫 B.塊->區(qū)->段->表空間->數據庫 C.塊->表空間->區(qū)->段->數據庫 D.塊->段->表空間->區(qū)->數據庫 參考答案:B
4.系統全局區(qū)包括下面哪些區(qū)間?()A.Java池
B.軟件代碼區(qū)間 C.數據緩沖區(qū) D.日志緩沖區(qū) 參考答案:ACD 5.解析后的SQL語句會緩存在SGA的哪個區(qū)間域中?()A.Java池
B.大型池
C.共享池
D.數據緩沖區(qū) 參考答案:C 6.下述選項不屬于Oracle數據庫邏輯存儲結構的是()A.表空間
B.段
C.日志文件 D.區(qū) 參考答案:C 7.在全局存儲區(qū)SGA中,哪部分內存區(qū)間是循環(huán)使用的?()A.數據緩沖區(qū) B.日志緩沖區(qū)
C.共享池 D.大池 參考答案:B 8.下列哪一個后臺進程和對應的數據庫組件能夠保證即使用戶對數據庫所做的修改沒有寫入數據文件,也不會發(fā)生修改內容丟失的情況()A.DBWn與數據庫緩沖區(qū) B.LGWR與重做日志文件 C.CKPT與控制文件
D. ARCn與歸檔日志文件 參考答案:B 9.下列哪項后臺服務進程不是Oracle例程必須要啟動的()A. DBWn B. LGWR C. PMON
D. ARCn 參考答案:D 10.在WINDOWS平臺上Oracle服務器是以哪種形式運行的()A.單進程,多線程
B.多進程,多線程 C.多進程,每個進程為單線程 D.以上所述都不正確 參考答案:A 11.下面哪種后臺進程用于將數據緩沖區(qū)中的數據寫入數據文件?()A.LGWR B.DBWn
C.CKPT
D.ARCn 參考答案:B 12.以下關于數據庫后臺服務進程敘述正確是的()
A.DBWn負責從數據文件中讀取數據到內存,并且負責將數據從內存回寫到數據文件中
B.LGWR負責從重做日志文件中讀取信息到內存,并且負責將日志信息從內存回寫到重做日志文件中
C.SMON負責定時啟動數據庫并做相應的恢復和清理工作
D.CKPT負責向數據庫發(fā)出檢查點,用于同步數據庫的所有數據文件、控制文件和重做日志文件 參考答案:D 13.當執(zhí)行COMMIT語句時,會在哪類文件上發(fā)生I/O操作()A.數據文件 B.控制文件 C.重做日志文件 D.歸檔日志文件 參考答案:C
三、簡答題
1.簡述Oracle物理存儲結構中數據文件、控制文件與重做日志文件的作用。
參考答案:數據文件用來存儲數據庫的數據,如表、索引等。讀取數據時,系統首先從數據庫文件中讀取數據,并存儲到SGA的數據緩沖區(qū)中。
重做日志文件記錄對數據庫的所有修改信息。它是三類文件中最復雜的一類文件,也是
保證數據庫安全與數據庫備份與恢復有直接關系的文件。
控制文件是一個二進制文件,用來描述數據庫的物理結構,一個數據庫只需要一個控制文件。
2.簡述Oracle邏輯存儲結構中表空間、段、區(qū)和塊之間的關系。
參考答案:邏輯存儲結構包括表空間,段,區(qū),塊。簡單的說,邏輯存儲結構之間的關系是:多個塊組成區(qū),多個區(qū)組成段,多個段組成表空間,多個表空間組成邏輯數據庫。
3.簡單介紹LGWR進程與ARCn進程的作用。
參考答案: LGWR進程是負責管理日志緩沖區(qū)的一個后臺進程用于將日志緩沖區(qū)中的日志數據寫入磁盤的日志文件中。ARCn進程用于將寫滿的日志文件復制到歸檔日志文件中防止日志文件組中的日志信息由于日志文件組的循環(huán)使用而被覆蓋。
4.如果想要了解數據庫中所有表的信息,應該使用哪種數據字典? 參考答案: dba_tables 5.DBWn進程所采用的LRU算法應該怎樣理解? 參考答案:略
6.SYS、SYSTEM賬戶都是Oracle數據庫自動存在的賬戶,請簡述二者的區(qū)別。參考答案:SYS用戶:當創(chuàng)建一個數據庫時,SYS用戶將被默認創(chuàng)建并授予DBA角色,所有數據庫數據字典中的基本表和視圖都存儲在名為SYS的方案中,這些基本表和視圖對于Oracle數據庫的操作時非常重要的。為了維護數據字典的真實性,SYS方案中的表只能由系統來維護,他們不能被任何用戶或數據庫管理員修改,而且任何用戶不能在SYS方案中創(chuàng)建表。
SYSTEM用戶與SYS一樣,在創(chuàng)建Oracle數據庫時,SYSTEM用戶被默認創(chuàng)建并被授予DBA角色,用于創(chuàng)建顯示管理信息的表或視圖,以及被各種Oracle數據庫應用和工具使用的內容表或視圖。
7.Oracle數據庫的工作模式有哪兩種?它們之間有有何區(qū)別?
參考答案:在Oracle數據庫中,數據庫的操作模式分為專用服務器(DELICATED SERVER)模式和多線程服務器(MULTITHREADED SERVER)模式兩種。其中,在專用服務器模式中為每個用戶進程創(chuàng)建一個服務器進程,用戶進程與服務器進程之間是1:1的關系;在共享服務器模式中,一個服務器進程可以為多個用戶進程服務器。
8.Oracle進程主要有哪些,作用是什么。參考答案:數據寫進程(dbwr):負責將更改的數據從數據庫緩沖區(qū)高速緩存寫入數據文件日志寫進程(lgwr):將重做日志緩沖區(qū)中的更改寫入在線重做日志文件系統監(jiān)控(smon):檢查數據庫的一致性如有必要還會在數據庫打開時啟動數據庫的恢復進程監(jiān)控(pmon):負責在一個Oracle 進程失敗時清理資源檢查點進程(chpt):負責在每當緩沖區(qū)高速緩存中的更改永久地記錄在數據庫中時,更新控制文件和數據文件中的數據庫狀態(tài)信息。歸檔進程(arcn):在每次日志切換時把已滿的日志組進行備份或歸檔作業(yè)調度器(cjq):負責將調度與執(zhí)行系統中已定義好的job,完成一些預定義的工作.恢復進程(reco):保證分布式事務的一致性,在分布式事務中,要么同時commit,要么同時rollback。
9.Oracle的后臺進程包括必須進程和可選進程。請列舉Oracle的必須進程,并解釋其作用。
參考答案:系統監(jiān)控進程
SMON 用戶監(jiān)控進程
PMON 數據庫寫進程
DBWR 日志寫進程
LGWR 檢查點進程
CKPT
如果是歸檔模式
歸檔進程
ARCH 10.警告日志文件是一個存儲在Oracle系統目錄下的文本文件,它存儲數據庫系統運行期間記錄例行的信息與錯誤信息。請簡述記錄的主要錯誤。
參考答案:警告日志的文件,用于記錄數據庫文件運行中主要事件的命令與結果。11.簡述數據庫管理員使用初始化參數文件的作用。
參考答案:始化參數文件,也稱啟動參數文件,是配置Oracle數據庫的一個重要方面,初始化參數文件內包括定義參數,靜態(tài)限制參數,動態(tài)性能參數,控制或修改數據庫和數據庫實例操作的參數。當數據庫啟動時,在創(chuàng)建實例或讀取控制文件之前,先讀取初始化參數文件。
12.簡述Oracle警告文件記錄的內容。
參考答案:警告日志的文件,用于記錄數據庫文件運行中主要事件的命令與結果。
11.7習題
一、填空題
1.在創(chuàng)建永久性表空間時,需要使用DATAFILE關鍵字指定其數據文件,而如果是創(chuàng)建臨時表空間,則應該使用___________關鍵字為其指定臨時文件。
參考答案:TEMPORARY 2.表空間的狀態(tài)屬性主要有ONLINE、___________、___________和___________。參考答案:OFFLINE、READ ONLY、READ WRITE 3.數據文件的狀態(tài)屬性主要有ONLINE、___________和___________。參考答案:OFFLINE、OFFLINE DROP
4.創(chuàng)建臨時表空間需要使用TEMPORARY關鍵字,創(chuàng)建大文件表空間需要使用___________關鍵字,創(chuàng)建撤消表空間需要使用___________關鍵字。
參考答案:BIGFILE、UNDO
5.Oracle中用戶默認的永久性表空間為___________,默認的臨時表空間為temp。參考答案:system 6.Oracle中管理撤消表空間的方式有回退段撤消管理和___________。參考答案:自動撤銷管理
二、選擇題
1.下面哪些不屬于表空間的狀態(tài)屬性?()A.ONLINE
B.OFFLINE C.OFFLINE DROP
D.READ 參考答案:C 2.將表空間的狀態(tài)切換為OFFLINE時,可以指定下下面哪幾種切換參數?()A.NORMAL B.IMMEDIATE C.TEMP D.FOR RECOVER 參考答案:AB 3.在表空間space中沒有存儲任何數據,現在需要刪除該表空間,并同時刪除其對應的數據文件,可以使用下列哪條語句?()
A.DROP TABLESPACE space;B.DROP TABLESPACE space INCLUDING DATAFILES;C.DROP TABLESPACE space INCLUDING CONTENTS AND DATAFILES;D.DROP TABLESPACE space AND DATAFILES;
參考答案:B 4.使用如下語句創(chuàng)建一個臨時表空間temp: CREATE ___________ TABLESPACE temp ___________ ?F: oraclefiletemp.dbf ? SIZE 10M AUTOEXTEND ON NEXT 2M MAXSIZE 20M;請從下列選項中選擇正確的關鍵字補充上面的語句。()A.(不填)、DATAFILE
B.TEMP, TEMPFILE C.TEMPORARY, TEMPFILE D.TEMP, DATAFILE 參考答案:C 5.下列將臨時表空間temp設置為默認臨時表空間的語句正確的是()A.ALTER DATABASE DEFAULT TABLESPACE temp;B.ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;C.ALTER DEFAULT TEMPORARY TABLESPLBLESPACE TO temp;D.ALTER DEFAULT TAI3LESPACE TO temp;參考答案:B 6.如果當前數據庫實例中有一個臨時表空間組groupl,該組中只有一個臨時表空間temp1。現在使用下面的語句修改temp1表空間所在組為group2: ALTER TABLESPACE temp1 GROUP group2;下面對執(zhí)行上述語句后的結果敘述正確的是()
A.由于數據庫實例中并不存在group2組,所以上述操作將執(zhí)行失敗 B.上述語句可以成功執(zhí)行,temp1表空間將被移動到group2組中
C.執(zhí)行上述語句后,數據庫實例中將存在兩個臨時表空間組:group1和group2 D.執(zhí)行上述語句后,數據庫實例中將只存在一個臨時表空間組:group2 參考答案:D
三、簡答題
1.表空間的狀態(tài)有哪幾種,它們分別表示什么意思?
參考答案: 在線:只有在此狀態(tài)下才允許訪問表空間中的數據;離線:當表空間狀態(tài)為離線時不允許范圍表空間中的數據;只讀:當表空間狀態(tài)為只讀時可以訪問表空間中的數據但訪問僅僅限于閱讀而不能進行任何更新或刪除操作;讀寫:當表空間狀態(tài)為讀寫時可以對表空間進行正常訪問包括對表空間中的數據進行查詢、更新和刪除等操作。
2.如果初始化參數db_block_size的值為l6KB,那么還能設置db_16k_cache_size參數的值嗎?請結合本章的學習內容,創(chuàng)建一個非標準數據塊表空間,并簡單概述其步驟。
參考答案:不能。
3.使用undo_retention參數可以設置撤消表空間中的撤消數據的保留時間,默認為900秒,這個時間長度在實際應用中可能不夠,為了讓撤消數據保留足夠長的時間,是不是可以將undo_retention參數的值設置成非常大呢?為什么?
參考答案:不能,理由略
4.在實際應用中,需要臨時創(chuàng)建一個表來使用,那么是否可以將該表創(chuàng)建在臨時表空間中?
參考答案:可以,但是不是必須。
6.在Oracle中,對表空間的使用與管理非常重要。請創(chuàng)建一個表空間,然后對表空間的數據文件進行增加、刪除和移動等管理,鞏固本章所學的知識。
參考答案:略
12.7習題
一、填空題
1.備份控制文件主要有兩種方式:___________和備份成腳本文件。
參考答案:二進制文件
7.通過數據字典v$datafile可以查看數據文件信息,通過數據字典___________可以查看控制文件信息,通過數據字典___________可以查看日志文件信息。
參考答案:v$controlfile、v$logfile 8.Oracle數據庫的運行模式有歸檔模式和___________模式兩種,Oracle數據庫默認為非歸檔模式,數據庫管理員可以執(zhí)行___________語句,將數據庫的運行模式設置為歸檔模式。
參考答案:非歸檔模式、archive log start 9.如果在創(chuàng)建控制文件時使用了RESETLOGS選項,則應該執(zhí)行___________語句打開數據庫。
參考答案:二進制文件、ALTER SYSTEM ARCHIVE LOG START 10.使用ALTER SYSTEM語句修改參數值時,可以使用SCOPE選項,該選項有MEMORY、___________、___________3個可選值。
參考答案:spfile、both
二、選擇題
1.下面對日志文件組及其成員敘述正確的是()
A.日志文件組中可以沒有日志成員 B.日志文件組中的日志成員大小一致
C.在創(chuàng)建日志文件組時,其日志成員可以是已經存在的日志文件
D.在創(chuàng)建日志文件組時,如果日志成員已經存在,則使用REUSE關鍵字就一定可以成功替換該文件
參考答案:B 2.當日志文件組處于下列哪種情況時,無法清空該日志文件組?()
A.ACTIVE
B.INACTIVE C.CURRENT
D.UNUSED 參考答案:AC 3.下面哪條語句用于切換日志文件組?()
A.ALTER DATABASE SWITCH LOGFILE;B.ALTER SYSTEM SWITCH LOGFILE;.C.ALTER SYSTEM ARCHIVELOG;D.ALTER DATABASE ARCHIVELOG;參考答案:B 4.刪除日志文件組5中的日志文件E:orcldatafileredo05.log,其中正確的語句是()
A.ALTER DATABASE DROP LOGFILE ?E:orcldatafileredo05.log?;B.ALTER DATABASE DROP LOGFILE GROUP 5 ?E:orcldatafileredo05.log?;C.ALTER DATABASE DROP LOGFILE MEMBER ? E:orcldatafileredo05.log ?
D.ALTER GROUP 5 DROP LOGFILE ? E:orcldatafileredo05.log?? 參考答案:C 5.修改系統中的參數值時,如果只修改服務器參數文件中的設置,則SCOPE選項的值應該為()
A.SPFILE
B.MEMORY C.BOTH
D.以上都不對 參考答案:A
三、簡答題
1.控制文件在數據庫中有什么作用?在創(chuàng)建控制文件時應該注意哪些問題? 參考答案:控制文件存放數據庫中的數據文件和日志文件的信息。在創(chuàng)建控制文件時需要指定與數據庫相關的日志文件與數據文件。
2.日志文件組中的日志成員大小應該一致嗎?為什么? 參考答案:應該一致。理由略。
3.日志文件組有哪幾種狀態(tài),它們分別表示什么含義? 參考答案:歸檔未完成 正在使用 非活動狀態(tài) 從未使用
4.簡述清空日志文件組以及刪除日志文件組或日志成員時應該注意哪些問題。參考答案:清空日志文件組應注意如下兩點 ① 被清空的日志文件組不能處于正在使用狀態(tài) ② 當數據庫中止嘔兩個日志文件時不能清空日志文件組。
刪除日志文件應注意如下幾點 ① 該日志文件所在的日志文件組不能處于正在使用狀態(tài) ② 該日志文件所在的日志文件組中必須還包含其他日志成員 ③ 如果數據庫運行在歸檔模式下則應該在刪除日志文件之前確定它所在的日志文件組已經被歸檔否則會導致數據丟失。
刪除日志文件組應注意如下幾點 ① 一個數據庫至少需要兩個日志文件組 ② 日志文件組不能處于正在使用狀態(tài) ③ 如果數據庫運行在歸檔模式下應該確定日志文件組已經被歸檔。
5. 簡述歸檔模式與非歸檔模式的區(qū)別。參考答案:在非歸檔日志模式下如果發(fā)生日志切換則日志文件中原有內容將被新的內容覆蓋在歸檔日志模式下如果發(fā)生日志切換則ORACLE系統會將日志文件通過賦值保存在指定的地方然后才允許向文件中寫入新的日志內容。
13.5習題
一、填空題
1.創(chuàng)建用戶時,要求創(chuàng)建者具有___________系統權限。
參考答案:create user 2.向用戶授予系統權限時,使用___________選項表示該用戶可以將此系統權限再授予其他用戶。向用戶授予對象權限時,使用___________選項表示該用戶可以將此對象權限再授予其他用戶。
參考答案:WITH ADMIN OPTION、WITH GRANT OPTION 3.Oracle數據庫中的權限主要有___________和___________兩類。
參考答案:系統權限、對象權限
4.___________是具有名稱的一組相關權限的組合。
參考答案:角色
5.一個用戶想要在其他模式創(chuàng)建表,則該用戶至少需要具有___________系統權限。
參考答案:create table 6.禁用與啟用角色應該使用___________語句。
參考答案:SET ROLE 7.Oracle提供兩個命令:___________用于給用戶或角色進行授權;___________從用戶或角色中收回某些權限
參考答案:grant、revoke 8.我們可將Oracle 用戶分為三級,即___________、___________、___________。
參考答案:connect user,resource user 及 DBA 9.___________允許用戶聯到Oracle 數據庫,用戶可訪問Oracle.;___________創(chuàng)建屬于開發(fā)者的存儲過程,軟件包和函數.開發(fā)者也能撤消他們所擁有的這些對象;___________允許用戶將數據庫中任何權限授予任何用戶。
參考答案:CREATE SESSION、CREATE PROCEDURE、GRANT ANY PRIVILEGE 10.命令___________實現創(chuàng)建角色;命令___________實現刪除角色;命令___________使角色失效。
參考答案:CREATE ROLE、DROP ROLE、SET ROLE 11.數據字典中,SESSION_ROLES可以查看___________;___________查看授予角色的系統權限;___________查看實例中有效的用戶及相應信息。
參考答案:用戶可用的角色的信息、DBA_ROLE_PRIVS、DBA_USERS
二、選擇題
1.如果某個用戶僅僅具有scott.emp表上的SELECT與UPDATE權限,則下面對該用戶所能執(zhí)行的操作敘述正確的是()
A.該用戶能查詢scott.emp表中的記錄 B.該用戶能修改scott.Emp表中的記錄 C.該用戶能刪除scott.emp表中的記錄 D.該用戶無法執(zhí)行任何操作
參考答案:A 2.下面對系統權限與對象權限敘述正確的是()
A.系統權限是針對某個數據庫對象操作的權限,對象權限不與數據庫中的具體對象相關聯
B.系統權限和對象權限都是針對某個數據庫對象操作的權限 C.系統權限與對象權限都都不與數據庫中的具體對象相關聯
D.系統權限不與數據庫中的具體對象相關聯,對象權限是針對某個數據庫對象操作的權限
參考答案:D 3.啟用所有角色應該使用下面哪條語句()A.ALTER ROLE ALL ENABLE
B.ALTER ROLE ALL C.SET ROLE ALL ENABLE
D.SET ROLE ALL
4.Oracle數據庫中,關于角色的說明,正確的是:()A.一個角色可以被授予自身
B.角色的所有者都屬于SYS用戶 C.一個角色可以包括系統和對象權限 D.一個角色不能被授予其它角色
參考答案:C 5.如果用戶user1創(chuàng)建了數據庫對象,刪除該用戶需要使用下列哪條語句?()A.DROP USER user1;B.DROP USER user1 CASCADE;C.DELETE USER user1;D.DELETE USER user1 CASCADE;參考答案:B 6.修改用戶時,用戶的什么屬性不能修改?()A.名稱 B.密碼 C.表空間
D.臨時表空間
參考答案:A 7.具有訪問數據字典視圖DBA_XXX權限的角色是:()A.CONNECT
B.RESOURCE C.SYSDBA
D.SELECT_CATALOG_ROLE 參考答案:C 8.給用戶desmond權限,可以改變gl.accounts表,同時還可以把這種權限分配給其他用戶,以下哪個語句可以完成這種要求?()
A.grant alter any table with grant option to desmond;B.grant alter on gl.accounts to desmond with admin option;C.grant alter any table to desmond with grant option;D.grant alter any table to desmond with admin option;參考答案:C 9.您執(zhí)行下面語句創(chuàng)建一個數據庫用戶,并分配權限 SQL> create user user01 identified by test default tablespace users temporary tablespace temp profile default / 用戶已創(chuàng)建。
SQL> grant create session,create table to user01;授權成功。
當用戶user01執(zhí)行命令創(chuàng)建表的時候,出現下面錯誤: SQL> create table a(name char(10));create table a(name char(10))* 第 1 行出現錯誤: ORA-01950: 對表空間 'USERS' 無權限
發(fā)生這個錯誤的原因是()
A.表空間users已經滿
B.用戶不是SYSTEM表空間的所有者
C.用戶沒有足夠的系統權限在users表空間上創(chuàng)建表 D.用戶在users表空間上沒有配額(quota)
參考答案:C 10.可以刪除審計跟蹤記錄的角色是:()A.CONNECT
B.RESOURCE C.DBA
D.DELETE_CATALOG_ROLE 參考答案:C
三、簡答題
1.簡述系統權限與對象權限的區(qū)別。
參考答案:系統權限是指對整個Oracle系統的操作權限。一般由數據庫管理員授予用戶并允許用戶將被授予的系統權限再授予其他用戶。對象權限是指用戶對數據庫中對象的操作權限。
2.簡述權限與角色的關系,以及使用角色有哪些好處。
參考答案: 數據庫中的權限較多為了方便對用戶權限的管理ORACLE數據庫允許將一組相關的權限授予某個角色然后將這個角色授予需要的用戶擁有該角色的用戶將擁有該角色說包含的所有權限。使用角色的好處是管理權限和授予權限十分方便。
3.在一個學生管理系統中,教師teacher01可以查詢學生(student表)的所有信息,并可以修改學生的成績(score 列),學生student01可以查看學生的信息,主任director01可以添加和刪除學生。請問該如何為teacher01,student01和director01授予相應的權限。
參考答案:GRANT SELECT ON student TO teacher01 GRANT UPDATE ON studentscore TO teacher01 GRANT SELECT ON student TO student01 GRANT DELETEINSERT ON student TO director01 4.簡述修改用戶的默認角色與禁用啟用角色的區(qū)別。
參考答案:當用戶登錄到Oracle數據庫,數據庫啟用用戶明確授予的所有權限和默認角色的所有權限。在一個會話中,用戶或者是應用程序可以通過SET ROLE語句來啟用、禁用當前會話已經啟用的角色。對大多數角色來說,用戶是不能啟用和禁用角色的,除非這些角色是直接或通過別的角色間接授予用戶的。
5.簡述使用WITH ADMIN OPTION選項與使用WITH GRANT OPTION選項的區(qū)別。參考答案:
1、with admin option 用于系統權限授權,with grant option 用于對象授權。
2、給一個用戶授予系統權限帶上with admin option 時,此用戶可把此系統權限授予其他用戶或角色,但收回這個用戶的系統權限時,這個用戶已經授予其他用戶或角色的此系統權限不會因傳播無效。
而with grant option用于對象授權時,被授予的用戶也可把此對象權限授予其他用戶或角色,不同的是但管理員收回用with grant option授權的用戶對象權限時,權限會因傳播而失效。
6. 簡述用戶、角色、權限的關系。
參考答案:簡單的認為一個角色就是某些個權限的集合體,也就是說把多個系統權限(system privilege),對象權限(object privilege)以及角色(role)揉和在一起,然后賦給一個用戶。
7. 簡述系統權限與角色權限的區(qū)別。
參考答案:Oracle系統權限需要授予者有進行系統級活動的能力,如連接數據庫,更改
用戶會話、建立表或建立用戶等等。角色權限就是將屬于用戶的權限授予一個角色。任何權限都可以授予給一個角色。授予系統權限給被授予者必須使用WITH_ADMIN_OPTION子句,在會話期間通過SET ROLE語句授予或撤銷角色權限。
8.簡述在應用Oracle的角色權限機制時,根據不同的用戶如何設置用戶的權限。參考答案:管理員可以使用CREATE ROLE語句建立一些不同級別的角色,然后根據各個用戶的情況來授予不同的角色。使用角色,可以簡化權限的管理,先將對象的訪問權授予某個角色,然后把角色授予用戶。
14.7習題
一、填空題
1.Oracle Database 11g提供了6種閃回技術,它們分別是閃回表(Flashback Table)______、_________、_________閃回數據庫(Flashback Database)、_____。
參考答案:閃回刪除、閃回版本查詢、閃回事物查詢、閃回數據存儲 2.清除回收站的對象需要使用
_______命令。
參考答案: PURGE 3.閃回版本查詢主要針對表的INSERT、_______
和_______ 操作。
參考答案:UPDATE、DELETE 4.使用閃回版本查詢時需要用到Flashback Version Query的偽列,其中表示對該行執(zhí)行的操作;versions starttime表示對該行進行改動時的起始時間戳;_______表示此次改動不再有效時的結束時間戳。
參考答案:versions_endtime 5.在使用閃回事務查詢時,可通過_______ 視圖的xid宇段查看單獨的事務信息,該字段的值對應閃回版本查詢的versions xid偽列。
參考答案:flashback_transaction_query 6.Oracle系統在默認情況下沒有啟用閃回數據庫功能,系統管理員可以使用_______語句啟用該功能。
參考答案:ALTER DATABSE FLASHBACK ON
二、選擇題
1.下面對閃回表操作敘述正確的是()A.使用閃回表技術,可以還原被刪除的列 B.使用閃回表技術,可以恢復指定的記錄行
C.使用閃回表技術,可以將表中的數據恢復到指定時間點或SCN上 D.使用閃回表技術,可以閃回被刪除的表
參考答案:C 2.如果需要對已刪除的表mytest執(zhí)行閃回刪除操作,應注意下列哪些事項?()A.確保當前數據庫的回收站功能處于啟用狀態(tài) B.如果回收站中有多個mytest表,則需要知道希望恢復的mytest表在回收站中的名稱 C.如果該表所在用戶下已經存在對象名mytest,則在還原該表時應該為該表重新命名 D.需要知道刪除該表的時間
參考答案:AC 3.啟用閃回數據庫功能的語句是()A.ALTER SYSTEM FLASHBACK ON
B.ALTER SYSTEM FLASHBACK DATABASE ON;C.ALTER DATABASE FLASHBACK ON;D.ALTER DATABASE FLASHBACK DATABASE ON 參考答案:C 4.如果對表的結構進行了修改,則應該使用哪種閃回技術還原該表?()A.閃回數據庫
B.閃回刪除 C.閃回表
D.閃回數據歸檔
參考答案:A 5.使用如下語句創(chuàng)建表mytest:
CREATE TABLE mytest(id NUMBER)FLASHBACK ARCHIVE 下列說法正確的是()
A.無法創(chuàng)建成功,因為FLASHBACK ARCHIVE子句沒有指明閃回數據歸檔區(qū) B.一定可以創(chuàng)建成功,因為Oracle系統將為該表指定默認閃回數據歸檔區(qū) C.可以創(chuàng)建成功,但要求數據庫中存在默認閃回數據歸檔區(qū) D.如果創(chuàng)建成功,可以以便用DROP語句刪除該表
參考答案:C
三、筒答題
1.簡述閃回技術的作用,并分別介紹Oracle Database 11g中各種閃回技術的作用。參考答案:為了讓用戶可以及時獲取誤操作之前的數據,Oracle提供了一種處理機制,也稱閃回技術,使用Oracle閃回技術,可以實現數據的迅速恢復,而且不依賴于數據備份。
閃回表(Flashback Table)技術用于恢復表中的數據,可以在線進行閃回表操作。閃回刪除(Flashback Drop)技術用于恢復已經被用戶刪除的數據庫對象,這需要使用到Oracle數據庫系統中的回收站機制。
閃回版本查詢(Flashback Version Query)技術用于查詢某段時間內對表的操作記錄,主要針對INSERT、UPDATE和DELETE操作。
如果需要撤消己提交的事務,可以使用閃回事務查詢(Flashback Transaction Query)。閃回事務查詢是對閃回版本查詢的擴充,通過它可以審計事務甚至撤消一個已提交的事務。
閃回數據庫,實際上就是將數據庫回退到過去的一個時間點或SCN上,從而實現整個數據庫的恢復,這種恢復不需要通過備份,所以應用起來更方便、更快速。
新引入了閃回數據歸檔(Flashback Data Archive)技術。閃回數據歸檔的實現機制與前面幾種閃回不同,它將改變的數據另外存儲到特定的閃回數據歸檔區(qū)中,從而讓閃回不再受撤消數據的限制,大大提高了數據的保留時間,閃回數據歸檔中的數據行可以保留幾年甚至幾十年。
2.簡述使用閃回刪除還原被刪除的表時,需要注意哪些問題。
參考答案:閃回刪除(Flashback Drop)技術用于恢復已經被用戶刪除的數據庫對象,這需要使用到Oracle數據庫系統中的回收站機制。
如果回收站處于禁用(OFF)狀態(tài),則被刪除的數據庫對象無法保存到回收站中,只能是被徹底刪除。
3.簡述閃回版本查詢與閃回事務查詢的區(qū)別與聯系。
參考答案:閃回事務查詢是對閃回版本查詢的擴展。從某種程度上來說,閃回版本查詢通常用于更細粒度的查詢,如針對特定的記錄。而閃回事務則是
針對某一事務進行閃回,是基于事務級別的。閃回事務查詢通過查詢視圖flashback_transaction_query來獲得某個或多個特定事務信息,同時可以根據該視圖中提供的undo_sql 列中的語句來反轉事務,從而保證數據的完
整性。
4.簡述使用閃回數據庫還原數據庫的步驟,以及注意事項。參考答案:確定當前數據庫的日志模式是否為歸檔模式;設置閃回數據庫功能為啟用狀態(tài);檢查閃回數據庫功能是否已經啟用 指定時間戳
使用SYS用戶連接數據庫
使用FLASHBACK [ STANDBY ] DATABASE語句閃回數據庫
使用閃回數據庫,需要用戶具有SYSDBA權限。
5. Oracle對包含AS OF子旬的查詢使用撤消表空間還是閃回數據歸檔,對用戶來說是完全透明的,思考一下使用什么方式可以證明表的歷史數據是由閃回歸檔區(qū)提供的,并加以驗證。參考答案:
6.談談你對數據備份與恢復、數據導入導出、閃回技術的理解。參考答案:略
15.7習題
一、填空題
1.使用ALTER INDEX語句,指定___________子句,可以用來監(jiān)視所創(chuàng)建的索引。
參考答案:MONITORING USAGE 2.Oracle11g包含有許多V$動態(tài)視圖,視圖___________顯示當前實例的狀態(tài);視圖___________顯示有關系統全局區(qū)的總結信息;視圖___________顯示有關系統全局區(qū)的詳細信息;視圖___________顯示有關庫緩存性能的統計數據。
參考答案:V$INSTANCE、V$SGA、V$SGASTAT、V$LIBRARYCACHE 3.通常用___________命令分析表或索引,使統計數據存放在相應的數據字典中。與表有關的數據字典:___________、___________;與CLuster有關的數據字典:___________;與索引有關的數據字典:___________、INDEX_STATS。
參考答案:ANALYZE、DBA_TABLES、DBA_TAB_COLUMNS、DBA_CLUSTERS、DBA_INDEXES 4.要確保所發(fā)布的I/O能均勻地通過硬盤和通道。I/O限制包括:___________、___________、___________。
參考答案:設備潛能、通道帶寬、設備帶寬 5.Oracle系統中的共享池是用來存放___________、___________、___________及Oracle系統的數據字典數據。
參考答案:SQL語句、PL/SQL語句、各種包
6.一些視圖自從Oracle數據庫實例起動或會話開始以來一直跟蹤和統計累積數據。其中V$LIBRARYCACHE顯示記錄共享池中空間級小結信息;___________顯示在共享池中對象級統計信息;___________顯示庫緩存當前內存信息;___________顯示資源使用小結。
參考答案:V$DB_OBJECT_CACHE、V$LIBRARY_CACHE_MEMORY、V$SYSSTAT 7.在查詢語句的SELECT子句中,盡量避免使用___________來表示全部的列名。參考答案:*
8.在SELECT語句中,使用WHERE子句過濾行,使用HAVING子句過濾分組。應該盡量使用___________過濾行,這樣避免了花費時間去分組要過濾的行。
參考答案:WHERE 9.IN操作符用于檢查一個值是否包含在列表中,EXISTS只檢查行的存在性。因此建議使用___________來替代IN操作符的使用。
參考答案:EXISTS 10.索引不僅僅可以基于單獨的列,還可以基于多個列,在多個列上創(chuàng)建的索引叫___________。
參考答案:組合索引
二、選擇題
1.在初始化參數中設置了如下參數:
DB_BLOCK_SIZE = 8KB SGA_MAX_SIZE = 2GB SGA_TARGET = 0 SHARED_POOL_SIZE = 120MB DB_CACHE_SIZE = 896MB STREAM_POOL_SIZE = 0 LARGE_POOL_SIZE = 110 MB 哪幾個描述是正確的?()
A.不能設置參數 DB_8K_CACHE_SIZE的值.B.如果把共享池的大小增長到120MB,系統會自動調整共享池的大小到110M C.如果SGA_TARGET 的值是1GB,SHARED_POOL_SIZE 的值是120MB,那么即使共享池有空閑區(qū)域內存也不能使用共享池
D.當緩沖池中有足夠的容量,一個應用程序能夠從共享池分配超過120 MB的空間。.參考答案:A、C 2.Oracle數據庫在運行時,系統自動將所有運行情況(包括日志數據)記錄在哪個數據字典視圖中()。
A.V$SGA
B.V$ROWCACHE
C.V$SESSION_WAIT
D.V$SYSSTAT 參考答案:D 3.在警告文件中出現如下錯誤提示:
ORA-01650: Unable to Extend Rollback Segment x by String in Tablespace x 請問是什么原因導致()
A.在臨時表空間中找不到滿足要求的連續(xù)空間 B.在表的擴展中已經超過了允許的最大值。
C.在表空間中沒有沒有足夠的連續(xù)空間用于擴展。D.沒有足夠的連續(xù)空間用于回滾段的擴展。.參考答案:D 4.刪除表中的數據可以使用DELETE語句,也可以使用TRUNCATE語句。如果確定要刪除表中的所有行,建議使用()
A.DELETE語句 B.TRUNCATE語句 C.DROP語句 D.COMMIT語句
參考答案:B 5.在表連接時必須選擇最佳連接順序,例如,要連接3個相關表:table1、table2和table3,假設表table1有100行記錄,表table2有1000行記錄,表table3有10000行記錄。那么表的連接順序應該是()
A.首先應該將table2連接到table1上,接著是table2連接到table3上 B.首先應該將table1連接到table2上,接著是table2連接到table3上 C.首先應該將table3連接到table2上,接著是table2連接到table1上 D.首先應該將table1連接到table3上,接著是table3連接到table2上 參考答案:C 6.使用表的連接查詢時,建議選擇___________作為驅動表,也就是將它作為FROM子句中的最后一個表()
A.記錄行數最少的表 B.記錄行數最多的表 C.記錄列數最少的表 D.記錄列數最多的表 參考答案:A 7.創(chuàng)建索引時,需要認真選擇表中的哪些列可以作為索引列。選擇索引列要掌握的原則是()。
A.經常在WHERE子句中使用的列
B.經常在表連接查詢中用于表之間連接的列 C.不宜將經常修改的列作為索且
D.不宜將經常在WHERE子句中使用,但與函數或操作符相結合的列作為索引列 參考答案:A、B、C、D 8.使用LIKE操作符應用員工姓名查詢時,下列哪個選項可以引用索引?()A.LIKE ?%A%?
B.LIKE ?%A? C.LIKE ? A%?
D.LIKE ?A% 參考答案:C
三、簡答題
1.簡述調整重做日志緩沖區(qū)性能主要的方法。參考答案:修改Redo Log Buffer參數
加速歸檔處理
減少重做日志產生
2.簡述改善共享池性能的主要方法。
參考答案:稍微加大 Shared Pool 參數值;
為PL/SQL開較大的空間;
在內存中導入PL/SQL代碼;
鼓勵代碼重用;
建立大的 Pool
3.Oracle進程內存占用一直增加,達到1G左右的時候就會連接失敗,監(jiān)聽進程死掉,或者CPU達到100%,如何解決。
參考答案:
1、PATCH是否都打了,ORACLE系統內存參數是否太大,超出OS的MEMORY。
2、查查是不是程序沒有關閉連接導致連接數不斷上升引起的,你是什么操作系統?
3、服務器都作了什么設置呢?比如sga的分配,是什么情況呢?
4、要進行調優(yōu),及參數設置。
4.以管理員身份登錄,在Oracle數據庫中進行如下操作:
SQL> select tablespace_name, segment_type, sum(bytes)/ 1048576 Mb from dba_segments where owner = 'HR' group by tablespace_name, segment_type / 執(zhí)行結果如下:
TABLESPACE_NAME
SEGMENT_TYPE
MB----------------------------------------------------------EXAMPLE
INDEX
1.1875 EXAMPLE
TABLE
.375 USERS
TABLE
18.3125 USERS
INDEX
35.725 根據Oracle優(yōu)化的原則有什么問題?怎么改正? 參考答案:index不應該在user的表空間
5.下面4條SELECT語句的執(zhí)行結果一樣嗎?執(zhí)行效率一樣嗎?哪條語句的執(zhí)行效率最高,為什么?
SELECT employee_id FROM employees;SELECT employee_id FROM hr.employees;SELECT employee_id FROM HR.EMPLOYEES;SELECT EMPLOYEE_ID FROM HR.EMPLOYEES;參考答案:以上四個SQL在表中分析整理之后產生的結果及執(zhí)行的時間是一樣的,但是從ORACLE共享內存SGA的原理,可以得出ORACLE對每個SQL都會對其進行一次分析,并且占用共享內存,如果將SQL的字符串及格式寫得完全相同則ORACLE只會分析一次,共享內存也只會留下一次的分析結果,這不僅可以減少分析SQL的時間,而且可以減少共享內存重復的信息,ORACLE也可以準確統計SQL的執(zhí)行頻率。
6. 在執(zhí)行連接查詢時,FROM和WHERE子句中,對表的連接順序有什么要求? 參考答案:順序都是先生成連接條件結果較少的,也就是說在語句執(zhí)行結果集時,結果集盡量的小,不要大,所以對于連接時兩個小數據表先連接,然后再是大表連接。
7.下面兩條SELECT語句的執(zhí)行結果一樣嗎?執(zhí)行效率一樣嗎?哪條語句的執(zhí)行效率較高,為什么?(其中,符合條件employee_id> 150的記錄在記錄集中比率為80%,符合條件department_id = 20的記錄所占的比率為3%。)
SELECT * FROM hr.employees WHERE employee_id>150 AND department_id=10;SELECT * FROM hr.employees WHERE department_id=20 AND employee_id >150;參考答案:第二條語句執(zhí)行效率更高。比較次數更少。8. 簡述創(chuàng)建索引時的一些基本原則。
參考答案:對于經常以查詢關鍵字為基礎的表,并且該表中的數據行是均勻分布的。
以查詢關鍵字為基礎,表中的數據行隨機排序。
表中包含的列數相對比較少。
表中的大多數查詢都包含相對簡單的WHERE子句。9.對索引列的操作語句中,應該盡量避免哪些操作符的使用?
參考答案:所以對索引列的操作語句應該盡量避免“非”操作符的使用。例如:例如NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN和NOT LIKE等。
16.4習題
一、填空題
1.只要具備___________角色權限的用戶都可以進行全數據庫方式導出。具體操作通過___________參數來實現全數據庫導出。
參考答案:IMP_FULL_DATABASE、FULL=y 2.在進行導出和導入時,將參數傳遞給EXP和IMP的三種方式分別是___________、___________和___________。
參考答案:命令行方式、交互方式、參數文件法
3.為了加快導出的速度,可以使用參數___________來運行直接路徑導出。參考答案:DIRECT=Y 4. 由于導出只備份數據庫的內容而不備份物理數據塊,因此,導出也稱為___________。
參考答案:邏輯備份
5.利用導出EXP實用程序的一個參數___________,可以導出一個查詢結果集。這樣管理員可以更方便地對所關心的數據進行控制。
參考答案:QUERY
二、選擇題
1.用于確定是否要導入整個導出文件的參數是()。A.CONSTRAINTS
B.TABLES C.FULL
D.FILE 參考答案:C 2.從指定的表中導出所有數據的導出模式是()模式。A.用戶
B.表 C.全部數據庫
D.表空間 參考答案:B
三、簡答題
1.請說出導入有哪些方式。
參考答案:全數據庫方式;用戶方式;表方式;表空間方式。
2.請說出導入和導出的幾個作用。
參考答案:創(chuàng)建一個Oracle數據庫的全部或部分邏輯備份;恢復對象,范圍可以從一個表到全數據庫;有助于防止用戶偶爾的錯誤刪除表或清空表;保存一個模式或整個數據庫的邏輯結構(包含或不包含數據);將數據從一個版本移植到另一個版本;在不同硬件環(huán)境中進行數據的移動;從數據庫中提取索引定義;在同一個數據庫內重建模式;重建分區(qū)表的數據;減少Oracle數據庫的碎片。
3.分別列出EXP和IMP命令的至少五個參數及其含義。參考答案: EXP參數:
1)FULL export entire file(N)要導出整個數據庫
2)OWNER list of owner usernames 需要導出的用戶名列表 3)FILE output files(EXPDAT.DMP)導出的存儲文件名
4)TABLES list of table names 要導出表的名字列表
5)COMPRESS import into one extent(Y)是否壓縮為一個文件
IMP參數:
1)ANALYZE 默認:Y,是否導入ANALYZE語句分析的表和索引的統計數據。2)BUFFER 默認:與操作系統有關,緩沖區(qū)的大小(以字節(jié)計),處理過程中通過行的數據。
3)COMMIT 默認:N,指定在導入時是否每個數組插入后就提交。4)CONSTRAINTS 默認:Y,指定是否要一致性導入。
5)FEEDBACK 默認:0,導入時顯示進展的標志,表示導入的行數。4.導出的Query參數受到哪些方面的限制。
參考答案:不能為完全、用戶或可移動表空間方式的導出來指定query;條件必須適用于所有指定的表;不能在DIRECT中指定query;不能為嵌套表指定QUERY。
5.在進行導入操作時,有哪幾種優(yōu)化方式。
參考答案:
1、創(chuàng)建幾個大的重做日志文件;
2、最小化數據庫提交次數;
3、分步導入;
17.6習題
一、填空題
1.Oracle 11g的企業(yè)管理器主要包括下面管理功能:數據中心管理、___________、___________、有效性管理、___________、___________。
參考答案:生命周期管理、存儲管理、性能管理、故障管理
2.目前Oracle 11g EM包括兩部分的產品,一個是___________;另外一個是___________。
參考答案:數據庫網格控制管理、數據庫控制管理
3.Oracle 11g EM前,要確保能訪問數據庫控制資料庫(用SQL*Plus測試)是可用,并保證與NET Service有關的參數文件可用。WINDOWS下與NET Service有關的參數文件中,___________是Oracle服務器監(jiān)聽進程所需要的參數文件;___________是Oracle Net服務需要的參數文件;___________是訪問Oracle實例需要的參數文件。
參考答案:LISTENER.ORA、SQLNET.ORA、TNSNAMES.ORA 4.如果Oracle安裝在Windows操作系統環(huán)境下,那么可以從控制面板上,打開服務面板,啟動企業(yè)管理器(OEM)服務:___________;如果Oracle安裝的環(huán)境是UNIX或LINUX,那么可以使用___________命令來啟動。
參考答案:OracleDBconsoleSID、emctl 5.Oracle 11g EM在性能管理方面主要提供:___________曲線、___________曲線及實例的I/O吞吐曲線。
參考答案:主機使用的情況曲線、Oracle會話使用曲線
二、選擇題
1.您需要啟動企業(yè)管理器,應使用哪個命令?()A.agctl start agent
B.emctl startup agent C.agctl enable agent
D.emctl start agent 參考答案:D 2.下列關于OEM的說法中正確的有()。
A.從理論上講,OEM的運行必須具備外部卓越的制造能力和自身優(yōu)秀的無形資產 B.OEM方式實際是一種強強聯合的方式,合作雙方是優(yōu)勢互補
C.OEM方式節(jié)省固定資產投資,使大量的資本投資用于更好的資源配置,使項目的財務成本得以降低
D.制造方必須具有較強的市場開拓能力 參考答案:B 3.在Oracle 11g EM的“管理”中有“安全性”功能,它包括()A.用戶
B.角色
C.系統
D.概要文件 參考答案:ABD 4.Oracle 11g EM例程也叫實例,在EM例程管理界面可顯示()。A.用戶參數 B.內存參數 C.還原管理 D.所有初始化參數 參考答案:ABD
三、簡答題
1.OEM數據庫工具組的功能是什么?主要包括什么工具? 參考答案:
Oracle 11g EM可以對Oracle數據庫進行管理,包括對用戶的管理、表空間的管理、導出與導入等;可對本地Oracle服務器進行管理,要對分布環(huán)境的各Oracle服務器進行管理,要進行專門的配置;除了提供功能感強大的管理外,還為Oracle系統的優(yōu)化與調整、SQL語句的優(yōu)化等提供顧問,如找出消耗資源最多的SQL語句等。
工具包括:實例管理工具、性能管理工具、可用性工具、服務期工具、方案工具、數據移動工具等。
2.根據以下情況,回答相關問題。
(1)當登錄至OEM控制臺時,得到以下錯誤信息:
VOC-00002:Failure to obtain interface login 請問是什么原因導致。
(2)當使用OEM控制臺時,得到以下錯誤信息:
VOC-00107:Failure setting credential details ORA-03114: Not Connected to ORACLE 請問是什么原因導致。
(3)當使用SYSDBA登錄至OEM控制臺時,得到以下錯誤信息:
VOC-00121:Failure updating or inserting a user detail entry
ORA-00942:Table or view does not exist 請問是什么原因導致。參考答案:(1)原因是OEM通信后臺進程不能打開一個與Repository的連接,確認TCP/IP配置正確,以及是否通信后臺進程的缺省參數已被修改。
(2)原因是OEMRepository所在數據庫已關機,或是連接數據庫的服務發(fā)生了網絡故障。
(3)權限不夠,用戶登錄至OEM控制臺的缺省角色是NORMAL,看不到相關的表。
3.某個客戶服務代表接到一個客戶關于需要修改的賬戶問題的電話。當這個代表正準備按應用中的Save按鈕,從而提交所輸入的用戶修改時,火警警報響了,所以他必須離開這棟大樓。當火警警報結束后,他回到工作臺,不過他發(fā)現他處理的應用生成了一個出錯,這個出錯提示他要修改的表已經被鎖定了,要求他聯系DBA,所以他給你打了電話,報告這個問題。
回答下面的問題并完成這些任務。
(1)列出你可能采取的檢查鎖爭用的方法。(4分)
(2)假定這個錯誤是ORA-000060,可能是什么原因導致的?(5分)(3)你將采取什么來解決鎖爭用的問題呢?(4分)參考答案:(1)檢查動態(tài)性能視圖V$LOCK;通過OEM的檢查鎖功能;檢查SQL跟蹤文件。
(2)死鎖產生的。(3)殺掉死鎖進程。
4.在OEM控制臺上,數據庫顯示為紅色的圓圈和斜線,表示數據庫已關閉;然而數據庫是正在運行的。請解釋出現這種情況的原因,以及如何處理?
參考答案:
監(jiān)聽器沒啟動,所以無法查詢到數據庫的狀態(tài)。