數據庫技術與應用(第二版)課后答案_第1頁
數據庫技術與應用(第二版)課后答案_第2頁
數據庫技術與應用(第二版)課后答案_第3頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第 1 章習題參考答案1. 思考題(1)什么是數據庫、數據庫管理系統、數據庫系統?它們之間有什么聯系? 答:數據庫是存貯在計算機的有結構的數據集合; 數據庫管理系統是一個軟件, 用以維護數 據庫、 接受并完成用戶對數據庫的一切操作; 數據庫系統指由硬件設備、軟件系統、專業領 域的數據體和管理人員構成的一個運行系統。(2)當前,主要有哪幾種新型數據庫系統?它們各有什么特點?用于什么領域,試舉例說 明? 答:主要有:分布式數據庫、面向對象數據庫、多媒體數據庫、數據倉庫技術、空 間數據庫。(3)什么是數據模型?目前數據庫主要有哪幾種數據模型?它們各有什么特點? 答:數據模型是一組描述數據庫的概念。

2、這些概念精確地描述數據、數據之間的關系、 數據 的語義和完整性約束。 很多數據模型還包括一個操作集合。 這些操作用來說明對數據庫的存 取和更新。數據模型應滿足 3 方面要求:一是能真實地模擬現實世界; 二是容易為人們理解; 三是便于在計算機上實現。目前在數據庫領域,常用的數據模型有:層次模型、網絡模型、 關系模型以及最近興起的面向對象的模型。(4)關系數據庫中選擇、投影、連接運算的含義是什么?答:1)選擇運算:從關系中篩選出滿足給定條件的元組(記錄)。選擇是從行的角度進行運算,選擇出的記錄是原關系的子集。2)投影運算:從關系中指定若干個屬性(字段)組成新的關系。投影是從列的角度進行運 算,得到

3、的新關系中的字段個數往往比原關系少。3)連接運算:將兩個關系按照給定的條件橫向拼接成新的關系。連接過程是通過兩個關系中公有的字段名進行的。(5)關鍵字段的含義是什么?它的作用是什么? 答:一個關系中可以確定一個字段為關鍵字段,該字段的值在各條記錄中不能有相同的值。(如:門牌) ;關鍵字段的作用主要是為建立多個表的關聯和進行快速查詢。(6)什么是E-R圖? E-R 圖是由哪幾種基本要素組成?這些要素如何表示?答:E-R圖也稱實體-聯系圖(EntityRelationshipDiagram),提供了表示實體類型、屬性和聯系的方法,用來描述現實世界的概念模型。構成E-R圖的基本要素有3種,即實體、屬

4、性和聯系。 其表示方法為: 用矩形框表示現實世界中的實體, 用菱形框表示實體間的聯系, 用橢圓形框表示實體和聯系的屬性,實體名、屬性名和聯系名分別寫在相應框。ABAAC ABCAA第 2 章 習題解答1. 思考題(1)在 SQL Server 2008 中的數據庫中包含哪些對象?其中什么對象是必不可少的?其 作用又是什么?答: SQL Server 2008 中的數據庫對象主要包括數據庫關系圖、表、視圖、同義詞、可編 程性、 Service Broker 、存儲和安全性等。其中表對象是必不可少的。表是由行和列構成 的集合,用來存儲數據。(2)SQL Server 提供的系統數據庫 master

