第一篇:三 級數據庫筆記+試題(帶詳解答案)
網絡數據庫技術
一、單項選擇題
1.存儲在計算機內有結構的數據的集合,稱為數據庫。
2.以二維表格的形式組織數據庫中的數據,這種數據模型是關系模型 3.下面哪個數據庫屬于中小規模數據庫管理系統Access。
4.SQL Server 2000有兩類數據庫,分別是用戶數據庫和系統數據庫。5.兩個實體:學院和學生之間的聯系應為一對多聯系。6.錯誤的對象部分限定名是服務器名.對象名。7.SQL Server字符型包括char和varchar。
8.下列SQL語句中,修改表結構的是ALTER TABLE。
9.下列SQL語句中,向表中插入數據的是INSERT。10.關系運算的特點是運算的對象和結果都是表。
11.兩個表連接最常用的條件是兩個表的某些列值相等,這樣的連接稱為等值連接。12.在數據庫查詢語句SELECT中,指定分組表達式的子句是GROUP BY子句。13.用以限制查詢結果集中的行數過多,僅指定部分結果所采用的關鍵字是TOP。
14.能夠在LIKE子句中匹配多個字符的通配符是%。
15.統計組中滿足條件的行數或總行數的聚合函數是COUNT。
第16到第19題基于這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)C(C#, CN)SC(S#, C#, GRADE)其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
16.檢索所有比“王華”年齡大的學生姓名、年齡和性別。正確的SELECT語句是SELECT SN, AGE, SEX FROM S
WHERE AGE>(SELECT AGE FROM S
WHERE SN=?王華?)17.檢索選修課程“C2”的學生中成績最高的學生的學號。正確的SELECT語句是SELECT S# FROM SC
WHERE C#=?C2? AND GRADE>= ALL
(SELECT GRADE FROM SC WHERE C#=?C2?)
18.檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是SELECT S.SN, SC.C#, SC.GRADE
FROM S, SC
WHERE S.S#=SC.S# 19.檢索選修四門以上課程的學生總成績(不統計不及格的課程),并要求按總成績的降序排列出來。正確的SELECT語句是SELECT S#, SUM(GRADE)FROM SC
WHERE GRADE>=60 GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC 20.創建視圖的SQL命令是CREATE VIEW 22.打開游標所使用的SQL命令是OPEN。
23.請選出不屬于T-SQL語言組成部分的是數據轉換語言。24.聲明變量所使用的關鍵字為DECLARE。
25.按照索引的組織方式,可以將索引分為聚集索引和非聚集索引。26.又稱為列完整性,指給定列輸入的有效性的是域完整性。
27.創建存儲過程的SQL命令是CREATE PROCEDURE。28.不屬于維護數據的觸發器的是SELECT。29.只備份自上次備份以來發生過變化的數據庫的數據,也稱增量備份的是差異備份。30.數據庫系統與外部進行數據交換的操作是導入/導出。
31.具有數據表達方式簡潔、直觀,插入、刪除、修改操作方便等特點的數據模型是關系模型.32.按一定的數據模型組織數據,對數據庫進行管理的是數據庫管理系統.33.對于這樣一個關系:學生(學號、姓名、專業名、性別、出生日期、總學分),請選出關系的碼(關鍵字)為學號
34.兩個實體:學院和學生之間的聯系應為一對多聯系.35.數據庫對象的名稱中各部分使用何種符號隔開“.”。36.每個表可以有多少個列設置為標識屬性identity1。37.下列SQL語句中,創建表結構的是CREATE TABLE。38.下列SQL語句中,刪除表中的指定數據的是DELETE。39.關系運算的特點是運算的對象和結果都是表。
40.從表中選出指定的屬性值(列名)組成一個新表,這樣的關系運算是投影。41.在數據庫查詢語句SELECT中,指定表或視圖的子句是FROM子句。
42.在數據庫查詢語句中,為使用自己選擇的列標題而更改查詢結果的列標題名,所使用的關鍵字是AS。
43.在WHERE子句中,可以使用通配符來對字符串進行模糊匹配的關鍵字是LIKE。44.在學生表XS表中查詢總學分尚未定的學生情況,正確的查詢語句是SELECT * FROM XS WHERE 總學分 IS NULL。
45.在查詢語句中對查詢的結果進行排序,用于升序排序的關鍵字是ASC。
第16到第19題基于這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)C(C#, CN)SC(S#, C#, GRADE)其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
46.檢索所有比“王華”年齡大的學生姓名、年齡和性別。正確的SELECT語句是;SELECT SN, AGE, SEX FROM S
WHERE AGE>(SELECT AGE FROM S
WHERE SN=?王華?)
47.檢索選修課程“C2”的學生中成績最高的學生的學號。正確的SELECT語句是;SELECT S# FROM SC
WHERE C#=?C2? AND GRADE>= ALL
(SELECT GRADE FROM SC WHERE C#=?C2?)
48.檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是;SELECT S.SN, SC.C#, SC.GRADE
FROM S, SC
WHERE S.S#=SC.S# 49.檢索選修四門以上課程的學生總成績(不統計不及格的課程),并要求按總成績的降序排列出來。正確的SELECT語句是;SELECT S#, SUM(GRADE)FROM SC WHERE GRADE>=60 GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC 50.修改視圖的SQL命令是ALTER VIEW。
51.若用如下的SQL語句創建一個student表:(?1031?, ?曾華?, NULL, NULL)52.在使用游標時首先要執行的是聲明游標。53.SQL語言是一種用于數據庫查詢的結構化語言。54.請選出不屬于T-SQL語言組成部分的是數據轉換語言。55.T-SQL中局部變量用哪種符號進行標識@。
56.請選擇不是索引的作用的是使表中數據排列更為美觀。
57.如果一個表中的一個字段或若干個字段的組合是另一個表的碼,則稱該字段或字段組合為該表的外碼。
58.執行存儲過程的SQL命令是EXEC。
59.SQL Server 2000中不允許使用的備份介質是只讀光盤。
60.從外部數據源中檢索數據,并將數據插入到SQL Server表的過程,稱為導入數據。61、表格中的一行稱為一個記錄,一列稱為一個字段,每列的標題稱為字段名。62、SQL Server 2000有兩類數據庫:系統數據庫和用戶數據庫。63、在設計表時列的identity屬性:實現的是自動增長的功能。64、創建數據庫的SQL命令:CREATE DATABASE。65、刪除數據庫的SQL命令:DROP DATABASE。66、創建表的SQL命令:CREATE TABLE。67、刪除表的SQL命令:DROP TABLE。68插入表數據的SQL 命令:INSERT。
69、刪除表數據的SQL命令:DELETE和TRUNCATE TABLE,了解二者的區別。70、修改表數據的SQL命令:UPDATE。71、使用SQL命令創建視圖:CREATE VIEW。72、使用SQL命令修改視圖:ALTER VIEW。
73、當視圖所依賴的基本表有多個時,不提倡向該視圖插入數據,因為這會影響多個基本表。
74、使用SQL命令刪除視圖:DROP VIEW。75、使用SQL命令聲明游標:DECLARE。
76、聲明游標時SCROLL的用法:可以使游標向前、向后滾動。77、使用SQL命令打開游標:OPEN。
78、使用SQL命令利用游標讀取數據:FETCH。
79、控制游標的關鍵字:NEXT| PRIOR| FIRST | LAST| ABSOLUTE n| RELATIVE n。80、使用SQL命令關閉游標:CLOSE。81、使用SQL命令刪除游標:DEALLOCATE。82、SQL語言是用于數據庫查詢的結構化語言。
83、T-SQL語言的組成部分:數據定義語言、數據操縱語言和數據控制語言。84、變量的命名:以字母、_、@或#開頭,后接多個字母、數字、_、@或#構成。85、運算符與表達式:AND和OR 86、按照索引的組織方式,可將索引分為聚集索引和非聚集索引。87、惟一索引:不會有兩行記錄相同的索引鍵值。88、使用SQL命令刪除索引:DROP INDEX。89、使用SQL命令創建帶參數的存儲過程的格式:
CREATE PROCEDURE procedure_name @variable_name datatype AS
94.假定學生關系是S(S#, SNAME, SEX, AGE),課程關系是C(C#, CNAME, TEACHER),學生選課關系是SC(S#, C#, GRADE)。要查找選修課程名“COMPUTER”的性別為“女”的學生姓名,將涉及到的關系是:S, C, SC。
95.數據庫對象的名稱中各部分使用何種符號隔開“.”。
96.在SQL Server 2000中,精確整數型包括decimal和numeric。97.下列SQL語句中,實現刪除數據庫的語句是DROP DATABASE。98.下列SQL語句中,向表中插入數據的是INSERT。
99.把兩個表中的行按照給定的條件進行拼接而形成新表,這樣的關系運算是連接。100.在數據庫查詢語句SELECT中,指定表或視圖的子句是FROM子句。
101.在數據庫查詢中,消除結果集中的重復行所使用的關鍵字是DISTINCT。
102.能夠在LIKE子句中匹配單個字符的通配符是“_”。
103.在查詢語句中對查詢的結果進行排序,用于降序排序的關鍵字是。DESC 104.若用如下的SQL語句創建一個student表: CREATE TABLE student(NO C(4)NOT NULL,NAME C(8)NOT NULL,SEX C(2),AGE N(2))可以插入到student表中的是(?1031?, ?曾華?, NULL, NULL)
第16到第19題基于這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)C(C#, CN)SC(S#, C#, GRADE)其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
105.檢索所有比“王華”年齡大的學生姓名、年齡和性別。正確的SELECT語句是 SELECT SN, AGE, SEX FROM S
WHERE AGE>(SELECT AGE FROM S WHERE SN=?王華?)
106.檢索選修課程“C2”的學生中成績最高的學生的學號。正確的SELECT語句是
SELECT S# FROM SC
WHERE C#=?C2? AND GRADE>= ALL
(SELECT GRADE FROM SC
WHERE C#=?C2?)
107.檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是 SELECT S.SN, SC.C#, SC.GRADE
FROM S, SC
WHERE S.S#=SC.S# 108.檢索選修四門以上課程的學生總成績(不統計不及格的課程),并要求按總成績的降序排列出來。正確的SELECT語句是 SELECT S#, SUM(GRADE)FROM SC
WHERE GRADE>=60
GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC 109.創建視圖的SQL命令是 CREATE VIEW
110、局部變量在聲明后初始化為NULL。
二、多項選擇題
1.關系數據庫模型的優勢在于;數據表達方式簡潔、直觀;插入、刪除、修改操作方便。2.請選出SQL Server 2000的兩種常用工具;企業管理器;查詢分析器。3.設計表時空值的作用;表示不需要添加的數據;表示將在以后添加的數據。
4.數據庫的查詢語句SELECT的語法格式中不包含以下哪些內容;DROP子句;UPDATE子句。
5.在比較子查詢可以使用的比較關鍵字包括;ALL ; ANY。
6.在使用游標讀取數據時,可用來滾動記錄的關鍵字是;NEXT;LAST;PRIOR;FIRST。7.索引的功能包括;快速存取數據;保證數據記錄的惟一性;實現表與表之間的參照完整性;利用索引可減少排序和分組的時間。
8.數據庫中的數據丟失或被破壞的原因是;計算機軟、硬件故障;誤操作;自然災害;盜竊。
9.確定備份頻率主要考慮的是;系統恢復的工作量;系統執行的事務量。10.導入/導出操作包括數據傳輸;數據轉換。
11.目前,大型的數據庫管理系統主要包括;Oracle;SQL Server;DB2。12.SQL Server 2000的數據庫可以分為;系統數據庫;用戶數據庫。13.數據庫對象包括;表;視圖;索引;存儲過程;觸發器。
14.設計表時空值的作用;表示不需要添加的數據;表示將在以后添加的數據。
15.數據庫的查詢語句SELECT的語法格式中包括以下哪些內容;FROM子句;WHERE子句;GROUP BY子句;HAVING子句;ORDER BY子句。
16.可以用于SELECT語句的聚合函數包括;SUM和AVG;MAX和MIN;COUNT。17.T-SQL語言包含以下哪些重要部分;數據定義語言 ;數據操縱語言;數據控制語言。18.數據完整性包括;域完整性;實體完整性;參照完整性。
19.數據庫中的數據丟失或被破壞的原因是;計算機軟、硬件故障;誤操作;自然災害;盜竊。
20.對導入/導出操作描述正確的是;導入/導出是數據庫系統與外部進行數據交換的操作;導入數據是把其他系統的數據引入到SQL Server的數據庫中;導出數據是把數據庫從SQL Server數據庫中引導其他字段。
21、流行的中小型數據庫包括Access和Visual Foxpro。大型數據庫管理系統包括Oracle,Microsoft的SQL Server,Sybase和IBM的DB2。
22、數據模型分為關系模型、層次模型、網狀模型。所劃分原則是數據之間的聯系。關系模型優勢:數據表達方式簡潔、直觀,插入、刪除、修改操作方便。
23、實體之間的聯系有如下幾種:一對一的聯系(1: 1)、一對多的聯系(1: n)、多對多的聯系(m: n)。
24、SQL Server 2000的兩種常用工具:企業管理器,查詢分析器。
25、SQL Server 2000的數據庫對象包括:表、視圖、索引、存儲過程、觸發器和約束。
26、數據庫對象的完全限定名包括:服務器名、數據庫名、所有者名和對象名。其中前三個可以省略,掌握省略的格式。
27、常用的關系運算包括:連接、選擇和投影。關系運算的特點是運算的對象和結果都是表。
28、SQL Server對游標的使用要遵循的步驟:聲明游標;打開游標;讀取數據;關閉游標;刪除游標。
29、全局變量和局部變量分別用@@和@進行標識。
30、數據完整性的分類:域完整性、實體完整性和參照完整性。
31.數據庫管理系統采用的數據模型有;層次模型;網狀模型;關系模型。32.SQL Server 2000的數據庫可以分為;系統數據庫;用戶數據庫。33.數據庫對象包括;表;視圖;索引;;存儲過程;觸發器。34.常見的連接操作包括;等值連接;自然連接。
35.數據庫的查詢語句SELECT的語法格式中不包含以下哪些內容;DROP子句;UPDATE子句。
36.請從下面的關鍵字中選出能夠用于WHERE子句中進行范圍比較的是;IN;BETWEEN。37.請選出對視圖描述正確的項;數據庫中只存儲視圖的定義;對視圖的數據進行操作時,系統根據視圖的定義去操作與視圖相關聯的基本表。
38.按照索引的組織方式,可將索引分為;聚集索引;非聚集索引。
39.存儲過程包括以下哪些類型;系統存儲過程;本地存儲過程;臨時存儲過程;遠程存儲過程;擴展存儲過程。
40.SQL Server 2000中,允許使用的備份介質包括;硬盤;磁帶;命名管道。
三、名詞解釋
1、碼:在關系表中,如果一個字段或幾個字段組合的值可惟一標識其對應記錄,則稱該字段或字段組合為碼。
2、記錄:每個表包含了若干行數據,它們是表的“值”,表中的一行稱為一個記錄。3.投影:投影運算從表中選出指定的屬性值(列名)組成一個新表,記為:∏A(R)。4.索引: 根據表中一列或若干列按照一定順序建立的列值與記錄行之間的對應關系表。5.參照完整性: 又稱為引用完整性。參照完整性保證主表中的數據與從表中數據的一致性。6.數據庫:是存放數據及相關信息的倉庫。
7.字段:每個記錄由若干個數據項構成,將構成記錄的每個數據項稱為字段。
8.連接:連接運算把兩個表中的行按照給定的條件進行拼接而形成新表,記為:。9.數據的完整性:是指數據庫中的數據在邏輯上的一致性和準確性。10.數據庫恢復:就是當數據庫出現故障時,將備份的數據庫加載到系統,從而使數據庫恢復到備份時的正確狀態。
11、數據庫(DB):數據庫是存放數據及相關信息的倉庫。
12、數據庫管理系統(DBMS):數據庫管理系統是管理數據庫的系統,它按一定的數據模型組織數據。
13、實體和實體集:每一類數據對象的個體稱為實體,而每一類對象個體的集合稱為實體集。
14、記錄:每個表包含了若干行數據,它們是表的“值”,表中的一行稱為一個記錄。
15、字段:每個記錄由若干個數據項構成,將構成記錄的每個數據項稱為字段。
16、選擇運算:選擇運算按給定的條件,從表中選出滿足條件的行形成一個新表作為運算結果,選擇運算的記號為σF(R)。
17、投影運算:投影運算從表中選出指定的屬性值(列名)組成一個新表,記為:∏A(R)。
18、連接運算:連接運算把兩個表中的行按照給定的條件進行拼接而形成新表,記為:。
19、等值連接:兩個表的某些列值相等,這樣的連接稱為等值連接。
20、自然連接:自然連接運算要求兩個表有共同屬性,自然連接運算的結果表是在參與操作兩個表的共同屬性上進行等值連接后再去除重復的屬性后所得的新表,自然連接運算記為:。
21、局部變量:DECLARE @local_variable data_type,所有局部變量在聲明后均初始化為NULL。
22、域完整性:域完整性又稱為列完整性,指給定列輸入的有效性。
23、實體完整性:實體完整性又稱為行的完整性,要求表中有一個主鍵,其值不能為空且能惟一地標識對應的記錄。
24、參照完整性:參照完整性又稱為引用完整性。參照完整性保證主表中的數據與從表中數據的一致性。
25、外碼:如果一個表中的一個字段或若干個字段的組合是另一個表的碼則稱該字段或字段組合為該表的外碼。
26、存儲過程:在SQL Server中,可以定義子程序存放在數據庫中,這樣的子程序稱為存儲過程。
27、觸發器:觸發器是一類特殊的存儲過程。觸發器與表的關系密切,用于保護表中的數據。當有操作影響到觸發器保護的數據時,觸發器自動執行。
28、導入/導出:導入/導出是數據庫系統與外部進行數據交換的操作。
導入數據是從外部數據源中檢索數據,并將數據插入到SQL Server表的過程,即把其他系統的數據引入到SQL Server的數據庫中。
導出數據是將SQL Server數據庫中的數據轉換為某些用戶指定格式的過程,即把數據庫從SQL Server數據庫中引到其他系統。
四、簡答題
1.請列舉SQL Server 2000的數據庫對象。
表、視圖、索引、存儲過程、觸發器和約束。2.簡述存儲過程的優點。
(1)存儲過程在服務器端運行,執行速度快。(2)存儲過程執行一次后,其執行規劃就駐留在高速緩沖存儲器,在以后的操作中,只需從高速緩沖存儲器中調用已編譯好的二進制代碼執行,提高了系統性能。(3)確保數據庫的安全。
(4)自動完成需要預先執行的任務。3.請根據以下表的定義寫出創建表的語句。表名:Student 列名 數據類型 長度 是否允許為空 學號 定長字符型(char)6 否 姓名 定長字符型(char)8 否 專業名 定長字符型(char)10 允許 性別 位型(bit)1(系統默認值)否
出生時間 日期時間類型(smalldatetime)4(系統默認值)否 總學分 整數型(tinyint)1(系統默認值)允許 備注 文本型(text)16(系統默認值)允許 CREATE TABLE student(學號 char(6)NOT NULL,姓名 char(8)NOT NULL,專業名 char(10)NULL,性別 bit NOT NULL,出生日期 smalldatetime NOT NULL,總學分 tinyint NULL,備注 text NULL)4.根據以下要求寫出實現表操作的SQL語句。假設數據庫中已經建立好以下表結構。表名:Student 列名 數據類型 長度 是否允許為空 學號 定長字符型(char)6 否 姓名 定長字符型(char)8 否 專業名 定長字符型(char)10 允許 性別 位型(bit)1(系統默認值)否
出生時間 日期時間類型(smalldatetime)4(系統默認值)否 總學分 整數型(tinyint)1(系統默認值)允許 備注 文本型(text)16(系統默認值)允許 請分別寫出如下操作的SQL語句:
(1)增加新列 “獎學金等級”,數據類型為tinyint,允許為空;(2)刪除“備注”列;
(3)將“出生日期”列的數據類型由原來的smalldatetime修改為datetime。(1)ALTER TABLE Student ADD 獎學金等級 tinyint NULL(2)ALTER TABLE Student DROP COLUMN 備注
(3)ALTER TABLE Student ALTER COLUMN 出生日期 datetime 5.數據庫中已經存在下表。表名:Student 列名 數據類型 長度 是否允許為空 學號 定長字符型(char)6 否 姓名 定長字符型(char)8 否 專業名 定長字符型(char)10 允許
總學分 整數型(tinyint)1(系統默認值)允許 備注 文本型(text)16(系統默認值)允許 請寫出如下對表中數據進行操作的SQL語句:
(1)插入一條學生信息,學號為“532241”,姓名為“張鑫”,專業名為“計算機”;(2)從表中刪除學號為“532240”的學生記錄;
(3)將表中所有記錄的專業名由“計算機”改為“計算機應用技術”。
(1)INSERT INTO Student(學號, 姓名, 專業名)VALUES(?532241?, ?張鑫?, ?計算機?)或 INSERT INTO Student VALUES(?532241?, ?張鑫?, ?計算機?, NULL, NULL)(2)DELETE FROM Student WHERE 學號=?532240?
(3)UPDATE Student SET 專業名=?計算機應用技術? WHERE 專業名=?計算機? 6.請列舉設計表時包括的內容。
確定表的名字、所包含的列名、列的數據類型、長度、是否可為空值、默認值情況、是否要使用以及何時使用約束、默認設置或規則以及所需索引、哪些列是主鍵、哪些列是外鍵。7.簡述索引的作用。(1)快速存取數據。(2)保證數據記錄的惟一性。(3)實現表與表之間的參照完整性。
(4)在使用ORDER BY, GROUP BY子句進行數據檢索時,利用索引可減少排序和分組的時間。
8.請根據以下表的定義寫出創建表的語句。表名:Course 列名 數據類型 長度 是否允許為空 課程號 定長字符型(char)3 否 課程名 定長字符型(char)16 否
開課學期 整數型(tinyint)1(系統默認值)否 學時 整數型(tinyint)1(系統默認值)否 學分 整數型(tinyint)4(系統默認值)允許
CREATE TABLE course(課程號 char(3)NOT NULL,課程名 char(16)NOT NULL,開課日期 tinyint NOT NULL,學時 tinyint NOT NULL,學分 tinyint NULL)9.根據以下要求寫出實現表操作的SQL語句。假設數據庫中已經建立好以下表結構。表名:Course 列名 數據類型 長度 是否允許為空 課程號 定長字符型(char)3 否 課程名 定長字符型(char)16 否
開課學期 整數型(tinyint)1(系統默認值)否 學時 整數型(tinyint)1(系統默認值)否 學分 整數型(tinyint)4(系統默認值)允許 請分別寫出如下操作的SQL語句:
(1)增加新列“授課教師”,數據類型為char,長度為10,不允許為空;(2)刪除“學時”列;
(3)將“課程名”列的長度由原來16改為20。
(1)ALTER TABLE Course ADD 授課教師 char(10)NOT NULL(2)ALTER TABLE Course DROP COLUMN 學時
(3)ALTER TABLE Course ALTER COLUMN 課程名 char(20)10.數據庫中已經存在下表。表名:Course 列名 數據類型 長度 是否允許為空 課程號 定長字符型(char)3 否 課程名 定長字符型(char)16 否
開課學期 整數型(tinyint)1(系統默認值)否 學時 整數型(tinyint)1(系統默認值)否 學分 整數型(tinyint)4(系統默認值)允許
1、DBS是采用了數據庫技術的計算機系統。DBS是一個集合體,包含數據庫、計算機硬件、軟件和(C)A.系統分析員 B.程序員
C.數據庫管理員 D.操作員
2、關系數據庫中的視圖屬于4個數據抽象級別中的(A)A 外部模型 B 概念模型 C 邏輯模型 D 物理模型
3、在下列關于關系的陳述中,錯誤的是(B)A 表中任意兩行的值不能相同 B 表中任意兩列的值不能相同 C 行在表中的順序無關緊要 D 列在表中的順序無關緊要
4、關系數據庫中,實現實體之間的聯系是通過表與表之間的(D)A 公共索引 B 公共存儲 C 公共元組 D 公共屬性
5、下面系統中不屬于關系數據庫管理系統的是(C)A Oracle B MS SQL Server C IMS D DB2
6、SQL語言中,刪除一個表的命令是(B)A DELETE B DROP C CLEAR D REMORE
7、有一個網絡數據庫應用系統,其中一臺計算機A存有DBMS軟件、所有用戶數據和應用程序,其余各節點作為終端通過通信線路向A發出數據庫應用請求,這種方式屬于(A)A 集中式數據庫體系結構 B 主從式數據庫體系結構 C 客戶機/服務器數據庫體系結構 D 分布式數據庫體系結構
8、有一個關系:學生(學號,姓名,系別),規定學號的值域是8個數字組成的字符串,這一規則屬于(C)A 實體完整性約束 B 參照完整性約束 C 用戶自定義完整性約束 D 關鍵字完整性約束
9、設關系R和S的屬性個數為r和s,則(R*S)操作結果的屬性個數為(A)A r+s B r-s C r*s D max(r+s)
10、在SQL語言中,條件“RETWEEN 20 AND 30”表示年齡在20到30之間,且(A)
A 包括20歲和30歲 B 不包括20歲和30歲 C 包括20歲不包括30歲 D 不包括20歲包括30歲
11、為了使索引鍵的值在基本表中唯一,在建立索引語句中應使用保留字(A)A UNIQUE B COUNT C DISDINCT D UNION
12、下面有關主鍵的敘述正確的是(B)A 不同的記錄可以具有重復的主鍵值或空值 B 一個表中的主鍵可以是一個或多個字段 C 在一個表中主鍵只可以是一個字段 D 表中的主鍵的數據類型必須定義為自動編號或文本
13、下列哪一個數據庫不是SQL Server 2000的系統數據庫(C)A. master數據庫 B. msdb數據庫 C. pubs數據庫 D. model數據庫
14、有關系R和S,R∩S的運算等價于(B)A.S-(R-S)B.B.R-(R-S)C.C.(R-S)∪S D.D.R∪(R-S)
15、下列四項中說法不正確的是(C)A.數據庫減少了數據冗余 B.數據庫中的數據可以共享 C..數據庫避免了一切數據的重復 D..數據庫具有較高的數據獨立性
16、取出關系中的某些列,并消去重復的元組的關系運算稱為(C)A.取列運算 B.投影運算 C.連接運算 D.選擇運算
17、一家航空公司把一年中飛行距離超過10000里的客戶信息轉移到一張稱為flyersclub的表中,他們的詳細情況被記錄在表flyers(A)A.insert into flyersclub from flyers where idistancetravelled>=10000 B.insert flyersclub where idistancetravelled>=10000 C.insert into flyersclub from flyers where(idistancetravelled)values>=10000 D.insert flyersclub(idstancetravelled)values from flyers where idistancetravelled>=10000
18、根據關系數據基于的數據模型——關系模型的特征判斷下列正確的一項:(B)
A、只存在一對多的實體關系,以圖形方式來表示。
B、以二維表格結構來保存數據,在關系表中不允許有重復行存在。C、能體現一對多、多對多的關系,但不能體現一對一的關系。D、關系模型數據庫是數據庫發展的最初階段
19、為數據表創建索引的目的是(A)A、提高查詢的檢索性能 B、創建唯一索引 C、創建主鍵 D、歸類
20、在視圖中不允許包括(A)關鍵字 A ORDER BY,COMPUTE,COMPUTR BY B ORDER BY FROM C COMPUTE ORDER BY D ORDER BY GROUP BY
21、數據庫三級模式體系結構的劃分,有利于保持數據庫的(A A 數據獨立性 B 數據安全性 C 結構規范化 D 操作可行性
22、假定學生關系是S(SNO,SNAME,SEX,AGE)課程關系是C(CNO,CNAME,CREDIT)學生選課關系是SC(SNO,CNO,GRADE)要查找選修“數據庫”課程的女學生的姓名,將涉及到的關系(D))
A S B C,SC C S,SC D S,C,SC
23、定義外鍵實現的是哪一(些)類完整性?(B)A 實體完整性 B 參照完整性 C 用戶定義的完整性
D 實體完整性、參照完整性和用戶定義的完整性
24、在下列關系代數的操作中,哪一個不屬于專門的關系運算?(C)A 自然連接 B 投影 C 廣義笛卡爾積 D 連接
25、下面關于SQL語言的說法中,哪一種說法是錯誤的?(A)A 一個SQL數據庫就是一個基本表 B SQL語言支持數據庫的三級模式結構
C 一個基本表可以跨多個存儲文件存放,一個存儲文件可以存放一個或多個基本表
D SQL的一個表可以是一個基本表,也可以是一個視圖
26、下面所列條目中,哪一條不是標準的SQL語句?(B)A ALTER TABLE B ALTER VIEW C CREATE TABLE D CREATE VIEW
27、若實體間的聯系是M∶N,則將聯系類型(D)A.的屬性加入任一個關系模式中
B.的屬性加入N端實體類型相對應的關系模式中 C.的屬性加入M端實體類型相對應的關系模式中 D.也轉換為關系模型
28、數據庫管理系統中用于定義和描述數據庫邏輯結構的語言稱為(A)A.數據庫模式描述語言(DDL)B.數據庫子語言(SubDL)C.數據操縱語言(DML)D.數據結構語言
29、在SQL語言中,()子句能夠實現關系參照性規則。(D)A.PRIMARY KEY B.NOT NULL C.FOREIGN KEY D.FOREIGN KEY...REFERENCES...30、從E-R模型關系向關系模型轉換時,一個M:N聯系轉換為關系模式時,該關系模式的關鍵字是(C)A.M端實體的關鍵字 B.N端實體的關鍵字
C.M端實體關鍵字與N端實體關鍵字組合 D.重新選取其他屬性
一、選擇題
1.關系數據庫管理系統所管理的關系是(B)。
A)一個DBF文件 B)若干個二維表 C)一個DBC文件 D)若干個DBC文件 2.不允許記錄中出現重復索引值的索引是(c)。
A)主索引 B)主索引、候選索引、普通索引 C)主索引和候選索引 D)主索引、候選索引和唯一索引
3.要控制兩個表中數據的完整性和一致性可以設置“參照完整性”,要求這兩個表(a)。
A)是同一個數據庫中的兩個表 B)不同數據庫中的兩個表 C)兩上自由表 D)一個是數據庫表另一個是自由表
4.在VisualFoxPro中,可以對字段設置默認值的表(a)。
A)必須是數據庫表 B)必須是自由表 C)自由表或數據庫表 D)不能設置字段的默認值
5.VisualFoxPro關系數據庫管理系統能夠實現的三種基本關系運算是(c)。A)索引、排序、查找 B)建庫、錄入、排序 C)選擇、投影、聯接 D)顯示、統計、復制
6.打開VisualFoxPro“項目管理器”的“文檔”(Docs)選項卡,其中包括(d)。A)表單(Forln)文件 B)報表(Report)文件 C)標簽(Label)文件 D)以上三種文件 7.可以鏈接或嵌入OLE對象的字段類型是(c)。
A)備注型字段 B)通用型和備注型字段 C)通用型字 D)任何類型的字段 8.下面關于屬性、方法和事件的敘述中,錯誤的是(d)。A)屬性用于描述對象的狀態,方法用于表示對象的行為 B)基于同一類產生的兩個對象可以分別設置自己的屬性值 C)事件代碼也可以像方法一樣被顯式調用
D)在新建一個表單時,可以添加新的屬性、方法和事件 9.查詢設計器和視圖設計器的主要不同表現在于(b)。A)查詢設計器有“更新條件”選項卡,沒有“查詢去向”選項 B)查詢設計器沒有“更新條件”選項卡,有“查詢去向”選項 C)視圖設計器沒有“更新條件”選項卡,有“查詢去向”選項 D)視圖設計器有“更新條件”選項卡,也有“查詢去向”選項 10.在Visual FoxPro中,表單(Form)是指(d)。
A)數據庫中各個表的清單 B)一個表中各個記錄的清單 C)數據庫查詢的列表 D)窗口界面
11.在Visual FoxPro中,打開數據庫的命令是(a)。
A)OPEN DATABASE<數據庫名> B)USE<數據庫名>C)USE DATABASE<數據庫名> D)OPEN<數據庫名> 12.連續執行以下命令之合,最后一條命令的輸出結果是(c)。SET EXACT OFF X=“A” ?IIF(“A”=X,X-“BCD”,X+“BCD”)A)A B)BCD C)A BCD D)ABCD 13.在以下四組函數運算中,結果相同的是(a)。
A)LEFT(“Visual FoxPro”,6)與SUBSTR(“Visual FoxPro”,1,6)B)YEAR(DATE())與SUBSTR(DTOC(DATE),7,2)C)VARTYPE(“36-5*4”)與VARTYPE(36-5*4)D)假定A=“this”,B=“is a string”,A-B與A+B 14.在Visual FoxPro中,用于建立或修改過程文件的命令是(b)。
A)MODIFY<文件名> B)MODIFY COMMAND<文件名> C)MODIFY PROCEDURE<文件名> D)上面B)和C)都對
15.在SQL查詢時,使用WHERE子句指出的是(c)。A)查詢目標 B)查詢結果 C)查詢條件 D)查詢視圖
16.在下面關于面對象數據庫的敘述中,錯誤的是(d)。
A)每個對象在系統中都有唯一的對象標識 B)事件用于對象,對象識別事件并作出相應反應
C)一個子類能夠繼承其所有父類的屬性和方法 D)一個父類包括其所有父類的屬性和方法
17.結構化程序設計的三種基本邏輯結構是(b)。
A)選擇結構、循環結構和嵌套結構 B)順序結構、選擇結構和循環結構 C)選擇結構、循環結構和模塊結構 D)順序結構、遞歸結構和循環結構 18.使用命令DECLAREmm(2,3)定義的數組,包含的數組元素(下標變量)的個數為(d)。
A)2個 B)3個 C)5個 D)6個
19.使用VisualFoxPro的菜單設計器時,選中菜單項之后,如果要設計它的子菜單,應在Result中選擇(b)。A)Pad Name B)Submenu C)Command D)Procedure 20.Visual FoxPro的報表文件.FRX中保存的是(d)。
A)打印報表的預覽格式 B)打印報表本身 C)報表的格式和數據 D)報表設計格式的定義
21.在VisualFoxPro中進行參照完整性設置時,要想設置成:當更改父表中的主關鍵宇段或候選關鍵字段時,自動更改所有相關子表記錄中的對應值。應選擇(c)。
A)限制(Restrict)B)忽略(1gnore)C)級聯(Cascade)D)級聯(Cascade)或限制(Restrict)22.在VisualFoxPro的數據工作期窗口,使用SETRELATION命令可以建立兩個表之間的關 聯,這種關聯是(c)。A)永久性關聯 B)永久性關聯或臨時性關聯 C)臨時性關聯 D)永久性關聯和臨時性關聯 23.清除主窗口屏幕的命令是(a)。
A)CLEAR B)CLEAR ALL C)CLEAR SCREEN D)CLEAR WINDOWS 24.在創建快速報表時,基本帶區包括(b)。A)標題、細節和總結 B)頁標頭、細節和頁注腳 C)組標頭、細節和組注腳 D)報表標題、細節和頁注腳 25.在下面的Visual FoxPro表達式中,不正確的是(c)。A){^2002-05-01 10:10:10 AM}-10 B){^2002-05-01}-DATE()C){^2002-05-01}+DATE()D){^2002-05-01}+[1000] 26.如果在屏幕上直接看到查詢結果:“查詢去向”應該選擇(d)。A)屏幕 B)瀏覽 C)臨時表或屏幕 D)瀏覽或屏幕
27.使用菜單操作方法打開一個在當前目錄下已經存在的查詢文件zgik.qpr后,在命令窗口 生成的命令是(b)。A)OPEN QUERYzgik.qpr B)MODIFY QUERY zgik.qpr C)DO QUERY zgik.qpr D)CREATE QUERY zgik.qpr 28.下面關于Visual FoxPro數組的敘述中,錯誤的是(c)。A)用DIMENSION和DECLARE都可以定義數組 B)Visual FoxPro只支持一維數組和二維數組
C)一個數組中各個數組元素必須是同一種數據類型 D)新定義數組的各個數組元素初值.F.29.在下列函數中,函數值為數值的是(a)。
A)AT(’人民’,’中華人民共和國’)B)CTOD(’01/01/96’)C)BOF()D)SUBSTR(DTOC(DATE()),7)30.在Visual FoxPro中,通用型字段C和備注型字段M在表中的寬度都是(b)。A)2個字節 B)4個字節 C)8個字節 D)10個字節 31.可以伴隨著表的打開而自動打開的索引是(c)。A)GO TOP B)GO BOTFOM C)GO 6 D)SKIP 32.可以伴隨著表的打開而自動打開的索引是(c)。
A)單一索引文件(1DX)B)復合索引文件(CDX)C)結構化復合索引文件 D)非結構化復合索引文件
33.要為當前表所有職工增加100元工資應該使用命令(d)。A)CHANGE工資WITH工資+100 B)REPLACE工資WITH工資+100 C)CHANGE ALL工資WITH工資+100 D)REPLACE ALL工資WITH工資+100 34.Visual FoxPro參照完整性規則不包括(b)。A)更新規則 B)查詢規則 C)刪除規則 D)插入規則
35.在數據庫設計器中,建立兩個表之間的一對多聯系是通過以下索引實現的(a)。
A)“一方”表的主索引或候選索引,“多方”表的普通索引 B)“一方”表的主索引,“多方”表的普通索引或候選索引 C)“一方”表的普通索引,“多方”表的主索引或候選索引 D)“一方”表的普通索引,“多方”表的候選索引或普通索引 36.在下列四個選項中,不屬于基本關系運算的是(d)A.連接 B.投影 C.選擇 D.排序
37.如果一個班只能有一個班長,而且一個班長不能同時擔任其它班的班長,班級和班長兩個實體之間的關系屬于(a)A.一對一聯系 B.一對二聯系 C.多對多聯系 D.一對多聯系 38.Visual FoxPro支持的數據模型是(b)A.層次數據模型 B.關系數據模型 C.網狀數據模型 D.樹狀數據模型 39.在Visual FoxPro的命令窗口中鍵人CREATE DATA命令以后,屏幕會出現一個創建對話框,要想完成同樣的工作,還可以采取如下步驟(a)A.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“數據庫”單選鈕,再單擊“新建文件”命令按鈕
B.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“數據庫”單選鈕,再單擊“向導”命令按鈕
C.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“表”單選鈕,再單擊“新建文件”命令按鈕
D.單擊“文件”菜單中的“新建”按鈕,然后在新建對話框中選定“表”單選鈕,再單擊“向導”命令按鈕
40.將內存變量定義為全局變量的VisualFoxPro命令是(c)A.LOCAL B.PRIVATE C.PUBLIC D.GLOBAL 41.擴展名為DBC的文件是(c)A.表單文件 B.數據庫表文件 C.數據庫文件 D.項目文件
42.假設已經生成了名為mymenu的菜單文件,執行該菜單文件的命令是(b)A.DO mymenu B.DO mymenu.mpr C.DOmymenu.PJx D.DOmymenu.max 43.下面有關索引的描述正確的是(c)A.建立索引以后,原來的數據庫表文件中記錄的物理順序將被改變 B.索引與數據庫表的數據存儲在一個文件中
C.創建索引是創建一個指向數據庫表文件記錄的指針構成的文件 D.使用索引并不能加快對表的查詢操作
44.若所建立索引的字段值不允許重復,并且一個表中只能創建一個,它應該是(a)A.主索引 B.惟一索引 C.候選索引 D.普通索引 45.參照完整性的規則不包括(d)A.更新規則 B.刪除規則 C.插入規則 D.檢索規則
46.一數據庫名為student,要想打開該數據庫,應使用命令(b)A.OPEN student B.OPEN DATA student C.USE DATA student D.USE student 47.下列函數中函數值為字符型的是(b)A.DATE()B.TIME()C.YEAR()D.DATETIME()48.在下面的數據類型中默認值為.F.的是(c)A.數值型 B.字符型 C邏輯型 D.日期型 49.下面有關HAVING子句描述錯誤的是(b)A.HAVING子句必須與GROUPBY子句同時使用,不能單獨使用 B.使用HAVING子句的同時不能使用WHERE子句 C.使用HAVING子句的同時可以使用WHERE子句 D.使用HAVING子句的作用是限定分組的條件
50.當前盤當前目錄下有數據庫db_stock,其中有數據庫表stock.dbf,該數據庫表的內容是:
股票代碼 股票名稱 單價 交易所 600600 青島啤酒 7.48 上海 600601 方正科技 15.20 上海 600602 廣電電子 10.40 上海 600603 興業房產 12.76 上海 600604 二紡機 9.96 上海 600605 輕工機械 14.59 上海 000001 深發展 7.48 深圳 000002 深萬科 12.50 深圳 執行如下SQL語句后(a)SELECT*FROM stock INTO DBF stock ORDER BY 單價 A.系統會提示出錯信息
B.會生成一個按“單價”升序排序的表文件,將原來的stock.dbf文件覆蓋 C.會生成一個按“單價”降序排序的表文件,將原來的stock.dbf文件覆 D.不會生成捧序文件,只在屏幕上顯示一個按“單價”升序排序的結果
二、填空
1、在關系運算中,從關系中取出滿足條件的元組的運算稱__選擇_____運算
2、主碼是一種 _候選_____ 碼,主碼中的 ___屬性__個數沒有限制
3、SQL Server主數據文件、次數據文件和事務日志文件默認的擴展名分別為__ mdf ___、_ ndf ______和、ldf
4、關系模式的三類完整性約束條件分別是實體完整性約束、參照完整性約束和自定義完整性約束。
5、根據下面所給的商品庫,寫出SQL語句
商品表1(商品代號char(8),分類號char(8),單價float數量int)商品表2(商品代號char(8),產地char(8),品牌char(8)兩張表(1)從商品庫中查詢出數量在10和20之間的商品種數 select * from 商品表1 where 數量 between 10 and 20(2)從商品庫中查詢出每類(即分類名相同)商品的總數量 select 分類名,sum(數量)as 總數量 from 商品表1 group by 分類名
(3)從商品庫中查詢出比所有商品單價的平均值要低的全部商品 select * from 商品表1 where 單價avg(單價)from 商品表1)(4)從商品庫中查詢出所有商品的不同產地的總數
select count(distinct 產地)as產地數from商品表2
6、建立課程表,它包括三個屬性:課程號、課程名和課程學分。其中課程號為主碼;課程名唯一;課程學分只取1至5之間的整數,可以取空值 Create table 課程(課程號char(4)primary key,課程名char(12)not null unique, 課程學分int check(課程學分>=1and課程學分〈=5〉
5、根據下面所給的教學庫,寫出SQL語句
學生(學號char(8),姓名char(8),性別char(2),系名char(20), 出生年月 datetime)選課(學號char(8),課程號char(10),成績Int)課程(課程號char(8),課程學分Int)三張表(1)從教學庫中查詢出每門課程被選修的學生數
Select 課程.課程號,課程.課程名,count(*)as選課人數 from 課程,選課
where課程.課程號=選課.課程號 group by 課程.課程號
(2)從教學庫中查詢出所有已被學生選修的課程 select * from 課程
where exists(select from 選課 where課程.課程號=選課.課程號)(3)查找學生表中電子工程系的學生的姓名、系名和出生年月,結果按出生年月降序排列,年齡即從小到大排序 SELECT姓名,系名,出生年月; FROM學生;
WHERE系名=“電子工程系” ORDER BY出生年月DISC(4)查找姓名以“李”打頭的所有學生名 SELECT姓名; FROM學生; WHERE姓名 LIKE ‘ 李% ’
(5)從教學庫中查詢出所有學生和選課情況,要求沒選擇任何課程的學生信息也反映出來。
(提示:此查詢需要使用左連接,學生為左,選課為右)SELECT *;FROM 學生 LEFT JION 選課 ON 學生.學號=選課.學號.(6)在課程表插入一個的元組數據
INSERT 51.當前盤當前目錄下有數據庫db_stock,其中有數據庫表stock.dbf,該數據庫表的內容是:
股票代碼 股票名稱 單價 交易所 600600 青島啤酒 7.48 上海 600601 方正科技 15.20 上海 600602 廣電電子 10.40 上海 600603 興業房產 12.76 上海 600604 二紡機 9.96 上海 600605 輕工機械 14.59 上海 000001 深發展 7.48 深圳 000002 深萬科 12.50 深圳
執行下列程序段以后,內存變量a的內容是(c)CLOSE DATABASE a=0 USE stock GO TOP DO WHILE.NOT.EOF()IF 單價>10 a=a+1 ENDIF SKIP ENDDO A.1 B.3 C.5 D.7 52.當前盤當前目錄下有數據庫db_stock,其中有數據庫表stock.dbf,該數據庫表的內容是:
股票代碼 股票名稱 單價 交易所 600600 青島啤酒 7.48 上海 600601 方正科技 15.20 上海 600602 廣電電子 10.40 上海 600603 興業房產 12.76 上海 600604 二紡機 9.96 上海 600605 輕工機械 14.59 上海 000001 深發展 7.48 深圳 000002 深萬科 12.50 深圳 有如下SQL SELECT語句
SELECT*FROM stock WHERE 單價 BETWEEN 12.76 AND 15.20 與該語句等價的是(a)A.SELECT*FROM stock WHERE 單價<=15.20.AND.單價>=12.76 B.SELECT*FROM stock WHERE 單價<15.20.AND.單價>12.76 C.SELECT*FROM stock WHERE 單價>=15.20.AND.單價<=12.76 D.SELECT*FROM stock WHERE 單價<>15.20.AND.單價<12.76 來源:www.tmdps.cnO()顯示的記錄號是(b)A.1 B.2 C.3 D.4 164.當打開某個庫文件和相關的多個索引文件被打開時,有關主索引的正確敘述是(b)A.可以將多個索引文件同時設置為主索引 B.同一時刻只能將一個索引文件設置為主索引
C.只要指定主索引文件,就不能更改關于主索引文件的設置 D.索引文件只要打開就能對記錄操作起作用
165.當前記錄序號為3,將第6記錄設置為當前記錄的命令是(c)A.SKIP-6 B.SKIP+6 C.SKIP+3 D.SKIP-3 166.若當前數據庫中有200個記錄,當前記錄號是8,執行命令LIST NEXT 5的結果是(d)A.顯示第5號記錄的內容 B.顯示1至5號記錄的內容
C.顯示8號記錄的5個字段 D.顯示從8號記錄開始以下5條記錄的內容 167.要顯示系統中所使用的內存變量,可以在命令窗口中輸人命令(c)A.DISPLAY FIELD B.DISPLAY OFF C.DISPLAY MEMORY D.DISPLAY 168.在人事數據庫文件中要顯示所有姓王(姓名)的職工的記錄,使用命令(d)A.LIST FOR 姓名=“王***” B.LIST FOR STR(姓名,1,2)=“王” C.LOCATE FOR 姓名=“王” D.LIST FOR SUBSTR(姓名,1,2)=“王” 169.在命令窗口輸入: STORE “.F.” TO P ?TYPE(“P”)顯示的結果類型是(a)A.C B. L C.D D.N 170.對當前數據庫執行命令 LIST 姓名,職稱 FOR 年齡<35.AND.職稱=“高級工程師”的結果是(d)A.顯示所有記錄的姓名和職稱
B.顯示所有年齡在35歲以下的高級工程師的記錄 C.顯示所有年齡在35歲以下的記錄的姓名和職稱 D.顯示所有年齡在35歲以下的高級工程師的姓名和職稱 171.要顯示數據庫中當前一條記錄的內容,可使用命令(b)A.HST B.DISPLAY C.BROWSE D.DIR 172.對變量賦值,以下命令中正確的是(a)A.STORE 8 TO X,Y、B.STORE 8,9 TO X,Y C.X=8,Y=9 D.X=Y=8 173.所有可選項缺省時,數據庫記錄輸出命令 LIST 和 DISPLAY 的區別是(b)A.DISPLAY 顯示全部記錄,LIST顯示當前一條記錄 B.LIST顯示全部記錄,DISPLAY顯示當前一條記錄 C.LIST和DISPLAY都顯示全部記錄 D.LIST和DISPLAY都只顯示當前一條記錄
174.對某一個數據庫建立以出生年月(D,8)和工資(N,7,2)升序的多字段結構復合索引的正確的索引關鍵字表達式為(d)A.出生年月+工資 B.出生年月+工資
C.出生年月+STP(工資,7,2)D.DTOC(出生年月)十STP(工資,7,2)175.下述命令中的哪一條不能關閉數據庫(c)A.USE B.CLOSE DATABASE C.CLEAR D.CLEAR ALL 176.對某一個數據庫建立以性別(C,2)和年齡(N,2)升序的多字段結構復合索引的正確的索引關鍵字表達式為(b)A.性別+年齡 B.性別+STR(年齡,2)C.性別+STR(年齡)n性別,年齡 177.設數據庫SCORE.DBF有“姓名(C,6)”、“班級(C,2)”、“總分(N,5,1)”等字段,并已按班級索引,執行下列命令序列: USE SCORE LIST 記錄號# 姓名 班級 總分 1 董一婉 10 85.0 2 黃興東 10 75.0 3 劉艷飛 11 75.0 4 趙 飛 11 70.0 5 姜 浚 13 65.0 6 毛俊麗 13 80.0 TOTAL ON 班級 TO TEMP TEMP.DBF中第三條記錄是(c)A.董一婉 10 160.0 B.劉艷飛 11 145.0 C.姜浚 13 145.0 D.劉艷飛 11 75.0 178.如果需要給當前表增加一個字段,應使用的命令是(b)。A)APPEND B)MODIFYSTRUCTURE C)INSERT D)EDIF 179.一個表的全部備注字段的內容存儲在(a)中。
A)同一表備注文件 B)不同表備注文件 C)同一文本文件 D)同一數據庫文件 180.在VFP環境下,用LIST STRU命令顯示表中每個記錄的長度(總計)為60,用戶實際可用字段的總寬度為(b)。A)60 B)61 C)3、8、10 D)
3、8、任意
181。已知當前表中有60條記錄,當前記錄為第6號記錄。如果執行命令SKIP 3后,則當前記錄為第()號記錄。D A)3 B)4 C)8 D)9 182.順序執行下列命令后,最后一條命令顯示結果是(a)。USE CHJ GO 5 SKIP-2 ?RECNO()A)3 B)4 C)5 D)7 183.不能對記錄進行編輯修改命令是(a)。A)MODISTRU B)CHANGE C)BROWSE D)EDIT 184.使用REPLACE命令時,如果范圍短語為ALL或REST,則執行該命令后記錄指針指向(c)。
A)末記錄 B)首記錄 C)末記錄的后面 D)首記錄的前面
185.對學歷為大學的職工按工資由高到低排序,工資相同的職工按年齡由大到小排序,應使用的命令是(b)。
A)SORT TO XL ON 工資/A,出生日期/D FOR 學歷=“大學” B)SORT TO XL ON 工資/D,出生日期/A FOR 學歷=“大學” C)SORT TO XL ON 工資/A,出生日期/A FOR 學歷=“大學” D)SORT TO XL ON 工資/D,出生日期/D FOR 學歷=“大學” 186.當前表中有4個數值型字段:高等數學、英語、計算機網絡和總分。其中高等數學、英語、計算機網絡的成績均已錄入,總分字段為空。要將所有學生的總分自動計算出來并填人總分字段中,使用命令(c)。A)REPL 總分 WITH 高等數學+英語+計算機網絡 B)REPL 總分 WITH 高等數學,英語,計算機網絡 C)REPL 總分 WITH 高等數學+英語+計算機網絡 ALL D)REPL 總分 WffH 高等數學+英語+計算機網絡 FOR ALL 187.職工數據庫中有D型字段“出生日期”,要顯示職工生日的月份和日期可以使用命令(c)A.?姓名+Month(出生日期)+“月”+DAY(出生日期)+“日” B.?姓名+STR(Month(出生日期))+“月”+DAY(出生日期)+“日” C.?姓名+STR(Month(出生日期))+“月”+STR(DAY(出生日期))+“日” D.?姓名+SUBSTR(出生日期,4,2)+SUBSTR(出生日期,7,2)188.下列選項中可以得到字符型數據的是(b)A.DATE()B.TIME()巴YEAR(DATE())D.MONTH(DATE())189.用DIMENSION。(3,5)命令定義了一個數組a,則該數組的下標變量(數組元素)數目是(a)A.15 B.24 C.8 D.10 190.設X=123,Y=456,Z=“X+Y”,則表達式6+&Z的值是(c)A.6+&Z B.6+X+Y C.585 D.錯誤提示
191.使用DECLARE命令定義數組后,各數組元素在沒有賦值之前的數據類型是(d)A.無類型 B.字符型 C.數值型 D.邏輯型
192.順序執行下列命令后,屏幕最后顯示的結果是(b)a=“9” b=“a” ?TYPE(&“b”)A.N B.C C.D D.U 193.用DIMENSLON a(2,3)命令定義數組s后再對各元素賦值:a(1,2);2,a(1,3):3,a(2,1)=4,a(2,2)=5,a(2,3)=6,然后再執行命令?a(5),則顯示結果是(d)A..F.B.變量未定義 C.3 D.5 194.執行以下命令序列(設今天是2000年8月6日)STORE DATE()TO MDATE MDATE:MDATE-365 ? YEAR(MDATE)的顯示結果為(a)A.1999 B.99 C.2000 D.該語句序列中有錯誤 195.在下列表達式中,結果為字符型是(a)A.“125”-“90” B.“abc”+“def”=“abedef” C.CTOD(“99/10/01”)D.DTOC(DATE())>“96/08/01” 196.數據庫中有邏輯型字段變量“婚否”及日期型字段變量“出生日期”,則判斷滿30歲且未婚的表達式為(a)A..NOT.婚否.AND.INT((DATE()-出生日期)/365)>=30 B..NOT.婚否.AND.INT((DATE()-出生日期)/365)>30 C.婚否.AND.INT((DATE()-出生日期)/365)>:30 D.婚否.AND.INT((DATE()-出生日期)/365)>30 197.以下選項中不能參與數據運算的變量類型是(a)A.屏幕型 B.字符型 巴邏輯型 D.日期型
198.設變量A=“99/10/01”,則表達式MONTH((CTOD(A))和DAY((CTOD(A))的值分別為(c)A.99和10 B.99和1 C.10和1 D.1和10 199.設一個數據庫中有18條記錄,當EOF()返回真值且當前記錄號應為(c)A.18 B.0 C.19 D.1 200.執行STORE “1999年12月慶祝澳門回歸祖國!” TO XY 命令之后,要在屏幕上顯示“澳門1999年12月回歸祖國”,應使用命令(c)A.?SUBSTR(XY,15,4)+SUBSTR(XY,1,0)+SUBSTR(XY,10)B.?SUBSTR(XY,15,4)+LEFT(XY,1,10)+RIGHT(XY,19)C.?SUBSTR(XY,15,4)+LEFT(XY,10)十RIGHT(XY,10)D.?SUBSTR(XY,15,4)+LEFT(XY,10)+RIGHT(XY,19,10)201.有如下命令序列: STORE “456 ”to X STORE “123”+X TO Y STORE TRIM(Y-“789”)TO Z 執行上述命令之后,Z的值是(a)A.“123456789” B.“123456 789” C.“123 456789” D.“1234 56789” 202.假定有下述變量定義:姓名=[李華],性別=[女],生日={70/09/08),婚否=.T.,要顯示出以下格式的信息:李華,女,出生于70-09-08.T.,可用命令(c)A.?姓名,性別,生日,婚否
B.?姓名+“,”+性別+“,”+“出生于”+生日+婚否 C.?姓名+“,”+性別+“,”+“出生于”+DTOC(生日),婚否 D.?姓名+“,”+性別+“,”+“出生于”+DTOC(生日)+婚否
203.設有變量PI=3.1415926,執行命令?round(PI,3)的顯示結果是(b)A.3.141 B.3.142 C.3.140 D.3.0 204.設當前有一字段變量A的值為123,另有一同名內存變量A的值為-123,則執行?M.A-A后屏幕將顯示(b)A.246 B.-246 C.0 D.錯誤信息
205.下列字符型常量Hello,world!表示方法中,錯誤的是(d)A.[Hello,world!] B.’Hello,world!’ C.“Hello,world!” D.{Hello,world!}
第二篇:數據庫試題及答案_
筆試樣卷一
參考答案
一、簡答題(25分)
1.數據庫階段數據管理的主要特點是什么? 2.
解釋DB、DBMS、DBS三個概念?
3.什么是物理數據獨立性和邏輯數據獨立性? 4.
試說明DBMS的主要功能?
5.在ER模型轉換為關系模型時,聯系類型要根據不同的情況作不同的處理,試說明之。
二、計算題(20分)
1.設有關系R和S R: S:
A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表計算R∪S、R-S、R×S、π3,2(S)、δB<5(R)。(5分)2.
設有三個關系
S(SNO, SNAME, AGE, SEX, SDEPT)SC(SNO, CNO, GRANDE)C(CNO, CNAME, CDEPT, TNAME)試用關系代數表達式表示下列查詢
(1)檢索LIU老師所授課程的課程號、課程名(2)檢索年齡大于23歲的男學生的學號和姓名
(3)檢索學號為S3的學生所學課程的課程名和認課教師姓名(4)檢索WANG同學不學的課程的課程號
(5)檢索至少選修了兩門課程的學生的學號(10分)
三、設有三個基本表(45分)
S(SNO, SNAME, AGE, SEX, SDEPT)SC(SNO, CNO, GRANDE)C(CNO, CNAME, CDEPT, TNAME)1.
試用T-SQL的查詢語句表達下列查詢(1)檢索LIU老師所授課程的課程號、課程名(2)檢索年齡大于23歲的男學生的學號和姓名
(3)檢索學號為S3的學生所學課程的課程名和認課教師姓名(4)檢索WANG同學不學的課程的課程號
(5)檢索至少選修了兩門課程的學生的學號(10分)2.
試用T-SQL的查詢語句表達下列查詢(1)統計有學生選修的課程的門數(2)求選修C4課程的學生的年齡
(3)求LIU老師所授課程的每門課程的學生的平均成績(4)統計每門課程的學生選修人數
(5)求年齡大于所有女同學年齡的男學生的姓名和年齡(10分)3.
試用T-SQL更新語句完成下列更新操作
(1)往表S中插入一個學生資料(‘S9’, ‘WU’, 18)
(2)在表S中檢索每一門課程成績都大于等于80分的學生的學號、姓名、性別,把檢索結果插入另一個已存在的表STU(SNO, SNAME, SEX)(3)刪除SC表中WANG同學的選課資料(4)把低于總平均分的女同學的成績提高5%(5)把表SC中C4課程的成績提高5%(10分)
四、設有關系模式R(ABCD),R上的FD集F={ AB→CD, A→D},試說明R不是2NF的理由,并把R分解成2NF模式集。(10分)
數據庫應用筆試樣卷一參考答案
一、簡答題(25分)
1.采用數據模型表示復雜的數據結構;有較高的數據獨立性;為用戶提供了方便的用戶接口;提供數據控制功能;增加了系統的靈活性。
2.DB(數據庫):存儲在計算機內有組織的、統一管理的相關數據的集合。DBMS(數據庫管理系統):是位于用戶與操作系統之間的數據管理軟件。
DBS(數據庫系統):是實現有組織的、動態的存儲大量關聯數據,以方便用戶訪問的計算機硬件、軟件和株距資源組成的計算機系統。
3.物理數據獨立性:內模式的修改,只需對模式/內模式映象做相應修改,而不需修改概念模式。邏輯數據獨立性:概念模式的修改,只需對外模式/模式映象做相應修改,而不需修改外模式。4.DBMS的主要功能:
數據定義(DDL):三級結構、兩級映象、完整性約束等。數據操縱(DML):檢索、更新。
數據保護:數據恢復、并發控制、完整性控制、安全性控制等。數據維護:數據載入、轉換、存儲、、性能監控等。
數據字典(DD):存儲三級結構定義的數據庫稱為DD,即系統數據庫。5.實體:實體類型→關系模式。聯系:
1∶1:將聯系臵入任一端實體,并加入另一端實體主鍵為外鍵。1∶N:將聯系臵入多端實體,并加入一端實體主鍵為外鍵。M∶N:建立新關系模式,主鍵為兩端實體的主鍵,并為外鍵。
二、計算題(20分)1.R∪S: A B C 3 6 7 2 5 7 7 3 4 4 4 3 4 5 7 2 3 R-S: A B C 3 6 7 2 5 7 7 3 4 4 4 3 R×S
A B C π3,2(S): C B 5 3 4 2 δB<5(R): A B C 7 3 4 4 4 3 2.(1)∏cno,cname(σTNAME=’ LIU’(C))(2)∏sno,sname(σage=23 ∧sex=’ 男’(S))(3)∏cname,tname(σsno=’s3’(S)∞SC∞C)(4)∏cno(C)-∏cno(σsname=’WANG’(SC∞S))(5)∏sno(σ1=4∧2<>5(SCXSC))
三、(45分)1.(1)SELECT CNO,CNAME FROM C WHERE TNAME=’ LIU’
(2)SELECT SNO,SNAME FROM S WHERE AGE>23 AND sex=’ 男’(3)SELECT C.CNO, TNAME FROM S,SC,C WHERE SNO=’S3’ AND C.CNO=SC.CNO=’c03’ AND S.SNO=SC.SNO(4)select cno from c where not exists(select cno from sc where c.cno=sc.cno and sname='WANG')(5)select sc1.sno from sc as sc1,sc as sc2 where sc1.sno=sc2.sno and sc1.cno<>sc2.cno 2.(1)select ,count(*)as num from sc group by cno(2)SELECT SNO,AGE FROM S,SC WHERE S.SNO=SC.SNO AND CNO=’C4’
(3)select cno, avg(score)from c,sc WHERE TNAME=’ LIU’ AND C.CNO=SC.CNO group by cno(4)select cno,count(*)from sc(5)select sname,age from s where SEX='男' and age>all(select age from s where sex='女')3.(1)INSERT INTO S(sno, sname, age)VALUE(‘S9’, ‘WU’, 18)
(2)select sno,sname,.seg into stu from s where score>=80 and s.sno=sc.sno(3)delete from sc where sc.sno=(select sno from s where sname=’wang’ and s.sno=sc.sno)
(4)update sc set score=score*(1+0.05)from s,sc where sex=’ 女’ and s.sno=sc.sno and score<(select avg(score)from sc)(5)update sc set score=score*(1+0.05)from where cno=’c4’
四、(10分)
設有關系模式R(ABCD),R上的FD集F={ AB→CD, A→D},試說明R不是2NF的理由,并把R分解成2NF模式集。(10分)
1、侯選鍵為AB
2、由AB→CD 可知AB→C,AB→D 又由于A→D
故D局部依賴于侯選鍵AB 所以R不是2NF
3、R1(AB,C)R2(A,D)
筆試樣卷二
參考答案
一、選擇題(10X2=20分)
1.數據完整性不包括
a)主體完整性 b)實體完整性 c)參照完整性 d)自定義完整性 2.
常用的三種結構數據模型不包括
a)關系模型 b)實體聯系模型 c)層次模型 d)網狀模型
3.關系的集合運算不包括
a)交 b)并 c)和 d)差 4.
關系的專門關系運算不包括
a)選擇 b)投影 c)連接 d)積 5.
事務的屬性包括
a)原子性、安全性、隔離性、持久性 b)原子性、一致性、安全性、持久性
c)原子性、一致性、隔離性、安全性 d)原子性、一致性、隔離性、持久性
6.SQL Server系統數據庫不包括
a)master b)tempdb c)student d)model 7.
SQL Server中,數據庫主數據文件擴展名為
a)ldf b)mdf c)ndf d)dbf 8.
SQL Server中,索引類型包括
a)聚集索引和非聚集索引 b)主索引和次索引 c)單索引和復合索引 d)內索引和外索引 9.
SQL的數據操縱命令是
a)select、insert、delete、update b)create、select、insert、delete c)create、insert、delete、update d)select、insert、delete、alter 10.SQL Server系統的觸發器包括
a)select、insert、delete b)insert、delete、update c)select、insert、update d)select、delete、update
二、填空題(10X2=20分)
1.數據管理經歷了、、三個階段。2.
DB的中文含義是、DBMS的中文含義是、DBS的中文含義是、DBA的中文含義是。3.
數據庫的三級體系結構為、、,兩級映象為、,兩級數據獨立性為、。4.
SQL主要由、、三類語句組成。5.
數據庫設計通常由規劃、需求分析、、、、數據庫實現、數據庫運行與維護7個階段構成。
三、應用題(3X5=15分)
設關系模式R,其中U={A,B,C,D},F={AB→C,C→A,C→D,D→B},試問:
1.關系R各屬性的閉包。2.
關系R的所有候選碼。
3.判斷關系R是否屬于3NF,并解釋你的結論。
四、綜合題(45分)
某學校要對學生成績進行計算機管理。該學校有若干學生,每個學生有學號、班級、姓名、性別、出生日期、地址。開設的課程需要管理課程編號、課程名稱、學分和學生選修該課程后的成績等信息。該學校規定:一個學生可以有選修多門課程,一門課程可以有多名學生選修。
1.畫出此管理系統的ER模型。
2.簡述ER模型向關系模式轉換的一般方法。3.
將以上ER模型轉化為關系模式,包括主鍵、外鍵。4.
試用SQL語句表示以下數據編輯:
①
將新生“張三”插入學生表(其它屬性自設)。②
刪除選課表中學號為“0001”的學生的選課信息。③
將所有選修了課程編號為“c001”的學生成績加5分。④
將所有選修了“數據庫”課程的學生成績提高5分。⑤
把低于總平均分的女同學的成績提高5%。5.
試用代數表達式表示以下查詢:
①
查詢全校所有學生的學生表的所有信息。
②
查詢全校所有地址為“西安”的學生的學號、姓名、性別。③
查詢所有選修了“數據庫”課程的學生的學號、姓名、成績。④
查詢選修了所有課程的學生的學號、姓名、性別。⑤
查詢選修了2門課程以上的學生的學號、姓名、性別。⑥
查詢學號為“0001”的學生沒有選修的課程編號、課程名稱。6.
試用SQL語句表示以下查詢:
①
查詢全校所有學生的學生表的所有信息。
②
查詢全校所有地址為“西安”的學生的學號、姓名、性別。③
查詢所有選修了“數據庫”課程的學生的學號、姓名、成績。④
查詢每個學生所選課程的數量、總分、最高、最低分 ⑤
查詢選修了所有課程的學生的學號、姓名、性別。⑥
查詢選修了2門課程以上的學生的學號、姓名、性別。
數據庫應用筆試樣卷二參考答案
一、選擇題(10X2=20分)
1.a)2.b)3.c)
4.d)5.d)6.c)7.b)8.a)9.a)10.b)
二、填空題(10X2=20分)
11.人工管理階段、文件系統階段、數據庫階段三個階段。12.數據庫、數據庫管理系統、數據庫系統、數據庫管理員。
13.數據庫的三級體系結構為外模式、概念模式、內模式,兩級映象為外模式/模式映象、模式/內模式映象,兩級數據獨立性為物理數據獨立性、邏輯數據獨立性。14.SQL主要由 數據定義、數據操縱、數據控制三類語句組成。
15.數據庫設計通常由規劃、需求分析、概念設計、邏輯設計、物理設計、數據庫實現、數據庫運行與維護7個階段構成。
三、應用題(3X5=15分)
16.A+=A,B+=B,C+=ABCD,D+=DB,(AB)+= ABCD 17.關系R的所有候選碼。AB及C 18.關系R不屬于3NF。
因為非候選碼傳遞依賴于侯選鍵AB
四、綜合題(45分)
某學校要對學生成績進行計算機管理。該學校有若干學生,每個學生有學號、班級、姓名、性別、出生日期、地址。開設的課程需要管理課程編號、課程名稱、學分和學生選修該課程后的成績等信息。該學校規定:一個學生可以有選修多門課程,一門課程可以有多名學生選修。
1.ER模型。
2.ER模型向關系模式轉換的一般方法。實體:
實體類型→關系模式。聯系:
1∶1:將聯系臵入任一端實體,并加入另一端實體主鍵為外鍵。1∶N:將聯系臵入多端實體,并加入一端實體主鍵為外鍵。M∶N:建立新關系模式,主鍵為兩端實體的主鍵,并為外鍵。3.關系模式
s(sno,class,sname,sex,birthday,addr)c(sno,cname,credit)sc(sno, cno,score)4.試用SQL語句表示以下數據編輯:
1.INSERT INTO S(sno, class, sname, sex)VALUE(‘0025’, ‘982’, ‘張三’, ‘男’)2.DELETE FROM SC WHERE SNO=‘0001’AND S.SNO=SCSNO 3.update sc set score=score+5 from where cno=’c001’ 4.update sc set score=score*(1+0.05)from c,sc where sname=’ 數據庫’ and c.cno=sc.cno 5.update sc set score=score*(1+0.05)from s,sc where sex=’ 女’ and s.sno=sc.sno and score<(select avg(score)from sc)
5.試用代數表達式表示以下查詢:
1.select * from s 2.select sno,sname,sex from s where address like '%西安% 3.select sc.sno,sname, score from s,c,sc where sc.sno=s.sno and sc.cno=c.cno and cname='數據庫' 4.select sno,sname,sex from s where not exists(select * from c where not exists(select * from sc where sc.sno=s.sno and sc.cno=c.cno))5.select sc1.sno from sc as sc1,sc as sc2 where sc1.sno=sc2.sno and sc1.cno<>sc2.cno 6.select cno,cname from c where not exists(select cno from sc,s where s.sno=sc.sno and c.cno=sc.cno and sno='0001')。
6.試用SQL語句表示以下查詢:
1.select * from s 2.select sno,sname,sex from s where address like '%西安% 3.select sc.sno,sname, score from s,c,sc where sc.sno=s.sno and sc.cno=c.cno and cname='數據庫' 4.select sno,count(*)as num,sum(score), max(score), min(score)from sc group by sno 5.select sno,sname,sex from s where not exists(select * from c where not exists(select * from sc where sc.sno=s.sno and sc.cno=c.cno))6.select sc1.sno from sc as sc1,sc as sc2 where sc1.sno=sc2.sno and sc1.cno<>sc2.cno
筆試樣卷三
參考答案
一、填空題(30分)
1.數據完整性包括、、。2.
SQL Server系統數據庫包括、、、。3.
SQL Server中,數據庫主數據文件擴展名為,次數據文件擴展名為,事務日志文件擴展名為。4.
SQL Server數據定義語句包括、、。
5.ER模型的中文名稱為。6.
經典的結構數據模型包括、、。
7.專門的關系運算包括、、、。8.
SQL Server數據操縱命令包括、、、。
9.使用存儲過程的目的是。10.
數據庫索引包括、。
11.數據庫系統3級結構包括、。
二、設有學生成績庫,包含三張表:
學生(學號,班級,姓名,性別,出生日期,地址,電話,信箱)課程(課程編號,課程名稱,學分)選課(學號,課程編號,成績)用SQL語句完成以下操作(50分)。
1、刪除所有成績為NULL的學生選課信息。
2、將所有不及格課程的成績加5分。
3、將所有“數據庫應用”課程的成績加5分。
4、查詢所有課程的所有信息。
5、查詢所有學生的姓名、性別。
6、查詢所有男生的姓名、年齡。
7、查詢所有學生的平均成績,并按平均成績排名次。
8、查詢所有選修了“數據庫應用”課程的學生的學號、姓名和該課成績。
9、查詢張三同學沒有選修的課程編號、課程名稱。
10、查詢所有學生都選修的課程編號、課程名稱。
三、關系模式R(ABCD),F={AB→C,C→A,C→D,D→B}(20分)
1、關系R的所有候選碼是什么?
2、R是否屬于3NF,解釋你的結論。
數據庫應用筆試樣卷三參考答案
一、填空題(30分)
1.數據完整性包括 實體完整性、參照完整性、用戶定義完整性。2.SQL Server系統數據庫包括 master、model、msdb、tempdb。
3.SQL Server中,數據庫主數據文件擴展名為mdf,次數據文件擴展名為 ndf,事務日志文件擴展名為ldf。
4.SQL Server數據定義語句包括 create、drop、alter。5.ER模型的中文名稱為實體聯系模型。
6.經典的結構數據模型包括 層次、網狀、結構。7.專門的關系運算包括 選擇、投影、連接、除。
8.SQL Server數據操縱命令包括 insert、delete、update、select。9.使用存儲過程的目的是 減輕網絡流量、提高效率。10.數據庫索引包括聚集、非聚集。
11.數據庫系統3級結構包括外部級、概念級和內部級。
二、設有學生成績庫,包含三張表:
學生(學號,班級,姓名,性別,出生日期,地址,電話,信箱)課程(課程編號,課程名稱,學分)選課(學號,課程編號,成績)用SQL語句完成以下操作(50分)。
1.delete from sc where score is null 2.update sc set score=score+5 from where score<60 3.update sc set score=score+5 from c,sc where sname=’ 數據庫’ and c.cno=sc.cno 4.select * from c 5.select sname.sex from s 6.select sname.year(getdate())-year(birthday)as age from s where sex=’ 男’ 7.select sno,avg(score)from sc group by sno order by 2 desc 8.select sc.sno,sname,cname,score from s,c,sc where sc.sno=s.sno and sc.cno=c.cno and cname='數據庫' 9.select cno,cname from c where not exists(select cno from sc,s where c.cno=sc.cno and c.sno=s.sno and sname='張三')10.select cno,cname from c where not exists(select * from s where not exists(select * from sc where sc.sno=s.sno and sc.cno=c.cno))
三、關系模式R(ABCD),F={AB→C,C→A,C→D,D→B}(20分)
1.關系R的所有候選碼。AB及C 2.關系R不屬于3NF。因為非候選碼傳遞依賴于侯選鍵AB
數據庫試題及答案 兩套 收藏 數據庫原理試題(A卷)
一、填空題(每空 1 分,共 20 分)
1.對于一個國家來說,數據庫的建設規模、數據庫信息量的 _____________ 和 _____________ 已成為這個國家信息化程度的 ________________。2.數據模型通常由: ________________、________________ 和 _____________ 三部分組成。
3.游標的功能是把 ________________ 轉換為 ________________。4.最常用的數據庫的恢復技術是_____________ 和 _____________。
5._____________ 模型是現實世界到 _____________ 機器模型的中間橋梁。6.數據獨立性是指_____________ 和_____________ 獨立性。
7.數據庫應用程序開發工具目前有 ________________、_________________、________________、和 ________________ 等。
8.目前數據庫產品有 SQL Server 和 ________________、________________ 等。
二、選擇題(每小題 1 分,共 10 分)
1.關于冗余數據的敘述中,不正確的是()。A .冗余的存在容易破壞數據庫的完整性 B .冗余的存在給數據庫的維護增加困難.C .不應該在數據庫中存儲任何冗余數據 D .冗余數據是指可由基本數據導出的數據 2.概念模型獨立于()。
A . ER 模型 B .硬件設備 C . DBMS D .操作系統 3.下列敘述正確的為()。
A.主碼是一個屬性,它能唯一表識一列 B.主碼是一個屬性,它能唯一表識一行
C.主碼是一個屬性或屬性集,它能唯一表識一列 D.主碼是一個屬性或屬性集,它能唯一表識一行
4.數據庫三級模式體系結構的劃分,有利于保持數據庫的()。
A .數據獨立性 B .數據安全性 C .結構規范化 D .操作可行性 5.一個關系中的候選關鍵字()。
A .至多一個 B .可多個 C .必須多個 D .至少 3 個 6.常用的關系運算是關系代數和()。
A .集合代數 B .邏輯演算 C .關系演算 D .集合演算 7.在基本層次聯系中,記錄型之間的聯系是()。
A .一對一聯系 B .一對多聯系 C .多對多聯系 D .多對一聯系 8.并發操作會帶來哪些數據不一致性()。
A .不可修改、不可重復讀、臟讀、死鎖 B .不可重復讀、臟讀、死鎖 C .丟失修改、臟讀、死鎖 D .丟失修改、不可重復讀、臟讀 9.在數據庫與宿主語言之間傳遞信息是通過()。
A.全局變量 B.共性變量 C.公共數據區 D.系統緩沖區 10.數據庫的()是指數據的正確性和相容性。A.安全性 B.完整性 C.并發控制 D.恢復
三、判斷題(每小題 1 分,共 10 分 , 對不正確的要寫出理由)1.子模式 DDL 是用來描述數據庫的物理存儲結構的。()2.同一個關系模型的任兩個元組值不能全同。()3.基本表是本身獨立存在的表,在 SQL 中一個關系就對應基本表。()4.數據流程圖(DFD)是用于描述結構化方法中詳細設計階段的工具。()5.若數據庫中只包含成功事務提交的結果則此數據庫成為處于安全狀態()6.事務的持續性是指事務中包括的所有操作,要么都做,要么都不做。()7.DB 用戶的權限可分為具有 DBA 特權的用戶和一般 DB 用戶()8.數據庫的網狀模型應滿足的條件是必須有兩個以上的結點。()
9.CREAT TABLE 命令可直接定義主碼、外碼、參照表,系統就能夠自動地執行實體完整性和參照完整性規則。()
10.分布式數據庫數據獨立性包括數據的邏輯獨立性、數據的物理獨立性和數據分布獨立性。()
四、(每小題 3 分,共 15 分)設有關系模式,其中
(1)計算。
(2)求 F 的最小等價依賴集。(3)求出 的關鍵字。
(4)將 R 分解使其滿足 BCNF 且無損連接。
(5)將 R 分解使其滿足 3NF 且無損連接與保持函數依賴。
五、綜合題(25 分)
1.將 R ∪ S、R-S 兩種關系代數基本運算表示為域關系演算表達式。(5 分)2.關系數據庫中有下列三個關系:
商店(商店代號,商店名,店員人數,所在城市)商品(商品編號,商品名,價格)商店--商品(商店代號,商品編號,商品數量)(1)用 ALPHA 語言完成下列操作:(4 分)檢索銷售全部商品的商店姓名。
(2)用關系代數完成下列操作:(4 分)檢索店員人數大于 23 商店代號和商店名。(3)試用 SQL 語句寫出下列查詢:
(a)找出店員人數不超過 100 人或者在長沙市的所有商店的代號和商店名。(4 分)(b)找出供應書包的商店名。(4 分)
(c)找出至少供應商品代號為 233 的商店所供應的全部商品的商店名。(4 分)
六、設計題(每小題 10 分,共 20 分)
某市人才交流中心擬建立人才信息交流網。現有資料:每個前來登記的個人需填寫的《人才入庫登記表》(見附表 1);每個前來登記的企業需填寫的《企業信息登記表》(見附表 2)。
試設計人才、崗位和企業的實體聯系圖,并將概念模型轉換為關系模式。附表 1 :人才入庫登記表 個人編號: 登記日期 姓名
性別
出生日期 身份證號 畢業院校
專業
學歷 聯系電話
電子郵件
附表 2 :企業信息登記表 企業編號: 登記日期 企業名稱
地址
企業網址 崗位需求 聯系人
聯系電話
電子郵件 企業簡介
數據庫原理試題答案(A卷)一.填空題(每空 1 分,共 20 分)
1.安全性,完整性,衡量標準
2.數據結構,數據操作,完整約束。3.集合記錄,單記錄
4.數據轉儲,登錄日志文件 5.概念,數據模型 6.物理,邏輯
7.C++, VB, Def, C# 8.Oracle, Access
二、單項選擇題(每小題 1 分,共 10 分)
C,C,D,A,B,C,B,D,A,B
三、判斷題(每小題 1 分,共 10 分)
F,T,T,F,T,F,T,T,T
四、(每小題 3 分,共 15 分)
? 令 x={AD}, x(0)=AD, x(1)=ACD, x(2)=ACD, 故(AD)+ =ACD ? 將 F 中依賴右部屬性單一化: F 1 : A C C A B A B C D A D C 在 F 1 中去掉多余的函數依賴: 因為 B A,A C 所以 B C 是多余的 又因為 D A,A C 所以 D C 是多余的 F 2 : A C C A B A D A 函數依賴集的最小集不是唯一的,本題答案不唯一。
因為 F 2 中所有依賴的左部都是單屬性,所以不存在依賴左部多余的屬性。所以 F : A C C A B A D A(3)因為 DB 在 F 中的又函數依賴的右部中均未出現,所以候選關鍵字一定包含 BD,而(BD)+ =ABCD 因此 BD 是 R 惟一的候選關鍵字。(4)考慮 A C,所以 AC 不是 BCNF(AC 不包含候選關鍵字 BD),將 ABCD 分解為 AC 和 ABD。AC 已是 BCNF,進一步分解 ABC 選擇 B A,把 ABD 分解為 AB 和 BD,此時 AB 和 AD 均為 BCNF,所以 ρ ={AC,BA,DA,BD}(5)Ri A B
C D AC BA DA a 1 a 1 a 1 a 2 a 3 a 3 a 3
a 4
五、,R US={t|P(t)US(t)`}
R-S={t|P(t)?S(t)`}(5 分),(1)SHOP(sno,sna,snu,city)
GOODS(gno,gna,price)
SHOP-GOODS(sno,gno,num)
Range GOODS rx
SHOP-GOODS ry
GET W(SHOP.SNA)rx ry(ry.gno=rx.gno shop.sno=ry.sno)
(2)∏ sno,sna(δ snu>23(SHOP))(3 分)
(3)(a)SELECT SNO,SNA
FROM SHOP
WHERE CITY=' 長沙 'OR SNO<=100(3 分)
分)((b)SELECT SHOP.sna
FROM SHOP,SHOP-GOODS,GOODS
WHERE SHOP.sno=SHOP-GOODS.sno AND GOODS.gna=' 書包 '
SHOP-GOODS.gno =GOODS.gno(4 分)
(c)SELECT sna
FROM SHOP sx
WHERE NOTEXIST
(SELECT *
FROM GOODS-SHOP sy
WHERE GOODS-SHOP.sno=' 223' AND NOTEXIST
(SELECT *
FROM SHOP-GOODS sz
WHERE sy.gno=sz.gno AND sx.sno=sz.sno))(5 分)
六、設計題
問題一: 設計人才、崗位和企業的實體聯系圖(5 分)
問題二: 轉換關系模式(5 分)
(b)個人編號,崗位,最低薪水,登記日期
(c)企業編號,崗位,專業學歷,薪水,備注,登記日期
(d)個人編號,姓名,性別,出生日期,身份證號,畢業院校,專業,學歷,證書,名稱,聯系電話,電子郵件,個人簡歷,特長
(e)證書名稱,證書編號
企業(企業編號,企業名稱,聯系人,聯系電話,地址,企業網址,電子郵件,企業簡介)
數據庫原理試題(B卷)
一、填空題(每空 2 分,共 20 分)
1、關系中主碼的取值必須唯一且非空,這是由 ___________ 完整性規則決定的。
2、當數據庫被破壞后,如果事先保存了數據庫副本和 ________________,就有可能恢復數據庫。
3、數據庫的 ____________ 是指數據庫的正確性和相容性。
4、關系數據操作語言的特點是:操作對象與結果均為 ___________、操作的非過程性強、語言一體化、并且建立在數學理論基礎之上。
5、SQL 是一種介于關系代數和 _____________ 之間的結構化的查詢語言。
6、對于每一個外模式,數據庫系統都有一個 _______________ 映象,它定義了該外模式與模式之間的對應關系。
7、視圖是一個需表,它一經定義就可以和基本表一樣被查詢,但 _________ 操作將有一定的限制。
8、數據倉庫是一個面向主題的、_____________、不可更新的、隨時間不斷變化的數據集合。
9、避免活鎖的簡單方法是采用 ________________ 的策略。
10、知識庫系統和主動數據庫系統是將數據庫技術和 ______________ 技術相結合產生的。
二、選擇題(每小題 1 分,共 10 分)
1、SQL 中,下列涉及空值的操作,不正確的是()
A . AGE IS NULL B . AGE IS NOT NULL C . AGE=NULL D . NOT(AGE IS NULL)
2、關系數據模型的三個組成部分中,不包括()
A .完整性規則 B .數據結構 C .數據操作 D .并發控制
3、DB, DBMS 和 DBS 三者間的關系是()
A . DB 包括 DBMS 和 DBS B . DBS 包括 DB 和 DBMS C . DBMS 包括 DBS 和 DB D . DBS 與 DB、DBMS 無關
4、數據庫的并發操作可能帶來的問題包括()
A .丟失更新 B .數據獨立性會提高 C .非法用戶的使用 D .增加數據的冗余度
5、并發事務的交叉執行破壞了事務的()
A .原子性 B .隔離性 C .一致性 D .永久性 6、3NF()規范化為 BCNF。
A .消除非主屬性對碼的部分函數依賴 B .消除非主屬性對碼的傳遞函數依賴 C .消除主屬性對碼的部分和傳遞函數依賴 D .消除非平凡且非函數依賴的多值依賴
7、()是長期存儲在計算機內的有組織,可共享的數據集合。
A .數據庫管理系統 B .數據庫系統 C .數據庫 D .文件組織
8、一個 1 : n 聯系可以轉換為一個獨立的關系模式,關系的碼為()
A .實體的碼 B.各實體碼的組合 C.n 端實體的碼 D.每個實體的碼
9、在數據庫設計中,將 ER 圖轉換成關系數據模型的過程屬于()
A.需求分析階段 B.邏輯設計階段 C.概念設計階段 D.物理設計階段
10、關系完備的系統是指()。
A.僅支持關系數據結構,不支持集合級的操作 B.僅支持關系數據結構和三種關系操作
C.支持關系數據結構和所有的關系代數操作 D.支持關系模型的所有特征
三、簡答題(每小題 5 分,共 20 分)、數據庫系統中的常見故障有那些?、簡述數據模型的三個組成部分。、所有的視圖是否都可以更新?為什么?、什么樣的并發調度是正確的調度?
四、(共 10 分)事務 T1 和 T2 同時對 A 的值操作。A 的初值是 50,事務 T1 對 A 的值減 10,事務 T2 對 A 的值加倍,1、若這兩個事務并發執行,舉例可能結果。
2、請給出一個可串行化調度,并給出執行結果。
五、(共 10 分)對學生-課程數據庫有如下的查詢:
SELECT Sname
FROM Student, Cource , SC
WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Course.Cno AND Course.Cname=' 數據庫 '
此查詢要求選修了數據庫的所有學生的姓名。
(1)試畫出用關系代數表示的語法樹;
(2)對原始的語法樹進行優化,畫出優化后的標準語法樹。
六、(共 20 分)設有學生-課程數據庫,其數據庫模式為 : 學生 S(學號 SNO,姓名 SN,所在系 SD,年齡 SA)、課程 C(課程號 CNO,課程姓名 CN,先修課號 PCNO)、學生選課 SC(學號 SNO,課程號 CNO,成績 G)。、試用關系代數,ALPHA 語言語言分別寫出下列查詢:
(1)查詢選修了 2 號課程的學生的學號;(4分)
(2)求選讀了‘數據庫概論'的學生學號和姓名;(4分)
(3)求選修了全部課程的學生學號、姓名。(4分)、試用 SQL 語言寫出下列查詢:
(1)查詢學生總人數;(2分)
(2)查詢選修了 5 門以上課程的學生學號;(3分)
(3)刪除‘數據結構'課程及所有對它的選課情況。(3分)
七、綜合題(共 10 分)
設有一局部應用,包括 3 個實體“科室”,“醫生”,“病人”,且有以下事實:每位醫生屬于且僅屬于一個科室;每個科室可以聘用若干醫生,對每個醫生聘用時存有聘用期限和聘用日期;一個病人可以由不同的醫生為其診斷,每個醫生可以為若干病人診治,每次診斷存有就診日期。設科室的屬性包括科室代碼,科室名稱;醫生的屬性包括工號,姓名和職稱;病人的屬性包括姓名、年齡、工作單位。
1、試設計 E - R 圖,注明屬性和聯系類型。
2、將 E - R 圖轉換為等價的關系模型(包括關系名,屬性名和碼)。
數據庫原理試題答案(B卷)
一、填空題(每題 2 分,共 20 分)
1、實體
2、日志文件
3、完整性
4、關系
5、關系演算
6、外模式 / 模式
7、更新
8、集成的
9、先來先服務
10、人工智能
二、選擇題(每題 1 分,共 10 分)、C 2、D 3、B 4、A 5、B 6、C 7、C 8、C 9、B 10、C
三、簡答題(每題 5 分,共 20 分)、答案要點:數據庫系統中的常見故障有:事務內部的故障(事務故障)(1 分)、系統故障(1 分)、介質故障(2 分)、計算機病毒(1 分)。、答案要點:數據模型通常由數據結構(1 分)、數據操作(2 分)、完整性約束(2 分)三部分組成。、答案要點:不是所有的視圖都是可更新的(2 分);因為有些視圖的更新不能唯一地有意義地轉換成對相應基本表地更新(3 分)。、答案要點:多個事務的并發執行是正確的,當且僅當其結果與按某一次序串行執行它們時的結果相同(5 分)。
四、(共 10 分)、80,90、T 1 T 2
Slock A
讀 A = 50
Y = A
Unlock A
Xlock A
A=Y-10 Slock A
寫回 A = 40
等待
Unlock A 等待
讀 A = 40
Y = A
Unlock A
Xlock A
A=Y × 2
寫回 A = 80
Unlock A
五、(共 10 分)
六、(共 20 分)、關系代數:
(1)sno(cno =‘ 2 '(SC))(2分)
(2)Sno,Sn(Cn=' 數據庫概論 ')(2分)
(3)Sno,SN(S(Cno,sno(SC)÷ Cno(C)))(2分)
ALPHA 語言
? GET W(SC.SNO): SC.CNO=' 2'(2分)
? RANGE C X
SC Y
GET W(S.SNO.S.SN): X(Y(X.CNO=Y.CNO ^ Y.SNO=S.SNO ^ X.CN=' 數據庫概論 '
? RANGE C X
SC Y
GET W(S.SNO,S.SN): X(Y(Y.CNO=X.CNO ^ Y.SNO=S.SNO))(2分)、(1)SELECT COUNT(*)FROM STUDENT(2分)
(2)SELECT SNO FROM SC
GROUP BY SNO HAVING COUNT(*)>5(3分)
(3)DELECT FROM SC
WHERE SC.CNO IN(SELECT C.CNO FROM C WHERE CN=' 數據結構 ')
DELETE FROM C WHERE CN= ‘數據結構'(3分)
七、(共 10 分)
(5分)
科室(科室代碼,科室名稱)(1分)
醫生(工號,姓名,名稱,聘用日期,聘用期限,科室)(1分)
病人(病歷號,姓名,年齡,工作單位)(1分)
2分)(就診(醫生工號,病歷號,就診日期)(2分)
發表于 @ 2008年12月29日 09:41:00 | 評論(4)| 編輯| 舉報| 收藏
舊一篇:考試臨近——在即 | 新一篇:學習IT的情感生活 查看最新精華文章 請訪問博客首頁相關文章
數據庫概論筆記(第一天)數據庫原理及應用《數據庫系統概論》(第三版)數據庫數據基礎--基本概念數據庫的基本結構三個層次數據庫原理與應用數據庫設計的理論與方法收藏數據庫的主要特點hlf881216 發表于2009年12月9日 17:05:52 IP:舉報回復刪除 很好!!!riiiqpl 發表于2009年12月21日 21:51:03 IP:舉報回復刪除 看不到圖片呀匿名用戶 發表于2009年12月25日 13:02:42 IP:舉報回復刪除 zs84102030 發表于2009年12月28日 15:04:19 IP:舉報回復刪除 發表評論 表 情: 評論內容: 用 戶 名: 登錄 注冊 匿名評論 匿名用戶驗 證 碼: 重新獲得驗證碼 Copyright ? pengluer Powered by CSDN Blog
第三篇:數據庫試題及答案
《數據庫技術與應用》樣題
一、選擇題(共 30 分,1--20 每小題 1 分,21—25 每小題 2 分。下列各題 A)、B)、C)、D)四個選項中,只有一個選項是正確的)1 在 SQL Server 中,關于視圖的正確敘述是
A)視圖與數據庫表相同,用來存儲數據B)視圖不能同數據庫表進行連接操作 C)在視圖上不能進行更新操作D)視圖是從一個或多個數據庫表導出的虛擬表 2 SQL 是那幾個英文單詞的縮寫
A)Standard Query LanguageB)Structured Query Language C)Select Query LanguageD)以上都不是 3 不屬于 SQL Server 系統全局變量的是()。
A、@@ErrorB、@@ConnectionC、@@Fetch_StatusD、@Records 4 下面描述錯誤的是()
A、每個數據文件中有且只有一個主數據文件 B、日志文件可以存在于任意文件組中 C、主數據文件默認為 primary 文件組 D、文件組是為了更好地實現數據庫文件組織 5 SQL Server 數據庫文件有三類,其中主數據文件的后綴為()A、.mdfB、.ldfC、.ndfD、.idf
6、下面標識符不合法的是()
A、[my delete]B、_mybaseC、$moneyD、trigger1 7 下面字符串能與通配符表達式[ABC]%a 進行匹配的是()A、BCDEFB、A_BCDC、ABC_aD、A%
8、下面對索引的相關描述正確的是()列值唯一的列適合間索引 A、經常被查詢的列不適合建索引B、列值惟一的列適合建索引
C、有很多重復值的列適合建索引D、是外鍵或主鍵的列不適合建索引
9、在“連接”組中有兩種連接認證方式,其中在()方式下,需要客戶端應用程序連接 時提供登錄時需要的用戶標識和密碼。
A、Windows 身份驗證B、SQL Server 身份驗證 C、以超級用戶身份登錄時D、其他方式登錄時
10、索引是在基本表的列上建立的一種數據庫對象,它同基本表分開存儲,使用它能夠加快 數據的()速度。
A、插入B、修改C、刪除D、查詢在where子句中出現頻率較高的列應盡量創建索引
11、以下哪種情況應盡量創建索引()
A、在 Where 子句中出現頻率較高的列B、具有很多 NULL 值的列 C、記錄較少的基本表D、需要更新頻繁的基本表
12、域完整性用于保證給定字段中數據的有效性,它要求表中指定列的數據具有正確的數據 類型、格式和有效的()。
A、數據值B、數據長度C、取值范圍D、以上都不是 13 以下不屬于表之間定義關系的是
A)一對一關系B)一對多關系C)多對多關系D)少對多關系 14 目前數據庫有三種基本的數據模型是 ________。
A、層次模型、網絡模型、關系模型B、對象模型、網絡模型、關系模型
網絡模型、對象模型、層次模型D、層次模型、關系模型、對象模型 從“產品”表里查詢出價格高于產品名稱為“海天醬油”的產品的記錄,此 SQL 語句為 A、SELECT * FROM 產品WHERE 價格>海天醬油 B、SELECT * FROM 產品WHERE 價格>
(SELECT * FROM 產品WHERE 產品名稱>’海天醬油’)C、SELECT * FROM 產品WHERE EXISTS 產品名稱=’海天醬油’ D、SELECT * FROM 產品WHERE 價格>
(SELECT * FROM 價格WHERE 產品名稱=’海天醬油’)16. 不允許記錄中出現重復索引值的索引是。A)主索引B)主索引、候選索引、普遍索引
C)主索引和候選索引D)主索引、候選索引和唯一索引 數據庫應用系統是由數據庫、數據庫管理系統(及其開發工具)、應用系統、)和用(戶構成。
A)DBMSB)DBC)DBSD)DBA數據庫管理員
18、下面列出的數據庫管理技術發展的三個階段中,沒有專門的軟件對數據進行管理的是()。
I.人工管理階段 II.文件系統階段 III.數據庫階段 A.I 和 IIB.只有 IIC.II 和 IIID.只有 I
19、要保證數據庫的數據的邏輯獨立性,需要修改的是()。A.模式與外模式B.模式與內模式
C.三級模式之間的兩層映射D.三層模式
20、當數據庫損壞時,數據庫管理員可通過何種方式恢復數據庫()A、事務日志文件B、主數據文件C、DELETE 語句D、聯機幫助文檔
21、在查詢分析器中運行下面的語句
CREATE TABLE numbers(N1 int,N2 numeric(5,0),N3 numeric(4,2))GO
INSERT INTO numbers VALUES(1.5,1.5,1.5)SELECT * FROM numbers
后會得到什么樣的結果()
A、返回 2,2 和 1.50 的結果集合 B、返回 1.5,1.5 和 1.5 的結果集合
C、CREATE TABLE 命令不會執行,因為你無法為列 N2 設置精度為 0 D、返回 1,2 和 1.50 的結果
22、分析下面的表定義 Create Table autos
(makevarchar(20)not null,modevarchar(20)not null,acquisition_cost money null, acquisition_datedatetime null)
執行以上語句后,再執行下面的語句會發生()Truncate table autos Begin transaction
Insert into autos(make,model)values(‘Tucker’,’Torpedo’)If exists(select * from autos)Rollback tran Else
Commit tran End
A、該批處理將失敗,因為 begin tran?commit tran 不正確 B、該批處理結束后,表內空無一行 C、該批處理結束后,表內有一行 D、所有適當的錯誤處理會被執行
23、有下面的存儲過程
Create procedure Myp1 @P int AS
Select name,age from student where age=@P
假如你要在 student 表中查找年齡是 20 歲的學生,)(可以正確地調用這個存儲過程。A、EXEC Myp1 @P=’20’B、EXEC Myp1 @P=20’ C、EXEC Myp1 P=’20’D、EXEC Myp1 P=20’
24、SQL Server 系統中的所有系統級信息存儲于哪個數據庫()。A、masterB、modelC、tempdbD、msdb
25、找出考試成績前 5 名的學生
A、select top 5 姓名,分數 from student
B、select top 5 姓名,分數 from student order by 分數 desc C、select top 5 姓名,分數 from student order by 分數 asc
D、select top 5 percent 姓名,分數 from student order by 分數 desc
二、填空題(共 30 分,第 1~15 小題每空 1 分,16~20 小題每空 2 分)
1、T-SQL 中的查詢、更新、刪除命令分別用 SELECT、()、DELETE 表示。
2、SQL 中的授權命令是(),權限回收命令是 REVOKE。
3、數據庫的三類完整性約束分別為()(、)、用戶自定義完整性。
4、數據庫系統的核心是()。、在 E-R 圖 中,圖 形 包 括 矩 形 框、菱 形 框、橢 圓 框,其 中 表 示 實 體 聯 系 的 是()。
6、()是由一個或多個基本表導出的虛擬表,是關系數據庫系統提 供給用戶以多種角度觀察數據庫中數據的重要機制。
7、關系模型中的元組、屬性和關系數據庫表中的()、字段對應。
8、將已有數據庫加到 SQL Server 系統環境中,可以右單擊“數據庫”項,選擇其快捷菜單 中的(),完成操作后,就可使用這個數據庫了。
9、多表連接時,為了避免產生笛卡爾積,并且得到所需要的檢索結果,要使用 WHERE 子句 給出連接條件。一般來說,對 N 個表(或視圖)的檢索要有()個連接條件。
10、若有命令 SELECT S.姓名,C.班組 FROM STUDENT S,CLASS C?? 則其中的 S 和 C 稱 為表的()。
11、SQL Server 中,存儲過程有三種,它們分別是()、用戶自定義的存 儲過程和擴展存儲過程。
12、表中某列為變長字符數據類型 varchar(100),其中 100 表示字符或字節數。假如輸入 字符串為 gtym13e5,存儲的長度為()字節。
13、Server 查詢分析器中使用的注釋方式有兩種,SQL它們是()。
14、觸發器是一種特殊類型的存儲過程,其特別性在于它不需要用戶的顯式調用,而是在()自動執行。
15、如果事務遇到錯誤,則所有的數據更改被取消,系統()。
16、begin ? end 用來定義一個語句塊,begin 和 end 之間的語句作為一個單獨的執行單 元來執行。如果 if ?else 或 while 語句中不使用 begin ? end 語句塊,則只執。行
17、在人事表中若有條件 SELECT??FROM??WHERE 姓名 LIKE ‘_寶%’,將檢索。到
以下填空均使用給出的“學生選課”數據庫
學生 S(學號 sno,姓名 sname,性別 sex,年齡 age,民族 nation,籍貫 place,所屬班級 clname)課程 C(課程編號 cno,課程名稱 cname,學期 term,學時 period,學分 credit)選課 SC(學號 sno,課程編號 cno,成績 grade)
學生表 S sno 20080101 20080102 20080205 20080211 20081008 20081010 sname 李楓 張強 王依萍 胡東 李小玲 李萍 sex 女 男 女 男 女 男
age 22 29 18 24 20 30
nation 漢 漢 滿 漢 漢 回
cname 軟件工程 軟件工程 網絡工程 網絡工程 英語 英語
place 陜西渭南 陜西榆林 廣西玉林 新疆喀什 浙江溫州 寧夏吳忠
選課表 SC Sno 20080101 20080101 20080101 20080101 20080102 20080102 20080102 20080102 20080205 20081008 20081008 20081010 Cno C01 C03 C04 C05 C01 C03 C04 C05 C01 C01 C02 C01 90 85 88 92 80 85 grade 90 90 85 95
課程表 C Cno C01 C02 C03 C04 C05 C08 C10 cname 英語 英語寫作 高等數學 數據結構 離散數學 普通物理 計算機網絡
term 1 2 1 4 3 2 5
Period 108 36 108 54 72 54 54
credit 6 2 6 3 3 3 3
18、創建課程表 C 與選課表 SC 的一多關系。Create table SC
(Snochar(10),Cno char(4),grade real, Constraint PK_S Primary Key(Sno)Foreign Key(Cno)reference)
19、以下程序用于查找 S 表是否存在姓名為馬東的記錄,并顯示相關的信息,完成該程序。char(8)Declare Set @name=’馬東’
(select * from S where sname=@name))If(Print ‘姓名為’+@name+’的同學存在’ Else
Print ‘姓名為’+@name+’的同學不存在’ 20、以下創建一個 st_g 的存儲過程 st_gcreate As Begin
Select x.sno,x.sname,y.grade from S x,SC y where x.sno=y.sno End
。該程序完成的功能是
三、用 T-SQL 命令完成下列各題,所使用的數據庫 DBWSBM 關系如下圖。(共 40 分,每小題 4 分)
1、顯示 DBWSBM 數據庫中的 tblkasheng 表、tblxb 表、tblkhmk 表、tblbmdw 表的全部 信息(如圖)。
2、顯示 tblkaosheng 表中全部員工的姓名(xm)和考試成績(kscj)的 80%用作平時成 績,去掉姓名和考試成績相同的記錄,列標題用漢字姓名和平時成績顯示。
3、對 tblkaosheng 表,列出太原理工大學成教院和山西大學成教院的學生名單。
4、對于 tblbmdwdm 和 tblkaosheng,列出太原理工大學所有考生的信息,并將結果存 入 N1 表中。
5、對 tblkaosheng 表,列出按報名單位代碼(bmdwdm)統計的考試成績平均分數,列 出及格的部門編號及平均分。
6、創建一個視圖 V1,要求該視圖準確包含所有考生的準考證號、姓名、性別、考核模 塊和考試成績。
7、分)為 tblkaosheng 表定義一個全局滾動動態游標 cur_tblkaosheng,用于訪問(6 準考證號、姓名、考試時間和考試成績。并打開聲明的游標,讀取游標的數據。
8、創建一個存儲過程 P1,要求執行改存儲過程能夠返回考生數據表(tblkaosheng)中
bmdwdm(報名單位代碼)為 2490 的考生的 zkzh(準考證號)(xm)姓名、性別和 kscj(考、試成績)結果集,并且該結果集要按照 bmdwdm 和準考證號升序排列
9、為表 tblzy(職業表)創建一個名為 T1 觸發器,當執行添加、更新或刪除時,激活該 觸發器。
10、分)對 tblkasheng 表,給所有不及格的考生的考試成績加 5 分。(2 《數據庫技術與應用》樣題參考答案
一、選擇題(共 30 分,1--20 每小題 1 分,21—25 每小題 2 分。下列各題 A)、B)、C)、D)四個選項中,只有一個選項是正確的)
1、D2、B3、D4、A5、A6、A7、C8、B
9、B10、D11、A
12、C
13、D14、A
15、D16、D
17、D
18、D19、A 20、A
21、D22、C23、B
24、A
25、B
二、填空題(共 30 分,第 1~15 小題每空 1 分,16~20 小題每空 2 分)
1、update
2、grant
3、實體完整性參照完整性
4、數據庫管理系統 或 DBMS
5、菱形
6、視圖
7、記錄
8、附加
9、N-1
10、別名
11、系統存儲過程 12、8
13、--單行注釋,/**/多行注釋
14、事件觸發時
15、回滾到事務起始點
16、緊跟其后的一條語句
17、寶前一個任意漢字,寶后多個任意漢字
18、C(Cno)
19、@nameexists
20、Procedure查詢學生選課數據庫中所有學生的選課成績
三、用 T-SQL 命令完成下列各題,所使用的數據庫關系如下圖。(共 40 分,每小題 4 分)
1、select * from tblkaosheng select * from tblxb select * from tblkhmk select * from tblbmdw
2、select DISTINCT xm as 姓名,kscj*0.8 as平時成績 from tblkaosheng
3、解一:selectbmdwmc,xm from tblkaoshengx,tblbmdw y where x.bmdwdm=y.bmdwdm and bmdwmc='太原理工大學成教院' or bmdwmc='山西大 學成教院'
解二:SELECTtblbmdw.bmdwmc, tblkaosheng.xm
FROM tblkaosheng INNER JOIN tblbmdw ON tblkaosheng.bmdwdm = tblbmdw.bmdwdm WHERE(tblbmdw.bmdwmc = '太原理工大學顧教院')OR(tblbmdw.bmdwmc = '山西大學成教院')
4、select * from tblkaoshengx,tblbmdw y where x.bmdwdm=y.bmdwdm and bmdwmc like '太原理工大學%'
5、select bmdwdm,AVG(kscj)from tblkaosheng group by bmdwdm having AVG(kscj)>=60
6、解一:create view V1 as select xm AS 姓名, xbmc AS 性別,khmkmcAS 考核模 塊,kscjAS 考試成績 from tblkaosheng x, tblxb y, tblkhmk z Where x.xbdm=y.xbdm and x.khmkdm=z.khmkdm 解二:create view V1` as SELECTtblkaosheng.xm AS 姓名, tblxb.xbmc AS 性 別, tblkhmk.khmkmc AS 考核模塊, tblkaosheng.kscj AS 考試成績 FROMtblkaosheng INNER JOIN tblxb ON tblkaosheng.xbdm = tblxb.xbdm INNER JOIN tblkhmk ON tblkaosheng.khmkdm = tblkhmk.khmkdm
7、use DBWSBM DECLARE cur_tblkaosheng CURSOR GLOBAL SCROLL DYNAMIC FOR SELECT zkzh,xm,kssj,kscj FROM tblkaosheng OPEN cur_tblkaosheng FETCH NEXT FROM cur_tblkaosheng WHILE @@fetch_status = 0 BEGIN FETCH NEXT FROM cur_tblkaosheng END CLOSE cur_tblkaosheng DEALLOCATE cur_tblkaosheng
8、create proc P1 as SELECTtblkaosheng.zkzh, tblkaosheng.xm, tblxb.xbmc, tblkaosheng.kscj FROM tblkaosheng INNER JOIN tblxb ON tblkaosheng.xbdm = tblxb.xbdm WHERE(tblkaosheng.bmdwdm = 2490)
/*取第一個數據行*/
/* 檢查@@fetch_status是否還有數據可取*/
ORDER BY tblkaosheng.bmdwdm
9、CREATE TRIGGER T1 ON tblzy FOR INSERT,UPDATE,DELETE AS SELECT * FROM inserted SELECT * FROM deleted
10、update tblkaosheng set kscj=kscj+5 where kscj<60
第四篇:數據庫試題及答案
簡答題部分: 2011.12.15
1.設有關系模式:學生修課管理(學號,姓名,所在系,性別,課程號,學分,成績),設一名學生可以選修多門課程,一門課程可以被多名學生選修,一名學生有唯一的所在系,每門課程有唯一的課程名和學分。請指出此關系模式的候選鍵。判斷此關系模式是第幾范式的,若不是第三范式,請將其規范化為第三范式關系模式,并指出分解后的每個關系模式的主鍵和外鍵
答:候選鍵為:(學號,課程號),它也是此關系模式的主鍵,由于存在函數依賴:
學號→姓名,課程號→課程名
因此,存在非主屬性的部分函數依賴關系,因此它不是第二范式的表
學生表(學號,姓名,所在系,性別),主鍵為學號,已屬于第三范式
課程表(課程表,課程名,學分),主鍵為課程號,已屬于第三范式
選課表(學號,課程號,成績),主鍵為(學號,課程號),已屬于第三范式
2.設有關系模式:學生表(學號,姓名,所在系,班號,班主任,系主任)其語義為:一名學生只在一個系的一個班學習,一個系只有一名系主任,一個班只有一名班主任,一個系可以有多個班,請指出關系模式的候選鍵,判斷此關系模式是第幾范式的,若不是第三范式的請將其規范為第三范式關系模式,并指出分解后的每個關系模式的主鍵和外鍵
答:候選鍵:學號,它是此關系模式的主鍵
由于存在非主鍵屬性對主鍵屬性的部分函數依賴,因此,此關系模式屬于第二范式的,但由于存在如下函數依賴: 學號 → 班號,班號 → 班主任,因此,存在非主鍵屬性對碼的傳遞依賴關系,同樣以及
學號 → 所在系,所在系 → 系主任,因此此關系不是第三范式的,對其分解后的結果為:學生信息表(學號,姓名,所在系,班號),主鍵為“學號”,“班號”為引用班級表的“班號”的外鍵,“所在系”為引用系表“系名”的外鍵 班級表(班號,班主任),主鍵為“班號” 系表(系名,系主任),主鍵為“系名”
3.設有關系模式:授課表(課程號,課程名,學分,授課教師號,教師名,授課時數),其語義為:一門課程(由課程號決定)有確定的課程名和學分,每名教室(由教師號決定)有確定的教師名,每門課程可以由多名教室講授,每名教師也可以講授多門課程,每名教師對每門課程有確定的授課時數.指出此關系模式的候選鍵;判斷此關系模式屬于第幾范式;若不屬于第三范式,請將其規范化為第三范式關系模式,并指出分解后的每個關系模式的主鍵和外鍵
答:此關系模式的候選鍵為(課程號,授課教師號),它們也是主鍵,由于存在函數以來,課程號—>課程名,授課教師號—>教師名,因此,存在非主屬性對主鍵的部分函數依賴關系,因此它不是第二范式的表,分解如下:
課程表(課程號,課程名,學分),主鍵為“課程號”,已屬于第三范式;
教師表(教師號,教師名),主鍵為“教師號”,已屬于第三范式
2011.12.20
1.試述關系數據庫的特點 關系數據模型具有下列優點:
(l)關系模型與非關系模型不同,它是建立在嚴格的數學概念的基礎上的。
(2)關系模型的概念單一,無論實體還是實體之間的聯系都用關系表示,操作的對象和操作的結果都是關系,所以其數據結構簡單、清晰,用戶易懂易用。
(3)關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡
2.試述數據庫系統的組成 一般由數據庫、數據庫管理系統(及開發工具)、應用系統、數據庫管理員構成。
3.數據庫管理系統的主要功能有哪些? 數據定義功能
數據組織、存儲和管理
數據操縱功能
數據庫的事物管理和運行功能
數據庫的建立和維護功能
4.試訴關系模型的三個組成部分 關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。
5.數據字典的內容和作用 答:數據字典是系統中各類數據描述的集合。數據字典的內容通常包括:(l)數據項;
(2)數據結構;(3)數據流;(4)數據存儲;(5)處理過程五個部分。其中數據項是數據的最小組成單位,若干個數據項可以組成一個數據結構。數據字典通過對數據項和數據結構的定義來描述數據流和數據存儲的邏輯內容。
數據字典的作用:數據字典是關于數據庫中數據的描述,在需求分析階段建立,是下一步進行概念設計的基礎,并在數據庫設計過程中不斷修改、充實、完蓋。
6.試述SQL語言的特點 答:
(l)綜合統一。sQL 語言集數據定義語言 DDL、數據操縱語言 DML、數據控制語言 DCL 的功能于一體。
(2)高度非過程化。用 sQL 語言進行數據操作,只要提出“做什么”,而無需指明“怎么
做”,因此無需了解存取路徑,存取路徑的選擇以及 sQL 語句的操作過程由系統自動完 成。
(3)面向集合的操作方式。sQL 語言采用集合操作方式,不僅操作對象、查找結果可以是元
組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。
(4)以同一種語法結構提供兩種使用方式。sQL 語言既是自含
處理要求:指用戶需要完成什么處理功能,對處理式語言,又是嵌入式語言。作 的響應時間有什么要求。為自含式語言,它能夠獨立地用于聯機交互的使用方式;作為嵌
安全性與完整性要求
入式語言,它能夠嵌入到
10.什么是數據庫的邏輯設計?試述其設計步驟。
高級語言程序中,供程序員設計程序時使用。
數據庫的邏輯設計就是把概念結構設計階段設計好(5)語言簡捷,易學易用。的E-R圖轉換為與選用DBMS產品所支持的數據模型相符合7.試述關系模型的完整性規則,在參照完整性中,為什么外部的邏輯結構的過程 碼屬性的值也可以為空?什么情況下才能為空?
設計步驟:
(1)將概念結構轉化為一般的關系、網狀、層次模型
(2)將轉換來的關系、網狀、層次模型向特
定的DBMS支持下的數據模型轉換
(3)對數據模型進行優化
名詞解釋部分
數據:是數據庫中存儲的基本對象,是描述事物的符號記錄 數據庫:是長期存儲在計算機內、有組織的、可共享的大量數據的集合
數據庫系統:是指在計算機系統中引入數據庫后的系統,一般由數據庫、數據庫管理系統(及開發工具)、應用系統、數據庫管
理員構成。
http://wenku.baidu.com/view/b13542573c1ec5da50e27045.html 數據庫管理系統:是位于用戶與操作系統之間的一層數據管理軟8.試述視圖的優點
件,用于科學地組織和存儲數據、高效地獲得和維護數據。視圖能夠簡化用戶的操作
實體:客觀存在并且可互相區別的事物。實體可以是具體的人、視圖使用戶能以多種角度看待同一數據 事、物,也可以是抽象的概念或聯系 視圖對重構數據庫提供了一定程度的邏輯獨立性 屬性:實體某一特性 視圖能對機密數據提供安全保護
碼:唯一標識實體的屬性集
9.需求分析階段的設計目標是什么?調查內容是什么? 模式:也稱邏輯模式,是數據庫中全體數據的邏輯結構和特征描
設計目標:通過詳細調查現實世界要處理的對象,充分了述,是所有用戶公共數據的視圖。
解原系統的工作概況,明確用戶的各種需求,然后在此基礎上確外模式:也稱子模式或用戶模式,是數據庫用戶能夠看見和使用定新系統的功能。的局部數據的邏輯結構和特征的描述,是數據庫用戶的視圖。
內容:信息要求。指用戶需要從數據庫中獲得信息的內容內模式:也稱存儲模式,是數據物理結構和存儲方式的描述,是與性質。
數據在數據庫內部的表示方式。
DBA:數據庫管理員,是負責全面管理和控制數據庫系統的一個(組)人員
關系模式:關系的描述 DDL:數據定義語言 DML:數據操縱語言
視圖:是從一個或幾個基本表(或視圖)導出來的表。它與基本表不同,是一個虛表。
數據庫的完整性:是指數據的正確性和相容性,是為了防止數據庫中存在不符合語義的數據。
數據庫的安全性:是指保護數據庫以防止不合法的使用,避免數據的泄密、非法更改和破壞。
事務:是用戶定義的一個數據庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位。
日志文件:是用來記錄事務對數據庫的更新操作的文件。SQL操作
4.針對上題中建立的 4 個表試用 sQL 語言完成第二章習題 5 中的查詢。
(l)求供應工程 Jl 零件的供應商號碼 SNO;
SELECT DISTINCT SNO FROM SPJ WHERE JNO=’J1’
(2)求供應工程 Jl 零件 Pl 的供應商號碼 SNO;
SELECT DISTINCT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'
(3)求供應工程 Jl 零件為紅色的供應商號碼 SNO;SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO
COLOR='紅'
(4)求沒有使用天津供應商生產的紅色零件的工程號 JNO;
SELECT DISTINCT JNO FROM SPJ WHERE JNO NOT IN(SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='紅' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
(5)求至少用了供應商 Sl 所供應的全部零件的工程號 JNO;
由于VFP不允許子查詢嵌套太深,將查詢分為兩步 A、查詢S1供應商供應的零件號
SELECT DISTINCT PNO FROM SPJ WHERE SNO='S1'結果是(P1,B、查詢哪一個工程既使用P1零件又使用P2零件。
SELECT JNO FROM SPJ WHERE PNO='P1' 5.針對習題3中的四個表試用SQL語言完成以下各項操作:(1)找出所有供應商的姓名和所在城市。
SELECT SNAME,CITY FROM S(2)找出所有零件的名稱、顏色、重量。
SELECT PNAME,COLOR ,WEIGHT FROM P
B、DELETE FROM SPJ WHERE SNO=‘S2’(11)請將(S2,J6,P4,200)插入供應情況關系。200)僅供參考
INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,AND JNO IN(SELECT JNO FROM SPJ WHERE PNO='P2')
(3)找出使用供應商S1所供應零件的工程號碼。
SELECT DISTINCT JNO FROM SPJ WHERE SNO='S1'(4)找出工程項目J2使用的各種零件的名稱及其數量。
SELECT PNAME,QTY FROM SPJ,P
WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'(5)找出上海廠商供應的所有零件號碼。
SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6)出使用上海產的零件的工程名稱。
SELECT JNAME FROM SPJ,S,J WHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO(7)找出沒有使用天津產的零件的工程號碼。
SELECT DISTINCT JNO FROM SPJ WHERE JNO NOT IN(SELECT DISTINCT JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津')(8)把全部紅色零件的顏色改成藍色。
UPDATE
P SET COLOR='藍' WHERE COLOR='紅'(9)由S5供給J4的零件P6改為由S3供應。
UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)從供應商關系中刪除供應商號是S2的記錄,并從供應情況關系中刪除相應的記錄。
A、DELETE FROM S WHERE SNO=’S2’
第五篇:數據庫期末考試_試題及答案
數據庫試題 4
一、填空題(共9題,每空1分,共15分)1.將數據庫從SQL Server實例中刪除,即在邏輯上將數據文件和日志文件與服務器相脫離,但文件并不從磁盤上刪除,此操作稱為_數據庫分離,可通過(數據庫附加)將其重新加載到SQL Server實例中。
2.SQL Server中用于服務器的所有初始化信息和系統級信息的的系統數據庫是master。3.打開數據庫student,使之成為當前數據庫,可以使用語句_ use student _。
4.使用T-SQL語句創建存儲過程時,若要求對存儲過程的定義文本進行加密,應使用with encryption子句。
5.若要刪除sutdent表的全部數據,數據刪除后不可撤銷,應使用語句truncate table student,,若想刪除student數據表,應使用語句drop table student。
6.若要對數據庫中的對象進行改名,就使用的系統存儲過程是sp_rename。
7.Sql Server的數據庫文件分為數據文件和日志文件,其中數據文件又分為主要數據文件、次要數據文件
8.在Sql Server中,按觸發的時機,觸發器可分為后觸發器和替代觸發器。9.在Sql Server的事務處理中,開啟一個事務可用Begin Transaction,提交事 和撤銷事務應使用Commit transaction,和rollback transaction。
二、簡答題(共3題,每題7分,共21分)
1.在數據庫端編程,主要有自定義函數、存儲過程和觸發器三種形式,請比較一下這三種方式的異同。
答:相同點:存儲過程、觸發器和自定義函數都能完成特定的功能,并且都存儲在服務器端的數據字典中。區別:存儲過程和自定義函數都可以定義參數,觸發器不可以;從調用方式上,存儲過程和自定義函數都需要由應用程序或其他功能體進行調用,而觸發器是當相應事件發生時自動執行,不須干預;自定義函數需要定義返回類型,函數體中至少要有一條用于返回返回值的語句,而存儲過程和觸發器不需要。
2.SqlServer有哪些系統數據庫,各自的作用是什么?
答:主要的系統數據庫有master、model、tempdb和msdb。其中Master數據庫保存了Sql Server2005的初始化信息和所有系統級信息。Master數據庫是Sql Server 2005中最重要的系統數據庫,對其更新和刪除操作而導致Master數據庫的不可用都將使得整個Sql Server2005系統無法啟動和運行。Model數據庫是用于保存所有用戶數據庫和Tempdb數據庫的模版。每當用戶創建數據庫的時候,Sql Server 2005將用Model數據庫提供的信息初始化被創建的數據庫。Msdb數據庫是Sql Server2005代理服務工作時使用的數據庫,用于為Sql Server代理服務在警報和作業等操作時提供存儲空間。Tempdb數據庫是一個臨時的系統數據庫,用于為所有臨時表、臨時存儲過程以及其他的臨時操作提供存儲空間。
3.數據庫中的常用完整性有幾種?在Sql Server主要通過什么方式實現?
答:視圖是一個虛擬表,并不存儲任何物理數據。視圖與真正的表很類似,也是由一組命名的列和數據行組成,其內容由查詢所定義。但是視圖并不是以一組數據形式存儲在數據庫中,數據庫中只存儲視圖的定義,而不存在視圖中的數據,視圖中的數據仍存儲在基本表中。當基本表中的數據發生變化時,從視圖中查詢出來的數據也隨之改變。視圖和表相比有獨特的優勢主要有以下幾個方面:(1)保證數據的安全。(2)簡化查詢操作。(3)保證數據的邏輯獨立性。
三、應用題(共6題,本題共54分。)
1.創建名為“Love”的數據庫,其中主數據文件為Lovedat.mdf,初始大小為8M,增長大小為1M,日志文件為Lovedat.ldf,初始大小是5M,最大存儲空間是30M,增長是5M。請寫出相應的SQL語句。(本題8分)Create database love on
log on(name=lovedat_log,filename='d:databaselovedat.ldf',size=5,Maxsize=30,filegrowth=5)
2.使用sql語句創建表authors,結構如下表所示(本題8分)列名 數據類型
N 大小
是否為空
姓名
默認值 說明
authorID int 4
編號(主鍵),自動增長
電話 地址(name=lovedat,filename='d:databaselovedat.mdf',size=8,Maxsize=unlimited,filegrowth=1)
authorName nvarchar 50 N Phone nvarchar 13 Y address nvarchar 255 Y
create table authors(authorid int identity(1,1)primary key not null, authorname nvarchar(50)not null,phone nvarchar(13)null, address nvarchar(255))
3.使用SQL語句對2中創建的authors表進行如下修改:(每小題5分,共15分)(1)添加Sex 列 char(2),city列 varchar(20)。
alter table authors add sex char(2)null,city nvarchar(20)null;(2)刪除city列。
alter table authors drop column city(3)修改作者信息表authors中的address列將該列的屬性的長度更改為500。alter table authors alter column address nvarchar(500)not null 4.系部表的創建語句如下,請完成以下操作(每小題5分,共15分)CREATE TABLE 系部
(系部代碼 char(2)CONSTRAINT pk_xbdm PRIMARY KEY, 系部名稱 varchar(30)NOT NULL,系主任 char(8))(1)將系部表中計算機系的系主任改為‘張中裕’
Update 系部 set 系主任=’ 張中裕’
where 系部名稱=’計算機系’
(2)將系部表中的系部名稱列中的‘系’全部更改為‘科學系’(使用replace函數,用法:replace(串1,串2,串3),其功能是將串1中的串2 替換為串3)Update 系部 set 系部名稱=replace(系部名稱,’系’,’科學系’)(3)在系部表中刪除系主任姓‘張’的系部數據
Delete from 系部 where 系主任 like ‘張%’
5.有二個數據表XS(xh, xm)和XS_KC(xh, kch, cj),用兩種方法,寫出如下查詢:“查找數據庫中所有學生的學號(xh)、姓名(xm)以及其所選修的課程號(kch)和成績(cj)”。(本題8分)
.(1)select xs.xh,xm,kch,cj from xs, xs_kc where xs.xh=xs_kc.xh;(2)select xs.xh,xm,kch,cj from xs join xs_kc on xs.xh=xs_kc.xh;
四、編程題(共2題,每題5分,共10分)
1.在數據表上機記錄中創建一個名為insert_sjkh的insert觸發器其作用是:當用戶在“上機記錄”表中插入記錄時,若“上機卡”表中沒有該上機號,則提示用戶不能插入,否則,提示記錄插入成功。(附:上機記錄表結構:(上機號 char(13),上機日期 datetime,開始時間 datetime,結束時間 datetime,上機狀態 bit)。上機卡表結構:(上機號 char(13),姓名??)
Create trigger insert_sjkh on dbo.上機記錄 for insert As begin Declare @asjkh char(13)Declare @acount int Select @asjkh=上機號from inserted Select @acount=count(*)from 上機卡where 上機號=@asjkh If @acount=0
Print '上機卡中無此卡號,不能插入' Else
Print '數據插入成功'
end
2.在student數據庫中的學生、課程注冊、課程表中創建一個帶參的存儲過程cjcx。其功能是:當任意輸入一個學生的姓名時,返回該學生的學號、選修的課程名和課程成績。然后使用存儲過程,查詢學生“陳斌”的學號、選修的課程名和課程成績。Create PROCEDURE [dbo].[cjcx]
AS BEGIN SELECT 學生.學號,課程.課程名,課程注冊.成績 from
學生,課程,課程注冊
where 學生.學號=課程注冊.學號 and 課程注冊.課程號=課程.課程號 and 姓名=@axm END 執行存儲過程cjcx,查詢“周紅瑜”的學號、選修的課程名和課程成績。Exec cjcx @axm=’張斌’ @axm char(8)