數(shù)據(jù)庫應(yīng)用教程-課后習(xí)題答案_第1頁
數(shù)據(jù)庫應(yīng)用教程-課后習(xí)題答案_第2頁
數(shù)據(jù)庫應(yīng)用教程-課后習(xí)題答案_第3頁
數(shù)據(jù)庫應(yīng)用教程-課后習(xí)題答案_第4頁
數(shù)據(jù)庫應(yīng)用教程-課后習(xí)題答案_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第1章數(shù)據(jù)庫基礎(chǔ)練習(xí)題一、單項選擇題1C 2A 3C 4D 5D6B 7A 8B 9B 10D11C 12A 13C 14B 15A16B 17A 18D 19B 20B21A; D 22A 23C 24D 25B26B 27B 28D 29B 30B二、填空題1概念;數(shù)據(jù)2屬性3碼4一對一聯(lián)系;一對多(或多對一)聯(lián)系;多對多聯(lián)系5候選碼6候選碼7關(guān)系名(屬性1,屬性2,屬性n)8關(guān)系數(shù)據(jù)結(jié)構(gòu);關(guān)系操作集合;關(guān)系完整性約束9實體;參照;用戶定義的;實體;參照10空值11需求分析階段;概念結(jié)構(gòu)設(shè)計階段;邏輯結(jié)構(gòu)設(shè)計階段;物理結(jié)構(gòu)設(shè)計階段;數(shù)據(jù)庫實施階段;數(shù)據(jù)庫運行和維護階段12準確了解并分析用戶

2、對系統(tǒng)的要求,尤其是用戶的信息要求、處理要求、安全性與完整性要求,確定所要開發(fā)的應(yīng)用系統(tǒng)的目標,產(chǎn)生用戶和設(shè)計者都能接受的需求說明書,做為下一步數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計的依據(jù)。13將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型。14將概念結(jié)構(gòu)進一步轉(zhuǎn)化為某一DBMS支持的數(shù)據(jù)模型,并對其進行優(yōu)化。15為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法。三、指出以下各縮寫的英文意思和中文意思1 DB:Database2 DBMS:Database Management System3 RDBMS:4 DBS:Database System5 DBA:Datab

3、ase Administrator6 NF:Normal Form7 DDL:Data Definition Language四、按題目要求回答問題N11N公司編號號公司名公司姓名地址職工編號職工性別聘期XIAOSHOU聘用隸屬倉庫地址倉庫編號倉庫名工資XIAOSHOU1答:類別名稱類別編號主管代表團住所團編號地區(qū)成員運動員編號年齡姓名性別1N2答:比賽類別1比賽時間得分屬于NMN比賽項目參加項目名稱級別項目編號3答:(1)關(guān)系R是2NF。因為R的候選碼為課程名,而課程名教師名,教師名教師地址,所以課程名教師地址,即存在非主屬性教師地址對候選碼課程名的傳遞函數(shù)依賴,因此R不是3NF。又因為不存

4、在非主屬性對候選碼的部分函數(shù)依賴,所以R是2NF。(2)關(guān)系R存在刪除異常。當(dāng)刪除某門課程時會刪除不該刪除的教師的有關(guān)信息。(3)分解為高一級范式如下:R1課程名教師名數(shù)據(jù)庫劉輝程序設(shè)計基礎(chǔ)趙蘭軟件工程陳信計算機基礎(chǔ)劉輝R2教師名教師地址劉輝Add1趙蘭Add2陳信Add1分解后,若刪除課程數(shù)據(jù)時,僅對關(guān)系R1操作,教師地址信息在關(guān)系R2中仍然保留,不會丟失教師的信息。4答:(1)R不屬于3NF,它是2NF。(2)因為R的候選碼為職工號和職工名,而:職工號單位號,單位號單位名,所以 職工號單位名,即存在非主屬性“單位名”對候選碼“職工號”的傳遞函數(shù)依賴。因此不是3NF。規(guī)范化后的關(guān)系子模式為如

5、下所示的關(guān)系R1與R2。R1職工號職工名年齡性別單位號01趙高20男D302高軍25男D103董林38男D304林梅25女D3R2單位號單位名D3計算機D1土木工程5答:(1)關(guān)系Stock是1NF,分析如下:l 關(guān)系Stock的碼為(counter,goods),counter、goods為主屬性,price為非主屬性。l 存在的函數(shù)依賴有:(counter,goods)price goodspricel 因此可以看出,非主屬性price不完全函數(shù)依賴于碼,不符合2NF的定義。l 得出結(jié)論:關(guān)系Stock是1NF(2)存在異常:l 刪除異常:例如,如果刪除柜臺2的元組,則丟失了貨物名稱Env

