數(shù)據(jù)庫考試習(xí)題及答案_第1頁
數(shù)據(jù)庫考試習(xí)題及答案_第2頁
數(shù)據(jù)庫考試習(xí)題及答案_第3頁
數(shù)據(jù)庫考試習(xí)題及答案_第4頁
數(shù)據(jù)庫考試習(xí)題及答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)應(yīng)用課程講義之一10 第一章習(xí)題 一、判斷題 1. 安裝 Microsoft SQL Server 2005企業(yè)版對操作系統(tǒng)的最低要求可以是Microsoft Windows XP Professional SP2 。(錯) 2. 每一個服務(wù)器必須屬于一個服務(wù)器組。一個服務(wù)器組可以包含0個、一個或多個服務(wù)器。(對) 二、填空題 3. MS SQL Server提供多個圖形化工具,其中用來啟動、停止和暫停SQL Server服務(wù)的圖形化工 具稱為SQLServer配置管理器。 三、選擇題 4. 下列系統(tǒng)數(shù)據(jù)庫中,(D)數(shù)據(jù)庫不允許進(jìn)行備份操作。 A. master B. msdb C.

2、 modelD. Tempdb 5. 下列關(guān)于 SQL Server 2005實例的說法中,正確的是(C)。 A. 不同版本的默認(rèn)實例數(shù)可能不一樣多B.不同版本的命名實例數(shù)一定一樣多 C.不同版本的默認(rèn)實例只有一個,命名實例數(shù)不一樣多 D.不同版本的命名實例只有一個,默認(rèn)實例數(shù)不一樣多 6. 下列(C)數(shù)據(jù)庫是SQL Server 2005在創(chuàng)建數(shù)據(jù)庫時可以使用的模板。 A. master B. msdbC. model D.mssqlsystemresoure 7. 默認(rèn)情況下,SQL Server 2005的系統(tǒng)數(shù)據(jù)庫有(B)。 A. 1 個 B.5個 C. 4 個 D.6 個 8. 在一

