數據庫考試習題及答案_第1頁
數據庫考試習題及答案_第2頁
數據庫考試習題及答案_第3頁
數據庫考試習題及答案_第4頁
數據庫考試習題及答案_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上第一章習題一、判斷題1.安裝Microsoft SQL Server 2005 企業版對操作系統的最低要求可以是Microsoft Windows XP Professional SP2。( 錯 ) 2.每一個服務器必須屬于一個服務器組。一個服務器組可以包含0個、一個或多個服務器。(對)二、填空題3.MS SQL Server提供多個圖形化工具,其中用來啟動、停止和暫停SQL Server服務的圖形化工具稱為SQLServer 配置管理器。三、選擇題4.下列系統數據庫中,(D)數據庫不允許進行備份操作。 A. master B. msdb C. model D. Te

2、mpdb5.下列關于SQL Server 2005實例的說法中,正確的是(C)。 A.不同版本的默認實例數可能不一樣多 B.不同版本的命名實例數一定一樣多 C.不同版本的默認實例只有一個,命名實例數不一樣多 D.不同版本的命名實例只有一個,默認實例數不一樣多6.下列(C)數據庫是SQL Server 2005在創建數據庫時可以使用的模板。 A. master B. msdb C. model D.mssqlsystemresoure7.默認情況下,SQL Server 2005的系統數據庫有(B)。 A. 1個 B.5個 C. 4個 D.6個8.在一臺計算機上能安裝(A)個默認實例。 A. 1

3、 B. 50 9.訪問默認實例使用(B)作為實例名。 A. 計算機名 B. MSSQLSERVER10.下列敘述中正確的是(A)。 A. SQL SERVER實例是提供服務的, 所以一個SQL Server實例稱為一個數據庫服務器 B. SQL SERVER實例也叫做數據庫引擎 C. 若計算機上安裝多個SQL SERVER實例,則它們可以相互管理 11.SQL SERVER 2005實例主要提供哪些服務?(BCD)/全文搜索、報表服務、通知服務 A. 查詢服務 B. 數據庫服務 C. 集成服務 D. 分析服務 12.一臺計算機的計算機名為computer,若在該計算機上打開配置管理器看到如圖1

4、所示內容, 則說明本機上已安裝3個實例,其實例名分別是(BCD) A. computer B. MSSQLSERVER C. computerSQLEXPRESS D. computerSERVER 13.連接數據庫服務器時需要提供哪些信息?(A或者B) A. 要連接的服務器名 B. 身份驗證信息 C. 連接協議信息 14.能否將他人計算機上運行的實例注冊到你的SSMS中? (A) A. 不能 B. 能 四、簡答題15.什么是SQL Server 2005實例,其主要功能有哪些?答:SQL Server 2005 的實例實際上就是虛擬的SQL Server 服務器。每個實例都包括一組私有的程序

5、和數據文件,同時也可以和其他實例共用一組共享程序或文件。在數據庫實例中,可以創建數據庫及其對象,實現安全性,對服務器對象、復制和SQL Server 代理等進行管理。數據庫引擎是服務器的核心部件,SQL Server Management Studio 是SQL Server 2005 最重要的管理工具,用于訪問、配置和管理SQL Server 2005的組件。16. 簡述SQL Server 2005服務器與客戶端的關系? 答:在使用SQL Server 2005 軟件過程中,客戶機通常是指一些適合在家庭、實驗室、辦公環境下使用的安裝了一些享用網絡服務的PC,這些PC上網的目的是享受各種網絡

6、服務。 服務器是指能夠適應大容量數據存儲和頻繁的客戶機訪問操作的計算機,這類計算機一般配置大容量硬盤和24小時不間斷的UPS電源、具備可熱插拔功能、安裝服務器和操作系統下的IIS軟件,能夠在計算機網絡中提供各種網絡服務。客戶機通過網絡將要求傳遞給服務器,服務器按照客戶機的要求返回結果。 第二章習題一、選擇題1.在sql server 2000中,關于數據庫說法錯誤的是( C )。 A.數據庫在磁盤上默認的存儲位置是:SQL Server安裝路徑Microsoft SQL ServerMSSQLData B.一個數據庫至少應包含一個數據庫文件(*.mdf)和一個事務日志文件(*.ldf) C.只