6、elop及其價格1。l 插入異常:例如,如果知道了商品Lamp的價格20,則不能馬上將該商品插入到Stock中,直到有一個柜臺進了該貨物才行。(3)規(guī)范化:將以上關(guān)系分解為兩個關(guān)系如下。關(guān)系Counter-Goods 關(guān)系Goods-PriceCounterGoodsPricePen55Ink4Envelop1Bag40Goods1Pen1Ink2Envelop3Bag3pen第2章 SQL Server簡介練習(xí)題一、單項選擇題1B 2C 3D 4B 5C6D 7C 8C 9B 10A11B 12B二、簡答題1答:客戶-服務(wù)器結(jié)構(gòu)把整個任務(wù)劃分為客戶機上的任務(wù)和服務(wù)器上的任務(wù)??蛻魴C上的任務(wù)只

7、要有:l 建立和斷開與服務(wù)器的連接。l 提交數(shù)據(jù)訪問請求。l 等待服務(wù)通告、接受請求結(jié)果或錯誤。l 處理數(shù)據(jù)庫訪問結(jié)果或錯誤、包括重發(fā)請求和終止請求。l 提供應(yīng)用程序的友好用戶界面。l 數(shù)據(jù)輸入輸出及驗證。服務(wù)器上的任務(wù)主要有:l 為多用戶管理一個獨立的數(shù)據(jù)庫。l 管理和處理接收到的數(shù)據(jù)訪問請求,包括管理請求隊列、管理緩存、響應(yīng)服務(wù)、管理結(jié)果和通知服務(wù)完成。l 管理用戶帳號、控制數(shù)據(jù)庫訪問權(quán)限和其他安全性。l 維護數(shù)據(jù)庫,包括數(shù)據(jù)庫備份和恢復(fù)。保證數(shù)據(jù)庫數(shù)據(jù)的完整或為客戶提供完整性控制手段。2答:(1)兩層結(jié)構(gòu)在兩層結(jié)構(gòu)中,SQL Server 2000安裝在一個中心服務(wù)器上,數(shù)據(jù)庫存儲在該服

8、務(wù)器上,該服務(wù)器稱為數(shù)據(jù)庫服務(wù)器,可以被多臺客戶機訪問。眾多的客戶機通過網(wǎng)絡(luò)直接訪問數(shù)據(jù)庫服務(wù)器??蛻魴C運行處理業(yè)務(wù)的程序和顯示處理結(jié)果的程序。兩層結(jié)構(gòu)比較適合于用戶量較少的情況,當(dāng)用戶量較大時,數(shù)據(jù)庫服務(wù)器的性能會顯著下降。(2)三層結(jié)構(gòu)在三層結(jié)構(gòu)中引入了一層應(yīng)用服務(wù)器??蛻魴C只運行向應(yīng)用服務(wù)器發(fā)送請求和顯示請求結(jié)果的程序,客戶機沒有處理業(yè)務(wù)的程序,應(yīng)用服務(wù)器運行處理業(yè)務(wù)的程序,多個客戶機可以同時訪問應(yīng)用服務(wù)器,應(yīng)用服務(wù)器負責(zé)訪問數(shù)據(jù)庫服務(wù)器,并取回處理結(jié)果,將結(jié)果返回給客戶機。三層結(jié)構(gòu)適用于客戶量較大的情況。3答:SQL Server 2000的四個系統(tǒng)數(shù)據(jù)庫是master、model、m

9、sdb和tempdb數(shù)據(jù)庫。(1)master數(shù)據(jù)庫是SQL Server系統(tǒng)最重要的數(shù)據(jù)庫,它記錄了SQL Server系統(tǒng)的所有系統(tǒng)信息,包括所有的登錄帳戶信息、系統(tǒng)配置信息、SQL Server的初始化信息和其它系統(tǒng)及用戶數(shù)據(jù)庫的相關(guān)信息。(2)model數(shù)據(jù)庫是所有用戶數(shù)據(jù)庫和tempdb數(shù)據(jù)庫的模板數(shù)據(jù)庫,它含有master數(shù)據(jù)庫所有系統(tǒng)表的子集,這些系統(tǒng)表是每個用戶定義數(shù)據(jù)庫所需要的。(3)msdb數(shù)據(jù)庫是代理服務(wù)數(shù)據(jù)庫,用于為調(diào)度警報、作業(yè)和記錄操作員的信息提供存儲空間。(4)tempdb數(shù)據(jù)庫用于為所有的臨時表、臨時存儲過程提供存儲空間,它還用于任何其它的臨時存儲要求,例如存儲

