SQL試題及答案_第1頁
SQL試題及答案_第2頁
SQL試題及答案_第3頁
SQL試題及答案_第4頁
SQL試題及答案_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、模擬測驗1一、選擇題(在每個小題四個備選答案中選出一個正確答案,填在題末的括號中)(本大題共10小題,每小題2分,總計20分)1. ( )是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它屬于系統(tǒng)軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法。數(shù)據(jù)庫在建立、使用和維護(hù)時由其統(tǒng)一管理、統(tǒng)一控制。ADBMS BDBCDBS DDBA2. 下列四項中,不屬于SQL2005實用程序的是( )。A.對象資源管理器 B.查詢分析器C.服務(wù)管理器 D.媒體播放器3. SQL Server安裝程序創(chuàng)建4個系統(tǒng)數(shù)據(jù)庫,下列哪個不是( )系統(tǒng)數(shù)據(jù)庫。A. master B. modelC. pub D. msdb4.

2、下列哪個不是sql 數(shù)據(jù)庫文件的后綴。A.mdf B.ldfC.tif D.ndf5. SQL語言允許使用通配符進(jìn)行字符串匹配的*作,其中%可以表示( )A.零個字符 B.1個字符串 C. 多個字符串 D. 以上都是6. SQL語言中,條件年齡 BETWEEN 15 AND 35表示年齡在15至35之間,且( )。A.包括15歲和35歲 B.不包括15歲和35歲C.包括15歲但不包括35歲 D.包括35歲但不包括15歲7. SQL的視圖是從( )中導(dǎo)出的。A. 基本表 B. 視圖C. 基本表或視圖 D. 數(shù)據(jù)庫8. 在SQL語言中,建立存儲過程的命令是()A、CREATE PROCEDURE

3、B、CREATE RULEC、CREATE DURE D、CREATE FILE9. SQL語言中,刪除表中數(shù)據(jù)的命令是( )。A. DELETE B. DROPC. CLEAR D. REMOVE10. 在MS SQL Server中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是( )。A. sp_dbhelp B. sp_dbC. sp_help D. sp_helpdb二、簡答題(16分)1、什么是游標(biāo)?使用游標(biāo)的步驟?2、什么是事務(wù)?事務(wù)的基本屬性是什么?三、應(yīng)用題1、創(chuàng)建一個名字為ks的數(shù)據(jù)庫,包含一個數(shù)據(jù)文件和一個日志文件,邏輯文件名為ks_data,磁盤文件名為ks_data.mdf,文件

4、初始容量為5MB,最大容量為10MB,文件遞增量為1MB;而事務(wù)日志文件的邏輯文件名ks_log,磁盤文件名為ks_log.ldf,文件初始容量為1MB,最大容量為5MB,文件遞增量為1MB(數(shù)據(jù)庫創(chuàng)建在C:SERVER文件夾下)(10分)2、假設(shè)ks數(shù)據(jù)庫有以下三張表,請寫出下列問題的SQL語句:(每題6分,共54分)學(xué)生(學(xué)號,姓名,年齡,性別)課程(課程號,課程名,任課教師)成績(學(xué)號,課程號,成績)(1)如何在SQL Server上創(chuàng)建這三張表;(2)查詢劉峰教師所授課程號,課程名;(3)查詢年齡大于20歲的所有男同學(xué)的學(xué)號、姓名;(4)查詢王文芳同學(xué)選修的所有課程的課程號;(5)查詢

5、所有上劉峰老師課程的學(xué)生學(xué)號;(6)查詢所有選修“數(shù)據(jù)庫技術(shù)”的學(xué)生的學(xué)號;(7)向?qū)W生表中插入一條記錄(2003001,吳紅,21,女);(8)刪除三張表中所有學(xué)號為20020001的學(xué)生信息;(9)把學(xué)號為20030002的學(xué)生的年齡改為22歲;SQL Server 2005 復(fù)習(xí)題一、選擇題1. SQL語言允許使用通配符進(jìn)行字符串匹配的*作,其中%可以表示( C )A 零個字符 B 1個字符串 C 多個字符串 D 以上都是2 如何在已經(jīng)創(chuàng)建好的表上添加一個外鍵( A )A Alter table 表名add foreign key(鍵名)reference 關(guān)聯(lián)表(關(guān)聯(lián)鍵名)B Alte

6、r table 表名add Primary key(鍵名)reference 關(guān)聯(lián)表(關(guān)聯(lián)鍵名)C Alter 表名add foreign key(鍵名)reference 關(guān)聯(lián)鍵名)D Alter 表名add Primary key(鍵名)reference 關(guān)聯(lián)表(關(guān)聯(lián)鍵名)3. 要修改表名為Table1的字段Field1長度,原為Char(10)要求用SQL增加長度為char(20),以下語句那個正確( C )A Alter table Table1 Alter Field1 char(20)B Alter Table1 Alter column Field1 char(20)C Alt

7、er table Table1 Alter column Field1 char(20)D Alter column Field1 char(20)4. 下面聚集函數(shù)中哪個只能用于計算數(shù)值類型的數(shù)據(jù)( D )A COUNT( ) B MIN( ) C MAX( ) D SUM( )5.以下哪個關(guān)鍵字用來定義記錄在某屬性上的約束條件( D )A DEFAULT B DISTINCT C UNIQUE D CHECK6.欲往表中增加一條記錄,應(yīng)該用哪一條SQL語句( B )A ALTER TABLE B INSERT INTO TABLEC CREATE TABLE D DROP TABLE7.以