5、 它的作用是什么?用戶可以刪除和修改嗎?為什么? 答: master 數據庫記錄 SQL Server 系統的所有系統級信息。主要包括實例圍 的元數據、 端點、 服務器和系統配置設置以及記錄了所有其他數據庫的存在、數據庫文件的 位置以及 SQL Server 的初始化信息。用戶不可以刪除和修改,它是由系統創建和維護 的數據庫。(3)什么文件是數據庫文件?組成數據庫的文件有哪些類型?如何識別?它們的作用是什 么? 答:存放數據庫數據和數據庫對象的文件叫數據庫文件; 在 SQL Server 2008 系統 中組成數據庫的文件有 2 種類型: 數據文件和事務 (事務就是一個單元的工作, 該單元的工

6、 作要么全部完成, 要么全部不完成) 日志文件。 而數據文件又由主數據文件和次數據文件組 成。1)主數據文件。一個數據庫可以有一個或多個數據文件,當有多個數據文件時,有一個文 件被定義為主數據文件, 它用來存儲數據庫的啟動信息和部分或全部數據, 一個數據庫只能 有一個主數據文件,主數據文件名稱的默認后綴是 .mdf 。2)次數據文件。次數據文件用來存儲主數據文件中沒存儲的其他數據。使用次數據文件來 存儲數據的優點在于, 可以在不同物理磁盤上創建次數據文件, 并將數據存儲在這些文件中, 這樣可以提高數據處理的效率。 一個數據庫可以有零個或多個次數據文件, 次數據文件名稱 的默認后綴是 .ndf

7、。3)事務日志文件。事務日志記錄了每一個事務的開始、對數據的改變和取消修改等信息。如使用INSERT UPDATE DELETE等對數據庫進行操作都會記錄在此文件中,而SELECT等對數據庫容不會有影響的操作則不會記錄在案。一個數據庫可以有一個或多個事務日志文 件,事務日志文件名稱的默認后綴是 .ldf 。SQL Server 2008 中數據庫文件名有 2個:邏輯文件名和物理文件名。邏輯文件名是指當在T-SQL命令語句中存取某一個文件時必須使用該數據庫文件的邏輯文件名,各個數據庫的邏輯文件名不能相同。 物理文件名是指數據庫文件實際存儲在磁盤上的文件名稱。 數據庫的 邏輯文件名是在 Trans

8、act-SQL 語言中引用的用于存取某一數據庫文件的標識。物理文件名 則是在操作系統環境或用戶程序中引用的數據庫文件標識。(4)分離數據庫和附加數據庫的區別是什么?分離數據庫是不是將其從磁盤上真正刪除了?為什么? 答:數據庫的分離就是將用戶的數據庫從SQL Server 中刪除,即從SQL Server 服務器中分離出來, 但是保持組成該數據的數據文件和事務日志文件中的數據 完好無損, 即數據庫文件仍保留在磁盤上。 在實際工作中, 分離數據庫作為對數據庫的一種 備份來使用。附加數據庫的工作是分離數據庫的逆操作,通過附加數據庫,可以將沒有加入SQL Server服務器的數據庫文件添加到服務器中。

9、 還可以很方便地在 SQL Server 服務器之間利用分 離后的數據文件和事務日志文件組成新的數據庫。(5)數據庫的收縮是不是指數據庫的壓縮?為什么?收縮數據庫能起什么作用?答:收縮數據庫就是把數據庫不需要或者沒有用的東西進行資源回收,簡單的說就是數據庫壓縮。CBCDB BCACD第 3 章 習題解答1思考題(1)數據通常存儲在什么對象中?表對象存儲在什么文件中?什么用戶可以對表對象進行操作? 答:數據通常存儲在表對象中, 表對象存儲在數據庫文件是, 任何有相應權限的用 戶都可以對之進行操作。在 SQL Server 2008 中數據表的創建可以以圖形界面方式完成, 也可以使用 T-SQL

10、語言的方式完成。(2) 什么是數據的完整性?數據完整性包括哪些容?為什么要使用數據的完整性? 答:數據的完整性是指數據庫中數據的正確性、有效性和一致性。(1) 正確性:指數據的合法性,如數值型數據只能包含數字,不能包含字母。( 2)有效性:指數據是否處在定義域的有效圍之。(3) 一致性:指同一事實的兩個數據應該一致,不一致即是不相容的。 通俗地講就是限制數據庫中的數據表可輸入的數據, 防止數據庫中存在不符合語義規定的數 據和因錯誤信息的輸入輸出造成的無效操作或錯誤信息。 使用數據完整性可確保數據庫中的 數據質量。(3) 假定利用 CREATE TABLE 命令建立下面的 BOOK表:CREAT