7、有當數據庫中不存在數據的情況下,才可以進行數據庫的收縮操作。 D.可以通過從A機器拷貝數據庫文件和事務日志文件至B機器,然后通過在B機器上執行相應的附加數據庫操作,實現數據庫從A機器到B機器的復制。2.下列哪個不是sql 數據庫文件的后綴。(C)A.mdf B.ldf C.tifD.ndf3.每個數據庫有且只有一個(A)A、主要數據文件 B、次要數據文件 C、日志文件 D、索引文件4.在MS SQL Server中,關于數據庫的說法正確的是(D)A、一個數據庫可以不包含事務日志文件B、一個數據庫可以只包含一個事務日志文件和一個數據庫文件C、一個數據庫可以包含多個數據庫文件,但只能包含一個事務日

8、志文件D、一個數據庫可以包含多個事務日志文件,但只能包含一個數據庫文件5.以下名稱中,(ABC)是SQL SERVER2005的系統數據庫名: A. master B. model C. tempdb D. AdventureWorks 6.一個SQL SERVER2005數據庫至少有2個數據庫文件,其文件擴展名分別是 (A C)A. mdf B. ndf C. ldf 7.下列正確的標識符有(BDE) A. my table B. my_table C. 123 D. 123 E. table1 8.一個數據庫至少有1個文件組,這個文件組名是(B) A. main B. primary 9.

9、刪除數據庫使用(B)語句。 A. alter database B. drop database 10.使用(B)方法,可以使數據庫物理存儲擴展到多個不同的物理或邏輯盤區。 A. 無需使用什么方法,數據庫可自行實現物理存儲擴展 B. 為數據庫創建多個數據文件,這些數據文件的位置分別在多個不同的物理或邏輯盤區中 11.創建SQL Server 2005的用戶數據庫時,最多不能超過(D)個。 A. 100 B. 40000 C.20 D. 3000012.SQL Server 2005數據庫文件有3類,其中主數據文件的后綴為(C)。 A. .ndf B. .ldf C. .mdf D. .idf1

10、3.SQL Server 2005中每個數據文件的基本存儲單位的大小是(A)。 A. 8KB B. 8060B C. 64KB D. 512B14.用于決策支持的數據庫稱為(A)數據庫。 A. OLAP B. OLTP C. 系統 D. 用戶15.以下關于數據存儲的描述錯誤的是(C)。 A. 所以數據庫都有一個主要數據庫文件(.mdf) B. 創建數據庫時,會將model數據庫復制到新數據庫 C. 同一行的數據可以隨意存儲在不同的頁上 D. 一個數據庫中每1兆字節的空間能存儲128個頁二、簡答題16.簡述系統數據庫master,msdb,model,tempdb的功能答:Master數據庫:是

11、SQL Server系統最重要的數據庫,記錄了SQL Server系統的所有系統信息。Master數據庫還記錄了所有其他數據庫的存在、數據庫文件的位置以及SQL Server的初始化信息。msdb數據庫:是代理服務數據庫,為其報警、任務調度和記錄操作員的操作提供存儲空間。model數據庫:用于在SQL Server實例上創建所有數據庫的模板。Tempdb數據庫:是一個為所有的臨時表、臨時存儲過程及其他臨時操作提供存儲空間的臨時數據庫。SQL Server每次啟動時,tempdb數據庫被重新建立。當用戶與SQL Server斷開連接時,其臨時表和存儲過程自動被刪除。Tempdb數據庫由整個系統的