10、SQL Server生成的工作表。tempdb數(shù)據(jù)庫是全局資源,所有連接到系統(tǒng)的用戶的臨時表和存儲過程都存儲在該數(shù)據(jù)庫中。tempdb數(shù)據(jù)庫在SQL Server每次啟動時都重新創(chuàng)建,因此該數(shù)據(jù)庫在系統(tǒng)啟動時總是干凈的,臨時表和存儲過程在連接斷開時自動除去。4答:SQL Server 2000包含的對象如:表、視圖、存儲過程、索引、觸發(fā)器。(1)表:在數(shù)據(jù)庫中,所有的數(shù)據(jù)存放在表中,表由行(記錄)和列(字段)組成,一個數(shù)據(jù)庫可以包含多個表。(2)視圖:視圖是由查詢數(shù)據(jù)表產(chǎn)生的結(jié)果,是一種虛構(gòu)的表。視圖把表中的部分數(shù)據(jù)映射出來供用戶使用,這樣可以防止所有的用戶直接對表進行操作而導(dǎo)致系統(tǒng)的性能和安

11、全性的下降。(3)存儲過程:一個存儲過程實際上是由一組SQL語句組成的完成特定功能的程序。存儲過程在服務(wù)器端被編譯后可以反復(fù)執(zhí)行。(4)索引:索引是對表中的一個或多個列的值進行排序的結(jié)構(gòu)。可以利用索引提高對數(shù)據(jù)庫表中的特定信息的訪問速度。(5)觸發(fā)器:觸發(fā)器由一組SQL語句組成,當(dāng)對表或視圖進行某種操作(添加、刪除或修改)時,這組命令會在一定情況下自動執(zhí)行。三、上機練習(xí)題(略)第3章服務(wù)器與客戶端配置練習(xí)題一、填空題1服務(wù)器組,服務(wù)器組2使用Windows身份驗證,使用SQL Server身份驗證3start4連接5通訊6命名管道,TCP/IP7Net-Library8DSN 二、選擇題1C

12、2C 3A 4B 5C三、判斷題1A 2B 3B 4A 5A四、問答題1答:使用net start命令啟動Windows的服務(wù);使用net pause命令暫停Windows服務(wù);使用net continue命令繼續(xù)被暫停的Windows服務(wù);使用net stop命令停止Windows服務(wù)。2答:在企業(yè)管理器中右鍵單擊指定的服務(wù)器,在彈出菜單中選擇“屬性”,打開“SQL Server屬性(配置)”對話框。在“常規(guī)”選項卡中,選中“自動啟動SQL Server”復(fù)選框,就可以實現(xiàn)在每次計算機啟動時自動運行SQL Server。3答:要在客戶端訪問遠程的SQL Server服務(wù)器,必須在客戶計算機和

13、服務(wù)器計算機上安裝一對匹配的SQL Server Net-Library以支持特定的網(wǎng)絡(luò)協(xié)議。Net-Library是一種SQL Server通訊組件,它將SQL Server 客戶端軟件和數(shù)據(jù)庫引擎與網(wǎng)絡(luò) API 隔離。SQL Server 客戶端軟件和數(shù)據(jù)庫引擎向 Net-Library 發(fā)送常規(guī)網(wǎng)絡(luò)請求,Net-Library 將請求轉(zhuǎn)換為用戶所選協(xié)議的特定網(wǎng)絡(luò)命令。Net-Library支持多種網(wǎng)絡(luò)協(xié)議,包括命名管道、TCP/IP、多協(xié)議、NWLink IPX/SPX、AppleTalk、Banyan Vines和VIA等。在安裝SQL Server時,命名管道和TCP/IP被默認啟用

14、。4答:SQL Server 2000客戶端配置完成后,在企業(yè)管理器中測試配置是否有效。方法很簡單,只要新建一個SQL Server 注冊,在注冊的過程中,選擇遠端的服務(wù)器作為數(shù)據(jù)庫服務(wù)器。如果能夠注冊成功,則說明客戶端和服務(wù)器之間的通信是暢通的,客戶端配置成功。此時在企業(yè)管理器中,可以查看和管理遠端服務(wù)器。五、上機練習(xí)題(略)第4章 Transact-SQL語言基礎(chǔ)練習(xí)題一、選擇題1B;C 2C;D;F;G;H 3B 4A;D 5D6A 7B;D 8D 9B 10A;B;C二、填空題2.常規(guī);分隔;雙引號;方括號3在其中定義局部變量的批處理、存儲過程或語句塊的內(nèi)部;任何程序;4 ; 5DEC

