《關系數據庫與SQL Server 2008》--習題參考答案_第1頁
《關系數據庫與SQL Server 2008》--習題參考答案_第2頁
《關系數據庫與SQL Server 2008》--習題參考答案_第3頁
《關系數據庫與SQL Server 2008》--習題參考答案_第4頁
《關系數據庫與SQL Server 2008》--習題參考答案_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、關系數據庫與SQL Server 2008習題參考答案第1章 關系數據庫原理【課后習題】一、填空題1DBMS(數據庫管理系統)2安全性3實體 屬性 聯系41:N5網狀模型6外鍵7實體8型9每個實體的碼10N端實體的碼11諸實體碼的組合12實體二、選擇題1D2B3A4A5C6B7D8D9A三、簡答題1數據是數據庫中存儲的基本對象。數據庫是長期存儲在計算機內、有組織的、可共享的數據集合。數據庫管理系統是位于用戶與操作系統之間的一層數據管理軟件。數據庫系統是指在計算機系統中引入數據庫后的系統構成,一般由數據庫、數據庫管理系統(及開發工具)、應用系統、數據庫管理員和用戶構成。2數據庫系統的特點有:數據

2、結構化、數據的共享性高,冗余度低,易擴充、數據獨立性高、數據由DBMS統一管理和控制。3數據庫管理系統的主要功能有:數據定義功能、數據操縱功能、數據庫的運行管理、數據庫的建立和維護功能。4等值連接是把兩個表中的行按照給定的等值條件進行拼接而形成新表,結果列為參與連接的兩個表的所有列。自然連接是一種特殊的等值連接,要求參與連接的兩個表有共同屬性(列),其結果是在參與操作的兩個表的共同屬性上進行等值條件連接后,再去除重復的屬性后所得的新表。5關系的完整性規則包括實體完整性、域完整性和參照完整性三個方面。實體完整性用于保證數據庫表中的每一個元組都是唯一的,要求在任何關系的任何一個元組中,主鍵的值不能

3、為空值、也不能取重復的值。域完整性用于保證給定字段中數據的有效性,即保證數據的取值在有效的范圍內,要求由用戶根據實際情況,定義表中屬性的取值范圍。參照完整性用于確保相關聯的表間的數據保持一致,要求“不引用不存在的實體”,即:不允許在一個關系中引用另一個關系中不存在的元組。例如:主表:學生(學號,姓名,性別,專業號,年齡)從表:專業(專業號,專業名)主表的“專業號(外鍵)”的取值只能為兩種情況:若取非空值,則它必須是從表中存在的值;取空值(null),表明尚未給學生分配專業,null不等于0或空字符串。6一個低一級范式的關系模式,通過分解可以轉換為若干個高一級范式的關系模式,這種過程稱為關系的規

4、范化。關系的規范化主要目的是解決數據庫中數據冗余、插入異常、刪除異常和更新異常等數據存儲問題。關系規范化的基本方法是逐步消除關系模式中不合適的數據依賴,使關系模式達到某種程度的分離,也就是說,不要將若干事物混在一起,而要彼此分開,用一個關系表示一事或一物,所以,規范化的過程也被認為是“單一化”的過程。從第一范式至BCNF,它們之間的關系是BCNF3NF2NF1NF。從第一范式到第二范式,消除了非主屬性對碼的部分函數依賴;從第二范式到第三范式,消除了非主屬性對碼的傳遞函數依賴;從第三范式到BCNF,消除了關系中冗余的碼。四、計算題1(1)ABCDE1233145662(2)ABCBCD12323

5、9456560(3)ABCD12394560(4)空(5)全外連接ABCD12394560789nullnull273左外連接ABCD12394560789null右外連接ABCD12394560null273五、設計題1 1:1的E-R圖 1:n的E-R圖 m:n的E-R圖23公司(公司代碼,公司名,地址)部門(部門代碼,部門名)員工(員工代碼,姓名,性別,年齡,職務)商品(商品代碼,商品名,單價,數量)廠家(廠家代碼,廠家名,地址)擁有(公司代碼,部門代碼)屬于(部門代碼,員工代碼)銷售(員工代碼,商品代碼,銷售量)供貨(商品代碼,廠家代碼)4(1)基本的函數依賴有:(商店編號+商品編號)