12、所有數據庫使用,不管用戶使用哪個數據庫,所建立的所有臨時表和存儲過程都存儲在tempdb上。17.簡述SQL Server 2005中文件組的作用和分類答:主要作用:1、對于大型數據庫,如果硬件設置上需要多個磁盤驅動器,就可以把特定的對象或文件分配到不同的磁盤上,將數據庫文件組織成用戶文件組。2、文件組可以幫助數據庫管理人員執行相應的數據布局,以及某些管理任務。3、利用文件組,可以在特定的文件中定位特定的對象,從而將頻繁查詢修改的文件分離出來,以提高磁盤驅動器的效率,減少磁盤驅動器的爭用。4、為便于分配和管理,可以將數據庫對象和文件一起分成文件組。文件組有兩種類型:1、主文件組。2、用戶定義文

13、件組。18. 簡述收縮數據庫的作用以及在SQL Server Management Studio中收縮數據庫的步驟答:作用:當系統為數據庫分配的磁盤空間過大時,可以收縮數據庫,以節省存儲空間。數據文件和事務日志文件都可以進行收縮。數據庫也可設置為按給定的時間間隔自動收縮。該活動在后臺進行,不影響數據庫內的用戶活動。19.說明數據庫中事務日志文件與數據文件的不同點答:數據庫事務日志文件保存用于恢復數據庫的日志信息;數據文件包含的是數據和對象。20.在SQL Server 2005中,數據庫對象包括哪些對象,列出其中5種。答:表、索引、觸發器、視圖、鍵、約束、默認值、規則、用戶定義數據類型、存儲過

14、程第三章習題選擇題:1.以下哪種類型不能用作表列的數據類型?(D) A. tinyint B. timestamp C. xml D. cursor 2.以下關于表列數據類型的描述中,(A)是正確的。A. float是浮點數。 B. decimal是精確小數。 C. decimal和float都是精確小數。 3.以下關于表列數據類型的描述中,(B)是正確的。 A. bit類型的值只有兩個,即0、1。 B. tinyint類型的值大于等于0,小于等于255。 C. 存儲一個int類型的數占2個字節。 4.為表列定義哪些約束,可以防止向該列中輸入重復值(AC)。 A. 主鍵約束。 B. 外鍵約束。

15、 C. 唯一約束。 5.不允許向表的主鍵列中輸入(AB)。 A. NULL。 B. 重復值。 C. 默認值。 6.定義check約束,限制性別列的取值必須是“男”或“女”。以下哪個約束表達式是正確的?(C) A. 性別='男' or 性別='女' B. 性別='男' and 性別='女' C. 性別='男' or 性別='女' D. 性別 in ('男','女') 7.以下哪個關鍵字用來定義記錄在某屬性上的約束條件( CD )A DEFAULT B DISTINCT

16、C UNIQUE D CHECK8.在創建表的過程中,哪個關鍵字用來定義默認值(D)A.DISTINCT B.UNIQUE C.CHECK D.DEFAULT9.假定有一個用戶表,表中包含字段:userid (int)、username (varchar)、 password(varchar)、等,該表需要設置主鍵,以下說法正確的是(B)。A.如果不能有同時重復的username和password,那么username和password可以組合在一起作為主鍵。 B.此表設計主鍵時,根據選擇主鍵的最小性原則,最好采用userid作為主鍵。 C.此表設計主鍵時,根據選擇主鍵的最小性原則,最好采用u

17、sername和password作為組合鍵。 D.如果采用userid作為主鍵,那么在userid列輸入的數值,允許為空。 10.若要刪除book表中所有數據,以下語句錯誤的是(C)。 A.truncate table book B.delete * from book C.drop table book D.delete from book 11.關于Truncate table, 以下(AD)描述是錯誤的。 A.Truncate table 可跟Where從句,根據條件進行刪除 B.Truncate table 用來刪除表中所有數據 C.觸發器對Truncate table無效 D.del

