




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章 思考與練習(xí)題一、選擇題1 三級模式間存在兩種映射,它們是(C)。A模式與子模式間,模式與內(nèi)模式間B子模式與內(nèi)模式間,外模式與內(nèi)模式間C.外模式與模式間,模式與內(nèi)模式間D模式與內(nèi)模式間,模式與模式間2SQL Server系統(tǒng)中的所有系統(tǒng)級信息存儲于哪個數(shù)據(jù)庫(A)。Amaster Bmodel Ctempdb Dmsdb3 下面關(guān)于tempdb數(shù)據(jù)庫描述不正確的是(D)。A是一個臨時數(shù)據(jù)庫B屬于全局資源C.沒有權(quán)限限制D是用戶建立新數(shù)據(jù)庫的模板4 在數(shù)據(jù)庫技術(shù)中,面向?qū)ο髷?shù)據(jù)模型是一種(B)。A概念模型B結(jié)構(gòu)模型C.物理模型D形象模型5 數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有(B)。A網(wǎng)狀、關(guān)系
2、和語義B.層次、關(guān)系和網(wǎng)狀C環(huán)狀、層次和關(guān)系D.網(wǎng)狀、鏈狀和層次6 用戶看到的數(shù)據(jù)表,屬于數(shù)據(jù)庫系統(tǒng)三級模式中的(D)。A外模式B內(nèi)模式D模式7 對數(shù)據(jù)的插入屬于數(shù)據(jù)庫管理系統(tǒng)(B)的功能。A數(shù)據(jù)定義B數(shù)據(jù)操縱C.數(shù)據(jù)庫的運(yùn)行管理D.數(shù)據(jù)庫的建立和維護(hù)& 保持?jǐn)?shù)據(jù)的完整性屬于數(shù)據(jù)庫管理系統(tǒng)(C)的功能。A數(shù)據(jù)定義B數(shù)據(jù)操縱C.數(shù)據(jù)庫的運(yùn)行管理D.數(shù)據(jù)庫的建立和維護(hù)9.在SQL Server數(shù)據(jù)庫中,默認(rèn)情況下Sys通常是(C)。A數(shù)據(jù)文件的后綴B事務(wù)日志文件的后綴C.系統(tǒng)表表名的前綴D輔助文件的后綴二、填空題1 計(jì)算機(jī)數(shù)據(jù)處理技術(shù)大致經(jīng)歷了(人工管理 )、( 文件管理 )、( 數(shù)據(jù)庫管
3、理 )等不同的發(fā)展階段。2 數(shù)據(jù)庫系統(tǒng)由( 外模式 )、( 模式 )和( 內(nèi)模式 )三級抽象模式構(gòu)成。3 數(shù)據(jù)庫管理系統(tǒng)的主要功能包括(數(shù)據(jù)定義 )、( 數(shù)據(jù)操縱 )、( 數(shù)據(jù)庫的運(yùn)行管理 )、( 數(shù)據(jù)庫的建立和維護(hù) )。4 關(guān)系模型由三部分組成 ( 數(shù)據(jù)結(jié)構(gòu) )、( 關(guān)系操作集合 )和( 關(guān)系的完整性 )。5SQL Server提供了大量易用的管理工具,比較常用的主要有( 服務(wù)管理器 )、 ( 企業(yè)管理器 )和( 查詢分析器 )。6 數(shù)據(jù)文件的后綴是(mdf)。7 事務(wù)日志文件的后綴是(ldf)。& SQL Server數(shù)據(jù)庫分為 (系統(tǒng)數(shù)據(jù)庫)和(用戶數(shù)據(jù)庫)兩種類型。三、簡答題1
4、什么是數(shù)據(jù)和數(shù)據(jù)處理?數(shù)據(jù)與信息的區(qū)別聯(lián)系是什么?參考答案:數(shù)據(jù)(Data)是一組表示數(shù)量、行動和目標(biāo)的非隨機(jī)的可鑒別的符號。數(shù)據(jù)處理通常包括查找、統(tǒng)計(jì)、分類、修改、計(jì)算、匯總等各種方法。數(shù)據(jù)(Data)是一組表示數(shù)量、行動和目標(biāo)的非隨機(jī)的可鑒別的符號。信息(Information)是經(jīng)過加工的,能對接收者的行為和決策產(chǎn)生影響的、有價值的數(shù) 據(jù)。如果將數(shù)據(jù)比喻為原料,那么信息就是數(shù)據(jù)經(jīng)過加工而生產(chǎn)的產(chǎn)品,是有價值的數(shù)據(jù)。 與原料和產(chǎn)品的概念相似,一個系統(tǒng)的產(chǎn)品可能是另一個系統(tǒng)的原料, 那么一個系統(tǒng)的信息 可能成為另一個系統(tǒng)的數(shù)據(jù)。2數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)之間到底是什么關(guān)系?參考答案
5、:數(shù)據(jù)庫就是各種相關(guān)數(shù)據(jù)的集合和容器。數(shù)據(jù)庫所保存的數(shù)據(jù)是指長期儲存在計(jì)算機(jī) 內(nèi)、有組織的、 可共享的數(shù)據(jù)集合。 數(shù)據(jù)庫中的數(shù)據(jù)必須按一定的數(shù)據(jù)模型組織、 描述和儲 存,具有較小的冗余度、 較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性, 并可以被一定范圍內(nèi)的各種用戶共 享。數(shù)據(jù)庫管理系統(tǒng)是對數(shù)據(jù)庫進(jìn)行管理的系統(tǒng)軟件, 位于用戶和操作系統(tǒng)之間, 為用戶或 應(yīng)用程序提供訪問數(shù)據(jù)庫的方法和工具。廣義上, 數(shù)據(jù)庫系統(tǒng)就是采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng), 一般由數(shù)據(jù)庫、 數(shù)據(jù)庫管理 系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。狹義上講,數(shù)據(jù)庫系統(tǒng)主要 指數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng), 由于這二者在應(yīng)用中的相互依賴性,
6、 所以在一般不引起混淆的 情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。3請描述一下SQL Server數(shù)據(jù)庫的存儲結(jié)構(gòu)。參考答案:SQL Server數(shù)據(jù)庫的存儲結(jié)構(gòu)包括物理存儲結(jié)構(gòu)和邏輯存儲結(jié)構(gòu)兩個層面。在物理層面上,SQL Server數(shù)據(jù)庫是由兩個操作系統(tǒng)文件組成的, 即數(shù)據(jù)文件和事務(wù)日 志文件,它們的后綴分別是MDF和LDF。數(shù)據(jù)文件主要用于存儲數(shù)據(jù),事務(wù)日志文件主要 用于存儲數(shù)據(jù)庫的更新情況等事務(wù)日志信息。在邏輯層次上, 數(shù)據(jù)庫是由表、 視圖、 存儲過程等一系列數(shù)據(jù)對象組成的。 當(dāng)采用SQL Server企業(yè)管理器將上述數(shù)據(jù)庫文件 “打開”后,就能看到數(shù)據(jù)庫的邏輯結(jié)構(gòu)了,如圖XXX所示。數(shù)據(jù)
7、庫中的數(shù)據(jù)分別存儲在幾個不同的對象中,而這些對象是用戶在操作數(shù)據(jù)庫時, 實(shí)際能夠看到和接觸到的,屬于邏輯存儲結(jié)構(gòu)。常用的數(shù)據(jù)庫對象主要包括:表(Table)、索引(I ndex)、視圖(Views)、觸發(fā)器(Triggers)、存儲過程(Store Procedures)、缺省(Default)、 約束(Constraints)、用戶(Users)以及圖表(Diagram)和用戶自定義的數(shù)據(jù)類型等。在 以后的章節(jié)中,我們將逐步學(xué)習(xí)這些對象的使用方法。4簡述關(guān)系模型的組成。參考答案:系模型是目前最重要的一種數(shù)據(jù)模型。 關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方 式。關(guān)系模型由三部分組成:數(shù)據(jù)結(jié)構(gòu)
8、、關(guān)系操作集合和關(guān)系的完整性。數(shù)據(jù)結(jié)構(gòu)是指在關(guān)系模型中, 無論是數(shù)據(jù)還是數(shù)據(jù)之間的聯(lián)系都是以二維表 (關(guān)系) 這 一種簡單的結(jié)構(gòu)表示的,這即符合人們使用數(shù)據(jù)的習(xí)慣,同時也便于計(jì)算機(jī)實(shí)現(xiàn)。關(guān)系操作是指關(guān)系代數(shù)(或等價的關(guān)系演算)中并、交、差、選擇、投影、連接等。關(guān) 系模型給出了關(guān)系操作的能力和特點(diǎn),但不對DBMS的語言給出具體的語法要求。關(guān)系語 言的特點(diǎn)是高度的非過程化。其操作方式的特點(diǎn)是集合操作,即操作的對象和結(jié)果是集合, 稱為一次一集合的方式,而不是一次一個記錄的方式。關(guān)系完整性包括實(shí)體完整性、 參照完整性和用戶自己定義的完整性。 實(shí)體完整性是保證 數(shù)據(jù)庫中記錄的惟一性,即每個記錄的主鍵不能
9、為空值, 也不能與其他記錄的主鍵相同。 參 照完整性是保證表與表之間語意上的完整性,即當(dāng)一個表引用在另一個表中定義的實(shí)體時,要保證這個實(shí)體的有效性。這兩種完整性是關(guān)系模型必須滿足的約束條件,應(yīng)該由關(guān)系系統(tǒng) 自動支持。而用戶自定義完整性反映了用戶的要求,是用戶自行定義的。第二章思考與練習(xí)題一、選擇題1 下述關(guān)于索引的描述,正確的是(B)。A撤銷索引會同時撤銷數(shù)據(jù)庫中與之相關(guān)的內(nèi)容B.建立索引后,會影響基本表的插入速度C.基本表的記錄數(shù)量越多,越不應(yīng)該建立索引D.基本表的記錄越長,越不應(yīng)該建立索引2.下述關(guān)于視圖的描述,正確的是(C)。A視圖僅由一個基本表導(dǎo)出B.執(zhí)行視圖比在客戶端直接執(zhí)行SELE
10、CT語句的速度要慢C.在SQL Server中,可以像基本表一樣對視圖進(jìn)行查詢操作D視圖存儲在客戶端的數(shù)據(jù)庫中3.如果希望從學(xué)生表中查詢出所有姓張”的同學(xué),那么條件語句應(yīng)該是(B)。A.Where姓名% ,張?B.Where姓名LIKE ,張?C.Where姓名%丄IKE張?D.Where姓名LIKE ,張?4.下列SQL語句中,能夠完成求某列最大值的是(B)。A.SELECT AVG(Age) FROM StudentB.SELECT MAX(Age) FROM Stude ntC.SELECT MIN(Age) FROM Stude ntD.SELECT COUNT(*) FROM Stu
11、de nt5.將涉及到關(guān)系(D)。二、 填空題1.SQL數(shù)據(jù)定義語言的主要作用是創(chuàng)建存儲數(shù)據(jù)的結(jié)構(gòu), 而數(shù)據(jù)操縱語言的主要作用 則是向數(shù)據(jù)庫中填寫數(shù)據(jù),具體包括增加、刪除、修改 等操作。2.當(dāng)需要對查詢結(jié)果進(jìn)行排序時,可以指定其排序方式, 字段后使用ASC_表示升序,DESC表示降序。3.視圖是一個虛表,它是從一個或多個基本表中導(dǎo)出的表。三、 簡答題1、什么是SQL,請簡要說明它的組成和特點(diǎn)。參考答案:結(jié)構(gòu)化查詢語言,Structured Query Language,簡稱SQL,是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。SQL語言共分為四大類:數(shù)據(jù)定義語言,數(shù)據(jù)查詢語言,數(shù)據(jù)操縱語言,數(shù)據(jù)控制語言。它的特點(diǎn)包
12、括:非過程化語言,統(tǒng)一的語言,是所有關(guān)系數(shù)據(jù)庫的公共語言。2、索引的作用是什么?SQL Server有哪幾類索引,各自的特點(diǎn)是什么?參考答案:索引(Index)提供了一種快速訪問數(shù)據(jù)的途徑,索引是在基本表的列上建立的一種數(shù) 據(jù)加對象,索引是為了加速查詢速度而創(chuàng)建的。實(shí)際的索引通常是這兩大類5種方式的組合。(1)單列索引:對基本表的某一單獨(dú)的列進(jìn)行索引,是最簡單和最常用的索引類型, 通常情況下,應(yīng)對每個基本表的主關(guān)鍵字建立單列索引。(2)惟一索引:一旦在一個或多個列上建立了惟一索引,則不允許在表中相應(yīng)的列上 插入任何相同的取值。使用惟一索引不但能提高查詢性能,還可以維護(hù)數(shù)據(jù)的完整性。(3)復(fù)合索
13、引:是針對基本表中兩個或兩個以上列建立的索引。(4)聚集索引:會改變基本表中記錄的物理存儲順序。即表中記錄的物理排序順序不 再按插入的先后排列,而是根據(jù)索引列重新排序。(5)非聚集索引:表中記錄的物理順序與索引順序不同,表中的記錄仍按實(shí)際插入的 先后順序排列,不按索引列排序。3、什么是基本表?什么是視圖?視圖有什么特點(diǎn)?在什么情況下需要創(chuàng)建視圖?參考答案:表是一個由行、列組成的二維結(jié)構(gòu),通常把行稱做記錄,把列稱為字段。視圖是由查詢數(shù)據(jù)庫表產(chǎn)生的, 它其實(shí)是一個虛擬的表, 它限制了用戶能看到和修改的 數(shù)據(jù)。視圖的特點(diǎn)是在基本表或其他視圖上建立的表, 它的結(jié)構(gòu)和內(nèi)容都來自某個基本表, 是 依據(jù)基本
14、表存在而存在的。 刪除一個視圖時, 不會對基本表產(chǎn)生任何影響, 但當(dāng)刪除一張基 本表時,與之相關(guān)聯(lián)的視圖就會自動被刪除。如果要限制用戶能夠看到的數(shù)據(jù)庫中的信息,可以使用視圖。4、謂詞LIKE的作用是什么?參考答案:確定給定的字符串是否與指定的模式匹配。 模式可以包含常規(guī)字符和通配符字符。 模式 匹配過程中,常規(guī)字符必須與字符串中指定的字符完全匹配。5、如果創(chuàng)建一個數(shù)據(jù)庫其SQL語句是什么?參考答案:CREATE DATABASE數(shù)據(jù)庫名稱6、存儲過程的含義是什么?創(chuàng)建存儲過程的SQL語句是什么?參考答案:存儲過程(Stored Procedure)是一組預(yù)先編譯好的, 以一種可執(zhí)行的形式永久地
15、存儲在 數(shù)據(jù)中的SQL代碼,在master數(shù)據(jù)庫中存儲了一些SQL Server事先定義好的系統(tǒng)存儲過程,通常以sp_xxxx做為存儲過程的名字。當(dāng)用戶創(chuàng)建數(shù)據(jù)庫時, 也會自動生成一些事先定義好 的存儲過程,通常以dt_xxxx做為名字。創(chuàng)建存儲過程的SQL語句是:(1)語句格式:CREATE PROCEDURE AS (2)語句功能:創(chuàng)建一個存儲過程,多數(shù)是指利用SQL Server的Transact-SQL編寫的程序。7、什么是事務(wù)?舉例說明事務(wù)處理的作用是什么?參考答案:事務(wù)(Transaction)是并發(fā)控制的基本單位,它反映了現(xiàn)實(shí)世界中需要以一個完整的單 位提交的一項(xiàng)工作。SQLSe
16、rver通過事務(wù)機(jī)制, 將邏輯相關(guān)的一組操作捆綁在一起, 以便服 務(wù)器保持?jǐn)?shù)據(jù)的完整性。它是SQL復(fù)雜程序設(shè)計(jì)必不可少的內(nèi)容。事務(wù)需要用戶根據(jù)實(shí)際業(yè)務(wù)規(guī)則定義,有一定的難度,但其原理比較簡單。舉例說,如 果我們正在使用UPDATE語句同時對學(xué)生表、 成績表中的學(xué)號 ”20030001”改為 ”20040001”。 這個任務(wù)需要兩條UPDATE語句組成,即:UPDATE學(xué)生表SET學(xué)號=?20040001? WHERE學(xué)號=?20030001?UPDATE成績表SET學(xué)號=?20040001? WHERE學(xué)號=?20030001?如果在執(zhí)行完第一個語句后, 計(jì)算機(jī)突然斷電, 而第二條語句還沒來得
17、急執(zhí)行, 數(shù)據(jù)出 現(xiàn)了不一致怎么辦?這時候就需要用到SQL的事務(wù)控制功能了。如果使用了SQL Server的事務(wù)控制機(jī)制,以上兩個問題均可獲得很了的解決。在使用 事務(wù)的情況下,SQLServer可以保證,要么所有的記錄要么全部處理,要么一行也不處理。 如果修改了全部記錄的一半時服務(wù)器出錯了,SQL Server會返回到以前未執(zhí)行UPDATE操作前的位置,清除它已經(jīng)修改過的數(shù)據(jù),這就是事務(wù)處理的作用。8、SQL Server有哪些數(shù)據(jù)類型,它們的主要用途是什么?參考答案:SQL Server提供了數(shù)值型、字符型、日期型、二進(jìn)制型、位型、雙字節(jié)型等6大類數(shù)據(jù) 類型。數(shù)據(jù)類型是數(shù)據(jù)的一種屬性, 表示
18、數(shù)據(jù)所表示信息的類型。 任何一種計(jì)算機(jī)語言都定義 了自己的數(shù)據(jù)類型。9、假設(shè)某教學(xué)管理數(shù)據(jù)庫有以下三張表,請寫出下列問題的SQL語句:學(xué)生(學(xué)號,姓名,年齡,性別)課程(課程號,課程名,任課教師)成績(學(xué)號,課程號,成績)(1)如何在SQL Server上創(chuàng)建這三張表;參考答案:學(xué)生表:create table學(xué)生表(學(xué)號char (8) primary Key,姓名char(8),年齡int,性別bit)課程表:create table課程表(課程號char (7) primary Key,課程名char(20),任課教師char (8)成績表:create table成績表(學(xué)號char
19、(8),課程號char (7),成績Numeric (4,2)(2)查詢劉峰教師所授課程號,課程名; 參考答案:Select課程號,課程名from課程表where任課教師=?劉峰?(3)查詢年齡大于20歲的所有男同學(xué)的學(xué)號、姓名; 參考答案:Select學(xué)號,姓名from學(xué)生表where性別=1 and年齡20(4)查詢至少選修了兩門課程(含兩門)的學(xué)生學(xué)號; 參考答案:select學(xué)號from成績group by學(xué)號havi ng count(學(xué)號)=2(5)查詢王文芳同學(xué)選修的所有課程的課程號; 參考答案:Select課程號from成績表,學(xué)生表Where學(xué)生表.姓名=?王文芳? and學(xué)
20、生表.學(xué)號=成績表.學(xué)號6)查詢王文芳同學(xué)不學(xué)的課程的課程號參考答案:select課程號from成績表where課程號not in (select課程號from學(xué)生表,成績表where學(xué)生表.姓名=王文芳 and學(xué)生表.學(xué)號=成績表.學(xué)號)(7)查詢所有上劉峰老師課程的學(xué)生學(xué)號;參考答案:Select學(xué)號from成績表,課程表,學(xué)生表Where課程表.任課教師=劉世峰 and課程表.課程號=成績表.課程號and課程表.學(xué)號=成績表.學(xué)號(8)查詢所有選修 “數(shù)據(jù)庫原理 ”的學(xué)生的學(xué)號;參考答案:Select學(xué)號from成績表,課程表where課程表.課程名=數(shù)據(jù)庫技術(shù) and課程表.課程號=成
21、績表.課程號(9)向?qū)W生表中插入一條記錄(?2003001?,?吳紅?,21,?女?);(1表示女,0表示男)參考答案:insert into學(xué)生表values (2003001,吳紅,21,1)(10)刪除三張表中所有學(xué)號為20020001的學(xué)生信息;參考答案:Delete from學(xué)生表where學(xué)號=? 20020001?Delete from學(xué)生表where學(xué)號=? 20020001?(11)把學(xué)號為20030002的學(xué)生的年齡改為22歲;參考答案:Update學(xué)生表set年齡=?22? where學(xué)號=?20030002?第三章思考與練習(xí)題一、選擇題1.設(shè)一個關(guān)系為R,如果它的每個屬
22、性都是不可再分的,則稱這個關(guān)系是符合 (A)。A、第一范式B、 第二范式C、第三范式D、BNC范式2.在第一個關(guān)系中出現(xiàn),在第二個關(guān)系中不出現(xiàn)的記錄組成的關(guān)系稱為兩個關(guān)系的 (C)。A、 交B、 并C、 差D、 笛卡兒積二、簡答題1.設(shè)關(guān)系模式R有N個屬性,在模式R上可能成立的函數(shù)依賴有多少個?參考答案:函數(shù)依賴有NX(N-1)個2設(shè)有關(guān)系模式R(職工號,職工名,項(xiàng)目號,項(xiàng)目名,工資),假設(shè)一個職工可參加多個項(xiàng)目,在每個項(xiàng)目中各領(lǐng)一份工資。那么請回答以下問題:(1)請寫出這個關(guān)系模式的函數(shù)依賴和主關(guān)鍵字;函數(shù)依賴包括:職工號T職工名,項(xiàng)目號T項(xiàng)目名,(職工號,項(xiàng)目號)T工資主鍵為(職工號,項(xiàng)目
23、號)(2)這個關(guān)系符合第幾范式,為什么?這個關(guān)系符合第一范式,因?yàn)樗拿總€屬性都不可再分。3)請舉例說明,這個關(guān)系存在哪些問題;這個關(guān)系沒有達(dá)到第二范式,可能出現(xiàn)數(shù)據(jù)冗余和操作異常。例如,某個職工參與了多個項(xiàng)目的工作,他的職工號、職工名會重復(fù)多次存儲。同樣, 如果一個項(xiàng)目有多名職工參加, 項(xiàng)目號和項(xiàng)目名也會重復(fù)我次存儲。 另外, 如果現(xiàn)在增加了 一個新的項(xiàng)目,但暫時還沒有安排職工參加,那么由于主鍵是(職工號,項(xiàng)目號),這個項(xiàng) 目的信息可能無法插入。(4)請把這個關(guān)系模式分解成3NF,并說明理由。修改后的各個關(guān)系如下:職工關(guān)系=(職工號,職工名)項(xiàng)目關(guān)系=(項(xiàng)目號,項(xiàng)目名)職工選擇項(xiàng)目關(guān)系=(職
24、工號,項(xiàng)目號,工資)(注:此處的工資是指職工參加某個項(xiàng)目得到的勞動報酬)3.關(guān)系完整性的主要內(nèi)容是什么?為什么要保證關(guān)系的完整性?參考答案:關(guān)系完整性就是關(guān)系模型中數(shù)據(jù)的正確性、 一致性和有效性。 關(guān)系完整性又包括實(shí)體完 整性、參照完整性和用戶定義的完整性三個方面。只有保證了關(guān)系的完整性,才能使數(shù)據(jù)庫中的數(shù)據(jù)正確、一致和有效。4.SQL Server中進(jìn)行關(guān)系完整性的主要方法是什么,請寫出相應(yīng)的SQL語句。參考答案:1)SQL Server通過約束機(jī)制來實(shí)現(xiàn)數(shù)據(jù)庫完整性保護(hù)。主要包括:Primary Key約束、Foreign Key約束、Default約束、Unique約束、Check約束等
25、。Primary Key約束:學(xué)號char (8) NOT NULLPRIMARY KEY(學(xué)號)Foreign Key約束:學(xué)號char (8) NOT NULLREFERENCES學(xué)生表(學(xué)號)Default約束:成績numeric(9,2) DEFAULT 0.00Unique約束:學(xué)號char (8) NOT NULLUNIOQUE(學(xué)號)Check約束:年齡int CHECK (年齡)17 and年齡25)2)使用規(guī)則實(shí)施數(shù)據(jù)的完整性。創(chuàng)建規(guī)則的語法結(jié)構(gòu)如下:CREATE RULE規(guī)則名AS條件表達(dá)式3)使用默認(rèn)實(shí)施數(shù)據(jù)完整性管理。創(chuàng)建默認(rèn)的語法如下:CREATE DEFAULT默認(rèn)
26、名AS默認(rèn)值5.為什么要進(jìn)行規(guī)范化?規(guī)范化的相關(guān)理論是什么?請簡要說明。參考答案:為確保數(shù)據(jù)庫設(shè)計(jì)的正確性, 在數(shù)據(jù)庫邏輯設(shè)計(jì)階段, 常使用關(guān)系規(guī)范化理論來指導(dǎo)關(guān) 系型數(shù)據(jù)庫的設(shè)計(jì)。 其基本思想是, 每個關(guān)系都應(yīng)滿足一定的規(guī)范, 才能使關(guān)系模式設(shè)計(jì)合 理,達(dá)到減少冗余,提高查詢效率的目的。一個好的數(shù)據(jù)庫關(guān)系, 應(yīng)該沒有數(shù)據(jù)冗余、 更新異常、 插入異常、 刪除異常問題的存在, 這就必須進(jìn)行規(guī)范化處理。規(guī)范化使用的理論是函數(shù)依賴。6.什么是一個 “好”的關(guān)系模式,一個 “不好 ”的關(guān)系模式有什么缺點(diǎn)?參考答案:余、更新異常、插入異常、刪除異常等問題。7.請寫出一個符合第三范式的關(guān)系模式,并說明理由
27、。參考答案:學(xué)生=(學(xué)生號,姓名,性別,專業(yè))課程=(學(xué)生號,課程號,成績)選課=(課程號,課程名,課程學(xué)分)第四章思考與練習(xí)題一、填空題1數(shù)據(jù)庫設(shè)計(jì)一般包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、數(shù)據(jù)庫實(shí)施和運(yùn) 行維護(hù)等階段。2數(shù)據(jù)庫應(yīng)用系統(tǒng)的建設(shè)包括結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì)兩個方面。3數(shù)據(jù)庫設(shè)計(jì)的主要原則包括表設(shè)計(jì)原則、字段設(shè)計(jì)原則和其他原則。4E-R圖的設(shè)計(jì)關(guān)鍵在于對實(shí)體、聯(lián)系的選擇和表示。5物理設(shè)計(jì)的主要內(nèi)容包括存儲記錄的格式設(shè)計(jì)、存儲方法設(shè)計(jì)、訪問方法設(shè)計(jì)以及 完整性和安全性考慮。二、簡答題1請簡要說明數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的步驟。參考答案:數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的步驟包括需求分析、概念設(shè)計(jì)、邏輯
28、設(shè)計(jì)和物理設(shè)計(jì)。2數(shù)據(jù)庫設(shè)計(jì)的目的是什么,請談?wù)勀愕睦斫狻⒖即鸢福簲?shù)據(jù)庫設(shè)計(jì)指的是設(shè)計(jì)數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù), 是指對于一個給定的應(yīng)用環(huán)境, 包 括硬件環(huán)境和操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)等軟件環(huán)境,如何使用這個環(huán)境來表達(dá) 用戶的要求, 構(gòu)造最優(yōu)的數(shù)據(jù)庫模式, 建立數(shù)據(jù)庫及圍繞數(shù)據(jù)庫展開的應(yīng)用系統(tǒng), 使之能夠 有效地收集、存儲、 操作和管理數(shù)據(jù),滿足企業(yè)組織中各類用戶的應(yīng)用需求 (信息需求和處 理需求)。3基本表設(shè)計(jì)的主要原則是什么,堅(jiān)持這些原則有什么好處?好”的關(guān)系模式通常是指符合第三范式要求的關(guān)系,不好 ”的關(guān)系模式會存在數(shù)據(jù)冗參考答案:基本表設(shè)計(jì)最主要的原則是關(guān)系規(guī)范化, 盡可
29、能達(dá)到第三范式。 規(guī)范化有助于消除數(shù)據(jù) 庫中的數(shù)據(jù)冗余,減少更新異常。規(guī)范化有好幾種形式, 但第三范式通常被認(rèn)為在性能、擴(kuò) 展性和數(shù)據(jù)完整性方面達(dá)到了最好平衡。 簡單來說, 遵守第三范式標(biāo)準(zhǔn)的數(shù)據(jù)庫的表設(shè)計(jì)原 則是:“One Fact in One Place(一個事實(shí)對應(yīng)一個地方),即某個表只包括其本身基本的屬 性,當(dāng)不是它們本身所具有的屬性時需進(jìn)行分解。表之間的關(guān)系通過外鍵相連接。4進(jìn)行SQL Server數(shù)據(jù)庫設(shè)計(jì)時,一般有哪些命名規(guī)則?參考答案:首先, 命名的長度應(yīng)盡量充足。 假設(shè)某企業(yè)現(xiàn)有職工在一千人以內(nèi), 如果用數(shù)字表示職 工號的話, 職工號的長度為3位即可,它最大可以表示999個
30、職工。但是, 如果考慮到企業(yè) 未來的發(fā)展, 那么職工號最好設(shè)為4位, 當(dāng)企業(yè)職工數(shù)目突破千人時, 根本無需重構(gòu)整個數(shù) 據(jù)庫。其次, 小心保留詞。 要保證字段名沒有與SQL等保留詞或者常用訪問方法名發(fā)生沖突。最后, 慎用使用觸發(fā)器。 觸發(fā)器在保證數(shù)據(jù)完整性方面發(fā)揮著積極作用, 但它同時也會 帶來效率方面的問題,因此要慎用。觸發(fā)器的功能通常可以用其他方式實(shí)現(xiàn)。5什么是數(shù)據(jù)流程圖,數(shù)據(jù)字典的主要作用是什么,談?wù)勀愕睦斫?。參考答案:?shù)據(jù)流圖(Data Flow Diagram,簡記DFD) ,是在業(yè)務(wù)流程分析基礎(chǔ)上,描述實(shí)際數(shù) 據(jù)流動和加工過程的圖形表示法,它一般有4種符號,即外部實(shí)體、數(shù)據(jù)流、加工和
31、存儲。 外部實(shí)體數(shù)據(jù)的來源和去向; 數(shù)據(jù)流用帶箭頭的連線表示, 反映數(shù)據(jù)的流動方向; 加工用橢 圓、圓或方框代表(本教材利用圓形表示加工),表示對數(shù)據(jù)的加工處理動作;存儲表示數(shù) 據(jù)的存檔情況。數(shù)據(jù)字典(Data Dictionary,簡記DD) ,是對數(shù)據(jù)流程圖中數(shù)據(jù)流和存儲結(jié)構(gòu)的描述。 在數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)中,數(shù)據(jù)字典是表、視圖設(shè)計(jì)的主要依據(jù)。6什么是E-R圖,它的作用是什么?參考答案:ER圖是E-R(實(shí)體-關(guān)系)方法的重要組成部分。E-R方法是描述概念模型的有力工具。E-R圖方法是一種有效的信息抽象方法。在E-R圖中,用長方形表示實(shí)體,用橢圓形表 示屬性,用菱形表示聯(lián)系。在圖形內(nèi)標(biāo)識它們的
32、名字,它們之間用無向線段相連,表示聯(lián)系的線段上標(biāo)明是哪種聯(lián)系。它的作用是采用E-R圖模型將現(xiàn)實(shí)世界的信息結(jié)構(gòu)統(tǒng)一用實(shí)體、屬性以及實(shí)體之間的 聯(lián)系來描述。7簡要說明需求分析階段的主要任務(wù)和目的。參考答案:需求分析階段的主要目的是回答 “干什么 ”的問題。 需要從多方面對擬開發(fā)數(shù)據(jù)庫應(yīng)用系 統(tǒng)的企事業(yè)單位進(jìn)行調(diào)查, 收集和分析各項(xiàng)應(yīng)用對信息和處理兩方面的需求。 了解和掌握數(shù) 據(jù)庫應(yīng)用系統(tǒng)開發(fā)對象(或稱用戶) 的工作業(yè)務(wù)流程和每個崗位、 每個環(huán)節(jié)的職責(zé),了解和 掌握信息從開始產(chǎn)生或建立, 到最后輸出、 存檔或消亡所經(jīng)過的傳遞和轉(zhuǎn)換過程, 了解和掌 握各種人員在整個系統(tǒng)活動過程中的作用; 通過同用戶充
33、分地交流和溝通, 決定那些工作應(yīng) 由計(jì)算機(jī)來做, 哪些工作仍由手工來做, 決定各種人員對信息和處理各有什么要求, 對視屏 操作界面和報表輸出格式各有什么要求,對數(shù)據(jù)(信息)的安全性(保密性)和完整性各有 什么要求等等。 需求分析階段的主要工作就是,通過調(diào)查從用戶處獲得對數(shù)據(jù)庫的下列需求。信息需求: 用戶將從數(shù)據(jù)庫中獲得的信息的內(nèi)容和性質(zhì), 有信息要求導(dǎo)出數(shù)據(jù)要求, 即 在數(shù)據(jù)庫中存儲哪些數(shù)據(jù)。處理需求:用戶要完成什么處理功能,對某種處理的執(zhí)行頻度、用戶要求的響應(yīng)時間, 以及處理的方式是聯(lián)機(jī)處理還是批處理等。安全性和完整性的約束第五章思考與練習(xí)題一、簡答題1請簡要說明數(shù)據(jù)庫安全機(jī)制?參考答案:一
34、個用戶訪問SQL Server必須要經(jīng)過4個層次的安全控制,操作系統(tǒng)的安全性;服務(wù) 器的安全性; 數(shù)據(jù)庫的安全性; 表和列的安全性。 從上述流程可以看出, 用戶使用SQL Server時,需要經(jīng)過兩個安全性階段:身份驗(yàn)證和權(quán)限認(rèn)證。身份驗(yàn)證階段系統(tǒng)只檢驗(yàn)用戶是否有連接SQL Server實(shí)例的權(quán)力,如果身份驗(yàn)證通過了,只表示用戶可以連接SQL Server實(shí)例,否則系統(tǒng)將拒絕用戶的連接。然后需要檢驗(yàn)用 戶是否有訪問服務(wù)器上數(shù)據(jù)庫的權(quán)限, 為此需要授予每個數(shù)據(jù)庫中映射到用戶登錄的賬號訪 問權(quán)限,權(quán)限認(rèn)證就可以控制用戶在數(shù)據(jù)庫中進(jìn)行的操作。2登錄賬號和用戶賬號的含義是什么?它們有什么區(qū)別聯(lián)系?參考
35、答案:登錄賬號用于身份驗(yàn)證,使得用戶到達(dá)登錄到SQL Server服務(wù)器,屬于服務(wù)器層面, 相當(dāng)于大門的鑰匙; 用戶賬號用于權(quán)限驗(yàn)證, 屬于數(shù)據(jù)庫層面,相當(dāng)于自己房間的鑰匙。用 戶賬號在定義時便與一個登錄賬號相關(guān)聯(lián),即任何一個用戶賬號背后都有一個登錄賬號。3請簡要說明使用企業(yè)管理創(chuàng)建登錄賬號和用戶賬號的過程。參考答案:(1)在SQL Server的企業(yè)管理器下,展開 “SQL Serve組文件夾,找到需要建立登錄 賬號的服務(wù)器并展開其文件夾,再展開 “安全性 ”文件夾,在 “登錄 ”選項(xiàng)上右擊鼠標(biāo),在出現(xiàn) 的快捷菜單中單擊 新建登錄”菜單命令,打開 “SQL Serve登錄屬性-新建登錄”對話
36、框。(2)SQL Server支持“Windows身份驗(yàn)證和單擊“SQL Server身份驗(yàn)證兩種認(rèn)證模式。選擇“SQL Server身份驗(yàn)證”單選鈕,在 名稱”文本框中輸入要創(chuàng)建的登錄賬號名稱,例如 “mysa”在 身份驗(yàn)證選項(xiàng)組中,并輸入密碼。(3)設(shè)置完畢后,單擊 “確定”按鈕,即可完成登錄賬號的創(chuàng)建。接下來,開始創(chuàng)建用戶賬號,基本方法是:(1)在企業(yè)管理器中,展開SQL Server組及其服務(wù)器,在 “數(shù)據(jù)庫”文件夾中,展開某 一數(shù)據(jù)庫, 例如“進(jìn)銷存 ”的文件夾, 然后在“用戶”選項(xiàng)上右擊, 在彈出的快捷菜單中選擇 “新 建數(shù)據(jù)庫用戶 ”命令,打開新建用戶對話框。(2)單擊登錄名下拉
37、列表框右端的下拉箭頭,會看到剛剛創(chuàng)建的“mysa登錄帳號。選擇“mysa登錄賬號, 此時 用戶名”文本框中自動顯示為 “mysa;可以更改 用戶名”文本框 中的用戶名, 也可以在 “數(shù)據(jù)庫角色成員 ”列表框中選擇新建用戶應(yīng)該屬于的數(shù)據(jù)庫角色。(3) 設(shè)置完畢后,單擊 “確定”按鈕,即可在 “進(jìn)銷存 ”數(shù)據(jù)庫中創(chuàng)建一個新的用戶賬號。 如果不想創(chuàng)建用戶賬號,單擊 “取消 ”按鈕即可。4如何對用戶賬號進(jìn)行授權(quán)管理,一般有哪些權(quán)限,請簡要說明。參考答案:(1)展開服務(wù)器組,然后展開服務(wù)器;展開 “數(shù)據(jù)庫 ”項(xiàng),然后找到相關(guān)的數(shù)據(jù)庫,比 如“進(jìn)銷存”;(2)展開 “進(jìn)銷存 ”數(shù)據(jù)庫,根據(jù)對象類型,單擊表
38、、視圖、存儲過程等對象,找到需 要進(jìn)行授權(quán)管理的數(shù)據(jù)庫對象,比如 “物資臺賬 ”表。(3)右擊授予權(quán)限所在的對象,從彈出菜單中選擇 “所有任務(wù)-管理權(quán)限 ”選項(xiàng);單擊“列出全部用戶/用戶定義的數(shù)據(jù)庫角色/public選”項(xiàng),然后選擇授予每位用戶的權(quán)限。其中,選 中標(biāo)記表示授予權(quán)限。進(jìn)一步,通過本界面可完成列級的授權(quán)管理。另外,也可以采用GRANT(授予權(quán)限)、DENY(拒絕權(quán)限)和REVOKE(撤消權(quán)限) 等SQL語句完成授權(quán)管理。5為什么要進(jìn)行數(shù)據(jù)備份?數(shù)據(jù)庫備份包括哪些主要內(nèi)容?參考答案:任何系統(tǒng)都不可避免會出現(xiàn)各種形式的故障, 而某些故障可能會導(dǎo)致數(shù)據(jù)庫災(zāi)難性的損 壞,所以做好數(shù)據(jù)庫的備
39、份工作極為重要。備份可以創(chuàng)建在磁盤、 磁帶等備份設(shè)備上, 與備 份對應(yīng)的是還原。數(shù)據(jù)庫備份就是在某種介質(zhì)上(磁帶、磁盤等)存儲數(shù)據(jù)庫(或者其中一部分)的拷貝的過 程。更嚴(yán)格意義上講, 備份應(yīng)該是一種把數(shù)據(jù)從硬盤上復(fù)制到其他可移動介質(zhì)上的操作過程。一個完整的備份通常要包括三部分內(nèi)容,即系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和事務(wù)日志。6什么是備份設(shè)備,請談一談SQL Server中創(chuàng)建備份設(shè)備的主要步驟和方法。參考答案:備份設(shè)備是用來存儲數(shù)據(jù)庫、事務(wù)日志或文件和文件組備份的存儲介質(zhì)。SQL Server支持3種備份設(shè)備,即磁盤設(shè)備、磁帶設(shè)備和命名管道設(shè)備。在SQL Server中,可以采用兩種方法創(chuàng)建備份設(shè)備,
40、一是利用企業(yè)管理器;二是使用 系統(tǒng)存儲過程sp_addumpdevice。其步驟如下:在企業(yè)管理器中展開服務(wù)器組,展開指定的服務(wù)器,展開 “管理 ”文件夾,右擊 “備份 ”, 在彈出的快捷菜單中選擇 “新建備份設(shè)備 ”選項(xiàng),打開“備份設(shè)備屬性-新設(shè)備 ”對話框。在“名 稱”文本框中輸入邏輯設(shè)備的名稱,在下面選擇磁帶或者磁盤備份設(shè)備,并設(shè)置物理位置。 當(dāng)使用磁盤時,SQL Server允許將本地主機(jī)硬盤和遠(yuǎn)程主機(jī)上的硬盤作為備份設(shè)備,備份設(shè)備在硬盤中是以文件的方式存儲的。完成后,單擊“確定 ”按鈕即可。缺省情況下,備份設(shè)備的全路徑為 “C:進(jìn)銷存數(shù)據(jù)庫備 份.BAK”,備份設(shè)備文件名為 進(jìn)銷存數(shù)
41、據(jù)庫備份.BAK”,缺省路徑為SQL Server安裝目錄 的BACKUP文件夾。7事務(wù)日志文件有什么用途?是否也需要備份?為什么?參考答案:SQL Server數(shù)據(jù)庫是由兩個操作系統(tǒng)文件組成的, 即數(shù)據(jù)文件和事務(wù)日志文件。 事務(wù)日 志文件主要用于存儲數(shù)據(jù)庫的更新情況等事務(wù)日志信息。 事務(wù)日志文件非常重要, 所有對數(shù) 據(jù)庫的更改操作都會記錄于此, 當(dāng)數(shù)據(jù)庫損壞時, 數(shù)據(jù)庫管理員可使用事務(wù)日志恢復(fù)數(shù)據(jù)庫。從事務(wù)日志文件的作用上可以看出,它是非常有用和重要的,因此也需要備份。8請按以下操作練習(xí)一下數(shù)據(jù)庫備份操作,并體會一下數(shù)據(jù)庫備份的的效果。1)創(chuàng)建一個數(shù)據(jù)庫;(2)使用CREATE TABLE語
42、句在數(shù)據(jù)庫中創(chuàng)建一張表; (3)使用INSERT語句向表中插入若干條數(shù)據(jù);(4)進(jìn)入企業(yè)管理器,對數(shù)據(jù)庫進(jìn)行備份操作;(5)使用DROP TABLE語句刪除已創(chuàng)建的表;(6)使用企業(yè)管理器,對數(shù)據(jù)庫進(jìn)行還原操作。 參考答案:CREATE DATABASE學(xué)生庫學(xué)生表:create table學(xué)生(學(xué)號char (8) primary Key,姓名char(8),年齡int,性別bit)insert into學(xué)生values (2007001,王麗,19, 1)insert into學(xué)生values (2007002,張華,20, 0)insert into學(xué)生values (2007003,李
43、敏,19, 1)第六章思考與練習(xí)題*份封:檸追加5M(l廣垢謊有槿倩阻|冏度r MtutDROP TABLE學(xué)生SUL Srrr老待-學(xué)生體事務(wù)曰如 立件和文件摳舊、簡答題1什么是嵌入式SQL,它有哪些特點(diǎn)和用途?參考答案:嵌入式SQL語言是將SQL語句直接嵌入到程序的源代碼中, 與其他程序設(shè)計(jì)語言語句 混合。嵌入式SQL的用途:它是數(shù)據(jù)庫應(yīng)用程序的一種開發(fā)方法。是一種應(yīng)用程序進(jìn)行數(shù)據(jù) 庫訪問時所采取的編程式數(shù)據(jù)庫語言。嵌入式SQL的特點(diǎn)是,數(shù)據(jù)庫管理系統(tǒng)DBMS一般會采用預(yù)編譯的處理辦法,即由DBMS的預(yù)處理程序?qū)υ闯绦蜻M(jìn)行掃描,識別出SQL語句,把它們轉(zhuǎn)換成宿主語言調(diào)用語 句,以使宿主語言
44、編譯程序能夠識別它, 最后再由宿主語言的編譯程序?qū)⒄麄€源程序編譯成 目標(biāo)碼。嵌入SQL語句完成的功能也可以通過應(yīng)用程序接口(API)實(shí)現(xiàn)。2.請簡述C/S和B/S的主要原理,并說明它們各自的優(yōu)缺點(diǎn)。參考答案:C/S模式就是基于企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。傳統(tǒng)的C/S模式是一種兩層結(jié)構(gòu)的系統(tǒng), 第一層是在客戶機(jī)系統(tǒng)上結(jié)合了表示與業(yè)務(wù)邏輯;第二層是通過網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)庫服務(wù)器。優(yōu)點(diǎn)是:C/S模式的應(yīng)用系統(tǒng)最大的好處是不依賴企業(yè)外網(wǎng)環(huán)境,即無論企業(yè)是否能夠 上網(wǎng),都不影響應(yīng)用。缺點(diǎn)是應(yīng)用程序的維護(hù)、移植和互操作變得復(fù)雜。B/S模式, 即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來的新的網(wǎng)絡(luò)結(jié)
45、構(gòu)模式, 其本質(zhì)是三層結(jié)構(gòu)C/S模式。B/S網(wǎng)絡(luò)結(jié)構(gòu)模式是基于Intranet的需求而出現(xiàn)并發(fā) 展的。在B/S模式中,客戶端運(yùn)行瀏覽器軟件。優(yōu)點(diǎn)是:B/S占有優(yōu)勢的是其異地瀏覽和信息采集的靈活性。任何時間、任何地點(diǎn)、任 何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。缺點(diǎn)是:采用B/S結(jié)構(gòu),客戶端只能完成瀏覽、查詢、數(shù)據(jù)輸入等簡單功能,絕大部分 工作由服務(wù)器承擔(dān),這使得服務(wù)器的負(fù)擔(dān)很重。3.請簡要說明利用VB開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的一般步驟。參考答案:利用VB開發(fā)數(shù)據(jù)類應(yīng)用程序的基本框架如下:1)通常要聲明一個全局?jǐn)?shù)據(jù)庫連接對象2)一般要創(chuàng)建Main子過程,并將它設(shè)置為啟動對象。在其中
46、順序完成以下操作:(1)以非模態(tài)方式顯示飛濺窗。(2)創(chuàng)建全局?jǐn)?shù)據(jù)庫連接對象,并連接SQL Server或Access等數(shù)據(jù)庫。(3)以模態(tài)方式顯示登錄窗,等待用戶登錄。(4)登錄成功后,以非模態(tài)方式顯示主窗體,否則退出程序。3)主窗體一般均提供增加、刪除、修改、查詢等對數(shù)據(jù)庫的管理功能,所有操作均使 用全局?jǐn)?shù)據(jù)庫連接對象作為與數(shù)據(jù)庫交互的通道,通過SQL語句對數(shù)據(jù)進(jìn)行處理,其中包 括增加功能、刪除功能、修改功能和查詢功能。4)其他功能。比如數(shù)據(jù)庫備份和恢復(fù)功能、用戶權(quán)限管理功能等。4什么是數(shù)據(jù)庫引擎?VB數(shù)據(jù)庫應(yīng)用系統(tǒng)訪問數(shù)據(jù)庫的主要機(jī)理是什么?參考答案:VB提供了三種數(shù)據(jù)庫訪問引擎,即Je
47、t引擎、ODBC和OLE DB,目前主要使用OLE DB。在VB應(yīng)用程序中主要用這個對象建立與數(shù)據(jù)庫的連接,一般的方法是:1聲明并創(chuàng)建對象Dim ADOcn As New Connection2建立數(shù)據(jù)庫連接ADOcn.Open連接字符串連接字符串如果要連接SQL Server數(shù)據(jù)庫,那么連接字符串一般應(yīng)具有以下組成:Provider=SQLOLEDB;Server=;User ID=;Password=;Database=3對數(shù)據(jù)表進(jìn)行更新操作5ADO對象模型的主要對象是什么?如果連接后臺數(shù)據(jù)庫?參考答案:ADO對象模型的主要對象是:Connection、Command、Recordset、
48、Parameter、Prope rty、Field和Error。聲明并創(chuàng)建對象Dim ADOcn As New Connection建立數(shù)據(jù)庫連接ADOcn.Open連接字符串連接字符串如果要連接SQL Server數(shù)據(jù)庫,那么連接字符串一般應(yīng)具有以下組成:Provider=SQLOLEDB;Server=;User ID=;Password=;Database=6請寫出VB中編寫增、刪、改、查功能的主要步驟和語句。參考答案:ADOcn.Execute SQL語句字符串語句字符串要增加學(xué)生成績表中學(xué)號為20070008的記錄,可以采用以下語句實(shí)現(xiàn):ADOcn.Execute“insert in
49、to學(xué)生成績表(學(xué)號,課程號,成績) Value(,20070008?,?101?,?85?)”要刪除學(xué)生成績表中學(xué)號為001的記錄,可以采用以下語句實(shí)現(xiàn):ADOcn.Execute“DELETE FROM學(xué)生成績表WHERE學(xué)號= ,001?”要修改學(xué)號為20070008學(xué)生課程號為101的成績?yōu)?9。ADOcn.Execute“UPDATE學(xué)生成績表SET成績=?89?WHERE學(xué)號= ,20070008? AND課程號=?101?”要查找所有的學(xué)生的成績ADOcn.Execute“SELECT * FROM學(xué)生成績表 ”第4次作業(yè)及答案一、單項(xiàng)選擇題(每個題只有一個答案是正確的。)1如果
50、希望從學(xué)生表中查詢出所有姓“李 ”的同學(xué),那么條件語句應(yīng)該是(B)。A、Where姓名% ,李?B、Where姓名LIKE ,李?C、Where姓名% ,LIKE李?D、Where姓名LIKE ,李?2在一個教師關(guān)系中,能夠成為主關(guān)鍵字(或稱主碼)的屬性是(B)。A、 教師姓名B、 教師編號C、 教師年齡D、 教師性別3從最終用戶應(yīng)用程序的視角看,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是(C)。A、 模式、外模式和內(nèi)模式B、 內(nèi)模式、外模式和模式C、 外模式、模式和內(nèi)模式D、 外模式、內(nèi)模式和模式4在一個學(xué)生關(guān)系中,能夠成為主關(guān)鍵字(或稱主碼)的屬性是(C)。A、 性別B、 年齡C、 學(xué)號D、 班級5有嚴(yán)格
51、的數(shù)學(xué)基礎(chǔ)的數(shù)據(jù)模型是(A)。A、 關(guān)系模型B、 網(wǎng)狀模型C、 層次模型D、面向?qū)ο竽P?下列關(guān)于索引的說明不正確的是(A)。A、 索引必須創(chuàng)建在主關(guān)鍵字之上B、 索引與基本表分開存儲C、 索引是為了提高查詢速度而創(chuàng)建的D、 索引會在一定程度上影響增刪改操作的效率7.設(shè)關(guān)系R是滿足第一范式的,若R中不存在非主屬性對主鍵的部分函數(shù)依賴,則R符合(A)。A、第二范式B、第三范式C、BNC范式D、第四范式8.下列符合第三范式的關(guān)系是(D)。A、學(xué)生(學(xué)號,姓名,課程號,課程名)B、學(xué)生(學(xué)號,姓名,課程名,成績)C、學(xué)生(學(xué)號,姓名,課程號,成績)D、學(xué)生(學(xué)號,姓名,性別)9.在第一個關(guān)系中出現(xiàn),
52、而在第二個關(guān)系中不出現(xiàn)的記錄組成的新關(guān)系稱為(D)。A、 兩個關(guān)系的積B、 兩個關(guān)系的并C、 兩個關(guān)系的交D、 兩個關(guān)系的差10.數(shù)據(jù)庫應(yīng)用程序開發(fā)中,需求分析階段的主要目的是(A)。A、回答干什么”的問題B、回答怎么干”的問題C、建立邏輯數(shù)據(jù)模型D、建立最佳物理存儲結(jié)構(gòu)11用戶使用SQL Server時,通常需要依次經(jīng)過兩個安全性階段(C)。A、登錄驗(yàn)證、操作驗(yàn)證B、 操作驗(yàn)證、登錄驗(yàn)證C、身份驗(yàn)證、權(quán)限認(rèn)證D、權(quán)限認(rèn)證、身份驗(yàn)證12SQL Server數(shù)據(jù)庫中的一個完整的備份通常要包括(A)。A、系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和事務(wù)日志B、 系統(tǒng)數(shù)據(jù)庫、系統(tǒng)表和數(shù)據(jù)字典C、系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和
53、數(shù)據(jù)字典D、用戶數(shù)據(jù)庫和事務(wù)日志13下列哪些不屬于索引的類型(D)。A、單列索引B、惟一索引C、聚集索引D、事務(wù)日志索引14下列SQL語句中,能夠完成并運(yùn)算的是(A)。A、SELECT * FROM籃球愛好者UNIONSELECT * FROM足球愛好者B、SELECT * FROM籃球愛好者INTERSECTSELECT * FROM足球愛好者C、SELECT * FROM籃球愛好者EXCEPTSELECT * FROM足球愛好者D、SELECT * FROM籃球愛好者, 足球愛好者15設(shè)學(xué)生表和課程表的結(jié)構(gòu)分別為(學(xué)號,姓名)和(學(xué)號,課程號,成績),如果 希望查詢出 “成績大于90分的學(xué)
54、生姓名 ”,則對應(yīng)的SQL語句是(D)。A、SELECT成績90姓名FROM學(xué)生表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號AND課程表.B、SELECT姓名FROM課程表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號AND課程表.成績90C、SELECT姓名FROM學(xué)生表, 課程表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號OR課程表.成績90D、SELECT姓名FROM學(xué)生表,課程表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號AND課 程表.成績90二、填空題1數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)由外模式、模式和內(nèi)模式三級抽象模式 構(gòu)成。2備份是指將數(shù)據(jù)從硬盤復(fù)制到可移動媒體上的過程。3“實(shí)體一聯(lián)系 ”方法是描述數(shù)據(jù)庫
55、概念模型的主要方法,一般稱這種方法為ER方法(或ER圖方法)。4用戶使用SQL Server數(shù)據(jù)庫時,一般需要經(jīng)過兩個安全性階段:身份驗(yàn)證和權(quán)限認(rèn) 證。5E-R圖設(shè)計(jì)一般在數(shù)據(jù)庫設(shè)計(jì)的概念設(shè)計(jì)階段使用。三、判斷題(正確的在括號內(nèi)打上“2,錯誤的打上X”。)1.能夠惟一表示數(shù)據(jù)表中的每條記錄的字段或者字段的組合稱為主碼或主鍵(“。2SQL Server數(shù)據(jù)庫中的NULL值(空值)表示的是“空格”或“0值”(X)3.一個不規(guī)范的關(guān)系模式通常會引發(fā)插入異常、刪除異常和更新異常,導(dǎo)致大量的數(shù) 據(jù)冗余。(2)4.根據(jù)索引的特點(diǎn),應(yīng)該對那些數(shù)據(jù)量大、查詢頻度較高、實(shí)時性要求強(qiáng)的基本表創(chuàng) 建索引,(2)5.
56、數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),有效存儲數(shù)據(jù),滿足用戶信息要求和處理要求。(2)6.參照完整性規(guī)則通常是指在兩個參照和被參照關(guān)系中,參照關(guān)系中每條記錄的外鍵 或者為空,或者等于被參照關(guān)系中某條記錄的主鍵。(2)四、簡述題1請簡要說明視圖的概念和作用參考答案: 視圖是在基本表或其他視圖上建立的表, 它的結(jié)構(gòu)和內(nèi)容都來自某個基本表, 是依據(jù)基本表存在而存在的。刪除一個視圖時, 不會對基本表產(chǎn)生任何影響, 但當(dāng)刪除一張 基本表時,與之相關(guān)聯(lián)的視圖就會自動被刪除。其作用主要是:(1)視圖是經(jīng)過預(yù)編譯的SELECT語句,存儲在數(shù)據(jù)庫服務(wù)器端,因此執(zhí)行視
57、圖比從客戶端直接執(zhí)行SELECT語句 速度更快、效率更高一些。(2)視圖屬于用戶模式范疇,在實(shí)際中,一般的用戶不一定具 有SELECT語句方面的專門知識,從用戶友好性角度來說,視圖更便于用戶使用。(3)利用視圖可以簡化的形式表達(dá)復(fù)雜的SELECT語句組,如嵌套查詢等。2什么是函數(shù)依賴與函數(shù)決定,請舉例說明參考答案:設(shè)一個關(guān)系為R,X和Y是它的兩個屬性集。若對于X上的每個值都有Y上的一個惟 一值與之對應(yīng),則稱X和Y具有函數(shù)依賴關(guān)系,并稱X函數(shù)決定Y,或稱Y函數(shù)依賴于X, 稱X為決定因素。假設(shè)一個職工關(guān)系為 (職工號, 姓名, 性別, 年齡, 職務(wù)) ,職工號用來標(biāo)識每個職工, 選作該關(guān)系的主鍵。
58、 我們可以從以下兩方面理解函數(shù)依賴的概念: 首先, 對于該關(guān)系中每個 職工的職工號, 都對應(yīng)著姓名屬性中的惟一值, 即該職工的姓名, 或者說一個職工的姓名由 其職工號惟一確定, 所以稱職工號函數(shù)決定姓名, 或稱姓名函數(shù)依賴于職工號。其次,除職 工號外, 其他屬性都不能成為決定因素形成函數(shù)依賴, 因?yàn)閷τ谒鼈兊拿總€屬性值, 都可能 對應(yīng)另一屬性的多個不同的取值, 比如對于性別屬性的一個取值 “男”就會對應(yīng)多個而不是一 個職工號。3請簡要說明存儲過程的概念和優(yōu)點(diǎn)。參考答案:存儲過程(Stored Procedure)是一組預(yù)先編譯好的,以一種可執(zhí)行的形式永久地存儲在數(shù)據(jù)中的SQL代碼。使用存儲過程
59、的好處可歸納為以下幾點(diǎn):(a)執(zhí)行速度快。在經(jīng)過第一次調(diào)用以后,就駐留在內(nèi)存中,不必再經(jīng)過編譯和優(yōu)化;(b)模塊化的程序設(shè)計(jì)。經(jīng)過了一次創(chuàng)建以后,可以被調(diào)用無數(shù)次;(c)減少網(wǎng)絡(luò)流量;(d)保證系統(tǒng)的安全性。五、綜合應(yīng)用題1設(shè)有有以下基本表:(1)供應(yīng)商表 (供應(yīng)商編號,供應(yīng)商名稱, 供應(yīng)商所在城市) ;(2)零件表(零件編號,零件名稱,零件顏色,零件重量) ;(3)工程項(xiàng)目表(工程編號,工程名稱,工程所在城市);(4)工程供貨表(工程編號,供應(yīng)商編號,零件編號,零件 數(shù)量)。用SQL語言寫出下列查詢語句,1)查詢所有工程的全部細(xì)節(jié):SELECT * FROM工程項(xiàng)目表(2)查詢所在城市為上海的所有工程的全部細(xì)節(jié)SELECT * FROM工程項(xiàng)目表WHERE工程所在城市=?上海?(3)查詢重量最輕的零件代號SELECT零件編號FROM零件表WHERE零件重量=(SELECT MIN(零件重量) FROM零件表)(4)查詢?yōu)楣こ叹幪枮椤癑G20
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- CRISPR編輯胚胎基因表達(dá)-深度研究
- 船舶維修環(huán)保管理體系構(gòu)建-深度研究
- 網(wǎng)絡(luò)設(shè)備故障隔離策略-深度研究
- 眾籌購買合同范本
- 免招標(biāo)合同范本
- 買房贈與車庫合同范本
- 冷凍物品購銷合同范本
- 2025屆中國電建集團(tuán)重慶工程有限公司秋季招聘筆試參考題庫附帶答案詳解
- 交流合同范本
- 義診合作合同范本
- 臍疝護(hù)理查房課件
- XX學(xué)校學(xué)校集體備課實(shí)施方案細(xì)則、方案、計(jì)劃、制度、總結(jié)(全套資料)
- 開展去向不明人員專項(xiàng)工作方案
- 無人機(jī)項(xiàng)目商業(yè)計(jì)劃書
- 南方談話學(xué)習(xí)匯報
- 高處作業(yè)吊籃施工安全監(jiān)理實(shí)施細(xì)則
- 中國結(jié)核病預(yù)防性治療指南
- 大班科學(xué)《燈的故事》PPT優(yōu)質(zhì)課件
- 危重癥呼吸支持治療
- 雅馬哈電子琴KB290說明書
- 新課標(biāo)初中語文7-9年級必背古詩文言文
評論
0/150
提交評論