版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章思考與練習題一、選擇題1.三級模式間存在兩種映射,它們是(C)。A.模式與子模式間,模式與內模式間B.子模式與內模式間,外模式與內模式間C.外模式與模式間,模式與內模式間D.模式與內模式間,模式與模式間2.SQLServer系統(tǒng)中的所有系統(tǒng)級信息存儲于哪個數據庫(A)。A.masterB.modelC.tempdbD.msdb3.下面關于tempdb數據庫描述不對的的是(D)。A.是一個臨時數據庫B.屬于全局資源C.沒有權限限制D.是用戶建立新數據庫的模板4.在數據庫技術中,面向對象數據模型是一種(B)。A.概念模型B.結構模型C.物理模型D.形象模型5.數據庫管理系統(tǒng)常見的數據模型有(B)。A.網狀、關系和語義B.層次、關系和網狀C.環(huán)狀、層次和關系D.網狀、鏈狀和層次6.用戶看到的數據表,屬于數據庫系統(tǒng)三級模式中的(D)。A.外模式B.內模式C.子模式D.模式7.對數據的插入屬于數據庫管理系統(tǒng)(B)的功能。A.數據定義B.數據操縱C.數據庫的運營管理D.數據庫的建立和維護8.保持數據的完整性屬于數據庫管理系統(tǒng)(C)的功能。A.數據定義B.數據操縱C.數據庫的運營管理D.數據庫的建立和維護9.在SQLServer數據庫中,默認情況下Sys通常是(C)。A.數據文獻的后綴B.事務日記文獻的后綴C.系統(tǒng)表表名的前綴D.輔助文獻的后綴二、填空題1.計算機數據解決技術大體經歷了(人工管理)、(文獻管理)、(數據庫管理)等不同的發(fā)展階段。2.數據庫系統(tǒng)由(外模式)、(模式)和(內模式)三級抽象模式構成。3.數據庫管理系統(tǒng)的重要功能涉及(數據定義)、(數據操縱)、(數據庫的運營管理)、(數據庫的建立和維護)。4.關系模型由三部分組成(數據結構)、(關系操作集合)和(關系的完整性)。5.SQLServer提供了大量易用的管理工具,比較常用的重要有(服務管理器)、(公司管理器)和(查詢分析器)。6.數據文獻的后綴是(mdf)。7.事務日記文獻的后綴是(ldf)。8.SQLServer數據庫分為(系統(tǒng)數據庫)和(用戶數據庫)兩種類型。三、簡答題1.什么是數據和數據解決?數據與信息的區(qū)別聯系是什么?參考答案:數據(Data)是一組表達數量、行動和目的的非隨機的可鑒別的符號。數據解決通常涉及查找、記錄、分類、修改、計算、匯總等各種方法。數據(Data)是一組表達數量、行動和目的的非隨機的可鑒別的符號。信息(Information)是通過加工的,能對接受者的行為和決策產生影響的、有價值的數據。假如將數據比方為原料,那么信息就是數據通過加工而生產的產品,是有價值的數據。與原料和產品的概念相似,一個系統(tǒng)的產品也許是另一個系統(tǒng)的原料,那么一個系統(tǒng)的信息也許成為另一個系統(tǒng)的數據。2.數據庫、數據庫管理系統(tǒng)、數據庫系統(tǒng)之間到底是什么關系?參考答案:數據庫就是各種相關數據的集合和容器。數據庫所保存的數據是指長期儲存在計算機內、有組織的、可共享的數據集合。數據庫中的數據必須按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的數據獨立性和易擴展性,并可以被一定范圍內的各種用戶共享。數據庫管理系統(tǒng)是對數據庫進行管理的系統(tǒng)軟件,位于用戶和操作系統(tǒng)之間,為用戶或應用程序提供訪問數據庫的方法和工具。廣義上,數據庫系統(tǒng)就是采用了數據庫技術的計算機系統(tǒng),一般由數據庫、數據庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數據庫管理員和用戶構成。狹義上講,數據庫系統(tǒng)重要指數據庫和數據庫管理系統(tǒng),由于這兩者在應用中的互相依賴性,所以在一般不引起混淆的情況下經常把數據庫系統(tǒng)簡稱為數據庫。3.請描述一下SQLServer數據庫的存儲結構。參考答案:SQLServer數據庫的存儲結構涉及物理存儲結構和邏輯存儲結構兩個層面。在物理層面上,SQLServer數據庫是由兩個操作系統(tǒng)文獻組成的,即數據文獻和事務日記文獻,它們的后綴分別是MDF和LDF。數據文獻重要用于存儲數據,事務日記文獻重要用于存儲數據庫的更新情況等事務日記信息。在邏輯層次上,數據庫是由表、視圖、存儲過程等一系列數據對象組成的。當采用SQLServer公司管理器將上述數據庫文獻“打開”后,就能看到數據庫的邏輯結構了,如圖XXX所示。數據庫中的數據分別存儲在幾個不同的對象中,而這些對象是用戶在操作數據庫時,實際可以看到和接觸到的,屬于邏輯存儲結構。常用的數據庫對象重要涉及:表(Table)、索引(Index)、視圖(Views)、觸發(fā)器(Triggers)、存儲過程(StoreProcedures)、缺省(Default)、約束(Constraints)、用戶(Users)以及圖表(Diagram)和用戶自定義的數據類型等。在以后的章節(jié)中,我們將逐步學習這些對象的使用方法。4.簡述關系模型的組成。參考答案:系模型是目前最重要的一種數據模型。關系數據庫系統(tǒng)采用關系模型作為數據的組織方式。關系模型由三部分組成:數據結構、關系操作集合和關系的完整性。數據結構是指在關系模型中,無論是數據還是數據之間的聯系都是以二維表(關系)這一種簡樸的結構表達的,這即符合人們使用數據的習慣,同時也便于計算機實現。關系操作是指關系代數(或等價的關系演算)中并、交、差、選擇、投影、連接等。關系模型給出了關系操作的能力和特點,但不對DBMS的語言給出具體的語法規(guī)定。關系語言的特點是高度的非過程化。其操作方式的特點是集合操作,即操作的對象和結果是集合,稱為一次一集合的方式,而不是一次一個記錄的方式。關系完整性涉及實體完整性、參照完整性和用戶自己定義的完整性。實體完整性是保證數據庫中記錄的惟一性,即每個記錄的主鍵不能為空值,也不能與其他記錄的主鍵相同。參照完整性是保證表與表之間語意上的完整性,即當一個表引用在另一個表中定義的實體時,要保證這個實體的有效性。這兩種完整性是關系模型必須滿足的約束條件,應當由關系系統(tǒng)自動支持。而用戶自定義完整性反映了用戶的規(guī)定,是用戶自行定義的。第二章思考與練習題一、選擇題1.下述關于索引的描述,對的的是(B)。A.撤消索引會同時撤消數據庫中與之相關的內容B.建立索引后,會影響基本表的插入速度C.基本表的記錄數量越多,越不應當建立索引D.基本表的記錄越長,越不應當建立索引2.下述關于視圖的描述,對的的是(C)。A.視圖僅由一個基本表導出B.執(zhí)行視圖比在客戶端直接執(zhí)行SELECT語句的速度要慢C.在SQLServer中,可以像基本表同樣對視圖進行查詢操作D.視圖存儲在客戶端的數據庫中3.假如希望從學生表中查詢出所有姓“張”的同學,那么條件語句應當是(B)。A.Where姓名%‘張’B.Where姓名LIKE‘張%’C.Where姓名%‘LIKE張’D.Where姓名LIKE‘張’4.下列SQL語句中,可以完畢求某列最大值的是(B)。A.SELECTAVG(Age)FROMStudentB.SELECTMAX(Age)FROMStudentC.SELECTMIN(Age)FROMStudentD.SELECTCOUNT(*)FROMStudent5.……將涉及到關系(D)。……二、填空題1.SQL數據定義語言的重要作用是創(chuàng)建存儲數據的結構,而數據操縱語言的重要作用則是向數據庫中填寫數據,具體涉及增長、刪除、修改等操作。2.當需要對查詢結果進行排序時,可以指定其排序方式,字段后使用ASC表達升序,DESC表達降序。3.視圖是一個虛表,它是從一個或多個基本表中導出的表。三、簡答題1、什么是SQL,請簡要說明它的組成和特點。參考答案:結構化查詢語言,StructuredQueryLanguage,簡稱SQL,是關系數據庫的標準語言。SQL語言共分為四大類:數據定義語言,數據查詢語言,數據操縱語言,數據控制語言。它的特點涉及:非過程化語言,統(tǒng)一的語言,是所有關系數據庫的公共語言。2、索引的作用是什么?SQLServer有哪幾類索引,各自的特點是什么?參考答案:索引(Index)提供了一種快速訪問數據的途徑,索引是在基本表的列上建立的一種數據加對象,索引是為了加速查詢速度而創(chuàng)建的。實際的索引通常是這兩大類5種方式的組合。(1)單列索引:對基本表的某一單獨的列進行索引,是最簡樸和最常用的索引類型,通常情況下,應對每個基本表的主關鍵字建立單列索引。(2)惟一索引:一旦在一個或多個列上建立了惟一索引,則不允許在表中相應的列上插入任何相同的取值。使用惟一索引不僅能提高查詢性能,還可以維護數據的完整性。(3)復合索引:是針對基本表中兩個或兩個以上列建立的索引。(4)聚集索引:會改變基本表中記錄的物理存儲順序。即表中記錄的物理排序順序不再按插入的先后排列,而是根據索引列重新排序。(5)非聚集索引:表中記錄的物理順序與索引順序不同,表中的記錄仍按實際插入的先后順序排列,不按索引列排序。3、什么是基本表?什么是視圖?視圖有什么特點?在什么情況下需要創(chuàng)建視圖?參考答案:表是一個由行、列組成的二維結構,通常把行稱做記錄,把列稱為字段。視圖是由查詢數據庫表產生的,它其實是一個虛擬的表,它限制了用戶能看到和修改的數據。視圖的特點是在基本表或其他視圖上建立的表,它的結構和內容都來自某個基本表,是依據基本表存在而存在的。刪除一個視圖時,不會對基本表產生任何影響,但當刪除一張基本表時,與之相關聯的視圖就會自動被刪除。假如要限制用戶可以看到的數據庫中的信息,可以使用視圖。4、謂詞LIKE的作用是什么?參考答案:擬定給定的字符串是否與指定的模式匹配。模式可以包含常規(guī)字符和通配符字符。模式匹配過程中,常規(guī)字符必須與字符串中指定的字符完全匹配。5、假如創(chuàng)建一個數據庫其SQL語句是什么?參考答案:CREATEDATABASE數據庫名稱6、存儲過程的含義是什么?創(chuàng)建存儲過程的SQL語句是什么?參考答案:存儲過程(StoredProcedure)是一組預先編譯好的,以一種可執(zhí)行的形式永久地存儲在數據中的SQL代碼,在master數據庫中存儲了一些SQLServer事先定義好的系統(tǒng)存儲過程,通常以sp_xxxx做為存儲過程的名字。當用戶創(chuàng)建數據庫時,也會自動生成一些事先定義好的存儲過程,通常以dt_xxxx做為名字。創(chuàng)建存儲過程的SQL語句是:(1)語句格式:CREATEPROC[EDURE]<存儲過程名>AS<SQL語句>(2)語句功能:創(chuàng)建一個存儲過程,<SQL語句>多數是指運用SQLServer的Transact-SQL編寫的程序。7、什么是事務?舉例說明事務解決的作用是什么?參考答案:事務(Transaction)是并發(fā)控制的基本單位,它反映了現實世界中需要以一個完整的單位提交的一項工作。SQLServer通過事務機制,將邏輯相關的一組操作捆綁在一起,以便服務器保持數據的完整性。它是SQL復雜程序設計必不可少的內容。事務需要用戶根據實際業(yè)務規(guī)則定義,有一定的難度,但其原理比較簡樸。舉例說,假如我們正在使用UPDATE語句同時對學生表、成績表中的學號”20230001”改為”20230001”。這個任務需要兩條UPDATE語句組成,即:UPDATE學生表SET學號=’20230001’WHERE學號=’20230001’UPDATE成績表SET學號=’20230001’WHERE學號=’20230001’假如在執(zhí)行完第一個語句后,計算機忽然斷電,而第二條語句還沒來得急執(zhí)行,數據出現了不一致怎么辦?這時候就需要用到SQL的事務控制功能了。假如使用了SQLServer的事務控制機制,以上兩個問題均可獲得很了的解決。在使用事務的情況下,SQLServer可以保證,要么所有的記錄要么所有解決,要么一行也不解決。假如修改了所有記錄的一半時服務器犯錯了,SQLServer會返回到以前未執(zhí)行UPDATE操作前的位置,清除它已經修改過的數據,這就是事務解決的作用。8、SQLServer有哪些數據類型,它們的重要用途是什么?參考答案:SQLServer提供了數值型、字符型、日期型、二進制型、位型、雙字節(jié)型等6大類數據類型。數據類型是數據的一種屬性,表達數據所表達信息的類型。任何一種計算機語言都定義了自己的數據類型。9、假設某教學管理數據庫有以下三張表,請寫出下列問題的SQL語句:學生(學號,姓名,年齡,性別)課程(課程號,課程名,任課教師)成績(學號,課程號,成績)(1)如何在SQLServer上創(chuàng)建這三張表;參考答案:學生表:createtable學生表(學號char(8)primaryKey,姓名char(8),年齡int,性別bit)課程表:creat(yī)etable課程表(課程號char(7)primaryKey,課程名char(20),任課教師char(8))成績表:createtable成績表(學號char(8),課程號char(7),成績Numeric(4,2))(2)查詢劉峰教師所授課程號,課程名;參考答案:Select課程號,課程名from課程表where任課教師=’劉峰’(3)查詢年齡大于20歲的所有男同學的學號、姓名;參考答案:Select學號,姓名from學生表where性別=1and年齡>20(4)查詢至少選修了兩門課程(含兩門)的學生學號;參考答案:select學號from成績groupby學號havingcount(學號)>=2(5)查詢王文芳同學選修的所有課程的課程號;參考答案:Select課程號from成績表,學生表Where學生表.姓名=’王文芳’and學生表.學號=成績表.學號(6)查詢王文芳同學不學的課程的課程號;參考答案:select課程號from成績表where課程號notin(select課程號from學生表,成績表where學生表.姓名='王文芳'and學生表.學號=成績表.學號)(7)查詢所有上劉峰老師課程的學生學號;參考答案:Select學號from成績表,課程表,學生表Where課程表.任課教師='劉世峰'and課程表.課程號=成績表.課程號and課程表.學號=成績表.學號(8)查詢所有選修“數據庫原理”的學生的學號;參考答案:Select學號from成績表,課程表where課程表.課程名='數據庫技術'and課程表.課程號=成績表.課程號(9)向學生表中插入一條記錄(’2023001’,’吳紅’,21,’女’);(1表達女,0表達男)參考答案:insertinto學生表values('2023001','吳紅','21',1)(10)刪除三張表中所有學號為20230231的學生信息;參考答案:Deletefrom學生表where學號=’>20230231’Deletefrom學生表where學號=’20230231’(11)把學號為20230002的學生的年齡改為22歲;參考答案:Update學生表set年齡=’22’where學號=’20230002’第三章思考與練習題一、選擇題1.設一個關系為R,假如它的每個屬性都是不可再分的,則稱這個關系是符合(A)。A、第一范式B、第二范式C、第三范式D、BNC范式2.在第一個關系中出現,在第二個關系中不出現的記錄組成的關系稱為兩個關系的(C)。A、交B、并C、差D、笛卡兒積二、簡答題1.設關系模式R有N個屬性,在模式R上也許成立的函數依賴有多少個?參考答案:函數依賴有N×(N-1)個2.設有關系模式R(職工號,職工名,項目號,項目名,工資),假設一個職工可參與多個項目,在每個項目中各領一份工資。那么請回答以下問題:(1)請寫出這個關系模式的函數依賴和主關鍵字;函數依賴涉及:職工號→職工名,項目號→項目名,(職工號,項目號)→工資主鍵為(職工號,項目號)(2)這個關系符合第幾范式,為什么?這個關系符合第一范式,由于它的每個屬性都不可再分。(3)請舉例說明,這個關系存在哪些問題;這個關系沒有達成第二范式,也許出現數據冗余和操作異常。例如,某個職工參與了多個項目的工作,他的職工號、職工名會反復多次存儲。同樣,假如一個項目有多名職工參與,項目號和項目名也會反復我次存儲。此外,假如現在增長了一個新的項目,但暫時還沒有安排職工參與,那么由于主鍵是(職工號,項目號),這個項目的信息也許無法插入。(4)請把這個關系模式分解成3NF,并說明理由。修改后的各個關系如下:職工關系=(職工號,職工名)項目關系=(項目號,項目名)職工選擇項目關系=(職工號,項目號,工資)(注:此處的工資是指職工參與某個項目得到的勞動報酬)3.關系完整性的重要內容是什么?為什么要保證關系的完整性?參考答案:關系完整性就是關系模型中數據的對的性、一致性和有效性。關系完整性又涉及實體完整性、參照完整性和用戶定義的完整性三個方面。只有保證了關系的完整性,才干使數據庫中的數據對的、一致和有效。4.SQLServer中進行關系完整性的重要方法是什么,請寫出相應的SQL語句。參考答案:1)SQLServer通過約束機制來實現數據庫完整性保護。重要涉及:PrimaryKey約束、ForeignKey約束、Default約束、Unique約束、Check約束等。PrimaryKey約束:學號char(8)NOTNULLPRIMARYKEY(學號)ForeignKey約束:學號char(8)NOTNULLREFERENCES學生表(學號)Default約束:成績numeric(9,2)DEFAULT0.00Unique約束:學號char(8)NOTNULLUNIOQUE(學號)Check約束:年齡intCHECK(年齡)17and年齡<25)2)使用規(guī)則實行數據的完整性。創(chuàng)建規(guī)則的語法結構如下:CREATERULE規(guī)則名AS條件表達式3)使用默認實行數據完整性管理。創(chuàng)建默認的語法如下:CREATEDEFAULT默認名AS默認值5.為什么要進行規(guī)范化?規(guī)范化的相關理論是什么?請簡要說明。參考答案:為保證數據庫設計的對的性,在數據庫邏輯設計階段,常使用關系規(guī)范化理論來指導關系型數據庫的設計。其基本思想是,每個關系都應滿足一定的規(guī)范,才干使關系模式設計合理,達成減少冗余,提高查詢效率的目的。一個好的數據庫關系,應當沒有數據冗余、更新異常、插入異常、刪除異常問題的存在,這就必須進行規(guī)范化解決。規(guī)范化使用的理論是函數依賴。6.什么是一個“好”的關系模式,一個“不好”的關系模式有什么缺陷?參考答案:“好”的關系模式通常是指符合第三范式規(guī)定的關系,“不好”的關系模式會存在數據冗余、更新異常、插入異常、刪除異常等問題。7.請寫出一個符合第三范式的關系模式,并說明理由。參考答案:學生=(學生號,姓名,性別,專業(yè))課程=(學生號,課程號,成績)選課=(課程號,課程名,課程學分)第四章思考與練習題一、填空題1.數據庫設計一般涉及需求分析、概念設計、邏輯設計、物理設計、數據庫實行和運營維護等階段。2.數據庫應用系統(tǒng)的建設涉及結構設計和行為設計兩個方面。3.數據庫設計的重要原則涉及表設計原則、字段設計原則和其他原則。4.E-R圖的設計關鍵在于對實體、聯系的選擇和表達。5.物理設計的重要內容涉及存儲記錄的格式設計、存儲方法設計、訪問方法設計以及完整性和安全性考慮。二、簡答題1.請簡要說明數據庫應用系統(tǒng)設計的環(huán)節(jié)。參考答案:數據庫應用系統(tǒng)設計的環(huán)節(jié)涉及需求分析、概念設計、邏輯設計和物理設計。2.數據庫設計的目的是什么,請談談你的理解。參考答案:數據庫設計指的是設計數據庫及其應用系統(tǒng)的技術,是指對于一個給定的應用環(huán)境,涉及硬件環(huán)境和操作系統(tǒng)、數據庫管理系統(tǒng)(DBMS)等軟件環(huán)境,如何使用這個環(huán)境來表達用戶的規(guī)定,構造最優(yōu)的數據庫模式,建立數據庫及圍繞數據庫展開的應用系統(tǒng),使之可以有效地收集、存儲、操作和管理數據,滿足公司組織中各類用戶的應用需求(信息需求和解決需求)。3.基本表設計的重要原則是什么,堅持這些原則有什么好處?參考答案:基本表設計最重要的原則是關系規(guī)范化,盡也許達成第三范式。規(guī)范化有助于消除數據庫中的數據冗余,減少更新異常。規(guī)范化有好幾種形式,但第三范式通常被認為在性能、擴展性和數據完整性方面達成了最佳平衡。簡樸來說,遵守第三范式標準的數據庫的表設計原則是:“OneFactinOnePl(wèi)ace”(一個事實相應一個地方),即某個表只涉及其自身基本的屬性,當不是它們自身所具有的屬性時需進行分解。表之間的關系通過外鍵相連接。4.進行SQLServer數據庫設計時,一般有哪些命名規(guī)則?參考答案:一方面,命名的長度應盡量充足。假設某公司現有職工在一千人以內,假如用數字表達職工號的話,職工號的長度為3位即可,它最大可以表達999個職工。但是,假如考慮到公司未來的發(fā)展,那么職工號最佳設為4位,當公司職工數目突破千人時,主線無需重構整個數據庫。另一方面,小心保存詞。要保證字段名沒有與SQL等保存詞或者常用訪問方法名發(fā)生沖突。最后,慎用使用觸發(fā)器。觸發(fā)器在保證數據完整性方面發(fā)揮著積極作用,但它同時也會帶來效率方面的問題,因此要慎用。觸發(fā)器的功能通??梢杂闷渌绞綄崿F。5.什么是數據流程圖,數據字典的重要作用是什么,談談你的理解。參考答案:數據流圖(DataFlowDiagram,簡記DFD),是在業(yè)務流程分析基礎上,描述實際數據流動和加工過程的圖形表達法,它一般有4種符號,即外部實體、數據流、加工和存儲。外部實體數據的來源和去向;數據流用帶箭頭的連線表達,反映數據的流動方向;加工用橢圓、圓或方框代表(本教材運用圓形表達加工),表達對數據的加工解決動作;存儲表達數據的存檔情況。數據字典(Dat(yī)aDictionary,簡記DD),是對數據流程圖中數據流和存儲結構的描述。在數據庫應用系統(tǒng)設計中,數據字典是表、視圖設計的重要依據。6.什么是E-R圖,它的作用是什么?參考答案:E-R圖是E-R(實體-關系)方法的重要組成部分。E-R方法是描述概念模型的有力工具。E-R圖方法是一種有效的信息抽象方法。在E-R圖中,用長方形表達實體,用橢圓形表達屬性,用菱形表達聯系。在圖形內標記它們的名字,它們之間用無向線段相連,表達聯系的線段上標明是哪種聯系。它的作用是采用E-R圖模型將現實世界的信息結構統(tǒng)一用實體、屬性以及實體之間的聯系來描述。7.簡要說明需求分析階段的重要任務和目的。參考答案:需求分析階段的重要目的是回答“干什么”的問題。需要從多方面對擬開發(fā)數據庫應用系統(tǒng)的企事業(yè)單位進行調查,收集和分析各項應用對信息和解決兩方面的需求。了解和掌握數據庫應用系統(tǒng)開發(fā)對象(或稱用戶)的工作業(yè)務流程和每個崗位、每個環(huán)節(jié)的職責,了解和掌握信息從開始產生或建立,到最后輸出、存檔或消亡所通過的傳遞和轉換過程,了解和掌握各種人員在整個系統(tǒng)活動過程中的作用;通過同用戶充足地交流和溝通,決定那些工作應由計算機來做,哪些工作仍由手工來做,決定各種人員對信息和解決各有什么規(guī)定,對視屏操作界面和報表輸出格式各有什么規(guī)定,對數據(信息)的安全性(保密性)和完整性各有什么規(guī)定等等。需求分析階段的重要工作就是,通過調查從用戶處獲得對數據庫的下列需求。信息需求:用戶將從數據庫中獲得的信息的內容和性質,有信息規(guī)定導出數據規(guī)定,即在數據庫中存儲哪些數據。解決需求:用戶要完畢什么解決功能,對某種解決的執(zhí)行頻度、用戶規(guī)定的響應時間,以及解決的方式是聯機解決還是批解決等。安全性和完整性的約束第五章思考與練習題一、簡答題1.請簡要說明數據庫安全機制?參考答案:一個用戶訪問SQLServer必須要通過4個層次的安全控制,操作系統(tǒng)的安全性;服務器的安全性;數據庫的安全性;表和列的安全性。從上述流程可以看出,用戶使用SQLServer時,需要通過兩個安全性階段:身份驗證和權限認證。身份驗證階段系統(tǒng)只檢查用戶是否有連接SQLServer實例的權力,假如身份驗證通過了,只表達用戶可以連接SQLServer實例,否則系統(tǒng)將拒絕用戶的連接。然后需要檢查用戶是否有訪問服務器上數據庫的權限,為此需要授予每個數據庫中映射到用戶登錄的賬號訪問權限,權限認證就可以控制用戶在數據庫中進行的操作。2.登錄賬號和用戶賬號的含義是什么?它們有什么區(qū)別聯系?參考答案:登錄賬號用于身份驗證,使得用戶到達登錄到SQLServer服務器,屬于服務器層面,相稱于大門的鑰匙;用戶賬號用于權限驗證,屬于數據庫層面,相稱于自己房間的鑰匙。用戶賬號在定義時便與一個登錄賬號相關聯,即任何一個用戶賬號背后都有一個登錄賬號。3.請簡要說明使用公司管理創(chuàng)建登錄賬號和用戶賬號的過程。參考答案:(1)在SQLServer的公司管理器下,展開“SQLServer組”文獻夾,找到需要建立登錄賬號的服務器并展開其文獻夾,再展開“安全性”文獻夾,在“登錄”選項上右擊鼠標,在出現的快捷菜單中單擊“新建登錄”菜單命令,打開“SQLServer登錄屬性->新建登錄”對話框。(2)SQLServer支持“Windows身份驗證”和單擊“SQLServer身份驗證”兩種認證模式。選擇“SQLServer身份驗證”單選鈕,在“名稱”文本框中輸入要創(chuàng)建的登錄賬號名稱,例如“mysa”,在“身份驗證”選項組中,并輸入密碼。(3)設立完畢后,單擊“擬定”按鈕,即可完畢登錄賬號的創(chuàng)建。接下來,開始創(chuàng)建用戶賬號,基本方法是:(1)在公司管理器中,展開SQLServer組及其服務器,在“數據庫”文獻夾中,展開某一數據庫,例如“進銷存”的文獻夾,然后在“用戶”選項上右擊,在彈出的快捷菜單中選擇“新建數據庫用戶”命令,打開新建用戶對話框。(2)單擊“登錄名”下拉列表框右端的下拉箭頭,會看到剛剛創(chuàng)建的“mysa”登錄帳號。選擇“mysa”登錄賬號,此時“用戶名”文本框中自動顯示為“mysa”??梢愿摹坝脩裘蔽谋究蛑械挠脩裘?也可以在“數據庫角色成員”列表框中選擇新建用戶應當屬于的數據庫角色。(3)設立完畢后,單擊“擬定”按鈕,即可在“進銷存”數據庫中創(chuàng)建一個新的用戶賬號。假如不想創(chuàng)建用戶賬號,單擊“取消”按鈕即可。4.如何對用戶賬號進行授權管理,一般有哪些權限,請簡要說明。參考答案:(1)展開服務器組,然后展開服務器;展開“數據庫”項,然后找到相關的數據庫,比如“進銷存”;(2)展開“進銷存”數據庫,根據對象類型,單擊表、視圖、存儲過程等對象,找到需要進行授權管理的數據庫對象,比如“物資臺賬”表。(3)右擊授予權限所在的對象,從彈出菜單中選擇“所有任務->管理權限”選項;單擊“列出所有用戶/用戶定義的數據庫角色/public”選項,然后選擇授予每位用戶的權限。其中,選中標記表達授予權限。進一步,通過本界面可完畢列級的授權管理。此外,也可以采用GRANT(授予權限)、DENY(拒絕權限)和REVOKE(撤消權限)等SQL語句完畢授權管理。5.為什么要進行數據備份?數據庫備份涉及哪些重要內容?參考答案:任何系統(tǒng)都不可避免會出現各種形式的故障,而某些故障也許會導致數據庫劫難性的損壞,所以做好數據庫的備份工作極為重要。備份可以創(chuàng)建在磁盤、磁帶等備份設備上,與備份相應的是還原。數據庫備份就是在某種介質上(磁帶、磁盤等)存儲數據庫(或者其中一部分)的拷貝的過程。更嚴格意義上講,備份應當是一種把數據從硬盤上復制到其他可移動介質上的操作過程。一個完整的備份通常要涉及三部分內容,即系統(tǒng)數據庫、用戶數據庫和事務日記。6.什么是備份設備,請談一談SQLServer中創(chuàng)建備份設備的重要環(huán)節(jié)和方法。參考答案:備份設備是用來存儲數據庫、事務日記或文獻和文獻組備份的存儲介質。SQLServer支持3種備份設備,即磁盤設備、磁帶設備和命名管道設備。在SQLServer中,可以采用兩種方法創(chuàng)建備份設備,一是運用公司管理器;二是使用系統(tǒng)存儲過程sp_addumpdevice。其環(huán)節(jié)如下:在公司管理器中展開服務器組,展開指定的服務器,展開“管理”文獻夾,右擊“備份”,在彈出的快捷菜單中選擇“新建備份設備”選項,打開“備份設備屬性-新設備”對話框。在“名稱”文本框中輸入邏輯設備的名稱,在下面選擇磁帶或者磁盤備份設備,并設立物理位置。當使用磁盤時,SQLServer允許將本地主機硬盤和遠程主機上的硬盤作為備份設備,備份設備在硬盤中是以文獻的方式存儲的。完畢后,單擊“擬定”按鈕即可。缺省情況下,備份設備的全途徑為“C:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\進銷存數據庫備份.BAK”,備份設備文獻名為“進銷存數據庫備份.BAK”,缺省途徑為SQLServer安裝目錄的BACKUP文獻夾。7.事務日記文獻有什么用途?是否也需要備份?為什么?參考答案:SQLServer數據庫是由兩個操作系統(tǒng)文獻組成的,即數據文獻和事務日記文獻。事務日記文獻重要用于存儲數據庫的更新情況等事務日記信息。事務日記文獻非常重要,所有對數據庫的更改操作都會記錄于此,當數據庫損壞時,數據庫管理員可使用事務日記恢復數據庫。從事務日記文獻的作用上可以看出,它是非常有用和重要的,因此也需要備份。8.請按以下操作練習一下數據庫備份操作,并體會一下數據庫備份的的效果。(1)創(chuàng)建一個數據庫;(2)使用CREATETABLE語句在數據庫中創(chuàng)建一張表;(3)使用INSERT語句向表中插入若干條數據;(4)進入公司管理器,對數據庫進行備份操作;(5)使用DROPTABLE語句刪除已創(chuàng)建的表;(6)使用公司管理器,對數據庫進行還原操作。參考答案:CREATEDATABASE學生庫學生表:createtable學生(學號char(8)primaryKey,姓名char(8),年齡int,性別bit)insertinto學生values('2023001','王麗','19',1)insertinto學生values('2023002','張華','20',0)insertinto學生values('2023003','李敏','19',1)DROPTABLE學生第六章思考與練習題一、簡答題1.什么是嵌入式SQL,它有哪些特點和用途?參考答案:嵌入式SQL語言是將SQL語句直接嵌入到程序的源代碼中,與其他程序設計語言語句混合。嵌入式SQL的用途:它是數據庫應用程序的一種開發(fā)方法。是一種應用程序進行數據庫訪問時所采用的編程式數據庫語言。嵌入式SQL的特點是,數據庫管理系統(tǒng)DBMS一般會采用預編譯的解決辦法,即由DBMS的預解決程序對源程序進行掃描,辨認出SQL語句,把它們轉換成宿主語言調用語句,以使宿主語言編譯程序可以辨認它,最后再由宿主語言的編譯程序將整個源程序編譯成目的碼。嵌入SQL語句完畢的功能也可以通過應用程序接口(API)實現。2.請簡述C/S和B/S的重要原理,并說明它們各自的優(yōu)缺陷。參考答案:C/S模式就是基于公司內部網絡的應用系統(tǒng)。傳統(tǒng)的C/S模式是一種兩層結構的系統(tǒng),第一層是在客戶機系統(tǒng)上結合了表達與業(yè)務邏輯;第二層是通過網絡結合了數據庫服務器。優(yōu)點是:C/S模式的應用系統(tǒng)最大的好處是不依賴公司外網環(huán)境,即無論公司是否可以上網,都不影響應用。缺陷是應用程序的維護、移植和互操作變得復雜。B/S模式,即瀏覽器/服務器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來的新的網絡結構模式,其本質是三層結構C/S模式。B/S網絡結構模式是基于Intranet的需求而出現并發(fā)展的。在B/S模式中,客戶端運營瀏覽器軟件。優(yōu)點是:B/S占有優(yōu)勢的是其異地瀏覽和信息采集的靈活性。任何時間、任何地點、任何系統(tǒng),只要可以使用瀏覽器上網,就可以使用B/S系統(tǒng)的終端。缺陷是:采用B/S結構,客戶端只能完畢瀏覽、查詢、數據輸入等簡樸功能,絕大部分工作由服務器承擔,這使得服務器的承擔很重。3.請簡要說明運用VB開發(fā)數據庫應用系統(tǒng)的一般環(huán)節(jié)。參考答案:運用VB開發(fā)數據類應用程序的基本框架如下:1)通常要聲明一個全局數據庫連接對象2)一般要創(chuàng)建Main子過程,并將它設立為啟動對象。在其中順序完畢以下操作:(1)以非模態(tài)方式顯示飛濺窗。(2)創(chuàng)建全局數據庫連接對象,并連接SQLServer或Access等數據庫。(3)以模態(tài)方式顯示登錄窗,等待用戶登錄。(4)登錄成功后,以非模態(tài)方式顯示主窗體,否則退出程序。3)主窗體一般均提供增長、刪除、修改、查詢等對數據庫的管理功能,所有操作均使用全局數據庫連接對象作為與數據庫交互的通道,通過SQL語句對數據進行解決,其中涉及增長功能、刪除功能、修改功能和查詢功能。4)其他功能。比如數據庫備份和恢復功能、用戶權限管理功能等。4.什么是數據庫引擎?VB數據庫應用系統(tǒng)訪問數據庫的重要機理是什么?參考答案:VB提供了三種數據庫訪問引擎,即Jet引擎、ODBC和OLEDB,目前重要使用OLEDB。在VB應用程序中重要用這個對象建立與數據庫的連接,一般的方法是:①聲明并創(chuàng)建對象DimADOcnAsNewConnection②建立數據庫連接ADOcn.Open連接字符串假如要連接SQLServer數據庫,那么連接字符串一般應具有以下組成:Provider=SQLOLEDB;Server=<服務器名>;UserID=<登錄賬號>;Password=<登錄口令>;Database=<數據庫名>③對數據表進行更新操作5.ADO對象模型的重要對象是什么?假如連接后臺數據庫?參考答案:ADO對象模型的重要對象是:Connection、Command、Recordset、Parameter、Property、Field和Error。①聲明并創(chuàng)建對象DimADOcnAsNewConnection②建立數據庫連接ADOcn.Open連接字符串假如要連接SQLServer數據庫,那么連接字符串一般應具有以下組成:Provider=SQLOLEDB;Server=<服務器名>;UserID=<登錄賬號>;Password=<登錄口令>;Database=<數據庫名>6.請寫出VB中編寫增、刪、改、查功能的重要環(huán)節(jié)和語句。參考答案:ADOcn.ExecuteSQL語句字符串要增長學生成績表中學號為20230008的記錄,可以采用以下語句實現:ADOcn.Execute“insertinto學生成績表(學號,課程號,成績)Value(‘20230008’,’101’,’85’)”要刪除學生成績表中學號為001的記錄,可以采用以下語句實現:ADOcn.Execute“DELETEFROM學生成績表WHERE學號=‘001’”要修改學號為20230008學生課程號為101的成績?yōu)?9。ADOcn.Execute“UPDATE學生成績表SET成績=’89’WHERE學號=‘20230008’AND課程號=’101’”要查找所有的學生的成績ADOcn.Execute“SELECT*FROM學生成績表”第4次作業(yè)及答案一、單項選擇題(每個題只有一個答案是對的的。)1.假如希望從學生表中查詢出所有姓“李”的同學,那么條件語句應當是(B)。A、Where姓名%‘李’B、Where姓名LIKE‘李%’C、Where姓名%‘LIKE李’D、Where姓名LIKE‘李’2.在一個教師關系中,可以成為主關鍵字(或稱主碼)的屬性是(B)。A、教師姓名B、教師編號C、教師年齡D、教師性別3.從最終用戶應用程序的視角看,數據庫系統(tǒng)的三級模式結構是(C)。A、模式、外模式和內模式B、內模式、外模式和模式C、外模式、模式和內模式D、外模式、內模式和模式4.在一個學生關系中,可以成為主關鍵字(或稱主碼)的屬性是(C)。A、性別B、年齡C、學號D、班級5.有嚴格的數學基礎的數據模型是(A)。A、關系模型B、網狀模型C、層次模型D、面向對象模型6.下列關于索引的說明不對的的是(A)。A、索引必須創(chuàng)建在主關鍵字之上B、索引與基本表分開存儲C、索引是為了提高查詢速度而創(chuàng)建的D、索引會在一定限度上影響增刪改操作的效率7.設關系R是滿足第一范式的,若R中不存在非主屬性對主鍵的部分函數依賴,則R符合(A)。A、第二范式B、第三范式C、BNC范式D、第四范式8.下列符合第三范式的關系是(D)。A、學生(學號,姓名,課程號,課程名)B、學生(學號,姓名,課程名,成績)C、學生(學號,姓名,課程號,成績)D、學生(學號,姓名,性別)9.在第一個關系中出現,而在第二個關系中不出現的記錄組成的新關系稱為(D)。A、兩個關系的積B、兩個關系的并C、兩個關系的交D、兩個關系的差10.數據庫應用程序開發(fā)中,需求分析階段的重要目的是(A)。A、回答“干什么”的問題B、回答“怎么干”的問題C、建立邏輯數據模型D、建立最佳物理存儲結構11.用戶使用SQLServer時,通常需要依次通過兩個安全性階段(C)。A、登錄驗證、操作驗證B、操作驗證、登錄驗證C、身份驗證、權限認證D、權限認證、身份驗證12.SQLServer數據庫中的一個完整的備份通常要涉及(A)。A、系統(tǒng)數據庫、用戶數據庫和事務日記B、系統(tǒng)數據庫、系統(tǒng)表和數據字典C、系統(tǒng)數據庫、用戶數據庫和數據字典D、用戶數據庫和事務日記13.下列哪些不屬于索引的類型(D)。A、單列索引B、惟一索引C、聚集索引D、事務日記索引14.下列SQL語句中,可以完畢并運算的是(A)。A、SELECT*FROM籃球愛好者UNIONSELECT*FROM足球愛好者B、SELECT*FROM籃球愛好者INTERSECTSELECT*FROM足球愛好者C、SELECT*FROM籃球愛好者EXCEPTSELECT*FROM足球愛好者D、SELECT*FROM籃球愛好者,足球愛好者15.設學生表和課程表的結構分別為(學號,姓名)和(學號,課程號,成績),假如希望查詢出“成績大于90分的學生姓名”,則相應的SQL語句是(D)。A、SELECT姓名FROM學生表WHERE學生表.學號=課程表.學號AND課程表.成績>90B、SELECT姓名FROM課程表WHERE學生表.學號=課程表.學號AND課程表.成績>90C、SELECT姓名FROM學生表,課程表WHERE學生表.學號=課程表.學號OR課程表.成績>90D、SELECT姓名FROM學生表,課程表WHERE學生表.學號=課程表.學號AND課程表.成績>90二、填空題1.數據庫系統(tǒng)的三級模式結構是指數據庫系統(tǒng)由外模式、模式和內模式三級抽象模式構成。2.備份是指將數據從硬盤復制到可移動媒體上的過程。3.“實體一聯系”方法是描述數據庫概念模型的重要方法,一般稱這種方法為E-R方法(或E-R圖方法)。4.用戶使用SQLServer數據庫時,一般需要通過兩個安全性階段:身份驗證和權限認證。5.E-R圖設計一般在數據庫設計的概念設計階段使用。三、判斷題(對的的在括號內打上“√”,錯誤的打上“╳”。)1.可以惟一表達數據表中的每條記錄的字段或者字段的組合稱為主碼或主鍵(√)。2.SQLServer數據庫中的NULL值(空值)表達的是“空格”或“0”值(╳)3.一個不規(guī)范的關系模式通常會引發(fā)插入異常、刪除異常和更新異常,導致大量的數據冗余。(√)4.根據索引的特點,應當對那些數據量大、查詢頻度較高、實時性規(guī)定強的基本表創(chuàng)建索引,(√)5.數據庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數據庫模式,建立數據庫及其應用系統(tǒng),有效存儲數據,滿足用戶信息規(guī)定和解決規(guī)定。(√)6.參照完整性規(guī)則通常是指在兩個參照和被參照關系中,參照關系中每條記錄的外鍵或者為空,或者等于被參照關系中某條記錄的主鍵。(√)四、簡述題1.請簡要說明視圖的概念和作用參考答案:視圖是在基本表或其他視圖上建立的表,它的結構和內容都來自某個基本表,是依據基本表存在而存在的。刪除一個視圖時,不會對基本表產生任何影響,但當刪除一張基本表時,與之相關聯的視圖就會自動被刪除。其作用重要是:(1)視圖是通過預編譯的SELECT語句,存儲在數據庫服務器端,因此執(zhí)行視圖比從客戶端直接執(zhí)行SELECT語句速度更快、效率更高一些。(2)視圖屬于用戶模式范疇,在實際中,一般的用戶不一定具有SELECT語句方面的專門知識,從用戶和諧性角度來說,視圖更便于用戶使用。(3)運用視圖可以簡化的形式表達復雜的SELECT語句組,如嵌套查詢等。2.什么是函數依賴與函數決定,請舉例說明參考答案:設一個關系為R,X和Y是它的兩個屬性集。若對于X上的每個值都有Y上的一個惟一值與之相應,則稱X和Y具有函數依賴關系,并稱X函數決定Y,或稱Y函數依賴于X,稱X為決定因素。假設一個職工關系為(職工號,姓名,性別,年齡,職務),職工號用來標記每個職工,選作該關系的主鍵。我們可以從以下兩方面理解函數依賴的概念:一方面,對于該關系中每個職工的職工號,都相應著姓名屬性中的惟一值,即該職工的姓名,或者說一個職工的姓名由其職工號惟一擬定,所以稱職工號函數決定姓名,或稱姓名函數依賴于職工號。另一方面,除職工號外,其他屬性都不能成為決定因素形成函數依賴,由于對于它們的每個屬性值,都也許相應另一屬性的多個不同的取值,比如對于性別屬性的一個取值“男”就會相應多個而不是一個職工號。3.請簡要說明存儲過程的概念和優(yōu)點。參考答案:存儲過程(StoredProcedure)是一組預先編譯好的,以一種可執(zhí)行的形式永久地存儲在數據中的SQL代碼。使用存儲過程的好處可歸納為以下幾點:(a)執(zhí)行速度快。在通過第一次調用以后,就駐留在內存中,不必再通過編譯和優(yōu)化;(b)模塊化的程序設計。通過了一次創(chuàng)建以后,可以被調用無數次;(c)減少網絡流量;(d)保證系統(tǒng)的安全性。五、綜合應用題1.設有有以下基本表:(1)供應商表(供應商編號,供應商名稱,供應商所在城市);(2)零件表(零件編號,零件名稱,零件顏色,零件重量);(3)工程項目表(工程編號,工程名稱,工程所在城市);(4)工程供貨表(工程編號,供應商編號,零件編號,零件數量)。用SQL語言寫出下列查詢語句,(1)查詢所有工程的所有細節(jié):SELECT*FROM工程項目表(2)查詢所在城市為上海的所有工程的所有細節(jié)SELECT*FROM工程項目表WHERE工程所在城市=’上?!?3)查詢重量最輕的零件代號SELECT零件編號FROM零件表WHERE零件重量=(SELECTMIN(零件重量)FROM零件表)(4)查詢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國旅游保險業(yè)行業(yè)發(fā)展展望及投資策略分析報告
- 軟件產品技術支持應急處理方案
- 教師說課課程設計
- 多媒體技術實踐課程設計
- 藝術品展覽供貨方案
- 揚大電路分析課程設計
- 財務分析報告范文
- 小班土豆創(chuàng)意課程設計
- 招標控制價的課程設計
- 成形車刀課程設計
- 廣東省深圳市龍崗區(qū)2023-2024學年高一年級上冊1月期末考試 物理試題(含解析)
- 2024年全國營養(yǎng)師技能大賽(云南賽區(qū))理論考試原題庫(含答案)
- 勞務派遣外包人力資源采購投標方案(技術方案)
- 天津市勘察設計院集團有限公司招聘筆試題庫2024
- 4.4 對數函數(精練)(解析版)-人教版高中數學精講精練必修一
- 2024年秋季學期新湘教版七年級上冊數學課件 第4章 圖形的認識 4.1 立體圖形與平面圖形
- 天翼云高級解決方案架構師認證資格考試題庫及答案
- 項目學習主題活動(二) 天宮空間站軌道長度變了多少
- 2024人形機器人產業(yè)半年研究報告
- 行道樹的選擇標準(2023年甘肅中考語文試卷說明文閱讀題及答案)
- 2024屆廣東省廣州市高三上學期調研測試數學試題及答案
評論
0/150
提交評論