15、LARE Myvar CHAR(5) ;SET Myvar='Hello'6NULL7%e% aaa ;%e%aaa8FALSE;TRUE9math>0 AND math<10010行集函數(shù);聚合函數(shù);標量函數(shù)11SELECT STR(YEAR('11/25/2006'),4)+'年'+STR(MONTH('11/25/2006'),2)+'月'+STR(DAY('11/25/2006'),2)+'日'12CAST(GETDATE() AS char)13CONVERT(

16、char,GETDATE(),105)14CONVERT函數(shù)的參數(shù)比CAST函數(shù)的參數(shù)多了一個“樣式”,該參數(shù)用于指定以不同的格式顯示日期和時間。15-(雙連字符);/* . */(正斜杠-星號對)三、指出以下各縮寫的英文意思和中文意思1 Structured Query Language 結(jié)構(gòu)化查詢語言2 Data Definition Language 數(shù)據(jù)定義語言3 Data Manipulation Language 數(shù)據(jù)操縱語言4 Data Control Language 數(shù)據(jù)控制語言四、上機練習(xí)題1.答:(1)titles表:表4-17 titles表字段名稱title_idti

17、tletypepub_idprice字段類型tid(6)varchar(80)char(12)char(4)money(8)中文含義圖書標識書名圖書分類出版社標識價格(續(xù)表4-17)字段名稱advanceroyaltyytd_salesnotespubdate字段類型money(8)int(4)int(4)varchar(200)datetime(8)中文含義預(yù)付款版稅當(dāng)年銷量評論出版日期(2)authors表:表4-18 authors表字段名稱au_idau_lnameau_fnamephoneaddress字段類型id(11)varchar(40)varchar(20)char(12)v

18、archar(40)中文含義作者標識作者姓作者名電話地址(續(xù)表4-18)字段名稱citystatezipcontract字段類型varchar(20)char(2)char(5)bit(1)中文含義城市州郵政編碼簽約情況(3)titleauthor表:表4-19 titleauthor表字段名稱au_idtitle_idau_ordroyaltyper字段類型id(11)tid(6)tinyint(1)int(4)中文含義作者標識圖書標識作者序號作者對版稅的分擔(dān)情況(4)publishers表:表4-20 publishers表字段名稱pub_idpub_namecitystatecountr

19、y字段類型char(4)varchar(40)varchar(20)char(2)varchar(30)中文含義出版社標識出版社名稱出版社所在城市州國家(5)pub_info表:表4-21 pub_info表字段名稱pub_idlogopr_info字段類型char(4)image(16)text(16)中文含義出版社標識出版社徽標出版社簡介(6)discounts表:表4-22 discounts表字段名稱discounttypestor_idlowqtyhighqtydiscount字段類型varchar(40)char(4)smallint(2)smallint(2)decimal 5(

20、4,2)中文含義折扣類型書店標識最底數(shù)量最高數(shù)量折扣(7)sales表:表4-23 sales表字段名稱stor_idord_numord_dateqtypaytermstitle_id字段類型char(4)varchar(20)datetime(8)smallint(2)varchar(12)tid(6)中文含義書店標識定單號訂購日期數(shù)量付款期限圖書標識(8)stores表:表4-24 stores表字段名稱stor_idstor_namestor_addresscitystatezip字段類型char(4)varchar(40)varchar(40)varchar(20)char(2)ch

21、ar(5)中文含義書店標識書店名稱書店地址書店所在城市州郵政編碼(9)employee表:表4-25 employee表字段名稱emp_idfnameminitlname字段類型empid(9)varchar(20)char(1)varchar(30)中文含義雇員標識雇 員 姓 名(續(xù)表4-25)字段名稱job_idjob_lvlpub_idhire_date字段類型smallint(2)tinyint(1)char(4)datetime(8)中文含義工作標識工作級別雇員所在出版社標識雇用日期(10)jobs表:表4-26 jobs表字段名稱job_idjob_descmin_lvlmax_l

22、vl字段類型smallint(2)varchar(50)tinyint(1)tinyint(1)中文含義工作標識工作名稱工作級別范圍(11)roysched表:表4-27 roysched表字段名稱title_idlorangehirangeroyalty字段類型tid(6)int(4)int(4)int(4)中文含義書名標識銷量范圍版稅以上各表包含的用戶自定義數(shù)據(jù)類型有:empid;id;tid2答:實現(xiàn)語句為:use pubsdeclare A binary,B binaryset A=100set B=200print Aprint B打印結(jié)果為: 0X64 0XC83答:DECLARE