6、部門編號,(商店編號+部門編號)負責人,(商店編號+商品編號)數量(2)由題意,上面的函數依賴可知商店編號是主屬性,商品編號也是主屬性,由這兩個屬性,可以確定關系元組的所有屬性,所以R的候選碼是:商店編號+商品編號(3)R(商店編號,商品編號,數量,部門編號,負責人)最高已達到2NF。因為負責人是碼的傳遞依賴。(4)要達到3NF,必須消除非主屬性對碼的傳遞依賴。對R分解后的兩個模式如下:R1(商店編號,商品編號,數量,部門編號)R2(部門編號,負責人)第2章 SQL Server 2008基礎【課后習題】一、填空題1一個實例2SQL Server配置管理器3對象資源管理器4Windows身份驗

7、證 混合模式驗證5Windows服務 配置管理器6遠程 本地7Shared Memory8TCP/IP二、簡答題1對象資源管理器窗口用于管理數據庫中的所有對象,在該窗口中,可以完成注冊、啟動和停止服務器,配置服務器屬性,創建數據庫以及表、視圖、存儲過程等數據庫對象,生成Transact-SQL對象以創建腳本、創建登錄賬戶、管理數據庫對象權限等,配置和管理復制,監視服務器活動,查看系統日志等操作。2該窗口用于編寫和運行Transact-SQL腳本。它既可以在連接模式下工作,也可以在斷開模式下工作。SQL Server 2008的“查詢編輯器”支持彩色代碼關鍵字,可視化地顯示語法錯誤,允許開發人員

8、運行和診斷代碼等。3使用SQL Server Profiler工具可以對Microsoft SQL Server 2008系統的運行過程像攝像機一樣進行攝錄。SQL Server Profiler是用于從服務器中捕獲SQL Server 2008事件的工具。這些事件可以是連接服務器、登錄系統、執行Transact-SQL語句等操作。這些事件被保存在一個跟蹤文件中,以便日后對該文件進行分析或用來重新執行指定的系列步驟,從而有效地發現系統中性能比較差的查詢語句等相關問題。第3章 數據庫的創建與管理【課后習題】一、填空題1Master數據庫 Model數據庫 Msdb數據庫 Tempdb數據庫 Re

9、source數據庫2主數據文件 次數據文件 事務日志文件3可恢復所有未完成的事務,保證數據庫操作的一致性和完整性4CREATE DATABASE5ALTER DATABASE6DROP DATABASE7sp_helpdb8為空 刪除文件組中的文件9主10備份二、選擇題1-5 ADAAD6-8 DDB三、判斷題1-5 FFTTF6-9 FFFT【課外實踐】任務1:create database testdbon primary( name=td1, filename=e:sqltd1.mdf', size=5, maxsize=20, filegrowth=10% ),( name=t

10、d2, filename=e:sqltd2.ndf', size=10, maxsize=30, filegrowth=2 ),filegroup user1( name=td3, filename=e:sqltd3.ndf', size=5, maxsize=unlimited, filegrowth=2 )log on( name=tlog, filename=' e:sqltlog.ldf', size=4, maxsize=unlimited, filegrowth=20% )任務2:1.alter database testdbadd filegrou

11、p u32.alter database testdb modify filegroup u3 name=u23.alter database testdb modify file(name=td2, size=10, maxsize=50, filegrowth=15%)4.alter database testdb modify name=gldb 第4章 數據表的創建與管理【課后習題】一、填空題1主鍵約束 唯一性約束 外鍵約束 檢查約束 非空約束 默認值約束2單個列定義 所有列定義 修改表的方式3一 多 空 非空4相應的約束5外鍵 T26空7修改 刪除8域9參照10identity二、選

12、擇題1-5 BBDAC三、判斷題1-5 FTFTF6-10 FFTFT第5章 數據查詢【課后習題】一、填空題1SELECT2WHERE3連接4分組5排序6ORDER BY7Transact-SQL8DISTINCT9HAVING10BETWEENAND11LIKE12ANSI語法 SQL Server語法13比較14ANY ALL IN二、選擇題1-5 DCDAD三、判斷題1-5 TFTFF6-7 FF【課外實踐】任務1:1select 課程名, 授課教師, 開課學期from kcwhere 開課學期=22select 姓名,聯系電話, 專業名, 性別from xsqkwhere 專業名=信息

13、安全 and 性別=03select 學號, 課程號, 成績from xs_kcwhere 成績>=904select 學號, 課程號, 成績from xs_kcwhere 成績>=90 or 成績<605select 學號, 姓名, 出生日期from xsqkwhere 出生日期 not between 1995-11-01 and 1996-2-296select *from xsqkwhere 姓名 like 陳_7select *from xsqkwhere 學號 like %8%8select *from xsqkwhere 聯系電話 like _69%9selec