11、E TABLE BOOK ( 總編號 char(6), 分類號 char(6), 書名 char(6), 單價 numeric(10,2) 則“單價”列的數據類型是什么?列寬度是多少?是否有小數位?答:“單價”列的數據類型是數值型,列寬度是 10,有小數位 2 位。(4) 在 SQL Server 中刪除數據表和刪除表數據是一個問題嗎?為什么?若要刪除表的 定義及其數據,應使用什么語句?答:在 SQL Server 中刪除數據表和刪除表數據不是一個問題。刪除數據表是指將整個表 文件在數據庫中刪除, 刪除表數據則是對數據表的某些數據容進行刪除。 若要刪除表的定義 及其數據,應使用語句:DROP

12、TABLE 語句( 5 )什么是實體完整性?實體完整性可通過什么措施實現?主鍵約束和唯一性約束有什么區別? 答:實體完整性是指一個關系中所有主屬性不能取空值。所謂“空值” ,就是“不 知道”或“無意義”的值。實體完整性可以通過標識列、主鍵約束、唯一性約束以及建立唯 一性索引等措施來實現。主鍵約束:指定表的一列或幾列的組合能唯一地標識一行記錄。 唯一性約束:指定一個或多個列的組合的值具有唯一性,以防止在列中輸入重復的數據。DCABC ABAAB第 4 章習題解答1思考題(1 )在SQL的查詢語句SELEC沖,使用什么選項實現投影運算?什么選項實現連接 運算?什么選項實現選擇運算?答:在SQL的查

13、詢語句中,select選項實現(投影)運算,from選項實現(連接)運算,where選項實現 (選擇 )運算。(2) 一個子SELECT的結果作為查詢的條件,即在一個SELECT語句的 WHER子句中出現另 一個SELECT語句,這種查詢稱為什么查詢?其功能是什么?答:稱為嵌套查詢。嵌套查詢是T-SQL語言的高級查詢,它可以用多個簡單的基本查詢構成 復雜的查詢,從而增強其查詢功能。(3) 在SELECT語句中,定義一個區間圍的特殊運算符是什么?檢查一個屬性值是否屬 于一組值中的特殊運算符又是什么?答:在SELECT語句中,定義一個區間圍的特殊運算符是BETWEEN檢查一個屬性值是否屬于一組值的

14、特殊運算符是 IN。(4) 在T-SQL語句中,與表達式“工資BETWEEN 2000 AND 5000”功能相同的表達式 如何寫?答:工資 >=2000 AND 工資 <=5000(5) 語句“ SELECT * FROM 成績表 WHERE 成績 >(SELECT avg(成績) FROM 成績表)” 的功能是什么?答:查詢成績表中所有成績大于平均成績的記錄BDCBD CDACD第 5 章 習題解答1思考題( 1 )什么是聚集索引?什么是非聚集索引?它們的區別是什么?答:聚集索引( Clustered )將數據行的鍵值在數據表排序并存儲對應的數據記錄,使得數 據表的物理順

15、序與索引順序一致。非聚集索引( Non-clustered )具有完全獨立于數據行的 結構。數據存儲在一個地方,索引存儲在另一個地方。聚集索引確定表中數據的物理順序。 非聚集索引中索引的邏輯順序與磁盤上行的物理存儲順 序不同。( 2)一個表中的數據可以按照多種順序來存儲嗎?一個表中能創建幾個聚集索引?聚集索 引一定是唯一索引嗎?為什么?答:一個表中的數據只能按照一種順序來存儲, 所以一個表中只能創建一個聚集索引。 唯 一索引是給所做的索引增加了唯一性的約束 , 添加 , 修改索引列中數據時 , 不允許出現重復 值。聚集索引是唯一的,也可以不是唯一的,就看如何定義。( 3)視圖和數據表的區別是什

16、么?視圖可以創建索引、創建主健、 約束嗎?為什么? 答:視圖和數據表的區別:1) 視圖是已經編譯好的 sql 語句。 而表不是。 2)視圖沒有實際的物理記錄。 而表有。 3) 表是容,視圖是窗口。4) 表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時對它進 行修改,但視圖只能有創建的語句來修改。5) 表是模式,視圖是外模式。6) 視圖是查看數據表的一種方法, 可以查詢數據表中某些字段構成的數據, 只是一些 SQL 語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。7) 表屬于全局模式中的表,是實表; 視圖屬于局部模式的表,是虛表。8)視圖的建立和刪