23、 i int,sum intSET i=1SET sum=0WHILE i<=1000 BEGIN SET sum=sum+i SET i=i+2 END PRINT '1+3+5+7+999的值為:'+str(sum)第5章 數(shù)據(jù)庫管理練習(xí)題一、選擇題1B;A;C;B 2B;A;C 3A;C 4C 5B6D 7A 8A二、填空題1 主數(shù)據(jù)庫;次數(shù)據(jù)庫;事務(wù)日志2 主數(shù)據(jù)庫;次數(shù)據(jù)庫;事務(wù)日志3 邏輯文件名;物理文件名4 未指定組的其他5 創(chuàng)建數(shù)據(jù)庫的用戶6 物理設(shè)備名稱;邏輯設(shè)備名稱7 sp_addumpdevice;sp_dropdevice8 差異9 WITH NO

24、RECOVERY;WITH RECOVERY10 REPLACE三、簡答題1答:事務(wù)日志文件用于存儲數(shù)據(jù)庫的更新情況等事務(wù)日志信息。例如,使用INSERT、UPDATE、DELETE等對數(shù)據(jù)庫進行更改的操作都會記錄在事務(wù)日志文件中,當(dāng)數(shù)據(jù)庫損壞時,可以使用事務(wù)日志文件恢復(fù)數(shù)據(jù)庫。2答:“文件自動增長”表示用戶可以指定數(shù)據(jù)文件自動按下列選項所指定的大小增長。l 按兆字節(jié):指定數(shù)據(jù)文件增長所基于的兆字節(jié)數(shù)。l 按百分比:指定希望數(shù)據(jù)文件自動增長所基于的百分比。l 文件增長不受限制:指定數(shù)據(jù)文件增長不受限制。l 將文件增長限制為(MB):指定數(shù)據(jù)文件可以增長到的大?。∕B)?!白詣邮湛s”表示允許定期

25、對數(shù)據(jù)庫進行檢查,當(dāng)數(shù)據(jù)庫文件或日志文件的未用空間超過其大小的25%時,系統(tǒng)將會自動縮減文件使其未用空間等于25%。當(dāng)文件大小沒有超過其建立時的初始大小時,不會縮減文件,縮減后的文件也必須大于或等于其初始大小。3答:“文件關(guān)閉”選項代表當(dāng)數(shù)據(jù)庫中無用戶時,自動關(guān)閉該數(shù)據(jù)庫,并將所占用的資源交還給操作系統(tǒng)。4答:(1)完全數(shù)據(jù)庫備份完全數(shù)據(jù)庫備份是備份數(shù)據(jù)庫的所有表的數(shù)據(jù)及模式,以及對應(yīng)的文件結(jié)構(gòu),包括對事務(wù)日志中的事務(wù)進行備份。它可以用作系統(tǒng)出現(xiàn)故障時恢復(fù)數(shù)據(jù)庫的基礎(chǔ),也可用于在另外一臺計算機上生成數(shù)據(jù)庫的副本。(2)差異數(shù)據(jù)庫備份差異數(shù)據(jù)庫備份只記錄自上次完全數(shù)據(jù)庫備份后發(fā)生變化的數(shù)據(jù)。差異

26、備份的數(shù)據(jù)量比完全備份的數(shù)據(jù)量小而且備份速度快,因此可以更經(jīng)常地備份。(3)事務(wù)日志備份事務(wù)日志包含了自上次進行完全數(shù)據(jù)庫備份、差異數(shù)據(jù)庫備份或事務(wù)日志備份以來所完成的事務(wù)??梢允褂檬聞?wù)日志備份將數(shù)據(jù)庫恢復(fù)到特定的即時點或恢復(fù)到故障點。(4)數(shù)據(jù)庫文件和文件組備份只備份特定的文件或文件組,常用于超大型數(shù)據(jù)庫的備份。四、上機練習(xí)題1答:CREATE DATABASE mydb1 -數(shù)據(jù)庫名稱ON PRIMARY (NAME =f1, -主數(shù)據(jù)文件邏輯名稱FILENAME ='D:sql_dataf1.mdf', SIZE =2, -初始大小為2MB MAXSIZE =unlimi

27、ted, -最大尺寸為無限大 FILEGROWTH =5%), -增長速度為5% (NAME=f2, -次數(shù)據(jù)文件邏輯名稱FILENAME='D:sql_dataf2.ndf',SIZE=3, - 初始大小為3MB MAXSIZE=200, -最大尺寸200MB FILEGROWTH=2) - 增長速度為2MBLOG ON (NAME=lg1, -事務(wù)日志邏輯名文件FILENAME='D:sql_loglg1.ldf',SIZE=1,MAXSIZE=10,FILEGROWTH=1)3答:(1)ALTER DATABASE mydb1ADD FILE (NAME=

28、f3,FILENAME='D:sql_data f3.ndf',SIZE=2, MAXSIZE=5, FILEGROWTH=1)(2)ALTER DATABASE mydb1 MODIFY FILE (NAME = f3,SIZE = 3MB,MAXSIZE=10MB)(3)ALTER DATABASE mydb1 MODIFY NAME = mydb24答:exec sp_addumpdevice 'disk', 'mycopy2','d:mybackup2mydb2.bak'5答:(3)BACKUP DATABASE mydb