14、t *from kcwhere 開課學期 in (1, 3, 5)10select 學號, 姓名, 出生日期from xsqkorder by 出生日期任務2:1select 開課學期, sum(學分) as 每學期的總學分from kcgroup by 開課學期2select 學號, count(*) as 每個學生選修的課程門數from xs_kcgroup by 學號3select 課程名稱, 開課學期, 學分from kccompute sum(學分)4select 課程名稱, 開課學期, 學分from kcorder by 2compute sum(學分) by 開課學期5selec

15、t 學號, avg(成績) as 學生的平均分from xs_kcgroup by 學號6select 學號, avg(成績) as 學生的平均分from xs_kcgroup by 學號having avg(成績) between 70 and 807select 學號, 課程號, 成績into temp_kcfrom xs_kcorder by 課程號, 成績 desc8select max(成績) as 101課程的最高分, min(成績) as 101課程的最低分from xs_kcwhere 課程號=1019select 開課學期, count(*) as 每學期開設的課程門數fro

16、m kcgroup by 開課學期10select 專業名, count(專業名) as 各專業人數from xsqkgroup by 專業名任務3:1select 學號, 課程名, 授課教師, 開課學期, 成績from kc, xs_kcwhere kc.學號=xs_kc.學號 and 成績<602select xsqk.學號, 姓名, kc.課程號, 課程名, 成績from xsqk, kc, xs_kcwhere xsqk.學號=xs_kc.學號 and kc.課程號=xs_kc.課程號 and 課程名='網頁設計'任務4:1.select 學號, 姓名, 聯系電話

17、from xsqkwhere 學號 in(select 學號from xs_kcwhere 課程號=103 and 成績<60)2select 學號, 姓名from xsqkwhere (select count(課程號)from xs_kcwhere xsqk.學號=xs_kc.學號 and 成績>=60 )=23select *from xs_kc awhere 成績=(select max(成績)from xs_kc bwhere a.課程號=b.課程號)4select *from xs_kc awhere 成績=(select min(成績)from xs_kc bwher

18、e a.學號=b.學號)5select distinct a.課程號, 人數=(select count(學號) from xs_kc b where b.課程號=a.課程號)from xs_kc aorder by a.課程號 asc第6章 視圖與索引【課后習題】一、填空題1標準視圖 索引視圖 分區視圖2WITH ENCRYPTION3sp_helptext4聚集索引 非聚集索引5數據庫6基表7聚集索引 非聚集索引 唯一索引 復合索引 全文索引 XML索引8創建表9主鍵 唯一10查詢二、選擇題1-5 DCBAA6-10 CCDBC三、判斷題1-5 TFFFF6-10 FFFTT11-12 T

19、T【課外實踐】任務1:USE xscjGOCREATE VIEW v_開課信息 ASSELECT 課程號,課程名,開課學期,學時FROM kcWHERE 開課學期>=3任務2:USE xscjGOCREATE VIEW v_選課信息ASSELECT 姓名,課程名FROM xsqk,kc,xs_kcWHERE xsqk.學號=xs_kc.學號 AND kc.課程號=xs_kc.課程號 AND 專業名=多媒體技術任務3:CREATE INDEX IX_課程名ON KC(課程名)第7章 規則與默認值【課后習題】一、填空題1對象 數據庫2CREATE RULE3DROP RULE4DEFAULT

20、5sp_bindefault二、選擇題1-3 CBD三、判斷題1-5 FTTTF6-9 TTTF【課外實踐】任務1:USE xscjGOCREATE RULE xs_ruleAS學分>=0 AND 學分<=6GOEXEC sp_bindrule xs_rule,kc.學分任務2:USE xscjGOCREATE DEFAULT kkxq_def AS 1GOEXEC sp_bindefault kkxq_def,kc.開課學期第8章 T-SQL編程【課后習題】一、填空題1GO2 3ab4BEGIN END5BREAK CONTINUE6某一時刻 一段時間間隔7多 一8GETDATE