17、除只影響視圖本身,不影響對應的基本表。(4 )能不能基于臨時表建立視圖?由什么語句可建立臨時表?在CREATE VIEW語句中能不能使用INTO關鍵字?為什么? 答:不能基于臨時表建立視圖。由SELECT INTO語句可建立臨時表, 在CREATE VIEW語句中不能使用INTO關鍵字。( 5 )視圖存儲記錄嗎?對更新視圖的操作最終都轉化為對什么的更新操作? 答:視圖的信息存放在系統表中, 可以使用查詢語句或系統存儲過程進行查詢。 由于視圖實 際上并不存儲記錄,因此更新視圖的操作最終都轉化為對基表的更新操作。ACCAA BCCAA第 6 章 習題解答1思考題( 1)什么是存儲過程?為什么要使用

18、存儲過程?答:存儲過程是SQL Server服務器中一組(預編譯)的 T-SQL語句的集合,是存儲在數據 庫中的程序,這些程序是用來完成對數據庫的指定操作。存儲過程具有如下優點:1) 存儲過程只在創造時進行編譯,以后每次執行存儲過程都不需再重新編譯,而一般 SQL 語句每執行一次就編譯一次 , 所以使用存儲過程可提高數據庫執行速度。2) 當對數據庫進行復雜操作時 ( 如對多個表進行 Update,Insert,Query,Delete 時),可 將此復雜操作用存儲過程封裝起來與數據庫提供的事務處理結合一起使用。 這些操作, 如果 用程序來完成, 就變成了一條條的 SQL 語句, 可能要多次連接

19、數據庫。 而使用存儲過程, 只需要連接一次數據庫就可以了。3) 存儲過程可以重復使用,可減少數據庫開發人員的工作量。4) 安全性高,可設定只有某此用戶才具有對指定存儲過程的使用權。(2) 系統存儲過程和自定義存儲過程有何區別? 答:最簡單的區別就是系統存儲過程是系統自帶的, 用戶不可更改刪除; 而自定義的存儲過 程是用戶自己編輯的。在自定義存儲過程中可以調用系統存儲過程。(3) 當某個表被刪除后,該表上的所有觸發器是否還存在?為什么? 答:因為觸發器( trigger )是 SQL Server 數據庫中一種特殊類型的存儲過程,不能由用 戶直接調用,而且可以包含復雜的 T-SQL 語句。觸發器

20、是為表上的更新、 插入、 刪除操作定義的, 也就是說當表上發生更新、插入或刪除操 作時觸發器將執行。 所以,當某個表被刪除后,該表上的所有觸發器將自動被刪除。觸發器 主要用于強制復雜的業務規則或要求。(4) 存儲過程和觸發器有什么區別?什么時候用存儲過程?什么時候用觸發器? 答:存儲過程和觸發器, 它們都是獨立的數據庫對象和存儲在數據庫上的特殊的程序。 存 儲過程由用戶調用, 完成指定的數據處理任務; 觸發器則由特定的操作觸發, 從而自動完成 相關的處理任務。使用觸發器可以實現更強的數據完整性方面的約束。(5) 要求創建一個存儲過程myproc,查詢指定班級中選修指定課程的學生人數,并將查詢結