8、下哪一個不是邏輯運算符( D )A NOT B AND C OR D IN8. 在創(chuàng)建表的過程中,哪個關(guān)鍵字用來定義默認(rèn)值( D )A DISTINCT B UNIQUE C CHECK D DEFAULT二、填空題1 數(shù)據(jù)庫技術(shù)經(jīng)歷了人工管理階段,_和_三個發(fā)展階段。2 數(shù)據(jù)庫系統(tǒng)中最常用的三種數(shù)據(jù)模型有層次模型,_和_。3 關(guān)系模式的三類完整性約束條件分別是_,_,和_。4 E-R圖的主要元素是實體型,_,_。5 在E-R模型的主要術(shù)語中,屬性的取值范圍稱為_。能夠區(qū)別不同的實體且能唯一標(biāo)識實體的最小屬性集,稱為_。填空題答案:1文件系統(tǒng)階段,數(shù)據(jù)系統(tǒng)階段2網(wǎng)狀模型,關(guān)系模型3實體完整性,

9、引用完整性約束,用戶自定義完整性4屬性,聯(lián)系5域,實體集的實體鍵三、判斷題1 默認(rèn)值綁定到列上后,該列上的值將固定不能改變 ( X )2 一張表允許有多個主鍵,但只能有一個外鍵 ( X )3 可以通過SQL語句修改數(shù)據(jù)庫名稱及表的名稱 ( )4 聚集函數(shù)SUM( )與AVG( )可以用來操作任何類型的數(shù)據(jù) ( X )5 要刪除一條記錄使用DROP指令( X )6 在空串處理語句中,IS NULL用來判斷屬性值是否為空,在此IS是關(guān)鍵字,不是標(biāo)準(zhǔn)的邏輯運算符( )7 在模糊查詢中可以使用LIKE結(jié)合通配符一塊兒實現(xiàn),其中%代表單個字符 ( X )8 在查詢語句中,若要把記錄進(jìn)行降序排列應(yīng)使用OR

10、DER BY 字段名 DESC ( )9 在創(chuàng)建表的過程中,如果一屬性是DATETIME類型需要指定長度 ( X )10 在關(guān)系數(shù)據(jù)庫的設(shè)計過程中,允許在設(shè)計后對表結(jié)構(gòu)進(jìn)行修改 ( )四、基本操作現(xiàn)在要為學(xué)校建立一個數(shù)據(jù)庫,設(shè)學(xué)校的環(huán)境如下:一個系有若干個專業(yè),每個專業(yè)一年只招一個班,每個班有若干個學(xué)生,現(xiàn)要建立關(guān)于系、學(xué)生、班級的數(shù)據(jù)庫,關(guān)系模式為:學(xué)生表STUDENT(學(xué)號,姓名,性別,生源地,出生日期)班級表CLASS(班號,專業(yè)名,系號,入學(xué)年份)系DEPARTMENT(系號,系名)使用SQL語句完成一下功能:1 建立數(shù)據(jù)庫名為SCHOOL并激活當(dāng)前新建的數(shù)據(jù)庫CREATE DATAB

11、ASE SCHOOLON PRIMARY( NAME = SCHOOL,FILENAME = 'D:SCHOOL.mdf',SIZE = 5MB,MAXSIZE = 20MB,FILEGROWTH = 1MB)LOG ON( NAME= SCHOOL_log,FILENAME = 'D:SCHOOL_log.ldf',SIZE = 2MB,MAXSIZE = 20MB,FILEGROWTH = 10%)GOuse SCHOOL2 建表:在定義中聲明1)每個表要有主鍵2)學(xué)生的性別只能取男或者女3)學(xué)生姓名不能為空4)表CLASS中建立外鍵系名,關(guān)聯(lián)表DEPART