21、( )二、選擇題1-5 CBBDA6-7 CD三、判斷題1-5 FTFFF6-8 FFT四、簡答題1SQL標識符的命名必須遵守以下規則:標識符的長度可以為1128個字符。標識符的第一個字符必須是英文字母、下劃線、漢字、或者#。默認情況下,標識符內不允許含有空格,也不允許將SQL關鍵字作為用戶定義的標識符。2局部變量的聲明:DECLARE 變量名 數據類型 ,n 局部變量的賦值:SET 變量名=表達式 SELECT 變量名=表達式 ,n FROM WHERE 3全局變量是系統定義的變量,以符號開頭,用戶不能定義全局變量,也不能修改其值,全局變量在相應的上下文中是隨時可用的,通常被服務器用來跟蹤服

22、務器范圍和特定會話期間的信息。4 RETURN語句用于從查詢或過程中無條件退出。RETURN的執行是即時且完全的,可在任何時候用于從過程、批處理或語句塊中退出,在它之后的語句不會被執行。RETURN與BREAK很相似,不同的是RETURN可以返回一個整數。【課外實踐】任務1:declare x varchar(30)set x=Welcome to SQL Serverprint upper(x)print lower(x)任務2:waitfor delay 00:00:30use xscjselect * from kcwaitfor time 11:30:30use xscjselect

23、* from xsqk任務3:use xscjgodeclare n intselect n=count(*) from xsqk where datediff(yy,出生日期,getdate()>20if n>=0print '年齡大于20的學生人數有:'+cast(n as varchar(5)elseprint '沒有年齡大于20的學生'任務4:declare sum intset sum=(select sum(學分) from xs_kc)while sum<100beginupdate xs_kc set 學分=學分+1set su

24、m=(select sum(學分) from xs_kc)end第9章 存儲過程與觸發器【課后習題】一、填空題1參數 輸入 輸出2EXECUTE3DML觸發器 DDL觸發器 登錄觸發器4FOR | AFTER INSTEAD OF5INSERT UPDATE DELETE二、選擇題1-4 BDDC三、判斷題1-5 FFTTT【課外實踐】任務1:use xscjgocreate procedure p1kch char(3), kcm varchar(20), skjs varchar(20), kcxq tinyint, xs tinyint, xf tinyintasinsert kc va

25、lues(kch, kcm, skjs, kcxq, xs, xf)goexec p1 '115','數據庫基礎','張玲',2,68,4任務2:create proc p2kch char(3)asupdate xs_kc set 成績=60 where 課程號=kch and (成績>=55 and 成績<60)godeclare kch char(3)select kch='103'exec p2 kchgoselect * from xs_kc where 課程號=kch任務3:create proc p3xh

26、 char(10), xm varchar(10) output, xb bit output, zym varchar(20) output, szx varchar(20) outputasselect xm=姓名, xb=性別, zym=專業名, szx=所在系from xsqkwhere 學號=xhgodeclare xh char(10), xm varchar(10), xb bit, zym varchar(20), szx varchar(20)select xh='2012130101'exec p3 xh, xm output, xb output, zym

27、 output, szx outputprint '學號為'+xh+'的信息如下:'print ''print '姓 名:'+xmprint '性 別:'+convert(varchar(2),xb)print '專業名:'+zymprint '所在系:'+szx任務4:create trigger t4on kcfor insertasprint 插入成功!任務5:create trigger t5on kcfor updateasupdate xs_kc set 課程號=inse

28、rted.課程號where 課程號=deleted.課程號任務6:create trigger t6on xsqkfor deleteasdeclare xh char(10)select xh=學號 from deletedprint '準備刪除xs_kc表'+xh+'學生的成績信息'delete xs_kc where 學號=xhprint '已經刪除xs_kc表'+xh+'學生的成績信息'第10章 SQL Server 2008安全管理【課后習題】一、填空題1Windows驗證 混合模式驗證2sa3操作數據庫 數據庫4dbo

29、 guest sys5自定義角色 預定義角色6固定服務器角色7三 服務器角色8固定數據庫角色 用戶自定義角色 應用程序角色9對象權限 語句權限 隱式權限10Grant Revoke Deny二、簡答題1sysadmin角色為需要完全控制整個SQL Server和安裝的數據庫的用戶而設計,其成員能在SQL Server系統中執行任何任務。所以win_user應添加到sysadmin角色中。2db_owner角色用于需要完全控制數據庫的所有方面的用戶,所以ST_su應該添加到db_owner角色中第11章 SQL Server 2008開發工具【課后習題】一、簡答題1Business Intelligence Development Studio是用于開發商業解決方案的主要環境,其中包括 Analysis Services、Integration Services 和 Reporting Services項目。每個項目類型都提供了用于創建商業智能解決方案所需對象的模板,并

溫馨提示

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

評論

0/150

提交評論