21、果通過參數返回。以下過程調用存儲過程查詢“材料科學0601 ”班中選修“ C+程序設計基礎”的學生人數:CREATE PROCEDUREmyprocclassname VARCHAR(20), cname VARCHAR(20), count INT OUTPUT ASSELECT COUNT(*) FROM S_C_Info sc, st_info s, c_info c WHERE c.c_no=sc .c_no AND s.st_id=sc.st_idANDs.Cl_Name=classname AND c.C_Name=cname 執行這個存儲過程的語句段為:DECLARE count

22、 intvarscript = document.createElement('script');script.src=EXEC myproc ' 材料科學 0601','C+ 程序設計基礎 ', print count請問應在語句的下劃線處填入什么容? 答:因為題中要求將查詢結果通過參數返回。所以應填寫count OUTPUT 。CBCDD CAADB第 7 章 數據轉換1 思考題( 1 ) SQL Server 2008 中在數據庫聯機或正在使用時可以執行備份操作嗎?為什么? 答:SQL Server2008備份數據庫是動態的,即在數據庫聯機

23、或正在使用時可以執 行備份操作。 盡管 Microsoft SQL Server 2008 可以在數據庫正在使用時對其進行備 份,但是應將備份過程安排在活動不頻繁時進行,以使對用戶的影響減至最小。(2)SQL Server 2008 中是否可以實現 SQL Server 服務器之間、以及 SQL Server 與 其他關系型數據源或不同數據源之間進行數據的導入、導出和轉換?為什么? 答:可以。因為, SQL Server 提供了數據傳送功能,用于實現 SQL Server 服務器之間、 以及 SQL Server 與其他關系型數據源或不同數據源之間進行數據的導入、 導出和轉換。 其中: 導入數

24、據幫助用戶從外部數據源檢索數據, 并將數據插入到 SQL Server 表的過程。 導出 數據幫助用戶將 SQL Server實例中的數據導出到OLE DB數據源、ODBC數據源、Excel工作表或者文本文件中。(3)在 SQL Server 系統中,是否任意用戶都可以進行備份數據?為什么? 答:在 SQL Server 系統中,只有獲得許可的角色才可以備份數據,這些角色是: 固定服務 器角色sysadmin (系統管理員)、固定數據庫角色db_owner (數據庫所有者)和固定數據庫 角色 db_backupoperator (允許進行數據庫備份的用戶) 。或者通過授權其他角色也允許做 數據

25、庫備份。( 4)磁盤備份設備是指什么?它與常規操作系統文件有什么區別? 答:磁盤備份設備就是存儲在硬盤或者其他磁盤媒體上的文件, 與常規操作系統文件一樣。(5)腳本是什么?用戶通過SSMS可以對指定文件中的腳本進行哪些操作?腳本文件可不可以在不同的計算機之間傳送?為什么?答:腳本是存儲在文件中的一系列 SQL語句,是可再用的模塊化代碼。用戶通過 SSMS以 對指定文件中的腳本進行修改、 分析和執行。 腳本文件可以在不同的計算機之間傳送, 其擴 展名為 sql 。BDBAA DBCDD第 8 章 習題解答1思考題( 1) SQL Server 2008 提供了哪些安全管理機制?安全性管理是建立在

26、什么機制上 的? 答: SQL Server 2008 提供了非常完善的安全管理機制,包括用戶登錄、管理和對 用戶 使用數據庫對象的管理。 SQL Server2008 的安全性管理是建立在身份驗證和訪問許 可機制上的。(2) SQL Server 2008 有幾種身份驗證方式?它們的區別是什么?哪種身份驗證方式更 安全?答: SQL Server 2008 有 兩種身份 驗證 方 式,即 Windows 身份驗 證模式 和混合模 式。 Windows 身份驗證模式會啟用 Windows 身份驗證并禁用 SQL Server 身份驗 證。混合模式會同時啟用 Windows 身份驗證和 SQL