29、1 TO mycopy1(4)RESTORE DATABASE mydb3FROM mycopy1WITH MOVE 'f1' TO 'd:sql_datamydb3-f1.mdf', MOVE 'f2' TO 'd:sql_datamydb3-f2.mdf', MOVE 'f3' TO 'd:sql_datamydb3-f3.mdf', MOVE 'lg1' TO 'd:sql_logmydb3-lg1.lgf'6答:DROP DATABASE mydb2,mydb

30、3第6章表的管理練習(xí)題一、填空題1行;列2永久表;臨時表;永久;永久;臨時3CREATE TABLE4主鍵約束;惟一性約束;檢查約束;默認約束;外部鍵約束5外部鍵6sp_bindrule7TRUNCATE TABLE8關(guān)系圖窗格;網(wǎng)格窗格;SQL窗格;結(jié)果窗格9聚合函數(shù)10GROUP BY11COMPUTE12內(nèi)連接;外連接;交叉連接13UNION14INTO二、選擇題1D 2B;C;D 3A 4B 5B6B 7C 8C 9B 10C11C 三、判斷題1A 2B 3B 4B 5A6B 7B 8B 9A 10B11A 12A 三、簡答題1答:表約束(Constraint)是SQL Server提

31、供的一種強制實現(xiàn)數(shù)據(jù)完整性的機制,包括主鍵(PRIMARY KEY)約束、惟一性(UNIQUE)約束、檢查(CHECK)約束、默認(DEFAULT)定義和外部鍵(FOREIGN KEY)約束。2答:規(guī)則(Rules)是一種SQL Server對象,它用于執(zhí)行一些與CHECK約束相同的功能。CHECK約束比規(guī)則更簡明,一個列只能應(yīng)用一個規(guī)則,但是卻可以應(yīng)用多個CHECK約束。CHECK 約束作為CREATE TABLE語句的一部分進行指定,而規(guī)則以單獨的對象創(chuàng)建,然后綁定到列上。3答通常可以將連接查詢分為內(nèi)連接、外連接和交叉連接等。內(nèi)連接使用比較運算符(最常使用的是等號,即等值連接)根據(jù)每個表共

32、有列的值匹配兩個表中的行。只有每個表中都存在相匹配列值的記錄才出現(xiàn)在結(jié)果集中。在內(nèi)連接中,所有表是平等的,沒有主次之分。與內(nèi)連接不同,參與外連接的表有主次之分。以主表的每一行數(shù)據(jù)去匹配從表中的數(shù)據(jù)列,符合連接條件的數(shù)據(jù)將直接返回到結(jié)果集中,對那些不符合連接條件的列,將被填上NULL值后再返回到結(jié)果集中。在交叉連接查詢中,兩個表中的每兩行都可能互相組合成為結(jié)果集中的一行。交叉連接并不常用,除非需要窮舉兩個表的所有可能的記錄組合。4左向外連接以連接(JOIN)子句左側(cè)的表為主表,主表中所有記錄都將出現(xiàn)在結(jié)果集中。如果主表中的記錄在右表中沒有匹配的數(shù)據(jù),則結(jié)果集中右表的列值為NULL。可以使用*=符

33、號定義左連接。在SQL Server 2000中,還可以使用LEFT OUTER JOIN或LEFT JOIN關(guān)鍵字定義左向外連接。右向外連接以連接(JOIN)子句右側(cè)的表為主表,主表中所有記錄都將出現(xiàn)在結(jié)果集中。如果主表中的記錄在左表中沒有匹配的數(shù)據(jù),則結(jié)果集中左表的列值為NULL??梢允褂?*符號定義右連接。在SQL Server 2000中,還可以使用RIGHT OUTER JOIN或RIGHT JOIN關(guān)鍵字定義右向外連接。完整外部連接包括連接表中的所有行,無論它們是否匹配。在SQL Server 2000中,還可以使用FULL OUTER JOIN或FULL JOIN關(guān)鍵字定義完整外

