16套試題SQL數(shù)據(jù)庫管理new
《16套試題SQL數(shù)據(jù)庫管理new》由會員分享,可在線閱讀,更多相關(guān)《16套試題SQL數(shù)據(jù)庫管理new(93頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、《SQL數(shù)據(jù)庫管理與開發(fā)教程與實訓(xùn)》試題(A卷) 杜兆將 老師 一、單項選擇題(每小題1分,共10分) 1.下列四項中,不屬于數(shù)據(jù)庫特點的是( )。 A.數(shù)據(jù)共享 B.數(shù)據(jù)完整性 C.數(shù)據(jù)冗余很高 D.數(shù)據(jù)獨立性高 2.下列四項中,不屬于SQL2000實用程序的是( )。 A.企業(yè)管理器 B.查詢分析器 C.服務(wù)管理器 D.媒體播放器 3.SQL Server安裝程序創(chuàng)建4個系統(tǒng)數(shù)據(jù)庫,下列哪個不是( )系統(tǒng)數(shù)據(jù)庫。 A.master B.model C.pub D.msdb 4.( )是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它屬于
2、系統(tǒng)軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法。數(shù)據(jù)庫在建立、使用和維護時由其統(tǒng)一管理、統(tǒng)一控制。 A.DBMS B.DB C.DBS D.DBA 5. 在SQL中,建立表用的命令是 ( )。 A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX 6.SQL語言中,條件年齡 BETWEEN 15 AND 35表示年齡在15至35之間,且( )。 A.包括15歲和35歲 B.不包括15歲和35歲 C.包括15歲但不包括35歲 D.包括35歲但不包括15歲 7.下列四項中,不正確的提法是(
3、 )。 A.SQL語言是關(guān)系數(shù)據(jù)庫的國際標準語言 B.SQL語言具有數(shù)據(jù)定義、查詢、操縱和控制功能 C.SQL語言可以自動實現(xiàn)關(guān)系數(shù)據(jù)庫的規(guī)范化 D.SQL語言稱為結(jié)構(gòu)查詢語言 8.在MS SQL Server中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是( )。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 9.SQL語言中,刪除表中數(shù)據(jù)的命令是( )。 A. DELETE B. DROP C. CLEAR D. REMOVE 10.SQL的視圖是從( )中導(dǎo)出的。 A. 基本表 B. 視
4、圖 C. 基本表或視圖 D. 數(shù)據(jù)庫 二、判斷題(每空1分,共10分) 1.在那遙遠的地方 是SQL中的字符串常量嗎?T 2.11.9 是SQL中的實型常量嗎 F 3.select 16%4, 的執(zhí)行結(jié)果是: 4 嗎? F 4.2005.11.09 是SQL中的日期型常量嗎?F 5.¥2005.89 是SQL中的貨幣型常量嗎?F 6.select 25/2 的執(zhí)行結(jié)果是: 12.5 嗎?F 7.岳飛>文天祥 比較運算的結(jié)果為真嗎?T 8.一個表可以創(chuàng)建多個主鍵嗎?F 9.創(chuàng)建唯一性索引的列可以有一些重復(fù)的值?F 10.固定數(shù)據(jù)庫角色:db_datarader 的
5、成員能修改本數(shù)據(jù)庫內(nèi)表中的數(shù)據(jù)嗎?F 三、填空題(每空1分,共20分) 1.數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)的外模式、模式和內(nèi)模式三級模式結(jié)構(gòu)。 2.SQL Server 2000局部變量名字必須以@開頭,而全局變量名字必須以@@開頭。 3.語句 select ascii(D), char(67) 的執(zhí)行結(jié)果是:____68_____和____C_____。 4.語句 select lower(Beautiful) , rtrim(我心中的太陽 ) 的執(zhí)行結(jié)果是: beautiful和我心中的太陽。 5.選擇運算是根據(jù)某些條件對關(guān)系做水平分割;投影是根據(jù)某些條件對關(guān)系做垂直分割。 6.關(guān)系
6、運算主要有選擇、投影和連接。 7.完整性約束包括實體、完整性、域完整性、參照完整性和用戶定義完整性。 8.在SQL Server 2000中,數(shù)據(jù)庫對象包括表、視圖、觸發(fā)器、過程、列、索引、約束、規(guī)則、默認和用戶自定義的數(shù)據(jù)類型等。 9.語句 select day(2004-4-6), len(我們快放假了.) 的執(zhí)行結(jié)果是:6、7。 10.語句 select round(13.4321,2), round(13.4567,3)的執(zhí)行結(jié)果是:13.4300和13.4570 四、簡答題(每小題5分,共10分) 1.在SQL Server 2000中,使用視圖的好處是什么? (1)
7、為用戶集中需要的數(shù)據(jù),簡化了數(shù)據(jù)的用戶操作; (2) 對用戶隱藏了數(shù)據(jù)庫設(shè)計的復(fù)雜性; (3) 簡化用戶權(quán)限的管理 2.在SQL Server 2000中,用戶訪問表/視圖、列的權(quán)限是什么? (1)數(shù)據(jù)表/視圖(select insert update delete) (2)列(字段)的訪問(select update) 五、設(shè)計題(共50分) 現(xiàn)有關(guān)系數(shù)據(jù)庫如下: 數(shù)據(jù)庫名:我班同學(xué)數(shù)據(jù)庫 同學(xué)表(學(xué)號 char(6),姓名,性別,年齡,民族,身份證號,宿舍號) 宿舍表(宿舍號 char(6),宿舍電話) 用SQL語言實現(xiàn)下列功能的sql語句代碼: 1.創(chuàng)建
8、數(shù)據(jù)庫[我班同學(xué)數(shù)據(jù)庫]代碼(2分)。 create database [我班同學(xué)數(shù)據(jù)庫] go use [我班同學(xué)數(shù)據(jù)庫] go 2.創(chuàng)建數(shù)據(jù)表[宿舍表]代碼(3分); 宿舍表(宿舍號 char(6),宿舍電話) 要求使用:主鍵(宿舍號)、宿舍電話:以633開頭的7位電話號碼 create table 宿舍表 ([宿舍號] char(6) primary key, [宿舍電話] char(7) check([宿舍電話] like 633[0-9][0-9][0-9][0-9])) 3.創(chuàng)建數(shù)據(jù)表[同學(xué)表]代碼(6分); 同學(xué)表(學(xué)號 char(6),
9、姓名,性別,年齡,民族,身份證號,宿舍號) 要求使用:主鍵(學(xué)號)、外鍵(宿舍號)、默認(民族)、非空(民族,姓名,年齡)、唯一(身份證號)、檢查(性別) create table 同學(xué)表 (學(xué)號 char(6) primary key, 姓名 nchar(4) not null, 性別 nchar(1) check(性別 in (男, 女)), 年齡 int , 民族 nchar(8) default 漢族 not null, 身份證號 char(18) unique, 宿舍號 char(6) references 宿舍表(宿舍號) ) 4.將下列宿舍信息添加到
10、宿舍表的代碼(8分) 宿舍號 宿舍電話 101 6331157 102 6331777 修改 宿舍號為101的 宿舍電話:6331158 刪除 宿舍號為102的 宿舍信息 insert 宿舍表 values(101, 6331157) insert 宿舍表 values(102, 6331777) update 宿舍表 set 宿舍電話=6331158 where 宿舍號=101 delete 宿舍表 where 宿舍號=102 5
11、.創(chuàng)建視圖[同學(xué)表視圖]代碼(5分); 同學(xué)表視圖(學(xué)號, 姓名, 性別, 年齡, 民族, 身份證號, 宿舍號, 宿舍電話) create view [同學(xué)表視圖] as select 學(xué)號, 姓名, 性別, 年齡, 民族, 身份證號, 同學(xué)表.宿舍號, 宿舍電話 from 同學(xué)表,宿舍表 where 同學(xué)表.宿舍號=宿舍表.宿舍號 6.從同學(xué)表視圖中查詢姓張的女同學(xué)的姓名、性別、宿舍電話。(4分) select 姓名, 性別, 宿舍電話 from 同學(xué)表視圖 where 姓名 like 張% and 性別=女 7.從同學(xué)表中查詢女同學(xué)的最大年齡、最小年齡、平
12、均年齡。(5分) select 最大年齡 = max(年齡), 最小年齡 = min(年齡), 平均年齡 = avg(年齡) from 同學(xué)表 where 性別=女 8.創(chuàng)建帶參數(shù)的存儲過程[某宿舍同學(xué)]:姓名, 性別, 宿舍電話 執(zhí)行此過程,查詢101宿舍情況 (8分) create procedure [某宿舍同學(xué)] @宿舍號 varchar(6) as select 姓名, 性別, 宿舍電話 from 同學(xué)表視圖 where 宿舍號 = @宿舍號 go execute [某宿舍同學(xué)] 101 9.設(shè)置一SQL身份驗證的用戶賬戶:登錄名:U班主任,密碼
13、:888,數(shù)據(jù)庫用戶名:U讀者,權(quán)限:可查詢查詢本數(shù)據(jù)庫中所有表、視圖、內(nèi)嵌表值函數(shù)的數(shù)據(jù),執(zhí)行所有的存儲過程。請寫出賬戶、權(quán)限設(shè)置的T_SQL腳本。(9分) exec sp_addlogin U班主任, 888, 我班同學(xué)數(shù)據(jù)庫 exec sp_grantdbaccess U班主任, U讀者 exec sp_addrolemember db_datareader, U讀者 一、 1 2 3 4 5 6 7 8 9 10 C D C A B A C D A C 二、 1 2 3 4 5 6 7 8 9 10 Y N N
14、 N N N Y N N N 三、 no 答案 分 1. 外模式、模式 2 2. @、@@ 2 3. 68、C 2 4. beautiful、我心中的太陽 2 5. 水平、垂直 2 6. 選擇、投影 2 7. 實體、域 2 8. 表、視圖 2 9. 6、7 2 10 13.4300、13.4570 2 四、 no 答案要點 分 1. (1) 為用戶集中需要的數(shù)據(jù),簡化了數(shù)據(jù)的用戶操作; (2) 對用戶隱藏了數(shù)據(jù)庫設(shè)計的復(fù)雜性; (3) 簡化用戶權(quán)限的管理 (4) 組織數(shù)據(jù)導(dǎo)出到其它應(yīng)用程序;
15、 5 2. 1.數(shù)據(jù)表/視圖(select insert update delete) 2.列(字段)的訪問(select update) 5 五、 no 參考答案 分 1. create database [我班同學(xué)數(shù)據(jù)庫] go use [我班同學(xué)數(shù)據(jù)庫] go 2 2. create table 宿舍表 ([宿舍號] char(6) primary key, [宿舍電話] char(7) check([宿舍電話] like 633[0-9][0-9][0-9][0-9])) 3 3. create table 同學(xué)表 (學(xué)號 char(6)
16、 primary key, 姓名 nchar(4) not null, 性別 nchar(1) check(性別 in (男, 女)), 年齡 int , 民族 nchar(8) default 漢族 not null, 身份證號 char(18) unique, 宿舍號 char(6) references 宿舍表(宿舍號) ) 6 4. insert 宿舍表 values(101, 6331157) insert 宿舍表 values(102, 6331777) update 宿舍表 set 宿舍電話=6331158 where 宿舍號=101 delete 宿舍
17、表 where 宿舍號=102 8 5. create view [同學(xué)表視圖] as select 學(xué)號, 姓名, 性別, 年齡, 民族, 身份證號, 同學(xué)表.宿舍號, 宿舍電話 from 同學(xué)表,宿舍表 where 同學(xué)表.宿舍號=宿舍表.宿舍號 5 6. select 姓名, 性別, 宿舍電話 from 同學(xué)表視圖 where 姓名 like 張% and 性別=女 4 7. select 最大年齡 = max(年齡), 最小年齡 = min(年齡), 平均年齡 = avg(年齡) from 同學(xué)表 where 性別=女 5 8. c
18、reate procedure [某宿舍同學(xué)] @宿舍號 varchar(6) as select 姓名, 性別, 宿舍電話 from 同學(xué)表視圖 where 宿舍號 = @宿舍號 go execute [某宿舍同學(xué)] 101 8 9. exec sp_addlogin U班主任, 888, 我班同學(xué)數(shù)據(jù)庫 exec sp_grantdbaccess U班主任, U讀者 exec sp_addrolemember db_datareader, U讀者 9 《SQL數(shù)據(jù)庫管理與開發(fā)教程與實訓(xùn)》試題(B卷) 馬建鵬 老師 一、單項選擇題(每小題1分,共10分)
19、 1. ( )是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它屬于系統(tǒng)軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法。數(shù)據(jù)庫在建立、使用和維護時由其統(tǒng)一管理、統(tǒng)一控制。 A.DBMS B.DB C.DBS D.DBA 2. 下列四項中,不屬于SQL2000實用程序的是( )。 A.企業(yè)管理器 B.查詢分析器 C.服務(wù)管理器 D.媒體播放器 3. SQL Server安裝程序創(chuàng)建4個系統(tǒng)數(shù)據(jù)庫,下列哪個不是( )系統(tǒng)數(shù)據(jù)庫。 A. master B. model C. pub D. msdb 4. 下列哪個不是sql 數(shù)據(jù)庫文件的后綴。 A..mdf B
20、..ldf C..tif D..ndf 5. 數(shù)據(jù)定義語言的縮寫詞為 ( )。 A.DDL B.DCL C.DML D.DBL 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 B、CREATE
21、RULE C、CREATE DURE D、CREATE FILE 9. SQL語言中,刪除表中數(shù)據(jù)的命令是( )。 A. DELETE B. DROP C. CLEAR D. REMOVE 10. 在MS SQL Server中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是( )。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 二、判斷題(每空1分,共15分) 1. 在那遙遠的地方 是SQL中的字符串常量嗎?T 2. 11.9 是SQL中的實型常量嗎 T 3. select 16%4, 的執(zhí)行結(jié)果是: 0 嗎?
22、 T 4. 2005.11.09 是SQL中的日期型常量嗎? F 5. ¥2005.89 是SQL中的貨幣型常量嗎?F 6. select 25/2 的執(zhí)行結(jié)果是: 12.5 嗎?F 7. 李逵>李鬼 比較運算的結(jié)果為真嗎?T 8. 一個表可以創(chuàng)建多個主鍵嗎?F 9. 創(chuàng)建唯一性索引的列可以有一些重復(fù)的值? F 10. smallint 是SQL的數(shù)據(jù)類型嗎?T 11. SQL Server不允許字段名為漢字?F 12. 職稱 in (教授, 副教授)與 職稱 = 教授 or 職稱 = 副教授 等價嗎? T 13. 如果規(guī)則當(dāng)前綁定到某列或用戶定義的數(shù)據(jù)類型,不能解除
23、綁定能直接刪除規(guī)則?F 14. 在表中創(chuàng)建一個標識列(IDENTITY),當(dāng)用戶向表中插入新的數(shù)據(jù)行時,系統(tǒng)自動為該行標識列賦值嗎? T 15. 固定數(shù)據(jù)庫角色:db_datarader 的成員修改本數(shù)據(jù)庫內(nèi)表中的數(shù)據(jù)嗎?F 三、填空題(每空1分,共20分) 1. SQL Server 2000局部變量名字必須以@開頭,而全局變量名字必須以@@開頭。 2. 語句 select ascii(D), char(67) 的執(zhí)行結(jié)果是:68和C。 3. 語句 select lower(Beautiful) , rtrim(我心中的太陽 ) 的執(zhí)行結(jié)果是: beautiful、我心中
24、的太陽。 4. 選擇運算是根據(jù)某些條件對關(guān)系做水平分割;投影是根據(jù)某些條件對關(guān)系做垂直分割。 5. 關(guān)系運算主要有選擇、投影和連接。 6. 完整性約束包括實體完整性、域完整性、參照完整性和用戶定義完整性。 7. T-SQL 語言中,有算術(shù)運算、字符串連接運算、比較運算和邏輯運算。 8. 語句 select day(2004-4-6), len(我們快放假了.) 的執(zhí)行結(jié)果是:6和7。 9. 語句 select floor(17.4), floor(-214.2), round(13.4382,2), round(-18.4562,3)的執(zhí)行結(jié)果是: 17、-215、13.4400
25、和-18.4560。 四、簡答題(每小題5分,共10分) 1. 簡述SQL Server 2000的安全性管理機制(6級,涉及登錄賬號、用戶、角色以及權(quán)限分配)。(6分) 1. 計算機的連接 2. SQL Server登錄(賬戶、固定服務(wù)器角色) 3. 庫的訪問(用戶/角色:固定/自定義角色) 4. 表/視圖的權(quán)限(select insert update delete) 5. 存儲過程、內(nèi)嵌表值函數(shù)的權(quán)限(execute select) 6. 表(視圖)中列的權(quán)限(select update) 2. 在SQL Server 2000中,使用視圖的好處是什么?(4分) (1
26、) 為用戶集中需要的數(shù)據(jù),簡化了數(shù)據(jù)的用戶操作; (2) 對用戶隱藏了數(shù)據(jù)庫設(shè)計的復(fù)雜性; (3) 簡化用戶權(quán)限的管理 (4) 組織數(shù)據(jù)導(dǎo)出到其它應(yīng)用程序 五、設(shè)計題(共45分) 現(xiàn)有關(guān)系數(shù)據(jù)庫如下: 數(shù)據(jù)庫名:學(xué)生成績數(shù)據(jù)庫 學(xué)生信息表(學(xué)號 char(6),姓名,性別,民族,身份證號) 課程信息表(課號 char(6),名稱) 成績信息表(ID,學(xué)號,課號,分數(shù)) 用SQL語言實現(xiàn)下列功能的sql語句代碼。 1. 創(chuàng)建數(shù)據(jù)庫[學(xué)生成績數(shù)據(jù)庫]代碼(2分)。 create database [學(xué)生成績數(shù)據(jù)庫] go use [學(xué)生成績數(shù)據(jù)庫] go
27、 2. 創(chuàng)建數(shù)據(jù)表[課程信息表]代碼;(2分) 課程信息表(課號 char(6),名稱) 要求使用:主鍵(課號)、非空(名稱) create table 課程信息表 ([課號] char(6) primary key, [名稱] nchar(20) not null) 3. 創(chuàng)建數(shù)據(jù)表[學(xué)生信息表]代碼;(4分) 學(xué)生信息表(學(xué)號 char(6),姓名,性別,民族,身份證號) 要求使用:主鍵(學(xué)號)、默認(民族)、非空(民族,姓名)、唯一(身份證號)、檢查(性別) create table 學(xué)生信息表 ([學(xué)號] char(6) pri
28、mary key, [姓名] nchar(4) not null, [性別] nchar(1) check([性別] in (男, 女)), [民族] nchar(8) default 漢族 not null, [身份證號] char(18) unique ) 4. 創(chuàng)建數(shù)據(jù)表[成績信息表];(5分) 成績信息表(ID,學(xué)號,課號,分數(shù)) 要求使用:外鍵(學(xué)號,課號)、檢查(分數(shù)),自動編號(ID) create table 成績信息表 (ID int identity(1, 1), [學(xué)號] char(6) references 學(xué)生信息表(學(xué)號),
29、 [課號] char(6) references 課程信息表(課號), [分數(shù)] integer check([分數(shù)] between 0 and 100) ) 5. 將下列課程信息添加到課程信息表的代碼(8分) 課號 名稱 100101 西班牙語 100102 大學(xué)英語 修改 課號為100102的課程名稱:專業(yè)英語 刪除 課號為100101的課程信息 insert 課程信息表 values(100101, 西班牙語) insert 課程信息表 values(100
30、102, 大學(xué)英語) update 課程信息表 set 名稱=專業(yè)英語 where 課號=100102 delete 課程信息表 where 課號=100101 6. 創(chuàng)建視圖[成績信息表視圖]的代碼;(5分) 成績信息表視圖(學(xué)號,姓名,課號,課程名稱,分數(shù)) create view [成績信息表視圖] as select 成績信息表.學(xué)號,姓名,成績信息表.課號,名稱 課程名稱,分數(shù) from 成績信息表,學(xué)生信息表,課程信息表 where 成績信息表.學(xué)號=學(xué)生信息表.學(xué)號 and 成績信息表.課號=課程信息表.課號 7. 從學(xué)生信息表中查詢姓劉的女同學(xué)
31、的情況:姓名、性別、民族。(2分 select 姓名, 性別, 民族 from 學(xué)生信息表 where 姓名 like 劉% and 性別=女 8. 查詢有一門或一門以上課程成績小于60分的所有學(xué)生的信息,包括學(xué)號、姓名。(4分) select 學(xué)號, 姓名 from 學(xué)生信息表 where 學(xué)號 in (select distinct 學(xué)號 from 成績信息表 where 分數(shù)<60) 9. 創(chuàng)建帶參數(shù)的存儲過程[某門課程高低均分]、執(zhí)行該過程的代碼(7分) 存儲過程功能:查詢某門課程的最高分、最低分、平均分; 執(zhí)行該過程,查詢
32、所有修’專業(yè)英語’這門學(xué)生的最高分、最低分、平均分; create procedure [某門課程高低均分] @課程名 nchar(16) as select 課程名稱, 最高分=max(分數(shù)), 最低分=min(分數(shù)), 平均分=avg(分數(shù)) from 成績信息表視圖 where 課程名稱 = @課程名 group by 課程名稱 go execute [某門課程高低均分] 專業(yè)英語 10 設(shè)置一SQL身份驗證的用戶賬戶:登錄名:U院長,密碼:888,數(shù)據(jù)庫用戶名:U讀者,權(quán)限:可查詢查詢本數(shù)據(jù)庫中所有表、視圖、內(nèi)嵌表值函數(shù)的數(shù)據(jù),執(zhí)行所有的存儲過程。請寫出賬戶、權(quán)限設(shè)
33、置的T_SQL腳本。(6分) exec sp_addlogin U院長, 888, 學(xué)生成績數(shù)據(jù)庫 exec sp_grantdbaccess U院長, U讀者 exec sp_addrolemember db_datareader, U讀者 一、 1 2 3 4 5 6 7 8 9 10 A D C C A A C A A D 二、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Y Y Y N N N Y N N Y N Y N Y N 三、 no
34、答案 分 1. @、@@ 2 2. 68、C 2 3. beautiful、我心中的太陽 2 4. 水平、垂直 2 5. 選擇、投影 2 6. 實體、域 2 7. 算術(shù)、邏輯 2 8. 6、7 2 9. 17、-215、13.4400、-18.4560 4 四、 no 答案要點 分 1. 1. 計算機的連接 2. SQL Server登錄(賬戶、固定服務(wù)器角色) 3. 庫的訪問(用戶/角色:固定/自定義角色) 4. 表/視圖的權(quán)限(select insert update delete) 5. 存儲過程、內(nèi)嵌表值函數(shù)的
35、權(quán)限(execute select) 6. 表(視圖)中列的權(quán)限(select update) 6 2. (1) 為用戶集中需要的數(shù)據(jù),簡化了數(shù)據(jù)的用戶操作; (2) 對用戶隱藏了數(shù)據(jù)庫設(shè)計的復(fù)雜性; (3) 簡化用戶權(quán)限的管理 (4) 組織數(shù)據(jù)導(dǎo)出到其它應(yīng)用程序 4 五、 no 參考答案 分 1. create database [學(xué)生成績數(shù)據(jù)庫] go use [學(xué)生成績數(shù)據(jù)庫] go 2 2. create table 課程信息表 ([課號] char(6) primary key, [名稱] nchar(20) not null)
36、2 3. create table 學(xué)生信息表 ([學(xué)號] char(6) primary key, [姓名] nchar(4) not null, [性別] nchar(1) check([性別] in (男, 女)), [民族] nchar(8) default 漢族 not null, [身份證號] char(18) unique ) 4 4. create table 成績信息表 (ID int identity(1, 1), [學(xué)號] char(6) references 學(xué)生信息表(學(xué)號), [課號] char(6) references 課程信息表(課
37、號), [分數(shù)] integer check([分數(shù)] between 0 and 100) ) 5 5. insert 課程信息表 values(100101, 西班牙語) insert 課程信息表 values(100102, 大學(xué)英語) update 課程信息表 set 名稱=專業(yè)英語 where 課號=100102 delete 課程信息表 where 課號=100101 8 6. create view [成績信息表視圖] as select 成績信息表.學(xué)號,姓名,成績信息表.課號,名稱 課程名稱,分數(shù) from 成績信息表,學(xué)生信息表,課程信息
38、表 where 成績信息表.學(xué)號=學(xué)生信息表.學(xué)號 and 成績信息表.課號=課程信息表.課號 5 7. select 姓名, 性別, 民族 from 學(xué)生信息表 where 姓名 like 劉% and 性別=女 2 8. select 學(xué)號, 姓名 from 學(xué)生信息表 where 學(xué)號 in (select distinct 學(xué)號 from 成績信息表 where 分數(shù)<60) 4 9. create procedure [某門課程高低均分] @課程名 nchar(16) as select 課程名稱, 最高分=max(分數(shù)), 最低
39、分=min(分數(shù)), 平均分=avg(分數(shù)) from 成績信息表視圖 where 課程名稱 = @課程名 group by 課程名稱 go execute [某門課程高低均分] 專業(yè)英語 7 10 exec sp_addlogin U院長, 888, 學(xué)生成績數(shù)據(jù)庫 exec sp_grantdbaccess U院長, U讀者 exec sp_addrolemember db_datareader, U讀者 6 《SQL數(shù)據(jù)庫管理與開發(fā)教程與實訓(xùn)》試題(C卷) 杜兆將 老師 一、單項選擇題(每小題1分,共10分) 1.下列四項中,不屬于數(shù)據(jù)庫特
40、點的是( )。 A.?dāng)?shù)據(jù)共享 B.數(shù)據(jù)完整性 C. 數(shù)據(jù)冗余很高 D.數(shù)據(jù)獨立性高 2. 目前( )數(shù)據(jù)庫系統(tǒng)已逐漸淘汰了網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫,成為當(dāng)今最為流行的商用數(shù)據(jù)庫系統(tǒng)。 A.關(guān)系 B.面向?qū)ο?C.分布 3. 數(shù)據(jù)庫設(shè)計中的概念結(jié)構(gòu)設(shè)計的主要工具是( )。 A.?dāng)?shù)據(jù)模型 B.E—R模型 C.新奧爾良模型 D.概念模型 4. ( )是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它屬于系統(tǒng)軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法。數(shù)據(jù)庫在建立、使用和維護時由其統(tǒng)一管理、統(tǒng)一控制。 A.DBMS B.DB C.DBS D.DBA 5. 在SQ
41、L中,建立視圖用的命令是 ( )。 A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX 6. SQL語言中,條件“年齡BETWEEN 20 AND 30”表示年齡在20至30之間,且( )。 A.包括20歲和30歲 B.不包括20歲和30歲 C.包括20歲但不包括30歲 D.包括30歲但不包括20歲 8. 在MS SQL Server中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是( )。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 9. S
42、QL語言中,刪除一個表的命令是( )。 A. DELETE B. DROP C. CLEAR D. REMOVE 10. SQL的視圖是從( )中導(dǎo)出的。 A.基本表 B. 視圖 C. 基本表或視圖 D. 數(shù)據(jù)庫 二、判斷題(每空1分,共10分) 1. "在那遙遠的地方" 是SQL中的字符串常量嗎? 2. "11.9" 是SQL中的實型常量嗎? 3. 語句 select 16%4, 的執(zhí)行結(jié)果是: 0 嗎? 4. "2005.11.09" 是SQL中的日期型常量嗎? 5. ¥2005.89 是SQL中的貨幣型常量嗎? 6
43、. 語句 select 15/2 的執(zhí)行結(jié)果是: 7.5 嗎? 7. 李白>杜甫 比較運算的結(jié)果為真嗎? 8. 在事務(wù)中包含create database語句嗎? 9. 創(chuàng)建唯一性索引的列可以有一些重復(fù)的值? 10.固定數(shù)據(jù)庫角色:db_datawriter 的成員刪除本數(shù)據(jù)庫內(nèi)任何表中的數(shù)據(jù)嗎? 三、填空題(每空1分,共20分) 1. 數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)的___________、_________和_________三級模式結(jié)構(gòu)。 2. SQL Server 2000局部變量名字必須以_________開頭,而全局變量名字必須以_________開頭。 3. 語句 s
44、elect ascii(C), char(68), len( 你 是BigTiger ) 的執(zhí)行結(jié)果是: _________、_________和_________。 4. 語句 select upper(beautiful) , ltrim ( 我心中的太陽) 的執(zhí)行結(jié)果是: ____________和___________。 5. 關(guān)系運算主要有________、________、________。 6. 選擇運算是根據(jù)某些條件對關(guān)系做______分割;投影是根據(jù)某些條件對關(guān)系做______分割。 7. 索引的類型主要有_ _和_
45、 __。 8. 在SQL Server 2000中,數(shù)據(jù)庫對象包括數(shù)據(jù)表、______、______、觸發(fā)器、規(guī)則、默認和用戶自定義的數(shù)據(jù)類型等。 四、簡述題(每小題5分,共10分) 1. 簡述使用游標的步驟。 2. 簡述SQL Server 2000的安全性管理機制,涉及登錄賬號、用戶、角色以及權(quán)限分配。 五、設(shè)計題(共50分) 現(xiàn)有關(guān)系數(shù)據(jù)庫如下: 數(shù)據(jù)庫名:學(xué)生成績數(shù)據(jù)庫 學(xué)生表(學(xué)號 char(6),姓名,性別,民族,身份證號) 課程表(課號 char(6),名稱) 成績表(ID,學(xué)號,課號,分數(shù)) 用SQL語言實現(xiàn)下列功能的sql語句代碼: 1
46、. 創(chuàng)建數(shù)據(jù)庫[學(xué)生成績數(shù)據(jù)庫]代碼(2分); 2. 創(chuàng)建[課程表]代碼(2分); 課程表(課號 char(6),名稱) 要求使用:主鍵(課號)、非空(名稱) 3. 創(chuàng)建[學(xué)生表]代碼(6分); 學(xué)生表(學(xué)號 char(6),姓名,性別,民族,身份證號) 要求使用:主鍵(學(xué)號)、默認(民族)、非空(民族,姓名)、唯一(身份證號)、檢查(性別) 4. 創(chuàng)建[成績表]代碼(4分); 成績表(ID,學(xué)號,課號,分數(shù)) 要求使用:主鍵(課號)、外鍵(成績表.學(xué)號,成績表.課號)、檢查(分數(shù)),自動編號(ID) 5. 將下列課程信息添加到課
47、程表的代碼(8分) 課號 課程名稱 100001 大學(xué)語文 100002 大學(xué)英語 100003 西班牙語 修改 課號為100002的課程名稱:實用英語 刪除 課號為100003的課程信息 6. 寫出創(chuàng)建:成績表視圖(學(xué)號,姓名,課號,課程名稱,分數(shù))的代碼;(4分) 7. 寫出創(chuàng)建:某門課程成績 內(nèi)嵌表值函數(shù)以及檢索的代碼;(6分) 檢索:所有修 實用英語 這門學(xué)生的成績; 8. 寫出創(chuàng)建:某門課程高低均分 計算
48、某門課程成績最高分、最低分、平均分 存儲過程以及執(zhí)行的代碼;(6分) 執(zhí)行:所有修 實用英語 這門學(xué)生的最高分、最低分、平均分; 9. 檢索姓李的女同學(xué)的情況:姓名、性別、民族。(2分) 10. 檢索有一門或一門以上課程成績大于等于90分的所有學(xué)生的信息,包括學(xué)號、姓名。(4分) 11. 設(shè)置一SQL身份驗證的賬戶:登錄名:U領(lǐng)導(dǎo),密碼:888,數(shù)據(jù)庫用戶名:U讀者,權(quán)限:可查詢查詢本數(shù)據(jù)庫中所有表、視圖、內(nèi)嵌表值函數(shù)的數(shù)據(jù)。請寫出賬戶、權(quán)限設(shè)置的T_SQL腳本。(6分) 《SQL數(shù)據(jù)庫管理與開發(fā)教程與實訓(xùn)》試題(C卷)參考答案 一、1.C 2.A 3. B
49、4.A 5.C 6.A 7. 8.D 9.B 10.C 二、1. N 2.N 3.Y 4.N 5.N 6.N 7. Y 8.N 9.N 10.Y 三、1. 外模式、模式、內(nèi)模式。 2. @,@@ 3. 67, D, 12 4. BEAUTIFAL, 我心中的太陽 5. 選擇、投影、連接。 6. 水平, 垂直 7. 聚簇索引 非聚簇索引 8. 視圖、存儲過程 四、簡述題 1. 簡述使用游標的步驟。 (1) 聲明游標:declare 游標名 cursor for select語句; (2) 打開游標:open 游標名; (3) 處
50、理數(shù)據(jù): fetch delete update (4) 關(guān)閉游標:close 游標名; (5) 釋放游標:deallocate 游標名; 2. 要點: 1. 計算機的連接 2. SQL Server服務(wù)器登錄(登錄、固定服務(wù)器角色) 3. 數(shù)據(jù)庫的訪問(用戶/角色:固定/自定義數(shù)據(jù)庫角色) 4. 數(shù)據(jù)表(視圖)的訪問(select insert update delete) 5. 存儲過程/內(nèi)嵌表值函數(shù)的訪問(execute/select) 6. 數(shù)據(jù)表(視圖)中列(字段)的訪問(select update) 五、設(shè)計題 1. create database
51、[學(xué)生成績數(shù)據(jù)庫] go use [學(xué)生成績數(shù)據(jù)庫] go 2. create table 學(xué)生表 ([學(xué)號] char(6) primary key, [姓名] nchar(4) not null, [性別] nchar(1) check([性別] in (男, 女)), [民族] nchar(8) default 漢族 not null, [身份證號] char(18) unique ) 3. create table 課程表 ([課號] char(6) primary key, [名稱] char(40) not null ) 4. c
52、reate table 成績表 (ID integer IDENTITY(1, 1), [學(xué)號] char(6) references 學(xué)生表(學(xué)號), [課號] char(6) references 課程表(課號), [分數(shù)] integer check([分數(shù)] between 0 and 100) ) 5. insert 課程表 values(100001, 大學(xué)語文) insert 課程表 values(100002, 大學(xué)英語) insert 課程表 values(100003, 西班牙語) update課程表 set 名稱=實用英語 wh
53、ere 課號=100002 delete課程表 where 課號=100003 6. create view [成績表視圖] as select 成績表.學(xué)號,姓名,成績表.課號,名稱 課程名稱,分數(shù) from 成績表,學(xué)生表,課程表 where 成績表.學(xué)號=學(xué)生表.學(xué)號 and 成績表.課號=課程表.課號 create view [成績表視圖] as select 成績表.學(xué)號,姓名,成績表.課號,名稱 課程名稱,分數(shù) from 成績表 join 學(xué)生表 on 成績表.學(xué)號=學(xué)生表.學(xué)號 join 課程表 on 成績表.課號=課
54、程表.課號 7. create function [某門課程成績](@課程名 varchar(40)) returns table as return (select 學(xué)號,姓名,課程名稱,分數(shù) from 成績表視圖 where 課程名稱=@課程名) create function [某門課程成績](@課程名 varchar(40)) returns table as return (select * from 成績表視圖 where 課程名稱=@課程名) select * from [某門課程成績](實用英語) 8. create procedu
55、re [某門課程高低均分] @課程名 varchar(40) as select 課程名稱, 最高分=max(分數(shù))、最低分=min(分數(shù))、平均分=avg(分數(shù)) from 成績表視圖 where 課程名稱 = @課程名 execute [某門課程高低均分] 實用英語 9. select 姓名, 性別, 民族 from 學(xué)生表 where 姓名 like 李% and 性別=女 10. select 學(xué)號, 姓名 from 學(xué)生表 where學(xué)號 in (select distinct 學(xué)號 from 成績表 where分數(shù)>=90) 11. use [學(xué)生成
56、績數(shù)據(jù)庫] exec sp_addlogin U領(lǐng)導(dǎo), NULL, 學(xué)生成績數(shù)據(jù)庫, 簡體中文 exec sp_password NULL, 888, U領(lǐng)導(dǎo) exec sp_grantdbaccess U領(lǐng)導(dǎo), U讀者 exec sp_addrolemember db_datareader, U讀者 use [學(xué)生成績數(shù)據(jù)庫] exec sp_addlogin U領(lǐng)導(dǎo), 888, 學(xué)生成績數(shù)據(jù)庫 exec sp_grantdbaccess U領(lǐng)導(dǎo), U讀者 exec sp_addrolemember db_datareader, U讀者 《SQL數(shù)據(jù)庫管理與開發(fā)教
57、程與實訓(xùn)》試題(D卷) 劉占文 老師 一、單項選擇題(每小題1分,共10分) 1.?dāng)?shù)據(jù)庫應(yīng)用系統(tǒng)是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、( )和用戶構(gòu)成。 A.DBMS B.DB C.DBS D.DBA 2.?dāng)?shù)據(jù)庫管理系統(tǒng)的英文縮寫是( )。 A.DBMS B.DBS C.DBA D.DB 3.在關(guān)系運算中,選取符合條件的元組是( )運算。 A.除法 B.投影 C.連接 D.選擇 4.?dāng)?shù)據(jù)庫設(shè)計中的邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把( )階段產(chǎn)生的概念數(shù)據(jù)庫模式變換為邏輯結(jié)構(gòu)的數(shù)據(jù)庫模式。 A.需求分析 B.物理設(shè)計 C.邏輯結(jié)構(gòu)設(shè)計 D.
58、概念結(jié)構(gòu)設(shè)計 5.一個規(guī)范化的關(guān)系至少應(yīng)當(dāng)滿足( )的要求。 A.一范式 B.二范式 C.三范式 D.四范式 6.在實際數(shù)據(jù)庫設(shè)計中,“學(xué)號”通常作為( )存在。 A.?dāng)?shù)據(jù)結(jié)構(gòu) B.?dāng)?shù)據(jù)存儲 C.?dāng)?shù)據(jù)項目 D.處理過程 7.SQL Server 2000中刪除表中記錄的命令是( )。 A.DELETE B.SELECT C.UPDATE D.DROP 8.運行命令SELECT ASCII(‘Alklk’) 的結(jié)果是( )。 A.48 B.32 C.90 D.65 9.在SQL中,建立視圖用的命令是 ( )。 A.CREA
59、TE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX 10.在MS SQL Server中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是( )。 A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 二、判斷題(每空1分,共10分) 1.連接、選擇和投影三種關(guān)系運算具有相同的結(jié)果。 2.?dāng)?shù)據(jù)的安全性主要防范的對象是合法用戶。 3. 數(shù)據(jù)庫設(shè)計前只需選擇數(shù)據(jù)庫分析設(shè)計人員。 4. 恢復(fù)是利用冗余數(shù)據(jù)來重建數(shù)據(jù)庫。 5.定義外鍵級級聯(lián)是為了保證相關(guān)表之間數(shù)據(jù)的一致性嗎? 6.創(chuàng)建唯一
60、性索引的列可以有一些重復(fù)的值? 7.存儲過程的輸出結(jié)果可以傳遞給一個變量。 8.視圖具有與表相同的功能,在視圖上也可以創(chuàng)建觸發(fā)器。 9.能在游標中刪除數(shù)據(jù)記錄。 10.SQL Server 2000不具有數(shù)據(jù)的導(dǎo)入與導(dǎo)出功能。 三、填空題(每空1分,共20分) 1.?dāng)?shù)據(jù)庫三個要素是__________、__________和_____________。 2. 語句 select year(1931-9-18) 的執(zhí)行結(jié)果是____________。 3.__________是指保證指定列的數(shù)據(jù)具有正確的數(shù)據(jù)類型、格式和有效的數(shù)據(jù)范圍。 4.__________是特殊類型的存
61、儲過程,它能在任何試圖改變表中由觸發(fā)器保護的數(shù)據(jù)時執(zhí)行。 5.事務(wù)(Transaction)可以看成是由對數(shù)據(jù)庫的若干操作組成的一個單元,這些操作要么______,要么________(如果在操作執(zhí)行過程中不能完成其中任一操作)。 6. SQL Server 2000 采用的身份驗證模式有________________模式和________模式。 7.用戶訪問SQL Server數(shù)據(jù)庫時,經(jīng)過了兩個_______驗證和________驗證安全驗證階段。 8.SQL Server 2000提供的數(shù)據(jù)庫備份方法有_______數(shù)據(jù)庫備份和________數(shù)據(jù)庫備份、___________
62、_備份和________________備份。 9.SQL Server代理主要由______、______和警報來組成。 10.SQL Server復(fù)制把服務(wù)器分為______服務(wù)器、______服務(wù)器和訂閱服務(wù)器三種。 四、簡述題(每小題5分,共20分) 1. 試述關(guān)系的含義和性質(zhì)。(7分) 2. 什么是事務(wù)?(6分) 3. 事務(wù)控制語句的使用方法是什么?(7分) 五、設(shè)計題(1—6題每空2分,第7題10分,共40分) 1.計算1+2+3+……+100的和,并使用PRINT顯示計算結(jié)果。 DECLARE @I int,@sum int,@csum char(10)
63、 SELECT @I=1,@sum=0 WHILE @I<=________ BEGIN SELECT @sum = __________ SELECT @I=@I+1 END SELECT @csum=convert(char(10),@sum) __________ ’1+2+3+……+100=’ + @csum 2.使用SQL語句創(chuàng)建一個班級表CLASS,屬性如下:CLASSNO,DEPARTNO,CLASSNAME;類型均為字符型;長度分別為8、2、20且均不允許為空。 CREATE ________ CLASS (
64、CLASSNO ______ (8) NOT NULL, DEPARTNO CHAR (2) NOT NULL, CLASSNAME CHAR (____) NOT NULL ) 3.聲明一個名為CRSCOURSE的游標,并利用游標遍歷,顯示整個結(jié)果集。 USE XK DECLARE @COUNO VARCHAR(3),@COUNAME VARCHAR(20) _________________________ FOR SELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO _________________________
65、 FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME WHILE @@FETCH_STATUS=0 BEGIN PRINT ’課程號:’+ @COUNO +’課程名稱:’+ @CouName FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME END _________________________ DEALLOCATE CRSCOURSSE 4.使用SQL語句在XK數(shù)據(jù)庫中創(chuàng)建一個名為V_STUDENT的視圖,該視圖僅查看“STUDENT”表中“00電子商務(wù)”班的學(xué)生信息。 USE XK CREATE ____________ V_STUDENT AS SELECT * FROM ____________ WHERE CLASSNO=’20000001’ 5.使用SQL語句在XK數(shù)據(jù)庫中創(chuàng)建一個名為P_STUDENT的存儲過程,該存儲過程返回“STUDEND”表中所有班級代碼為200000001的記錄。 USE XK CREATE ____________ P
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中語文作文素材:30篇文學(xué)名著開場白
- 初中語文答題技巧:現(xiàn)代文閱讀-說明文閱讀知識點總結(jié)
- 初中語文作文十大??荚掝}+素材
- 初中語文作文素材:描寫冬天的好詞、好句、好段總結(jié)
- 初中語文必考名著總結(jié)
- 初中語文作文常見主題總結(jié)
- 初中語文考試常考名著總結(jié)
- 初中語文必考50篇古詩文默寫
- 初中語文易錯易混詞總結(jié)
- 初中語文228條文學(xué)常識
- 初中語文作文素材:30組可以用古詩詞當(dāng)作文標題
- 初中語文古代文化常識七大類別總結(jié)
- 初中語文作文素材:100個文藝韻味小短句
- 初中語文閱讀理解33套答題公式
- 初中語文228條文學(xué)常識總結(jié)