18、ete 比Truncate table速度快 12.創建一個名為Customers的新表,同時要求新表中包含表clients的所有記錄,sql語句是(A)。 A.Select * into customers from clients B.Select into customers from clients C.Insert into customers select * from clients D.Insert customers select * from clients13.關于主鍵,以下(D)說法是錯誤的。 A.主鍵可以用來確保表中不存在重復的數據行。 B.一個表必須有一個主鍵。 C

19、.一個表只能有一個主鍵。 D.只能對整數型列設置主鍵。14.限制輸入到列的值的范圍,應使用(A)約束。A. CHECKB. PRIMARY KEY C. FOREIGN KEY D. UNIQUE 15.關于數據庫關系圖下列哪一個是正確的(B)。A.關系圖是在同一個表中不同字段之間建立關聯 B.關系圖是表與表之間建立關聯,與字段無關C.關系圖是在不同表中的字段之間建立關聯 D.關系圖是在不同數據庫之間建立關聯填空題16.表是由行和列組成的,行有時也稱為記錄,列有時也稱為字段或域。17.SQL Server完整性約束包括域完整性、實體完整性、參照完整性和用戶定義完整性。18.在下面的create

20、 table語句中,計算列是( pingjun )。 create table t1 (xh char(3),xm varchar(8),yuwen decimal(4,1),yingyu decimal(4,1),shuxue decimal(4,1),pingjun as yuwen +yingyu+shuxue) 19.在下面的create table語句中,id是標識列(即自動編號列)。其中,標識種子和標識增量都是( 1 ) 。 create table t2 (id bigint identity(1,1), sno char(3), sname varchar(8), score

21、decimal(4,1), email varchar(30), phone varchar(18) )20.使用SQL語句創建一個班級表CLASS,屬性如下:CLASSNO,DEPARTNO,CLASSNAME;類型均為字符型;長度分別為8、2、20且均不允許為空。CREATE TABLE CLASS(CLASSNO CHAR (8) NOT NULL, DEPARTNO CHAR (2) NOT NULL, CLASSNAMECHAR (20) NOT NULL)簡答題21. SQL Server2005數據類型中用varchar(max)取代TEXT有意義嗎?可以保證良好的向后兼容22.

22、 SQL Server2005的表有哪幾種?按用途分類:系統表、用戶表、分區表按表的存儲時間分類:永久表、臨時表23. 標識列和計算列有什么用?編寫一個用到這兩種列的CREATE TABLE語句。答:設計數據表時都會給表ID添加一個標識列,使表按照遞增規則增長,故標識列也稱為自增列。標識列有三種特點:列的數據類型必須是不帶小數的數值類型;在進行出入操作時,該列得值是由系統統一按規律生成,不允許有空值;列值不重復,每個表只能有一個標識列。計算列區別于需要我們手動或者程序給予賦值的列,它的值來源于該表中其它列的計算值。比如,一個表中包含有數量列Number與單價列Price,我們就可以創建計算列金

23、額Amount來表示數量*單價的結果值,創建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 asc ,Cno asc),CONSTRAINT fk1 foreign key (Sno) references student(Sno),CONSTRAINT fk2

24、 foreign key (Cno) references course(Cno),)第四章習題填空題1.語句 select ascii('D'), char(67) 的執行結果是68 C。2.語句 select lower('Beautiful') , rtrim('我心中的太陽 ') 的執行結果是:beautiful 我心中的太陽。3.語句 select day('2004-4-6'), len('我們快放假了.') 的執行結果是:_6_7 _。4.語句 select round(13.4321,2), rou