12、MENT中的系名5)系代號不能重復(fù)且不能為空(1)學(xué)生表STUDENT(學(xué)號,姓名,性別,生源地,出生日期)create table student - 學(xué)生表定義(學(xué)號 char(10) primary key , - 主鍵為學(xué)號姓名 varchar(20) not null , - 姓名不能為空值性別 char(4) default '男' , - 性別默認(rèn)為男性生源地 varchar(12) , -生源地出生日期 datetime ,check(性別= '男') or (性別= '女') - 性別必須為男性或女性)(2)班級表CLASS(班

13、號,專業(yè)名,系名,入學(xué)年份)-班級表CLASS(班號,專業(yè)名,系名,入學(xué)年份)create table class - 班級表定義(班號 char(4) primary key not null, - 定義班號不能為空值專業(yè)名 char(20) , - 定義專業(yè)名系號 char(4) , - 定義學(xué)分入學(xué)年份 datetime ,- 入學(xué)年份foreign key(系號) references department(系號),)(3)系DEPARTMENT(系號,系名)create table department - 系表定義(系號 char(4) primary key not null ,

14、-系代號不能為空系名 char(8) ,-系名unique(系號) ,- 系號是唯一的,即系號不能重復(fù))3 插入如下數(shù)據(jù)CALSS(101,軟件,02,2003;102,微電子,02,2004)STUDENT(8101,張三,男,101,山東,1984;8102,錢四,女,121,濟(jì)南,1984;8103,王玲,女,131,福建,1985;8105,李飛,男,102,河北,1985)DEPARTMENT(02,計算機(jī);03,數(shù)學(xué);04,化學(xué))insert into class values('101','軟件','02','2003-09

15、-01')insert into class values('102','微電子','02','2004-09-01')insert into student values('8101','張三','男','山東','1984-01-01')insert into student values('8102','錢四','女','濟(jì)南','1984-01-01')in

16、sert into student values('8103','王玲','女','福建','1985-01-01')insert into student values('8105','李飛','男','河北','1985-01-01')insert into department values('02','計算機(jī)')insert into department values('03',

17、'數(shù)學(xué)')insert into department values('04','化學(xué)')4 完成以下的查詢功能(1)通過對學(xué)生信息表的查詢,查詢出所有學(xué)生的學(xué)號,姓名和性別select 學(xué)號,姓名,性別from student(2)通過對學(xué)生信息表的查詢,查詢來自福建的學(xué)生的記錄select *from studentwhere 生源地= '福建'(3)在查詢語句中,查詢出學(xué)生姓名并計算出學(xué)生的年齡大小select 姓名, datediff(yy, 出生日期, getdate()from student(4)用模糊查詢出姓錢的女

18、生記錄select *from studentwhere 姓名like '錢%'(5)在查詢語句中使用聚合函數(shù)計算出所有學(xué)生總數(shù)起別名為學(xué)生人數(shù)select count(*) as '學(xué)生人數(shù)'from student(6)查詢所有班級的信息,并用班級號進(jìn)行降序排序select *from classorder by 班號desc(7)更新學(xué)號為8103的這位學(xué)生的姓名為張玲update studentset 姓名= '張玲'where 學(xué)號= '8103'(8)查找出學(xué)號在8101到8103的學(xué)生信息select *from s

19、tudentwhere 學(xué)號between '8101' and '8103'(9)刪除姓名為李飛的學(xué)生記錄delete from studentwhere 姓名= '李飛'(10)刪除數(shù)據(jù)表STUDENTdrop table studentSQL SERVER 2005 填空題 填空: 1 SQL(structured packingQuery Language)是_結(jié)構(gòu)化查詢_語言。 2 SQL SERVER的實例有兩種,分別是_默認(rèn)實例 _和_命名實例_。 3 SQL SERVER提供了四個系統(tǒng)數(shù)據(jù)庫,分別是_master_、_tempdb

20、_、_model_、 _msdb_。 4 SQL SERVER安裝后,系統(tǒng)默認(rèn)兩個帳號,一個是BUILTIN Administrator是Windows NT組帳戶,另一個是sa,sa是_超級管理員 _帳戶.5 SQL SERVER提供了兩種形式的索引,分別是_聚集索引 _和_非聚集索引_。 6 SQL語言中,用于排序的是_ORDER_BY_子句,用于分組的是_GROUP BY_子句。 7 用統(tǒng)計函數(shù)_avg() _可以計算平均值,用統(tǒng)計函數(shù)_max() _可以計算某一列上的最大值。 8 _count(*) _是一個非常特殊但又非常有用的函數(shù),它可以計算出滿足約束條件的一組條件的行數(shù)。 9 當(dāng)

21、完成數(shù)據(jù)結(jié)果的查詢和統(tǒng)計后,可以使用HAVING關(guān)鍵字來對查詢和計算的結(jié)果進(jìn)行_進(jìn)一步的篩選_。 10在INSERT語句中,VALUES列表中的表達(dá)式的數(shù)量,必須匹配列列表中的_ 列名次序一樣,個數(shù)相等_, 表達(dá)式的數(shù)據(jù)類型必須可以和表格中對應(yīng)各列的數(shù)據(jù)類型_一一對應(yīng) _。 11 SQL中,有一種簡便的插入多行數(shù)據(jù)的方法,這種方法是使用_select語句_查詢出的結(jié)果代替VALUES子句。 12 刪除視圖的語句是_DROP VIEW VIEW-NAME_。 13 模糊查詢中,*表示_全部信息_,%表示_表示從0-N個任意字符_,表示_表示方括號里的列出的任意一個字符_、表示_任意一個沒有再方括

22、號里列出的字符 _。 14 視圖是一種數(shù)據(jù)庫對象,是從一個或多個表或視圖中導(dǎo)出的_select語句_,為視圖提供數(shù)據(jù)的表稱為_基表_。 15 數(shù)據(jù)庫系統(tǒng)是指計算機(jī)系統(tǒng)中引進(jìn)數(shù)據(jù)庫后的系統(tǒng)構(gòu)成,主要包括以下幾方面:計算機(jī)硬件、數(shù)據(jù)庫、_數(shù)據(jù)庫管理系統(tǒng)_和_應(yīng)用系統(tǒng)和用戶_。 16 數(shù)據(jù)模型有三種類型,分別是_層次模型_、_網(wǎng)狀模型_和_關(guān)系模型_。SQL屬于_關(guān)系_型數(shù)據(jù)庫管理系統(tǒng)。 17 實體-關(guān)系(ER)圖中的矩形框表示_實體_、橢圓型框表示_屬性 _。 18 SQL SERVER的兩種身份驗證模式分別是_windows身份驗證模式_和_混合模式_。 19 SQL語言的英文全稱為struct

23、ured packingQuery Language ,在SQL中,基本表的刪除可用drop table table-name 語句,刪除基本表中的所有元組可用delete from table-name where search-conditions語句。建立視圖可用create view view-name column_name,. as select statement with check option 語句 20 數(shù)據(jù)庫中,主要數(shù)據(jù)文件的擴(kuò)展名為_.mdf_,次要數(shù)據(jù)文件的擴(kuò)展名為_ .ndf_,事務(wù)日志文件的擴(kuò)展名為_ .ldf _。 21 INT 型數(shù)據(jù)的字段寬度為_4_、DA

24、TETIME型數(shù)據(jù)的字段寬度為_8_,邏輯型數(shù)據(jù)的字段寬度為_1_。 22 SQL SERVER中的索分為兩類,記錄的物理順序和索引順序相同的是_聚集_索引, 記錄的物理順序和索引順序不同的是_非聚集_索引,_聚集_索引只能建一個。 23在數(shù)據(jù)庫技術(shù)中,ER模型是一種 數(shù)據(jù)模型。ER圖中包括實體 、關(guān)系 、 _屬性_ 三種基本元素。 24DB是指:數(shù)據(jù)庫 ,DBMS是指:數(shù)據(jù)庫管理系統(tǒng) ,DBA是指 數(shù)據(jù)庫管理員 25關(guān)系數(shù)據(jù)庫中不僅包含表,還包括其它數(shù)據(jù)對象,如_視圖_、_索引_等 數(shù)據(jù)庫試卷2一、填空題(共9題,每空1分,共15分)1在使用一個游標(biāo)的時候可以分為以下幾步:_、打開游標(biāo)、從打

25、開的游標(biāo)中提取行、_、釋放游標(biāo)。2如果要計算表中的行數(shù),可以使用聚合函數(shù)_。3使用T-SQL語句創(chuàng)建視圖時,若要求對視圖進(jìn)行UPDATE、INSERT、DELETE操作時要保證更新、插入、刪除的行滿足視圖定義中的謂詞條件須使用_子句。4使用T-SQL語句創(chuàng)建存儲過程時,若要求對存儲過程的定義文本進(jìn)行加密,應(yīng)使用_子句。5若要刪除sutdent表的全部數(shù)據(jù),數(shù)據(jù)刪除后不可撤銷,應(yīng)使用語句_,若想刪除student數(shù)據(jù)表,應(yīng)使用語句_。6在select查詢中,若要消除重復(fù)行,應(yīng)使用關(guān)鍵字_。7SQL Server 2000局部變量名字必須以_開頭,而全局變量名字必須以_開頭。8Sql Server

26、中的索引,按照索引的順序是否與數(shù)據(jù)表中記錄的物理順序相同可分為_和_。9觸發(fā)器有3種類型,即INSERT類型、 和 。得分閱卷人二、簡答題(共3題,每題7分,共21分)1、判斷題 (每題1分,共10分,答案填在下面表格中)12345678910( )1. 在SQL Server中用戶不能建立全局變量。( )2. 主鍵字段允許為空。( )3. SQL Server的數(shù)據(jù)庫可以導(dǎo)出為Access數(shù)據(jù)庫。( )4. 刪除表時,表中的觸發(fā)器不被同時刪除。( )5. 驗證模式是在安裝SQL Server過程中選擇的。系統(tǒng)安裝之后,可以重新修改SQL Server系統(tǒng)的驗證模式。( )6. 視圖本身不保存

27、數(shù)據(jù),因為視圖是一個虛擬的表。( )7. 在使用子查詢時,必須使用括號把子查詢括起來,以便區(qū)分外查詢和子查詢。( )8. SQL Server有數(shù)據(jù)導(dǎo)入功能但沒有數(shù)據(jù)導(dǎo)出功能。( )9. SQL Server有數(shù)據(jù)備份功能但沒有數(shù)據(jù)還原功能。( )10. 一個表可以創(chuàng)建多個主鍵。2、什么是視圖?視圖和表相比有什么獨特的優(yōu)勢?3、數(shù)據(jù)庫中的常用完整性有幾種?在Sql Server主要通過什么方式實現(xiàn)?得分閱卷人三、應(yīng)用題(共9題,本題共54分。)現(xiàn)有關(guān)系數(shù)據(jù)庫如下:數(shù)據(jù)庫名:學(xué)生成績數(shù)據(jù)庫學(xué)生信息表(學(xué)號 char(6),姓名,性別,民族,身份證號)課程信息表(課號 char(6),名稱)成績信

28、息表(ID,學(xué)號,課號,分?jǐn)?shù))用SQL語言實現(xiàn)下列功能的sql語句代碼。1. 創(chuàng)建數(shù)據(jù)庫學(xué)生成績數(shù)據(jù)庫代碼。2. 創(chuàng)建數(shù)據(jù)表課程信息表代碼; 課程信息表(課號 char(6),名稱) ; 要求使用:主鍵(課號)、非空(名稱)3. 創(chuàng)建數(shù)據(jù)表學(xué)生信息表代碼; 學(xué)生信息表(學(xué)號 char(6),姓名,性別,民族,身份證號)要求使用:主鍵(學(xué)號)、唯一(身份證號)、檢查(性別)4. 查詢所有學(xué)生的信息;5將下列課程信息添加到課程信息表的代碼;課號 名稱101 西班牙語102 大學(xué)英語6查詢選修課號為102的課程的學(xué)生的成績;7. 創(chuàng)建視圖成績信息表視圖的代碼;成績信息表視圖(學(xué)號,姓名,課號,課程名

29、稱,分?jǐn)?shù))8. 從學(xué)生信息表中查詢姓名中有“麗”的女同學(xué)的情況:姓名、性別、民族。得分閱卷人四、編程題(共2題,每題5分,共10分)1. 在數(shù)據(jù)表上機(jī)記錄中創(chuàng)建一個名為insert_sjkh的insert觸發(fā)器其作用是:當(dāng)用戶在“上機(jī)記錄”表中插入記錄時,若“上機(jī)卡”表中沒有該上機(jī)號,則提示用戶不能插入,否則,提示記錄插入成功。(附:上機(jī)記錄表結(jié)構(gòu):(上機(jī)號 char(13),上機(jī)日期 datetime,開始時間 datetime,結(jié)束時間 datetime,上機(jī)狀態(tài) bit)。上機(jī)卡表結(jié)構(gòu):(上機(jī)號 char(13),姓名)2. 在student數(shù)據(jù)庫中的學(xué)生、課程注冊、課程表中創(chuàng)建一個帶參

30、的存儲過程cjcx。其功能是:當(dāng)任意輸入一個學(xué)生的姓名時,返回該學(xué)生的學(xué)號、選修的課程名和課程成績。然后使用存儲過程,查詢學(xué)生“周紅瑜”的學(xué)號、選修的課程名和課程成績9. 查詢課程成績小于60分的所有學(xué)生的信息,包括學(xué)號、姓名。試卷1學(xué)習(xí)一、填空題(共9題,每空1分,共15分)1SQL Server的身份驗證方式有_和_。2SQL Server中用于存放臨時表、臨時存儲過程以及為其他臨時操作提供存儲空間的系統(tǒng)數(shù)據(jù)庫是_。3使用T-SQL語句創(chuàng)建視圖時,若要求對視圖進(jìn)行UPDATE、INSERT、DELETE操作時要保證更新、插入、刪除的行滿足視圖定義中的謂詞條件須使用_子句。4使用T-SQL語

31、句創(chuàng)建存儲過程時,若要求對存儲過程的定義文本進(jìn)行加密,應(yīng)使用_子句。5若要刪除sutdent表的全部數(shù)據(jù),數(shù)據(jù)刪除后不可撤銷,應(yīng)使用語句_,若想刪除student數(shù)據(jù)表,應(yīng)使用語句_。6在select查詢中,若要消除重復(fù)行,應(yīng)使用關(guān)鍵字_。7Sql Server的數(shù)據(jù)庫文件分為數(shù)據(jù)文件和_,其中數(shù)據(jù)文件又分為_和_。8Sql Server中的索引,按照索引的順序是否與數(shù)據(jù)表中記錄的物理順序相同可分為_和_。9在Sql Server的事務(wù)處理中,開啟一個事務(wù)可用Begin Transaction,提交事務(wù)和撤銷事務(wù)應(yīng)使用_和_。二、簡答題(共3題,每題7分,共21分)1在數(shù)據(jù)庫端編程,主要有自定

32、義函數(shù)、存儲過程和觸發(fā)器三種形式,請比較一下這三種方式的異同。2已知有學(xué)生關(guān)系S(SNO,SNAME,AGE,DNO),各屬性含義依次為學(xué)號,姓名、年齡和所在系號;學(xué)生選課關(guān)系SC(SNO,CNO,SCORE),各屬性含義依次為學(xué)號、課程號和成績。分析以下SQL語句:SELECT SNO FROM SC WHERE SCORE= (SELECT MAX(SCORE)FROM SC WHERE CNO=002)請問上述語句完成了什么查詢操作?3簡述一下視圖的概念和優(yōu)點。三、應(yīng)用題(共6題,本題共54分。)1創(chuàng)建名為“Love”的數(shù)據(jù)庫,其中主數(shù)據(jù)文件為Lovedat.mdf,初始大小為5M,增長

33、大小為2M,日志文件為Lovedat.ldf,初始大小是3M,最大存儲空間是25M,增長是5M。請寫出相應(yīng)的SQL語句。(本題8分)2使用sql語句創(chuàng)建表authors,結(jié)構(gòu)如下表所示(本題8分)列名數(shù)據(jù)類型大小是否為空默認(rèn)值說明authorIDint4N編號(主鍵),自動增長authorNamenvarchar50N姓名Phonenvarchar13Y電話addressnvarchar255Y地址3使用SQL語句對2中創(chuàng)建的authors表進(jìn)行如下修改:(每小題5分,共15分)(1)添加Sex 列 char(2),city列 varchar(20)。(2)刪除city列。(3) 修改作者信息

34、表authors中的address列將該列的屬性的長度更改為500。4系部表的創(chuàng)建語句如下,請完成以下操作(每小題5分,共15分)CREATE TABLE 系部 (系部代碼 char(2) CONSTRAINT pk_xbdm PRIMARY KEY,系部名稱 varchar(30) NOT NULL,系主任 char(8)(1)將系部表中計算機(jī)系的系主任改為張中裕(2)將系部表中的系部名稱列中的系全部更改為科學(xué)系(使用replace函數(shù),用法:replace(串1,串2,串3),其功能是將串1中的串2 替換為串3 )(3)在系部表中刪除系主任姓張的系部數(shù)據(jù)5有二個數(shù)據(jù)表XS(xh, xm)和

35、XS_KC(xh, kch, cj),用兩種方法,寫出如下查詢:“查找數(shù)據(jù)庫中所有學(xué)生的學(xué)號(xh)、姓名(xm)以及其所選修的課程號(kch)和成績(cj)”。(本題8分)得分閱卷人四、編程題(共2題,每題5分,共10分)1. 在數(shù)據(jù)表上機(jī)記錄中創(chuàng)建一個名為insert_sjkh的insert觸發(fā)器其作用是:當(dāng)用戶在“上機(jī)記錄”表中插入記錄時,若“上機(jī)卡”表中沒有該上機(jī)號,則提示用戶不能插入,否則,提示記錄插入成功。(附:上機(jī)記錄表結(jié)構(gòu):(上機(jī)號 char(13),上機(jī)日期 datetime,開始時間 datetime,結(jié)束時間 datetime,上機(jī)狀態(tài) bit)。上機(jī)卡表結(jié)構(gòu):(上機(jī)號

36、char(13),姓名)2. 在student數(shù)據(jù)庫中的學(xué)生、課程注冊、課程表中創(chuàng)建一個帶參的存儲過程cjcx。其功能是:當(dāng)任意輸入一個學(xué)生的姓名時,返回該學(xué)生的學(xué)號、選修的課程名和課程成績。然后使用存儲過程,查詢學(xué)生“周紅瑜”的學(xué)號、選修的課程名和課程成績1、說明ER模型的作用?答:ER模型(實體關(guān)系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系統(tǒng)所要描述的問題劃分為單個的實體,通過實體間的聯(lián)系實現(xiàn)有效、自然地模擬現(xiàn)實世界。2、什么是關(guān)系模型?關(guān)系的完整性包括哪些內(nèi)容?答:關(guān)系模型就是用二維表格結(jié)構(gòu)來表示實體及實體之間聯(lián)系的模型,關(guān)系模型包括四類完整性:域完整性、實體完整性、參照

37、完整性和用戶定義的完整性。3、按照功能,SQL語言分為哪4部分?答:按照功能,SQL語言分為數(shù)據(jù)定義語言、查詢語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言。4、規(guī)范化范式是依據(jù)什么來劃分的?它與一事一地的原則有什么聯(lián)系?答:規(guī)范化范式根據(jù)一個關(guān)系滿足數(shù)據(jù)依賴的程度不同,可規(guī)范化為第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。規(guī)范化范式遵循一事一地的原則,將描述一個獨立事物的屬性組成一個關(guān)系。5、什么是實例?經(jīng)常提到的SQL Server 2005服務(wù)器和服務(wù)器實例是否具有相同的含義?答:實例就是SQL服務(wù)器引擎,每個SQL Server數(shù)據(jù)庫引擎實例各有一套不為其他實例共享的系統(tǒng)及用戶數(shù)據(jù)庫

38、。一個SQL Server服務(wù)器就是一個實例,一臺計算機(jī)上,可以安裝多個SQL SERVER,每個SQL SERVER就可以理解為是一個實例。6、默認(rèn)實例和命名實例有何差別?在安裝和使用上有何不同?答:實例又分為“默認(rèn)實例”和“命名實例”,如果在一臺計算機(jī)上安裝第一個SQL SERVER 2005命名設(shè)置保持默認(rèn)的話,那這個實例就是默認(rèn)實例。一臺計算機(jī)上最多只有一個默認(rèn)實例,也可以沒有默認(rèn)實例,默認(rèn)實例名與計算機(jī)名相同。除默認(rèn)實例外,所有數(shù)據(jù)庫引擎實例都由安裝該實例的過程中指定的實例名標(biāo)識。7、SQL Server 2005的安全性驗證分為哪兩個階段?答:第1個階段是身份驗證,驗證用戶是否具有

39、“連接權(quán)”;第2個階段是數(shù)據(jù)庫的訪問權(quán),驗證連接到服務(wù)器實例的用戶,即已登錄到服務(wù)器實例的用戶,是否具有“訪問權(quán)”。8、在SQL Server 2005中數(shù)據(jù)庫文件有哪3類?各有什么作用?答:SQL Server 2005中數(shù)據(jù)庫文件有主數(shù)據(jù)文件、輔助數(shù)據(jù)文件、事務(wù)日志文件。主數(shù)據(jù)文件是數(shù)據(jù)庫的起點,指向數(shù)據(jù)庫中文件的其他部分,同時也用來存放用戶數(shù)據(jù);輔助數(shù)據(jù)文件專門用來存放數(shù)據(jù);事務(wù)日志文件存放恢復(fù)數(shù)據(jù)庫所需的所有信息。9、SQL Server 2005中數(shù)據(jù)文件是如何存儲的?答:SQL Server 2005中采用以頁為數(shù)據(jù)庫存儲的基本單位,數(shù)據(jù)文件的頁按順序編號,文件首頁的頁碼是0。每個

40、文件都有一個文件ID號。在數(shù)據(jù)庫中惟一標(biāo)識一頁,需要同時使用文件ID和頁碼。在每個文件中,第一頁是包含文件特性信息的文件首頁,在文件開始處的其他幾個頁中包含系統(tǒng)信息,如分配映射表。系統(tǒng)頁存儲在主數(shù)據(jù)文件和第一個事務(wù)日志文件中,其中有一個系統(tǒng)頁包含數(shù)據(jù)庫屬性信息,它是數(shù)據(jù)庫的引導(dǎo)頁。10、SQL Server 2005中創(chuàng)建、查看、打開、刪除數(shù)據(jù)庫的方法有哪些?答:方法分別有兩種,即可以通過SQL Server Management Studio圖形化界面實現(xiàn),也可以通過SQL語句命令實現(xiàn)。通過SQL語句,使用_CREATE_ DATABASE _命令創(chuàng)建數(shù)據(jù)庫,使用_ EXEC sp_help

41、db_命令查看數(shù)據(jù)庫定義信息,使用_ EXEC sp_dboption 命令設(shè)置數(shù)據(jù)庫選項,使用_ ALTER DATABASE _命令修改數(shù)據(jù)庫結(jié)構(gòu),使用_ DROP DATABASE _命令刪除數(shù)據(jù)庫。11、安裝SQL Server 2005時,系統(tǒng)自動提供的4個系統(tǒng)數(shù)據(jù)庫分別是什么?各起什么作用?答:系統(tǒng)自動提供的4個系統(tǒng)數(shù)據(jù)庫分別是master數(shù)據(jù)庫、model數(shù)據(jù)庫、msdb數(shù)據(jù)庫、tempdb數(shù)據(jù)庫。12、如何理解表中記錄和實體的對應(yīng)關(guān)系?為什么說關(guān)系也是實體?在表中如何表示?答:實體是客觀存在并且可以相互區(qū)別的事物,實體可以是具體的事物,也可以是抽象的事物。不同的事物是用不同的特

42、征決定的,用來描述實體的特性稱為實體的屬性。表中每條記錄對應(yīng)一個實體,而每個字段保存著對應(yīng)實體的屬性值。13、說明主鍵、惟一鍵和外鍵的作用。說明它們在保證數(shù)據(jù)完整性中的應(yīng)用方法。答:主鍵是唯一識別一個表的每一記錄,作用是將記錄和存放在其他表中的數(shù)據(jù)進(jìn)行關(guān)聯(lián),并與外鍵構(gòu)成參照完整性約束。惟一鍵用于指明創(chuàng)建惟一約束的列上的取值必須惟一。外鍵用于建立和加強(qiáng)兩個表數(shù)據(jù)之間的鏈接的一列或多列。通過將保存表中主鍵值的一列或多列添加到另一個表中,可創(chuàng)建兩個表之間的鏈接。這個列就成為第二個表的外鍵。外鍵約束的主要目的是控制存儲在外鍵表中的數(shù)據(jù),但它還可以控制對主鍵表中數(shù)據(jù)的修改。參照完整性要求有關(guān)聯(lián)的兩個或兩

43、個以上表之間數(shù)據(jù)的_一致性_。參照完整性可以通過建立_主鍵_和_外鍵_來實現(xiàn)。創(chuàng)建表用_CREATE TABLE _語句,向表中添加記錄用_INSERT INTO_語句,查看表的定義信息用 EXECUTE sp_help 語句,修改表用 ALTER TABLE 語句,刪除表用 DROP TABLE語句。14、數(shù)據(jù)完整性包括哪些?如何實現(xiàn)?答:數(shù)據(jù)完整性包括實體完整性,域完整性,引用完整性,用戶定義完整性,通過在表中,列中,表與表之間設(shè)置主鍵、惟一鍵、外鍵、CHECK約束等可以實現(xiàn)。15、說明使用標(biāo)識列的優(yōu)缺點。答:優(yōu)點:方便可以讓計算機(jī)為表中的記錄按照要求自動地生成標(biāo)識字段的值。缺點:標(biāo)識列值

44、的形成是按照用戶確定的初值和增量進(jìn)行的,如果在經(jīng)常進(jìn)行刪除操作的表中定義了標(biāo)識列,那么在標(biāo)識值之間就會產(chǎn)生不連續(xù)現(xiàn)象。如果要求不能出現(xiàn)這種不連續(xù)的值,那么就不能使用標(biāo)識列屬性。16、為什么說視圖是虛表?視圖的數(shù)據(jù)存在什么地方?答:視圖是虛表,它在存儲時只存儲視圖的定義,而沒有存儲對應(yīng)的數(shù)據(jù)。視圖通過定義從基表中搜集數(shù)據(jù),并展現(xiàn)給用戶。數(shù)據(jù)存儲在對應(yīng)的數(shù)據(jù)表中。創(chuàng)建視圖用 CREATE VIEW 語句,修改視圖用ALTER VIEW語句,刪除視圖用DROP VIEW語句。查看視圖中的數(shù)據(jù)用SELECT語句。查看視圖的基本信息用sp_helptext存儲過程,查看視圖的定義信息用 EXEC sp_

45、helptext 存儲過程,查看視圖的依賴關(guān)系用EXEC sp_ depends存儲過程。17、說明視圖的優(yōu)缺點。答:優(yōu)點:(1)視圖能簡化用戶的操作;(2)視圖機(jī)制可以使用戶以不同的方式查詢同一數(shù)據(jù);(3)視圖對數(shù)據(jù)庫重構(gòu)提供了一定程度的邏輯獨立性;(4)視圖可以對機(jī)密的數(shù)據(jù)提供安全保護(hù)。缺點:(1)降低性能,通過視圖查詢起來需要花費時間;(2)視圖是只讀的,更新時需要更新原表,對用戶來說很麻煩。18、通過視圖修改數(shù)據(jù)要注意哪些限制?答:對視圖進(jìn)行的修改操作有以下限制:(1)若視圖的字段來自表達(dá)式或常量,則不允許對該視圖執(zhí)行INSERT和UPDATE操作,但允許執(zhí)行DELETE操作。(2)若

46、視圖的字段來自集合函數(shù),則此視圖不允許修改操作。(3)若視圖定義中含有GROUP BY 子句,則此視圖不允許修改操作。(4)若視圖定義中含有DISTINCT短語,則此視圖不允許修改操作。(5)一個不允許修改操作視圖上定義的視圖,也不允許修改操作。19、SQL Server 2005提供了哪兩種數(shù)據(jù)訪問的方法?答:兩種方法分別為:表掃描法和索引法20、創(chuàng)建索引的好處主要有哪些?答:創(chuàng)建索引好處主要是加快數(shù)據(jù)查詢和加快表的連接、排序和分組工作。按照索引值的特點分類,可將索引分為_惟一_索引和_非惟一_索引;按照索引結(jié)構(gòu)的特點分類,可將索引分為_聚集_索引和_非聚集_索引。21、聚集索引與非聚集索引

47、之間有哪些不同點?答:聚集索引會對表進(jìn)行物理排序,而非聚集索引不會對表進(jìn)行物理排序。22、什么是批處理?批處理的結(jié)束標(biāo)志是什么?答:批處理就是一個或多個Transact-SQL語句的集合,用GO語句作為一個批處理的結(jié)束。23、一些SQL語句不可以放在一個批處理中進(jìn)行處理,它們需要遵守什么規(guī)則?答:一些SQL語句不可以放在一個批處理中進(jìn)行處理,它們需要遵守以下規(guī)則:(1)大多數(shù)CREATE命令要在單個批命令中執(zhí)行,但CREATE DATABASE、CREATE TABLE和CREATE INDEX例外。(2)調(diào)用存儲過程時,如果它不是批處理中的第一個語句,則在其前面必須加上EXECUTE,或簡寫

48、為EXEC。(3)不能把規(guī)則和默認(rèn)值綁定到表的字段或用戶定義數(shù)據(jù)類型上之后,在同一個批處理中使用它們。(4)不能在給表字段定義了一個CHECK約束后,在同一個批處理中使用該約束。(5)不能在修改表的字段名后,在同一個批處理中引用該新字段名。24、常量和變量有哪些種類?答:常量有字符串常量、數(shù)值常量、日期常量。變量主要有局部變量和全局變量。25、什么是用戶自定義函數(shù)?它有哪些類型?建立、修改和刪除用戶自定義函數(shù)使用什么命令?答:用戶定義的函數(shù)是由一個或多個Transact-SQL語句組成的子程序。用戶定義的函數(shù)類型有標(biāo)量函數(shù)、內(nèi)嵌表值函數(shù)、多語句表值函數(shù)。建立、修改、刪除用戶自定義函數(shù)命令分別是

49、CREATE FUNCTION、ALTER FUNCTION和DROP FUNCTION。26、使用游標(biāo)訪問數(shù)據(jù)包括哪些步驟?答:使用游標(biāo)訪問數(shù)據(jù)包括的步驟有聲明游標(biāo)、打開游標(biāo)、從游標(biāo)中獲取數(shù)據(jù)、關(guān)閉游標(biāo)、釋放游標(biāo)。27、簡述使用存儲過程有哪些優(yōu)缺點?答:優(yōu)點:(1)通過本地存儲、代碼預(yù)編譯和緩存技術(shù)實現(xiàn)高性能的數(shù)據(jù)操作。(2)通過通用編程結(jié)構(gòu)和過程重用實現(xiàn)編程框架。如果業(yè)務(wù)規(guī)則發(fā)生了變化,可以通過修改存儲過程來適應(yīng)新的業(yè)務(wù)規(guī)則,而不必修改客戶端應(yīng)用程序。(3)通過隔離和加密的方法提高了數(shù)據(jù)庫的安全性。缺點:移植性較差,增加數(shù)據(jù)庫服務(wù)器壓力。2、創(chuàng)建存儲過程有哪些方法?執(zhí)行存儲過程使用什么命令

50、?答:創(chuàng)建存儲過程有兩種方法,可用通過SQL命令建立或者通過SQL Server Management Studio圖形界面建立。執(zhí)行存儲過程使用EXECUTE命令。3、執(zhí)行存儲過程時,在什么情況下可以省略EXECUTE關(guān)鍵字?答:如果存儲過程是批處理中的第一條語句,那么不使用 EXECUTE 關(guān)鍵字也可以執(zhí)行該存儲過程。28、簡述使用觸發(fā)器有哪些優(yōu)缺點。答: 優(yōu)點:(1)多張表的級聯(lián)修改。觸發(fā)器能實現(xiàn)各種級聯(lián)操作,包括數(shù)據(jù)的修改、插入和刪除。(2)強(qiáng)于CHECK的復(fù)雜限制。(3)比較數(shù)據(jù)修改前后的差別。(4)強(qiáng)制表的修改要合乎業(yè)務(wù)規(guī)則。缺點:(1)可移植性是觸發(fā)器最大的缺點。(2)占用服務(wù)器

51、端太多的資源。(3)不能做DDL。(4)觸發(fā)器排錯困難,而且數(shù)據(jù)容易造成不一致,后期維護(hù)不方便。29、說明創(chuàng)建觸發(fā)器命令中FOR、AFTER、INSTEAD OF各表示什么含義?答:(1)FOR | AFTER。FOR與AFTER同義,指定觸發(fā)器只有在觸發(fā)SQL語句中指定的所有操作都已成功執(zhí)行后才激發(fā)。所有的引用級聯(lián)操作和約束檢查也必須成功完成后,才能執(zhí)行此觸發(fā)器,即為后觸發(fā)。(2)INSTEAD OF。指定執(zhí)行觸發(fā)器而不執(zhí)行造成觸發(fā)的SQL語句,從而替代造成觸發(fā)的語句。在表或視圖上,每個INSERT、UPDATE或DELETE 語句只能定義一個INSTEAD OF觸發(fā)器,替代觸發(fā)。30、TR

52、UNCATE TABLE語句是否會激活DELETE觸發(fā)器?在觸發(fā)器中的SQL語句有哪些限制?答:由于TRUNCATE TABLE語句的操作不被記錄到事務(wù)日志,所以它不會激活DELETE觸發(fā)器。所有建立和修改數(shù)據(jù)庫及其對象的語句、所有DROP語句都不允許在觸發(fā)器中使用。31、什么是事務(wù)的4個基本屬性?說明3種事務(wù)各有什么特點。答:事務(wù)作為一個邏輯工作單元有4個屬性,分別是原子性、一致性、隔離性和持久性。SQL Server 2005有以下3種事務(wù)模式。(1)自動提交事務(wù)。這是SQL Server 2005的默認(rèn)模式。每個單獨的SQL語句都是一個事務(wù),并在其完成后提交。不必指定任何語句控制事務(wù)。(

53、2)顯式事務(wù)。每個事務(wù)均以BEGIN TRANSACTION語句顯式開始,以COMMIT或ROLLBACK語句顯式結(jié)束。(3)隱性事務(wù)。通過API函數(shù)或Transact-SQL的SET IMPLICIT_TRANSACTIONS ON語句,將隱性事務(wù)模式設(shè)置為打開。這樣在前一個事務(wù)結(jié)束時新事務(wù)隱式啟動,但每個事務(wù)仍以COMMIT或ROLLBACK語句顯式結(jié)束。32、SQL Server 2005的安全模型分為哪3層結(jié)構(gòu)?答:SQL Server 2005的安全模型分為3層結(jié)構(gòu),分別為服務(wù)器安全管理、數(shù)據(jù)庫安全管理和數(shù)據(jù)庫對象的訪問權(quán)限管理。33、說明固定的服務(wù)器角色、數(shù)據(jù)庫角色與登錄賬戶、數(shù)據(jù)

54、庫用戶的對應(yīng)關(guān)系及其特點。答:服務(wù)器安全管理實現(xiàn)對SQL Server 2005服務(wù)器實例(簡稱服務(wù)器)的登錄賬戶、服務(wù)器配置、設(shè)備、進(jìn)程等方面的管理,這部分工作通過固定的服務(wù)器角色來分工和控制。數(shù)據(jù)庫安全管理實現(xiàn)對服務(wù)器實例上的數(shù)據(jù)庫用戶賬號、數(shù)據(jù)庫備份、恢復(fù)等功能的管理,這部分工作通過數(shù)據(jù)庫角色來分工和控制。數(shù)據(jù)庫對象的訪問權(quán)限的管理,決定對數(shù)據(jù)庫中最終數(shù)據(jù)的安全性管理。數(shù)據(jù)對象的訪問權(quán)限決定了數(shù)據(jù)庫用戶賬號,對數(shù)據(jù)庫中數(shù)據(jù)對象的引用以及使用數(shù)據(jù)操作語句的許可權(quán)限。34、如果一個SQL Server 2005服務(wù)器采用僅Windows方式進(jìn)行身份驗證,在Windows操作系統(tǒng)中沒有sa用戶,是否可以使用sa來登錄該SQL Server服務(wù)器?答:不能使用sa來登錄該SQL Server服務(wù)器SQL Server 2005有哪兩種安全模式?它有什么區(qū)別?答:兩種安全模式分別是僅Windows身份驗證模式和混合驗證模式。僅Windows身份驗證模式就是只使用Windows驗證機(jī)制的身份驗證模式;而混合模式則是用戶即可以選擇使用Windows 驗證機(jī)制也可以選擇使用

溫馨提示

  • 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

提交評論