3、臺計算機(jī)上能安裝(A)個默認(rèn)實例。 A. 1 B. 50 9. 訪問默認(rèn)實例使用(B)作為實例名。 A. 計算機(jī)名 B. MSSQLSERVER 10. 下列敘述中正確的是(A)。 A. SQL SERVER實例是提供服務(wù)的,所以一個SQL Server實例稱為一個數(shù)據(jù)庫服務(wù)器 B. SQL SERVER實例也叫做數(shù)據(jù)庫引擎 C. 若計算機(jī)上安裝多個 SQL SERVE或例,則它們可以相互管理 11. SQL SERVER 2005實例主要提供哪些服務(wù)?(BCD/全文搜索、報表服務(wù)、通知服務(wù) A.查詢服務(wù)B.數(shù)據(jù)庫服務(wù) C. 集成服務(wù) D. 分析服務(wù) 12. 一臺計算機(jī)的計算機(jī)名為comput

4、er,若在該計算機(jī)上打開配置管理器看到如圖1所示內(nèi)容,則 說明本機(jī)上已安裝 3個實例,其實例名分別是(BCD A. computer B. MSSQLSERVER C. computerSQLEXPRESS D. computerSERVER 13. 連接數(shù)據(jù)庫服務(wù)器時需要提供哪些信息?( A或者B) A.要連接的服務(wù)器名B. 身份驗證信息 C.連接協(xié)議信息 14.能否將他人計算機(jī)上運行的實例注冊到你的 SSMS?( A) 26 A.不能 B.能 四、簡答題 15. 什么是SQL Server 2005 實例,其主要功能有哪些? 答:SQL Server 2005 的實例實際上就是虛擬的SQL

5、 Server服務(wù)器。每個實例都包括一組私有 的程序和數(shù)據(jù)文件,同時也可以和其他實例共用一組共享程序或文件。 在數(shù)據(jù)庫實例中,可以創(chuàng)建數(shù)據(jù)庫及其對象,實現(xiàn)安全性,對服務(wù)器對象、復(fù)制和SQL Server代 理等進(jìn)行管理。數(shù)據(jù)庫引擎是服務(wù)器的核心部件, SQLServer Management Studio 是SQLServer 2005 最重要的管理工具,用于訪問、配置和管理SQL Server 2005的組件。 16. 簡述SQL Server 2005服務(wù)器與客戶端的關(guān)系? 答:在使用SQL Server 2005軟件過程中,客戶機(jī)通常是指一些適合在家庭、實驗室、辦公環(huán)境下 使用的安裝了一

6、些享用網(wǎng)絡(luò)服務(wù)的PC,這些PC上網(wǎng)的目的是享受各種網(wǎng)絡(luò)服務(wù)。 服務(wù)器是指能夠適應(yīng)大容量數(shù)據(jù)存儲和頻繁的客戶機(jī)訪問操作的計算機(jī),這類計算機(jī)一般配置大容 量硬盤和24小時不間斷的UPS電源、具備可熱插拔功能、安裝服務(wù)器和操作系統(tǒng)下的IIS軟件,能 夠在計算機(jī)網(wǎng)絡(luò)中提供各種網(wǎng)絡(luò)服務(wù)。 客戶機(jī)通過網(wǎng)絡(luò)將要求傳遞給服務(wù)器,服務(wù)器按照客戶機(jī)的要求返回結(jié)果。 第二章習(xí)題 一、選擇題 1. 在sql server 2000中,關(guān)于數(shù)據(jù)庫說法錯誤的是( C )。 A. 數(shù)據(jù)庫在磁盤上默認(rèn)的存儲位置是:SQL Server安裝路徑Microsoft SQL ServerMSSQLData B. 一個數(shù)據(jù)庫至少應(yīng)包

7、含一個數(shù)據(jù)庫文件( *.mdf )和一個事務(wù)日志文件(*df ) C. 只有當(dāng)數(shù)據(jù)庫中不存在數(shù)據(jù)的情況下,才可以進(jìn)行數(shù)據(jù)庫的收縮操作。 D. 可以通過從A機(jī)器拷貝數(shù)據(jù)庫文件和事務(wù)日志文件至B機(jī)器,然后通過在B機(jī)器上執(zhí)行相應(yīng)的 附加數(shù)據(jù)庫操作,實現(xiàn)數(shù)據(jù)庫從 A機(jī)器到B機(jī)器的復(fù)制。 2. 下列哪個不是sql數(shù)據(jù)庫文件的后綴。(C) A. .mdf B .dfC. .tifD. .ndf 3. 每個數(shù)據(jù)庫有且只有一個(A) A、主要數(shù)據(jù)文件B、次要數(shù)據(jù)文件 C、日志文件D索引文件 4. 在MS SQL Server中,關(guān)于數(shù)據(jù)庫的說法正確的是(D) A、一個數(shù)據(jù)庫可以不包含事務(wù)日志文件 B、一個數(shù)據(jù)

8、庫可以只包含一個事務(wù)日志文件和一個數(shù)據(jù)庫文件 C、一個數(shù)據(jù)庫可以包含多個數(shù)據(jù)庫文件,但只能包含一個事務(wù)日志文件 D 一個數(shù)據(jù)庫可以包含多個事務(wù)日志文件,但只能包含一個數(shù)據(jù)庫文件 5. 以下名稱中, (ABC是SQL SERVER200的系統(tǒng)數(shù)據(jù)庫名: A. master B. model C. tempdbD. Adve ntureWorks 6. 一個SQL SERVER200數(shù)據(jù)庫至少有2個數(shù)據(jù)庫文件,其文件擴(kuò)展名分別是(A C) A. mdf B. ndfC. ldf 7. 下列正確的標(biāo)識符有 (BDE A. my tableB. my_table C. 123 D. 123 E. ta

9、ble1 8. 一個數(shù)據(jù)庫至少有 1個文件組,這個文件組名是(B) A. mainB. primary 9. 刪除數(shù)據(jù)庫使用(B)語句。 A. alter databaseB. drop database 10. 使用(B)方法,可以使數(shù)據(jù)庫物理存儲擴(kuò)展到多個不同的物理或邏輯盤區(qū)。 A. 無需使用什么方法,數(shù)據(jù)庫可自行實現(xiàn)物理存儲擴(kuò)展 B. 為數(shù)據(jù)庫創(chuàng)建多個數(shù)據(jù)文件,這些數(shù)據(jù)文件的位置分別在多個不同的物理或邏輯盤區(qū)中 11. 創(chuàng)建SQL Server 2005的用戶數(shù)據(jù)庫時,最多不能超過(D)個。 A. 100B. 40000C.20D. 30000 12. SQL Server 2005 數(shù)

10、據(jù)庫文件有3類,其中主數(shù)據(jù)文件的后綴為(C。 A. .ndf B. .ldfC. .mdf D. .idf 13. SQL Server 2005中每個數(shù)據(jù)文件的基本存儲單位的大小是(A)。 A. 8KB B. 8060BC. 64KB D. 512B 14. 用于決策支持的數(shù)據(jù)庫稱為(A)數(shù)據(jù)庫。 A. OLAP B. OLTP C. 系統(tǒng) D. 用戶 15. 以下關(guān)于數(shù)據(jù)存儲的描述錯誤的是(C)。 A. 所以數(shù)據(jù)庫都有一個主要數(shù)據(jù)庫文件(.mdf) B. 創(chuàng)建數(shù)據(jù)庫時,會將model數(shù)據(jù)庫復(fù)制到新數(shù)據(jù)庫 C. 同一行的數(shù)據(jù)可以隨意存儲在不同的頁上 D. 一個數(shù)據(jù)庫中每1兆字節(jié)的空間能存儲

11、128個頁 二、簡答題 16. 簡述系統(tǒng)數(shù)據(jù)庫 master,msdb,model,tempdb 的功能 答:Master數(shù)據(jù)庫:是SQLServer系統(tǒng)最重要的數(shù)據(jù)庫,記錄了 SQLServer系統(tǒng)的所有系統(tǒng)信息。 Master數(shù)據(jù)庫還記錄了所有其他數(shù)據(jù)庫的存在、數(shù)據(jù)庫文件的位置以及SQLServer的初始化信息。 msdb數(shù)據(jù)庫:是代理服務(wù)數(shù)據(jù)庫,為其報警、任務(wù)調(diào)度和記錄操作員的操作提供存儲空間。 model數(shù)據(jù)庫:用于在 SQL Server實例上創(chuàng)建所有數(shù)據(jù)庫的模板。 Tempdb數(shù)據(jù)庫:是一個為所有的臨時表、臨時存儲過程及其他臨時操作提供存儲空間的臨時數(shù)據(jù)庫。 SQL Server每

12、次啟動時,tempdb數(shù)據(jù)庫被重新建立。當(dāng)用戶與SQL Server斷開連接時,其臨時表 和存儲過程自動被刪除。 Tempdb數(shù)據(jù)庫由整個系統(tǒng)的所有數(shù)據(jù)庫使用,不管用戶使用哪個數(shù)據(jù)庫,所建立的所有臨時表和存 儲過程都存儲在 tempdb上。 17. 簡述SQL Server 2005中文件組的作用和分類 答:主要作用:1、對于大型數(shù)據(jù)庫,如果硬件設(shè)置上需要多個磁盤驅(qū)動器,就可以把特定的對 象或文件分配到不同的磁盤上,將數(shù)據(jù)庫文件組織成用戶文件組。2、文件組可以幫助數(shù)據(jù)庫管理人 員執(zhí)行相應(yīng)的數(shù)據(jù)布局,以及某些管理任務(wù)。3、利用文件組,可以在特定的文件中定位特定的對象, 從而將頻繁查詢修改的文件分

13、離出來,以提高磁盤驅(qū)動器的效率,減少磁盤驅(qū)動器的爭用。4、為便 于分配和管理,可以將數(shù)據(jù)庫對象和文件一起分成文件組。 文件組有兩種類型:1、主文件組。2、用戶定義文件組。 18. 簡述收縮數(shù)據(jù)庫的作用以及在SQL Server Management Studio中收縮數(shù)據(jù)庫的步驟 答:作用:當(dāng)系統(tǒng)為數(shù)據(jù)庫分配的磁盤空間過大時,可以收縮數(shù)據(jù)庫,以節(jié)省存儲空間。數(shù)據(jù) 文件和事務(wù)日志文件都可以進(jìn)行收縮。數(shù)據(jù)庫也可設(shè)置為按給定的時間間隔自動收縮。該活動在后 臺進(jìn)行,不影響數(shù)據(jù)庫內(nèi)的用戶活動。 19. 說明數(shù)據(jù)庫中事務(wù)日志文件與數(shù)據(jù)文件的不同點 答:數(shù)據(jù)庫事務(wù)日志文件保存用于恢復(fù)數(shù)據(jù)庫的日志信息;數(shù)據(jù)文

14、件包含的是數(shù)據(jù)和對象。 20. 在SQL Server 2005中,數(shù)據(jù)庫對象包括哪些對象,列出其中5種。 答:表、索引、觸發(fā)器、視圖、鍵、約束、默認(rèn)值、規(guī)則、用戶定義數(shù)據(jù)類型、存儲過程 第三章習(xí)題 選擇題: 1. 以下哪種類型不能用作表列的數(shù)據(jù)類型?( D) A. tinyint B. timestamp C. xml D. cursor 2. 以下關(guān)于表列數(shù)據(jù)類型的描述中,(A)是正確的。 A. float是浮點數(shù)。B. decimal是精確小數(shù)。C. decimal和float都是精確小數(shù)。 3. 以下關(guān)于表列數(shù)據(jù)類型的描述中,(B)是正確的。 A. bit類型的值只有兩個,即 0、1。

15、B. tinyint類型的值大于等于 0,小于等于255。 C. 存儲一個int類型的數(shù)占2個字節(jié)。 4. 為表列定義哪些約束,可以防止向該列中輸入重復(fù)值(AC)。 A.主鍵約束。B.外鍵約束。C.唯一約束。 5. 不允許向表的主鍵列中輸入(AB)。 A. NULL。 B.重復(fù)值。C.默認(rèn)值。 6. 定義check約束,限制性別列的取值必須是男”或 女”。以下哪個約束表達(dá)式是正確的?(C) A.性別=男or性別=女 B.性別=男and性別=女 C.性別=男or性別=女D.性別in (男,女) 7. 以下哪個關(guān)鍵字用來定義記錄在某屬性上的約束條件(CD) A DEFAULTB DISTINCTC

16、 UNIQUED CHECK 8. 在創(chuàng)建表的過程中,哪個關(guān)鍵字用來定義默認(rèn)值(D) A.DISTINCTB.UNIQUEC.CHECKD.DEFAULT 9. 假定有一個用戶表,表中包含字段:userid (in t)、user name (varchar)、password(varchar)、等, 該表需要設(shè)置主鍵,以下說法正確的是(B)。 A. 如果不能有同時重復(fù)的username和password,那么username和password可以組合在一起作為 主鍵。 B. 此表設(shè)計主鍵時,根據(jù)選擇主鍵的最小性原則,最好采用userid作為主鍵。 C. 此表設(shè)計主鍵時,根據(jù)選擇主鍵的最小性原

17、則,最好采用username和password作為組合鍵。 D. 如果采用userid作為主鍵,那么在 userid列輸入的數(shù)值,允許為空。 10. 若要刪除book表中所有數(shù)據(jù),以下語句錯誤的是(C)。 A.tr un cate table bookB.delete * from book C.drop table bookD.delete from book 11. 關(guān)于Truncate table,以下(AD)描述是錯誤的。 A.Truncate table可跟 Where從句,根據(jù)條件進(jìn)行刪除B.Truncate table用來刪除表中所有 數(shù)據(jù) C.觸發(fā)器對 Truncate tab

18、le 無效D.delete 比 Truncate table 速度快 12. 創(chuàng)建一個名為 Customer的新表,同時要求新表中包含表 client啲所有記錄,sql語句是(A )。 A.Select * into customers from clie ntsB.Select into customers from clie nts C.lnsert into customers select * from clie nts D.lnsert customers select * from clie nts 13. 關(guān)于主鍵,以下(D )說法是錯誤的。 A.主鍵可以用來確保表中不存在重復(fù)的

19、數(shù)據(jù)行。B. 個表必須有一個主鍵。 C. 一個表只能有一個主鍵。D.只能對整數(shù)型列設(shè)置主鍵。 14. 限制輸入到列的值的范圍,應(yīng)使用 (A)約束。 A. CHECK B. PRIMARY KEY C. FOREIGN KEYD. UNIQUE 15. 關(guān)于數(shù)據(jù)庫關(guān)系圖下列哪一個是正確的(B)。 A.關(guān)系圖是在同一個表中不同字段之間建立關(guān)聯(lián)B.關(guān)系圖是表與表之間建立關(guān)聯(lián),與字段無關(guān) C.關(guān)系圖是在不同表中的字段之間建立關(guān)聯(lián)D.關(guān)系圖是在不同數(shù)據(jù)庫之間建立關(guān)聯(lián) 填空題 16. 表是由行和列組成的,行有時也稱為記錄,列有時也稱為字段或域。 17. SQL Server完整性約束包括 域完整性、實體完

20、整性、參照完整性和用戶定義完整性。 18. 在下面的create table語句中,計算列是(pingjun )。 create table t1 (xh char(3), xm varchar(8), yuwe n decimal(4,1), yin gyu decimal(4,1), shuxue decimal(4,1), pingjun as yuwe n +yin gyu+shuxue ) 19. 在下面的create table語句中,id是標(biāo)識列(即自動編號列)。其中,標(biāo)識種子和標(biāo)識增量都是 (1 )。 create table t2 (id bigint identity(1,

21、1), sno char(3), sn ame varchar(8), score decimal(4,1), email varchar(30), phone varchar(18) ) 20. 使用SQL語句創(chuàng)建一個班級表 CLASS,屬性如下:CLASSNO,DEPARTNO,CLASSNAME ; 類型均為字符型;長度分別為8、2、20且均不允許為空。 CREATE TABLE CLASS (CLASSNO CHAR ( 8) NOT NULL, DEPARTNO CHAR (2) NOT NULL, CLASSNAME CHAR (20) NOT NULL ) 簡答題 21. SQL

22、 Server2005數(shù)據(jù)類型中用 varchar(max)取代TEXT有意義嗎? 可以保證良好的向后兼容 22. SQL Server2005的表有哪幾種? 按用途分類:系統(tǒng)表、用戶表、分區(qū)表 按表的存儲時間分類:永久表、臨時表 23. 標(biāo)識列和計算列有什么用?編寫一個用到這兩種列的CREATE TABLE語句。 答:設(shè)計數(shù)據(jù)表時都會給表ID添加一個標(biāo)識列,使表按照遞增規(guī)則增長,故標(biāo)識列也稱為自 增列。標(biāo)識列有三種特點:列的數(shù)據(jù)類型必須是不帶小數(shù)的數(shù)值類型;在進(jìn)行出入操作時,該列得 值是由系統(tǒng)統(tǒng)一按規(guī)律生成,不允許有空值;列值不重復(fù),每個表只能有一個標(biāo)識列。 計算列區(qū)別于需要我們手動或者程序

23、給予賦值的列,它的值來源于該表中其它列的計算值。比 如,一個表中包含有數(shù)量列 Number與單價列Price,我們就可以創(chuàng)建計算列金額 Amount來表示數(shù) 量*單價的結(jié)果值,創(chuàng)建 Amount列后,在程序中需要使用計算金額這個值時,就不用取出Number 列與Price列的值后相乘,而是直接取 Amount列的值就可以了。 Create table score ( Sno nchar ( 9), Cno nchar ( 6), Usually numeric ( 4,1), Final numeric ( 4,1), CONSTRAINT PK_score primary key (Sno

24、asc ,Cno asc), CONSTRAINT fk1 foreig n key (Sn o) refere nces stude nt(S no), CONSTRAINT fk2 foreig n key (Cno) refere nces course(C no), ) 第四章習(xí)題 填空題 1. 語句 select ascii(D), char(67)的執(zhí)行結(jié)果是 68 C。 2. 語句select lower(Beautiful) , rtrim(我心中的太陽 )的執(zhí)行結(jié)果是:beautiful我心中的太 陽。 3. 語句select day(2004-4-6), len(我們快放假

25、了 .)的執(zhí)行結(jié)果是: 6 7。 4. 語句 select round(13.4321,2), round(13.4567,3)的執(zhí)行結(jié)果是:13.43 13.457。 5. T-SQL語言中,有 算術(shù)運算、字符串連接運算、比較運算和邏輯運算。 6. 語句 SELECT (7+3)*4-17(4-(8-6)+99%4 的執(zhí)行結(jié)果是 35o 7. SQL Server聚合函數(shù)有最大、最小、求和、平均和計數(shù)等,它們分別是MAX 、MIN、SUM、avg 禾口 count。 8. SQL Server以#開頭的標(biāo)識符,表示臨時表或過程:局部變量名字必須以 開頭,而全局變量名字必須以開頭。 9. 語句

26、select char(65), len(我們快放假了 .)的執(zhí)行結(jié)果是A 7。 10. 語句select lower(beautiful), rtrim (我心中的太陽 )的執(zhí)行結(jié)果是:beautiful我心中的 太陽。 閱讀程序,說明它的功能:在數(shù)學(xué)成績管理數(shù)據(jù)庫中查詢年齡為20,性別為女的姓名,性別和年 齡 use教學(xué)成績管理數(shù)據(jù)庫 select 姓名,性別,年齡=datediff(year,出生日期,getdate() from學(xué)生信息表 where (datediff(year,出生日期,getdate()=20) and (性別=女) 11. 如下代碼段的輸出是_579=。 DEC

27、LARE x int, y float select x = 123 , y = 456 SELECT x+y 12. 以下代碼段的輸出結(jié)果為 pass。 DECLARE poi nt AS int Set poi nt =95 IF poi nt =60 select pass ELSE select no pass 13. 以下代碼段的輸出結(jié)果為中等 Set poi nt =75 SELECT CASE WHEN point=90 THEN 優(yōu)秀 WHEN point=80 THEN 良好 WHEN poi nt=70 THEN 中等 WHEN point=60 THEN 及格 ELSE不

28、及格 END AS分?jǐn)?shù)等級 選擇題 14. Select語句中用來連接字符串的符號是_A_. A. “ +” B.“ 其中 id 字段設(shè)為標(biāo)識,使用 insert 語句 向book表中插入數(shù)據(jù),以下語句錯誤的是( CD )。 A . insert into book (id,title,price) values(1,java,100) B . insert into book (title,price) values(java,100) C .in sert into book values (java,100)這輛都不可以啊,如果不指定列需要明確的給出空值 D .in sert book

29、values(java,100) 7. 查詢student表中的所有非空 emaiI信息,以下語句正確的是( D )。 A . Select email from student where email !=null B . Select email from stude nt where email not is n ull C . Select email from stude nt where email null D . Select email from stude nt where email is not n ull 8. 關(guān)于聚合函數(shù),以下說法錯誤的是( B )。 A. Sum

30、返回表達(dá)式中所有數(shù)的總合,因此只能用于數(shù)字類型的列。 B . Avg返回表達(dá)式中所有數(shù)的平均值,可以用于數(shù)字型和日期型的列。 C . Max和Min可以用于字符型的列。 D . Count可以用于字符型的列。 9. 使用以下(A )不可以進(jìn)行模糊查詢。 A . ORB . Not between C . Not IN D . Like 10. 語句:select * from students where SNO like 010人0%可能會查詢出的,SNO 是( A D )。(選擇兩項) A . 01053090A #Hm3?人0表示不可以為0 B . 01003090A01 C. 0105

31、3090D09 D . 0101A01 11.查詢畢業(yè)學(xué)校名稱與清華”有關(guān)的記錄應(yīng)該用(D )。 A. SELECT * FROM 學(xué)習(xí)經(jīng)歷WHERE畢業(yè)學(xué)校LIKE 清華* B. SELECT * FROM 學(xué)習(xí)經(jīng)歷WHERE畢業(yè)學(xué)校=清華% C. SELECT * FROM 學(xué)習(xí)經(jīng)歷WHERE畢業(yè)學(xué)校LIKE 清華? D. SELECT * FROM 學(xué)習(xí)經(jīng)歷 WHERE 畢業(yè)學(xué)校 LIKE %清華% 12. 假定表 table1 中 phone 列有空值,則 select count(*) from table1 與 select count(phone) from table1 相等嗎

32、?B A.相等 B.不相等 填空題 13. 聲明一個名為 CRSCOURSE的游標(biāo),并利用游標(biāo)遍歷,顯示整個結(jié)果集。 USE XK DECLARE COUNO VARCHAR(3),COUNAME VARCHAR(20) _declare CRSCOURSE FOR SELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO OPEN CRSCOURSE FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAME WHILE FETCH_STATUS=O BEGIN PRINT 課程號:+ COUNO +課程名稱:+ CouNa

33、me FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAME END CLOSE CRSCOURSE DEALLOCA TE CRSCOURSSE 14. left joi n 運算是左連接。 15. SELECT語句的基本格式如下: SELECT select_list INTO new_table FROM table_source WHERE search_co ndition GROUP BY group_by_expressio n HAVING search_co nditio n ORDER BY order_expressio n ASC |

34、DESC (1) SELECT語句的各個子句書寫的是否有先后順序要求?是 (2) WHERE子句作用是數(shù)據(jù)過濾; GROUP BY子句作用是按某一列或多列進(jìn)行的值分組,值相等的為 組; HAVING子句作用是對分組進(jìn)行篩選; ORDER BY子句作用是對查詢結(jié)果,按某一個或多個屬性列的升序( ASC )或降序(DESC ) 排序; 16. 操作Transact-SQL游標(biāo)使用的語句有: 定義游標(biāo)使用(DECLARE)語句; )語句; FETCH)語句; )語句。 打開游標(biāo)使用(OPEN 移動游標(biāo)取得一條記錄使用( 關(guān)閉游標(biāo)使用(CLOSE 簡答題 17. 什么是動態(tài)游標(biāo)?什么是靜態(tài)游標(biāo)? 動態(tài)

35、:定義一個游標(biāo),以反應(yīng)在滾動游標(biāo)時對查詢結(jié)果集內(nèi)的各行所做的所有數(shù)據(jù)更改 靜態(tài):定義一個游標(biāo),以創(chuàng)建將由該游標(biāo)使用的數(shù)據(jù)的臨時復(fù)本,不反應(yīng)對基本所做的更改 第七章 判斷題 1. SQL Server自動為primary key約束的列建立一個索引。( 對) 填空題 2. 試圖是由一個或多個數(shù)據(jù)表(基本表)或視圖導(dǎo)出的虛擬表。 3. 索引的類型有一唯一、聚集 和非聚集索引。 選擇題 4. SQL的視圖是從( C )中導(dǎo)出的。 A. 基本表 B.視圖 C.基本表或視圖 D.數(shù)據(jù)庫 5. 使用索引下列哪個說法是正確的( B )。 A. 節(jié)省磁盤空間B.縮短查詢時間 C.在執(zhí)行插入、修改、刪除時節(jié)省時

36、間D.與表無關(guān) 6. 關(guān)于視圖下列哪一個說法是錯誤的( B )。 A.視圖是一種虛擬表B.視圖中也存有數(shù)據(jù) C.視圖也可由視圖派生出來D.視圖是保存在數(shù)據(jù)庫中的SELECT查詢 7. 索引是依附于表而存在的,建立索引的目的是( A) A. 提高查詢表中數(shù)據(jù)的速度 B. 建立聚集索引可以使表中的記錄按索引關(guān)鍵字的順序排列 C. 提高表的安全性 8. SQL Server中索引分為哪三類?()這個有待商議 A.主鍵索引B.復(fù)合索引C.唯一索引D.普通索引 9. 建立視圖的目的是(BC) A.提高查詢數(shù)據(jù)的速度B.提高數(shù)據(jù)庫安全性C.簡化復(fù)雜查詢 10. 在SQL Server 2005中,索引的順

37、序和表中記錄的物理順序相同的索引時(C )。 A.主鍵索引 B.非聚集索引 11. 下面對索引的相關(guān)描述正確的是( A.經(jīng)常被查詢的列不適合建索引 C.有很多重復(fù)值的列適合索引值 C.聚集索引D.唯一索引 D )。/不確定 B. 小型表適合建索引 D. 是外鍵或主鍵的列不適合建索引 12. 在使用 CREATE INDEX 命令創(chuàng)建索引時, FILLFACTOR 選項定義的是(A)。 A.填充因子B.誤碼率 C.冗余度 D.索引頁的填充率 13. 對視圖的描述錯誤的是(D)。 A.視圖是一張?zhí)摂M表B.視圖定義包含TOP子句時才能設(shè)置排序規(guī)則 C. 可以像查詢表一樣查詢視圖D.被修改的視圖只能引

38、用一個基表的列 14. WITH CHECK OPTION 屬性對視圖有(A )。 A.進(jìn)行檢查約束B.進(jìn)行刪除監(jiān)測C.進(jìn)行更新監(jiān)測D.進(jìn)行插入監(jiān)測 簡答題 15. 按照索引的存儲結(jié)構(gòu)劃分,索引分為哪幾種?按照是否允許在索引列中輸入重復(fù)值,索引分為 哪幾種? 存儲結(jié)構(gòu):聚集和非聚集,是否允許重復(fù):唯一和非唯一 16. SQL SERVER對在視圖上進(jìn)行 INSERT、UPDATE、DELETE操作,主要有哪些限制? 在進(jìn)行插入操作時: 1、用戶必須具備插入數(shù)據(jù)的相關(guān)權(quán)限 2、試圖只能引用一個基表的列 3、試圖所包含的列必須直接引用表列中的基礎(chǔ)數(shù)據(jù),不能通過聚合函數(shù)或計算等方式派生 4、Inse

39、rt語句不允許為空值 5、必須符合在相關(guān)列上定義的約束條件 6、試圖中不能包含 DISTINICT,GROUP BY 或HAVING子句 7、 在試圖定義中使用了 WITH CHECK OPTION,插入時將檢查是否符合定義視圖中SELECT語 句所設(shè)置的條件 在更新時: 1、修改視圖中的數(shù)據(jù)時,不能同時修改兩個或多個基表 2、當(dāng)視圖來自多個基表時,通常只能對非主屬性進(jìn)行修改 3、試圖中被修改的列必須直接引用基表中的列,不能通過聚合函數(shù)或計算等方式派生 在刪除時: 試圖只能引用一個基表的列,且刪除操作必須滿足基表中定義的約束條件 第八章習(xí)題 選擇題 1. 以下描述不正確的是(D ) A. 存儲

40、過程能夠?qū)崿F(xiàn)較快的執(zhí)行速度。B.內(nèi)嵌表值型函數(shù)相當(dāng)于一個帶參數(shù)的視圖。 C不指定所有者時,調(diào)用標(biāo)量函數(shù)會出錯。D.可以通過視圖更改任意基表 2. 在MS SQL Server中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是 (D)。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 3. 觸發(fā)器可以創(chuàng)建在(AC )中。 A.表 B.過程 C.數(shù)據(jù)庫 D.函數(shù) 4. 以下觸發(fā)器是當(dāng)對表1進(jìn)行(D )操作時觸發(fā)。 Create Trigger abc on 表 1 For in sert , update , delete As A.只是修改B.只是插入C.只是刪除

41、D.修改、插入、 5. 執(zhí)行帶參數(shù)的過程,正確的方法為 A.過程名 參數(shù) B.過程名(參數(shù)) 6. 執(zhí)行帶參數(shù)的過程,正確的方法為 A.過程名參數(shù) B.過程名(參數(shù)) (A)。 C.過程名=參數(shù) (A )。 C.過程名=參數(shù) 7. 觸發(fā)器可引用視圖或臨時表,并產(chǎn)生兩個特殊的表是( Deleted、Inserted B. Delete、Insert C. View、Table 刪除 D.A,B,C三種都可以 D.A,B,C三種都可以 A )。 D. View1、table1 8. 在SQL Server數(shù)據(jù)庫中,下面調(diào)用存儲過程的語句錯誤的是(B )。 A. EXEC proc_stu sum

42、OUTPUT,64,78 B. EXEC proc_stu sum OUTPUT,total output,78 C. EXEC proc_stu sum OUTPUT,604 D. EXEC Calculate sum OUTPUT,total output 9. 在SQL SERVER中,聲明并創(chuàng)建以下存儲過程,正確調(diào)用該存儲過程的的語句是( BC )。 CREATE PROCEDURE PRO passNum int OUTPUT, passPoi nt in t=60 AS Select passNum=co un t(*) From stuTable Where point pass

43、Po int GO A. Declare sum int EXEC PRO passNum , 70 B. Declare sum int EXEC PRO sum output , 70 C. Declare sum int EXEC PRO sum output D. EXEC PRO 70 10.在SQL Server中,創(chuàng)建如下存儲過程: create proc stu_exam writte nExam int=null as if writte nExam is n ull begin print 請輸入筆試成績及格線 return end select * from stude

44、nt where stu_id in (select stud from stu_marks where writte nExamwritte nExam) GO 下列選項正確的是(C )。 A. 執(zhí)行EXEC stu_exam語句,控制臺顯示所有筆試成績及格的學(xué)生信息記錄集 B. 存儲過程(stu_exam)代碼存在語法錯誤 C. 執(zhí)行EXEC stu_exam語句,控制臺顯示請輸入筆試成績及格線 ” D. 執(zhí)行EXEC stu_exam 75語句,控制臺顯示請輸入筆試成績及格線 ” 11在SQL語言中,如果要建立一個工資表包含職工號,姓名,職稱。工資等字段。若要保證工資 字段的取值不低于

45、800元,最合適的實現(xiàn)方法是:(B) A. 在創(chuàng)建工資表時為”工資 字段建立缺省 B. 在創(chuàng)建工資表時為”工資 字段建立檢查約束 C. 在工資表建立一個觸發(fā)器 D. 為工資表數(shù)據(jù)輸入編寫一個程序進(jìn)行控制 12. 你是一個出版公司的數(shù)據(jù)庫開發(fā)人員,對特定的書名的每天的銷售情況建立了如下的存儲過程: CREATE PROCEDURE get_sales_for_title title varchar(80), ytd_sales int OUTPUT AS SELECT ytd_sales = ytd_sales FROM titles WHERE title = title IF ROWCOUN

46、T = 0 RETURN(-1) ELSE RETURN(0) 另外建立了一個腳本執(zhí)行這個存儲過程,如果執(zhí)行成功,將返回對應(yīng)于書名的每天的銷售情況的報 表,如果執(zhí)行失敗,將返回“ No Sales Fou nd,”怎樣建立這個腳本?( C ) A . DECLARE retval int DECLARE ytd int EXEC g et_sales_for_title Net Etiquette , ytd IF retval 0 PRINT No sales found ELSE PRINT Year to date sales: GO B . DECLARE retval int DEC

47、LARE ytd int EXEC get_sales_for_title IF retval 0 PRINT No sales found ELSE PRINT Year to date sales: GO C . DECLARE retval int DECLARE ytd int EXEC get_sales_for_title IF retval 0 PRINT No sales found ELSE PRINT Year to date sales: GO D . DECLARE retval int + STR (ytd) Net Etiquette , ytd OUTPUT +

48、STR (ytd) Net Etiquette ,retval OUTPUT + STR (ytd) DECLARE ytd int EXEC retval = get_sales_for_title Net Etiquette , ytd OUTPUT IF retval _update_或delete操作時被觸發(fā)自動執(zhí)行。 簡答題: 26. 閱讀程序,說明它功能 use成績數(shù)據(jù)庫 If exists ( select n ame from sysobjects Where name= student_inf and type= p) Drop procedure stude nt_inf

49、Go Create procedure stude nt_info as Select學(xué)號,姓名,總學(xué)分from xsqk 程序功能; 檢查在系統(tǒng)表sysobjects中有沒有名為student_inf的存儲過程,如果有則刪除該存儲過程;再創(chuàng)建 一個存儲過程命名為student_info ;該存儲過程的功能是從xsqk表中選出學(xué)號、姓名、總學(xué)分來顯 示。 27閱讀程序,說明它功能 use成績數(shù)據(jù)庫 CREATE TRIGGER abc ON dbo.XSCJ FOR UPDATE AS if update(成績) update xscj set xscj.學(xué)分=(select 學(xué)分 from

50、xskc where deleted.課程號=xskc.課程號) from xscj,xskc,deleted where xscj.成績 =60 and deleted.學(xué)號=xscj.學(xué)號 and deleted課程號=xscj.課程號 程序功能: 在XSCJ表中創(chuàng)建一個名為 abc的觸發(fā)器;在該表進(jìn)行更新后,檢查表中成績列是否更新,若更新 則將該科成績大于 60分的學(xué)生的該科學(xué)分設(shè)置為從課程表中獲得該科的學(xué)分。 28. 什么是存儲過程?使用存儲過程的好處有哪些?為什么存儲過程要比單純的Sql語句執(zhí)行起來 要快? 答:SQL Server 2005中存儲過程用于完成某項任務(wù)的Transac

51、t-SQL 語句,它可以接受參數(shù)、返回 數(shù)值和狀態(tài)值。使用存儲過程的好處: (1)提供了 SQL Server服務(wù)器處理復(fù)雜任務(wù)的能力。 (2)增強了 Transact-SQL語句代碼的重用性的能力。 (3)減少了網(wǎng)絡(luò)中數(shù)據(jù)的流量。 (4)加快了 SQL Server系統(tǒng)的運行速度。 (5)加強了 SQL Server系統(tǒng)的安全性。 存儲過程只需要編譯一次后運行這個存儲過程就不需要在編譯了但是SQL語句每次都需要編譯。在 程序里使用存儲過程減少網(wǎng)絡(luò)傳輸量。 29. 一個存儲過程需要修改但又不希望影響現(xiàn)有的權(quán)限,應(yīng)使用那個語句來進(jìn)行修改? 答:應(yīng)該使用ALTER PROCEDURE 語句對存儲過

52、程進(jìn)行修改,ALTER PROCEDURE 語句修 改存儲過程,不會影響權(quán)限,也不會影響相關(guān)的存儲過程的觸發(fā)器。 30. 什么是觸發(fā)器?觸發(fā)器的主要用途有哪些? 答:觸發(fā)器是一種特殊類型的存儲過程,是用戶對某一表中數(shù)據(jù)進(jìn)行UPDATE、NSERT和DELETE 操作時被觸發(fā)執(zhí)行的一段程序。 觸發(fā)器可以實現(xiàn)由主鍵和外鍵所不能保證的復(fù)雜的參照完整性和數(shù)據(jù)一致性。起主要作用體現(xiàn)在以 下幾個方面: (1)觸發(fā)器可以對數(shù)據(jù)進(jìn)行級聯(lián)修改。 (2)實現(xiàn)比CHECK約束更為復(fù)雜的限制。 (3)強制表的修改要符合業(yè)務(wù)規(guī)則。 31. AFTER觸發(fā)器和INSTEAD OF觸發(fā)器有什么不同? 答:AFTER觸發(fā)器和INSTEAD OF觸發(fā)器有以下區(qū)別: (1)AFTER 觸發(fā)器在執(zhí)行INSER、UPDATE 或DELETE 語句操作后執(zhí)行 AFTER 觸發(fā)器。它只能在表上指

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論