25、nd(13.4567,3)的執行結果是:_13.43 13.457。5.T-SQL 語言中,有算術運算、字符串連接運算、比較運算和邏輯運算。6.語句 SELECT (7+3)*4-17/(4-(8-6)+99%4 的執行結果是35。7.SQL Server聚合函數有最大、最小、求和、平均和計數等,它們分別是MAX 、MIN、 SUM、avg和count。 8.SQL Server以_#_開頭的標識符,表示臨時表或過程;局部變量名字必須以_開頭,而全局變量名字必須以開頭。9.語句 select char(65), len('我們快放假了.')的執行結果是A 7。10.語句 sel

26、ect lower('beautiful'), rtrim (' 我心中的太陽 ') 的執行結果是:beautiful 我心中的太陽_。閱讀程序,說明它的功能:在數學成績管理數據庫中查詢年齡為20,性別為女的姓名 ,性別和年齡use 教學成績管理數據庫select 姓名, 性別, 年齡=datediff(year,出生日期,getdate() from 學生信息表 where (datediff(year,出生日期,getdate()=20) and (性別='女') 11.如下代碼段的輸出是_579_ 。DECLARE x int, y flo

27、atselect x = 123 , y = 456SELECT x+y 12.以下代碼段的輸出結果為 pass_ 。 DECLARE point AS int Set point =95 IF point >=60 select 'pass' ELSE select 'no pass'13.以下代碼段的輸出結果為 中等 Set point =75 SELECT CASE WHEN point>=90 THEN '優秀' WHEN point>=80 THEN '良好' WHEN point>=70 THE

28、N '中等' WHEN point>=60 THEN '及格' ELSE '不及格' END AS '分數等級' 選擇題14.Select 語句中用來連接字符串的符號是_A_.A. “+” B. “&” C.“|” D.“|”15.SQL Server數據庫對象的完整名稱由4部分組成。以下哪種是正確的?(B) A. 服務器名.架構名.數據庫名.對象名 B. 服務器名.數據庫名.架構名.對象名 C. 數據庫名.服務器名.架構名.對象名16.語句“use teaching”的作用是什么?(B) A. 打開數據庫teach

29、ing B. 使用數據庫teaching C. 關閉數據庫teaching 17. 語句“select Datepart(mm,getdate()”的輸出結果及其類型為(A) A. 當前月份、整型 B. 當前月份、字符型 C. 當前月份的英文名、字符型18. 語句“select Datediff(year,'1990-5-1','2012-5-1')”的輸出結果為(A) A. 22 B. -22 19.語句“select floor(99.5),round(99.457,1)”的輸出結果為(B) A. 100 99.4 B. 99 99.5 C. 100 99.

30、520.語句“select Substring('王曉宇',2,2)”的輸出結果為(A) A. 曉宇 B. 曉 C. 王曉宇21.下面哪個不是SQL Server 的合法標識符( B )。A. a12 B. 12a C. a12D. #qq22.SQL語言中,不是邏輯運算符號的是(D)。A. AND B. NOT C. ORD. XOR23.下面哪個函數是屬于字符串運算的(C)。AABS B. SIN C. STR D. ROUND24.下面關于SQL Server中變量的操作正確的是(D)。A.DECLARE name varchar(8)SET name='lkl&

31、#39;print '姓名是'+nameB.DECLARE name varchar(8)SET name='lkl'print '姓名是'+nameC.print VERSION AS '版本', ,應該用“+”SERVERNAME AS '服務器'D.SELECT VERSION AS '版本', SERVERNAME AS '服務器' 簡答題25. 自定義函數主要有分哪兩類?其返回值有什么區別? 答:標量函數、表值函數。 標量函數返回單個值,表值函數返回單個表。26. Tran

32、sact-SQL給變量賦值的語句有哪些?輸出變量值的語句有哪些?答:set和select select27. 簡述Transact-SQL的各個聚合函數的用途。答:聚合函數用于對一組值進行計算并返回一個單一的值。除count函數之外,聚合函數忽略空值。聚合函數經常與select語句的group by 子句一同使用。聚合函數的作用是在結果集中通過對被選列值的收集處理,返回一個數值型的計算結果。28. Transact-SQL語句共分幾類?答:數據定義語言、數據操縱語言、數據控制語言、控制流語言。第五六章習題選擇題1.SQL語言允許使用通配符進行字符串匹配的操作,其中%可以表示( C )A零個字符

33、 B1個字符串 C多個字符串 D以上都是2.使用空值查詢是,表示一個列RR不是空值的表達式是( D )ARR IS NULL BRR=NULL CRR<>NULL DRR IS NOT NULL3.下面聚集函數中哪個只能用于計算數值類型的數據( D )ACOUNT( ) BMIN( ) CMAX( ) DSUM( ) 還有一個AVG()4.以下哪一個不是邏輯運算符( D )ANOT BAND COR DIN5. 以下( B )語句從表TABLE_NAME中提取前10條記錄。 Aselect * from TABLE_NAME where rowcount=10 Bselect TO

34、P 10 * from TABLE_NAME Cselect TOP of 10 * from TABLE_NAME Dselect * from TABLE_NAME where rowcount<=10 6.現有表book,字段:id (int),title (varchar), price (float); 其中id字段設為標識,使用insert語句向book表中插入數據,以下語句錯誤的是( CD )。 Ainsert into book (id,title,price) values(1,'java',100) Binsert into book (title,p

35、rice) values('java',100) Cinsert into book values ('java',100) 這輛都不可以啊,如果不指定列需要明確的給出空值 Dinsert book values('java',100) 7. 查詢student表中的所有非空email信息, 以下語句正確的是( D )。 ASelect email from student where email !=null BSelect email from student where email not is null CSelect email fro

36、m student where email <> null DSelect email from student where email is not null 8.關于聚合函數,以下說法錯誤的是(B )。 ASum返回表達式中所有數的總合,因此只能用于數字類型的列。 BAvg返回表達式中所有數的平均值,可以用于數字型和日期型的列。 CMax和Min可以用于字符型的列。 DCount可以用于字符型的列。9.使用以下( A )不可以進行模糊查詢。 AOR BNot between CNot IN DLike10.語句:select * from students where SNO

37、like 0100%A,B,C%,可能會查詢出的SNO是( A D )。(選擇兩項) AA #Hm3? /0 表示不可以為0 BA01 CD09 D0101A0111.查詢畢業學校名稱與“清華”有關的記錄應該用( D )。A. SELECT * FROM 學習經歷 WHERE 畢業學校 LIKE *清華*B. SELECT * FROM 學習經歷 WHERE 畢業學校 = %清華%C. SELECT * FROM 學習經歷 WHERE 畢業學校 LIKE ?清華?D. SELECT * FROM 學習經歷 WHERE 畢業學校 LIKE %清華%12.假定表table1中phone列有空值,則

38、select count(*) from table1與select count(phone) from table1相等嗎? BA.相等 B.不相等填空題13.聲明一個名為CRSCOURSE的游標,并利用游標遍歷,顯示整個結果集。USE XKDECLARE 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,COUNAMEWHI

39、LE FETCH_STATUS=0BEGIN PRINT 課程號:+ COUNO +課程名稱:+ CouName FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAME END_CLOSE CRSCOURSE_DEALLOCATE CRSCOURSSE14.left join 運算是_左連接_。15.SELECT語句的基本格式如下:SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING searc

40、h_condition ORDER BY order_expression ASC | DESC (1)SELECT語句的各個子句書寫的是否有先后順序要求? 是(2)WHERE子句作用是 數據過濾 ;GROUP BY子句作用是 按某一列或多列進行的值分組,值相等的為一組 ;HAVING子句作用是 對分組進行篩選 ;ORDER BY子句作用是 對查詢結果,按某一個或多個屬性列的升序(ASC)或降序(DESC)排序 ;16.操作Transact-SQL 游標使用的語句有: 定義游標使用(DECLARE )語句;打開游標使用( OPEN )語句;移動游標取得一條記錄使用( FETCH )語句;關閉游

41、標使用( CLOSE )語句。簡答題17.什么是動態游標? 什么是靜態游標?動態:定義一個游標,以反應在滾動游標時對查詢結果集內的各行所做的所有數據更改靜態:定義一個游標,以創建將由該游標使用的數據的臨時復本,不反應對基本所做的更改第七章判斷題1.SQL Server 自動為primary key約束的列建立一個索引。( 對 )填空題2._試圖_是由一個或多個數據表(基本表)或視圖導出的虛擬表。3.索引的類型有_唯一、聚集_和非聚集索引。選擇題4.SQL的視圖是從( C )中導出的。A. 基本表 B. 視圖 C. 基本表或視圖 D. 數據庫5.使用索引下列哪個說法是正確的( B )。A. 節省

42、磁盤空間 B. 縮短查詢時間C. 在執行插入、修改、刪除時節省時間 D. 與表無關6.關于視圖下列哪一個說法是錯誤的( B )。A. 視圖是一種虛擬表 B. 視圖中也存有數據 C. 視圖也可由視圖派生出來 D. 視圖是保存在數據庫中的SELECT查詢7.索引是依附于表而存在的,建立索引的目的是(A)A. 提高查詢表中數據的速度 B. 建立聚集索引可以使表中的記錄按索引關鍵字的順序排列 C. 提高表的安全性 8. SQL Server中索引分為哪三類?( ) 這個有待商議 A. 主鍵索引 B. 復合索引 C. 唯一索引 D. 普通索引 9.建立視圖的目的是(BC) A. 提高查詢數據的速度 B.

43、 提高數據庫安全性 C. 簡化復雜查詢 10.在SQL Server 2005中,索引的順序和表中記錄的物理順序相同的索引時(C )。 A. 主鍵索引 B. 非聚集索引 C. 聚集索引 D.唯一索引11.下面對索引的相關描述正確的是(D)。/不確定 A. 經常被查詢的列不適合建索引 B.小型表適合建索引 C. 有很多重復值的列適合索引值 D. 是外鍵或主鍵的列不適合建索引12.在使用CREATE INDEX命令創建索引時,FILLFACTOR選項定義的是(A)。 A. 填充因子 B. 誤碼率 C. 冗余度 D. 索引頁的填充率13.對視圖的描述錯誤的是(D)。 A. 視圖是一張虛擬表 B. 視

44、圖定義包含TOP子句時才能設置排序規則 C. 可以像查詢表一樣查詢視圖 D. 被修改的視圖只能引用一個基表的列14.WITH CHECK OPTION屬性對視圖有(A)。A. 進行檢查約束 B. 進行刪除監測 C.進行更新監測 D.進行插入監測簡答題15.按照索引的存儲結構劃分,索引分為哪幾種?按照是否允許在索引列中輸入重復值,索引分為哪幾種? 存儲結構:聚集和非聚集 ,是否允許重復:唯一和非唯一16.SQL SERVER對在視圖上進行INSERT、UPDATE、DELETE操作,主要有哪些限制?在進行插入操作時:1、 用戶必須具備插入數據的相關權限2、 試圖只能引用一個基表的列3、 試圖所包

45、含的列必須直接引用表列中的基礎數據,不能通過聚合函數或計算等方式派生4、 Insert語句不允許為空值5、 必須符合在相關列上定義的約束條件6、 試圖中不能包含DISTINICT,GROUP BY或HAVING子句7、 在試圖定義中使用了WITH CHECK OPTION,插入時將檢查是否符合定義視圖中SELECT語句所設置的條件在更新時:1、 修改視圖中的數據時,不能同時修改兩個或多個基表2、 當視圖來自多個基表時,通常只能對非主屬性進行修改3、 試圖中被修改的列必須直接引用基表中的列,不能通過聚合函數或計算等方式派生在刪除時:試圖只能引用一個基表的列,且刪除操作必須滿足基表中定義的約束條件

46、第八章習題選擇題1.以下描述不正確的是 ( D ) A.存儲過程能夠實現較快的執行速度。 B.內嵌表值型函數相當于一個帶參數的視圖。 C.不指定所有者時,調用標量函數會出錯。 D.可以通過視圖更改任意基表2.在MS SQL Server中,用來顯示數據庫信息的系統存儲過程是( D )。A. sp_dbhelp B. sp_db C. sp_helpD. sp_helpdb3.觸發器可以創建在( AC )中。A. 表 B. 過程 C. 數據庫 D. 函數4.以下觸發器是當對表1進行( D )操作時觸發。Create Trigger abc on 表1For insert , update , d

47、eleteAs A.只是修改 B.只是插入 C.只是刪除 D.修改、插入、刪除5.執行帶參數的過程,正確的方法為( A)。A. 過程名 參數 B. 過程名(參數) C.過程名參數 D.A,B,C三種都可以6.執行帶參數的過程,正確的方法為( A )。A. 過程名 參數 B. 過程名(參數) C.過程名參數 D.A,B,C三種都可以7.觸發器可引用視圖或臨時表,并產生兩個特殊的表是( A )。ADeleted、InsertedB. Delete、Insert C. View、Table D. View1、table18.在SQL Server 數據庫中,下面調用存儲過程的語句錯誤的是(B)。A.

48、EXEC proc_stu sum OUTPUT,64,78B.EXEC proc_stu sum OUTPUT,total output,78C.EXEC proc_stu sum OUTPUT,604D.EXEC Calculate sum OUTPUT,total output9.在SQL SERVER中,聲明并創建以下存儲過程,正確調用該存儲過程的的語句是(BC)。CREATEPROCEDURE PROpassNum int OUTPUT,passPoint int=60 ASSelect passNum=count(*) From stuTable Where point >p

49、assPointGOA.Declare sum intEXEC PRO passNum,70B.Declare sum intEXEC PRO sum output,70C.Declare sum intEXEC PRO sum outputD.EXEC PRO 7010.在SQL Server中,創建如下存儲過程:create proc stu_examwrittenExam int=nullas if writtenExam is nullbeginprint '請輸入筆試成績及格線'returnendselect * from student where stu_id i

50、n (select stu_id from stu_marks where writtenExam>writtenExam)GO下列選項正確的是( C )。A.執行EXEC stu_exam語句,控制臺顯示所有筆試成績及格的學生信息記錄集B.存儲過程(stu_exam)代碼存在語法錯誤C.執行EXEC stu_exam語句,控制臺顯示“請輸入筆試成績及格線”D.執行EXEC stu_exam 75語句,控制臺顯示“請輸入筆試成績及格線”11.在SQL語言中,如果要建立一個工資表包含職工號,姓名,職稱。工資等字段。若要保證工資字段的取值不低于800元,最合適的實現方法是:(B)A.在創建工

51、資表時為”工資“字段建立缺省B.在創建工資表時為”工資“字段建立檢查約束C.在工資表建立一個觸發器D.為工資表數據輸入編寫一個程序進行控制12.你是一個出版公司的數據庫開發人員,對特定的書名的每天的銷售情況建立了如下的存儲過程:CREATE PROCEDURE get_sales_for_titletitle varchar(80), ytd_sales int OUTPUTASSELECT ytd_sales = ytd_salesFROM titlesWHERE title = titleIF ROWCOUNT = 0RETURN(-1)ELSERETURN(0)另外建立了一個腳本執行這個存儲過程,如果執行成功,將返回對應于書名的每天的銷售情況的報表,如果執行失敗,將返回“No Sales Found”,怎樣建立這個腳本? ( C ). DECLARE retval intDECLARE ytd intEXEC get_sales_for_title Net Etiquette, ytdIF retval < 0PRINT No sales foundELSEPRINT Year to date sales: + STR (ytd)GO. DECLARE retval intDECL

溫馨提示

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

評論

0/150

提交評論