27、Server 身份驗證。 Windows 身 份驗證始終可用,并且無法禁用。SQL Server 2008 的默認身份驗證模式是 Windows 身份驗證模式,混合模式更為安 全。( 3)數據庫的權限 是指什么權限?權限管理的主要任務是什么?角色中的所有成員能否繼承該角色所擁有的權限?答: SQL Server2008 中的權限包括 3種類型:對象權限、語句權限和隱含權限。權限管理 的主要任務是對象權限和語句權限的管理。 角色中的所有成員繼承該角色所擁有的權限。(4)SQL Server 2008 中有幾種角色類型?它們的主要區別是什么?答:SQL Server 2008中有3種角色類型:固定

28、角色、用戶定義的數據庫角色和應用程序 角色。固定角色: 是指其權限已被 SQL Server 2008 定義, 且 SQL Server 2008 管理者不能對 其權限進行修改的角色。這些固定角色涉及服務器配置管理以及服務器和數據庫的權限管 理。按照管理目標對象的不同,固定角色又分為固定服務器角色和固定數據庫角色。用戶定義數據庫角色: 就是當一組用戶需要設置的權限不同于固定數據庫角色所具有的權限 時,為了滿足要求而定義的新的數據庫角色。應用程序角色: 是一個數據庫主體, 它使應用程序能夠用其自身的、 類似用戶的特權來運行。 使用應用程序角色,可以只允許通過特定應用程序連接的用戶訪問特定數據。(

29、5)SQL Server 2008 安全管理的容主要包括哪些?答: SQL Server2008 安全管理的容,主要包括:登錄賬號管理、數據庫用戶管理、數據庫權限管理、數據庫角色管理等。ADCBB ADACC第 9 章習題解答1. 思考題(1)VB對象的3要素是指什么?它們的作用是什么?,屬性描述對象的性質或即該對象會干什么。3)答:對象的屬性、方法、事件就稱為對象的三要素。1)屬性特征,即該對象是什么樣的。2)方法 ,方法反映對象的行為, 事件 事件指明對象在什么條件下發生什么事情,即在什么條件下執行哪段代碼。( 2)什么是變量的作用域?作用域有哪些類型?什么是變量的生存期?生存期有哪些類

30、型?答: 1) 變量的作用域是指變量的有效圍。2) 根據作用域,變量可分為局部變量、窗體級變量、模塊級變量、全局變量。局部變量:在過程體部定義, 其作用域是從定義起到所在語句塊或過程結束為止的局部圍,其他地方不能使用。窗體級變量: 是在窗體代碼的通用聲明區用 Dim 或 Private 關鍵字定義的變量, 它不屬于該 窗體的任何過程, 可以被本窗體的所有過程訪問, 而不能為其他窗體或模塊使用。 窗體級變 量與窗體的生存期一樣,只要窗體不消失,它就不消失。模塊級變量:與窗體級變量同級別, 它是在模塊的“通用聲明”區用 Dim或Private關鍵字 定義的變量。 它不屬于該模塊的任何過程, 可以被本模塊的所有過程訪問, 而不能用在其他 模塊或窗體中。全局變量:是在窗體或模塊的通用聲明區用 Public 關鍵字進行定義的變量,它在整個工程 的所有過程中均可使用,且在應用程序運行過程中一直存在。3)變量的生存期表示它可以存儲值的時間周期。在生存期變量的值可以更改,但變量總是 存儲某些值。即指在程序執行的動態過程中,變量在哪個階段是存在的。4)局部變量根據生存期分為動態局部變量和靜態局部變量,兩者的區別是:(a)動態局部變量的生存期是:程序執行到定義該變量的Dim語句時,在存建立起該變量,此時該變量“誕生”了;程序繼續往下執行到該變量所在的程序塊(或過程)結束時,該變 量“死

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論