34、部連接。5答數(shù)據(jù)庫的索引和書籍中的目錄非常相似。有了索引,就可以快速地在書中找到需要的內(nèi)容,而無需順序瀏覽全書了。書中的目錄是主要章節(jié)的列表,其中注明了包含各章節(jié)的頁碼。而數(shù)據(jù)庫中的索引是一個表中所包含的值的列表,其中注明了表中包含各個值的記錄所在的存儲位置??梢詾楸碇械膯蝹€列建立索引,也可以為一組列建立索引。索引提供指針以指向存儲在表中指定列的數(shù)據(jù)值,然后根據(jù)指定的排序次序排列這些指針。數(shù)據(jù)庫使用索引的方式與使用書的目錄很相似:通過搜索索引找到特定的值,然后跟隨指針到達包含該值的行。因為索引是有序排列的,所以會大大提高索引的效率。用戶可以利用索引快速訪問數(shù)據(jù)庫表中的特定信息。索引是對數(shù)據(jù)庫表

35、中一個或多個列的值進行排序的結(jié)構(gòu)。6答視圖是一個虛擬表,其內(nèi)容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫中以存儲的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來自由定義視圖的查詢所引用的表,并且在引用視圖時動態(tài)生成。五、上機練習(xí)題(一)表的定義及約束2答:(1)CREATE TABLE 職工基本信息(職工編號 CHAR(5) PRIMARY KEY,姓名 CHAR(10) NOT NULL,性別 CHAR(2),出生日期 DATETIME,部門編號 CHAR(3)(2)CREATE TABLE 工資(職工編號 CHAR(5) PRIMARY KEY,基本工資 MON

36、EY,獎金 MONEY,實發(fā)工資 MONEY)(3)CREATE TABLE 部門信息(部門編號 CHAR(3) PRIMARY KEY,部門名稱 CHAR(20) NOT NULL,部門簡介 VARCHAR(50)3答:ALTER TABLE 職工基本信息ADD 職稱 CHAR(10)4答:ALTER TABLE 職工基本信息 DROP COLUMN 職稱5答:ALTER TABLE 部門信息 ADD CONSTRAINT uk_dptname UNIQUE(部門名稱)6答:ALTER TABLE 職工基本信息 ADD CONSTRAINT chk_sex CHECK (性別 in (

37、9;男','女')7答:ALTER TABLE 工資 ADD CONSTRAINT chk_salary CHECK (基本工資>0)8答:ALTER TABLE 工資 ADD CONSTRAINT dftsalary1 DEFAULT 0 FOR 基本工資ALTER TABLE 工資 ADD CONSTRAINT dftsalary2 DEFAULT 0 FOR 獎金9答:ALTER TABLE 職工基本信息 ADD CONSTRAINT dftsex DEFAULT '男' FOR 性別10答:ALTER TABLE 職工基本信息 ADD CO

38、NSTRAINT fk_1FOREIGN KEY (部門編號) REFERENCES 部門信息(部門編號)ALTER TABLE 工資 ADD CONSTRAINT fk_2 FOREIGN KEY (職工編號)REFERENCES 職工基本信息(職工編號)11答:ALTER TABLE 職工基本信息 DROP CONSTRAINT fk_1ALTER TABLE 工資 DROP CONSTRAINT fk_212答:CREATE RULE bonus_rule AS range<=1000GOEXEC sp_bindrule 'bonus_rule' , '工資

39、.獎金'13答:EXEC sp_unbindrule '工資.獎金'DROP RULE bonus_rule(二)表的更新1答:INSERT INTO 職工基本信息 VALUES ('10001','王佳','女','1979/02/01','001')INSERT INTO 職工基本信息 VALUES ('20001','張欣','男','1965/05/10','002')INSERT INTO 職工基本信息

40、 VALUES ('20003','李勇','男','1976/08/01','002')INSERT INTO 職工基本信息 VALUES ('10002','劉軍','男','1973/07/01','001')2答:INSERT INTO 工資(職工編號,基本工資,獎金) VALUES ('10001',2000,2200)INSERT INTO 工資(職工編號,基本工資,獎金) VALUES ('1000

41、2',2500,3000)3答:INSERT INTO 工資(職工編號,基本工資,獎金)SELECT 職工編號,基本工資,獎金FROM 臨時工資信息4答:CREATE TABLE 部門平均年齡(部門編號 CHAR(15), 平均年齡 SMALLINT)5答:INSERT INTO 部門平均年齡SELECT 部門名稱,AVG(year(getdate()-YEAR(出生日期)FROM 職工基本信息GROUP BY 部門編號6答:UPDATE 工資 SET 獎金=獎金*1.1 FROM 職工基本信息WHERE 職工基本信息.職工編號=工資.職工編號 AND 職工基本信息.部門編號='

42、;001'7答:UPDATE 工資 SET 實發(fā)工資=基本工資+獎金8答:DELETE FROM 工資 WHERE 職工編號='10001'9答:DELETE 工資 FROM 職工基本信息WHERE 職工基本信息.職工編號=工資.職工編號 AND 職工基本信息.部門名稱='001'(三)表的查詢1答:SELECT * FROM authors2答:SELECT title,price,pubdate FROM titles3答:SELECT title_id,title,price*0.8 as NewPrice FROM titles4答:SELECT

43、 DISTINCT type FROM titles5答:SELECT au_lname,au_fname,phoneFROM authorsWHERE state='CA'6答:SELECT titleFROM titlesWHERE type='business' AND price<107答:SELECT *FROM titlesWHERE price BETWEEN 10 AND 208答:SELECT *FROM titlesWHERE price NOT BETWEEN 10 AND 209答:SELECT * FROM authors WHE

44、RE city IN('Oakland','Covelo','Palo Alto')10答:SELECT * FROM authors WHERE au_fname LIKE('_')ORDER BY au_lname11答:SELECT * FROM authorsWHERE au_lname LIKE 'S%' AND au_fname LIKE '%e%'12答:SELECT *FROM authorsWHERE au_lname LIKE 'A-K%'13答:SELECT M

45、AX(price),MIN(price),SUM(price),AVG(price) FROM titles14答:SELECT COUNT(DISTINCT(type) FROM titles15答:SELECT COUNT(*) FROM authorsWHERE state='CA'16答:SELECT state AS 州名,COUNT(au_id) AS 人數(shù) FROM authors GROUP BY state17答:SELECT type AS 圖書分類, AVG(price) AS 平均價格FROM titles GROUP BY type18. 答:SELE

46、CT title AS 書名,type AS 類型,price AS 單價 FROM titles ORDER BY typeCOMPUTE AVG(price) BY type19答:SELECT au_lname,au_fname,title_idFROM authors,titleauthorWHERE authors.au_id=titleauthor.au_id20答:SELECT au_lname,au_fname,title_idFROM authors INNER JOIN titleauthorON authors.au_id=titleauthor.au_id21答:SEL

47、ECT au_lname,au_fname,title_idFROM authors, titleauthorWHERE authors.au_id *= titleauthor.au_id或:SELECT au_lname,au_fname,title_idFROM authors left join titleauthorON authors.au_id = titleauthor.au_id22答:SELECT au_lname,au_fname,titleFROM authors,titles,titleauthorWHERE authors.au_id=titleauthor.au_

48、idAND titleauthor.title_id=titles.title_id23答:SELECT au_lname,au_fname,titleFROM authors inner join titleauthor ON authors.au_id=titleauthor.au_id INNER JOIN titles ON titleauthor.title_id=titles.title_id24答:SELECT au_lname,au_fname,title,price,pub_nameFROM authors INNER JOIN titleauthor ON authors.

49、au_id=titleauthor.au_id INNER JOIN titles ON titleauthor.title_id=titles.title_id INNER JOIN publishers ON titles.pub_id=publishers.pub_id25答:SELECT pub_name,titles.*FROM titles,publishers WHERE titles.pub_id=publishers.pub_idAND state='CA'26答:SELECT au_lname,au_fname,title,pub_name,authors.

50、cityFROM authors INNER JOIN titleauthor ON authors.au_id=titleauthor.au_id INNER JOIN titles on titleauthor.title_id=titles.title_id INNER JOIN publishers on titles.pub_id=publishers.pub_idWHERE authors.city=publishers.city27答:SELECT titleFROM titlesWHERE price<(SELECT price FROM titlesWHERE titl

51、e_id='PS2091')28答:SELECT au_id,au_lname,au_fnameFROM authorsWHERE EXISTS ( SELECT * FROM titleauthorWHERE authors.au_id=titleauthor.au_id)ORDER by au_id DESC29答:SELECT au_lname,au_fname,cityFROM authorsWHERE city= (SELECT cityFROM authorsWHERE au_id='213-46-8915') AND au_id<>'213-46-8915'30答:SELECT authors.cityFROM authorsUNIONSELECT publishers.cityFROM publishersORDER BY 1(四)索引1答:CREATE UNIQUE CLUSTERED INDEX name_ind ON au(au_lname,au_fname)2(略)3答:DROP INDEX _ind(五)視圖1答:CREATE VIEW view1(姓,名,書名,電話,地址) ASSELECT authors.au_l

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論