SQL Server數(shù)據(jù)庫技術及應用(第2版) 習題答案_第1頁
SQL Server數(shù)據(jù)庫技術及應用(第2版) 習題答案_第2頁
SQL Server數(shù)據(jù)庫技術及應用(第2版) 習題答案_第3頁
SQL Server數(shù)據(jù)庫技術及應用(第2版) 習題答案_第4頁
SQL Server數(shù)據(jù)庫技術及應用(第2版) 習題答案_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習題答案子項目1安裝和體驗數(shù)據(jù)庫一、選擇題1.C 2.C 3.D 4.A 5.D二、填空題工作組版、開發(fā)人員版、開發(fā)版關系型“”SQLServer配置管理器。4.MSSQLServer5.網(wǎng)絡協(xié)議三、簡答題.1)數(shù)據(jù)庫管理系統(tǒng)(S:是一種操縱和管理數(shù)據(jù)庫的軟件,是用于建立、使用和維護數(shù)據(jù)庫。它對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。數(shù)據(jù)庫(B:是由文件管理系統(tǒng)發(fā)展起來的,是依照某種數(shù)據(jù)模型組織起來的數(shù)據(jù)理和控制。數(shù)據(jù)庫系統(tǒng)庫和數(shù)據(jù)管理員組成。數(shù)據(jù)庫管理員的人有效使用。MicrosoftSQLServer外,還有甲骨文公司的Oracle公DB2InformixSybaseASEAccess系統(tǒng),以MySQLMySQL開源數(shù)據(jù)庫系統(tǒng)。需要在本地計算機上注冊遠程計算機的SQLServer數(shù)據(jù)庫服務器。SQLServerTCP/IP通訊協(xié)議。子項目2創(chuàng)建教學管理系統(tǒng)數(shù)據(jù)庫與數(shù)據(jù)表一、選擇題1.D2.C3.A4.A5.A6.B7.C8.A9.D10.D11.A12.D二、填空題int引用(參照)完整性輸入列的值主鍵PRIMARYKEYS三、實訓操作1、CREATEDATABASElibrary1ONPRIMARY()LOGON(

NAME=library,FILENAME='c:\library\library.mdf',SIZE=5MB,MAXSIZE=1000MBNAME=library_log,FILENAME='c:\library\library_log.ldf',MAXSIZE=5MB,FILEGROWTH=10%)GO2、USELibrary1GOCREATETABLEReaders(RID

INT NOTNULL, --讀者編號RName

NVARCHAR(50)NOTNULL,

--讀者姓名RSex

NOTNULL,NOT

--讀者性別--讀者類型編號RAddress NVARCHAR(50) NULL,

--家庭住址Email)GO

NVARCHAR(50) NULL --電子郵件CREATETABLEReaderType(RType

INT NVARCHAR(30)

NOTNULL,NOTNULL,

Num TINYINT)GOCREATETABLEBooks(

NOTNULL --可借數(shù)量BID INT IDENTITY(1,1)Title NVARCHAR(200)Author NVARCHAR(50)PubId INT

NOTNULL,NOTNULL,NOTNULL,NOTNULL,

圖書名稱圖書作者--出版社編號PubDate ISBN NVARCHAR(200)Price MONEYCategoryId INT)GO

NOTNULL, --出版時間NOTNULL, --ISBNNOTNULL, --單價NOTNULL --圖書種類編號CREATETABLEBookCategory(CateoryIdINTIDENTITY(1,1NOTNULL, --圖書類型編號NameNVARCHAR(20)NOTNULL --圖書類型名稱)GOCREATETABLEPublishers(PID INT IDENTITY(1,1)NOTNULL, --出版社編PName NVARCHAR(50) NULL --出版社名稱)GOCREATETABLEBorrow(RIDINTNOTNULL,--讀者編號BIDINTNOTNULL,--圖書編號LendDateDATETIMENOTNULL,--借閱日期ReturnDateDATETIMENULL,--實際歸還日期)GOCREATETABLEPenalty(RID INT NOTNULL, 讀者編號BID INT NOTNULL, --圖書編PDate DATETIME NOTNULL, 罰款日PType INT NOTNULL, --罰款類AmountMONEY NULL --罰款金額)GO3、--創(chuàng)建各類約束--Reader表的約束--RSex char(2) 只取男、女,默認值為男讀者性別ALTERTABLEReadersADDCONSTRAINTCK_RSexCHECK(RSex='男'ORRSex='女')ALTERTABLEReadersADDCONSTRAINTDF_RSexDEFAULT'男'FORRSexALTERTABLEReadersADDCONSTRAINTDF_RaddressDEFAULTFORRaddressALTERTABLEReadersADDCONSTRAINTCK_EmailCHECK(EmailLIKE'%@%')ALTERTABLEReadersADDCONSTRAINTPK_RIDPRIMARYKEY(RID)--ReaderType的約束ALTERTABLEReaderTypeADDCONSTRAINTPK_RTypeIdPRIMARYKEY(RTypeId)GOALTERTABLEReaderTypeADDCONSTRAINTCK_NumCHECK(Num>=0)GO--Books的約束ALTERTABLEBooksADDCONSTRAINTPK_BIDPRIMARYKEY(BID)GOALTERTABLEBooksADDCONSTRAINTCK_PubDateCHECK(PubDate<GETDATE())GOALTERTABLEBooksADDCONSTRAINTUQ_ISBNUNIQUE(ISBN)GOALTERTABLEBooksADDCONSTRAINTCK_PriceCHECK(Price>0)GO--BookCategory的約束ALTERTABLEBookCategoryADDCONSTRAINTPK_CateoryIdPRIMARYKEY(CateoryId)ALTERTABLEPublishersADDCONSTRAINTPK_PIDPRIMARYKEY(PID)GO--圖書借閱信息表Borrow表中的約束ALTERTABLEBorrowADDCONSTRAINTPK_borrowPRIMARYKEY(RID,BID,LendDate)ALTERTABLEBorrowADDCONSTRAINTDF_LendDateDEFAULTGETDATE()FORLendDate--圖書罰款信息表Penalty中的約束ALTERTABLEPenaltyADDCONSTRAINTPK_penaltyPRIMARYKEY(RID,BID,PDate)ALTERTABLEPenaltyADDCONSTRAINTDF_PDateDEFAULTGETDATE()FORPDateALTERTABLEPenaltyADDCONSTRAINTCK_AmountCHECK(Amount>0)--創(chuàng)建外鍵約束ALTERTABLEReadersADD CONSTRAINT FK_Readers_ReaderType FOREIGN KEY(RTypeId) REFERENCESReaderType(RTypeId)ALTERTABLEBooksADDCONSTRAINTFK_Books_PublishersFOREIGNKEY(PubId)REFERENCESPublishers(PID)(外鍵約束以此為例,其他略)4、插入記錄此處使用操作方式略。子項目3數(shù)據(jù)管理一、選擇題1.A2.B3.C4.D二、簡答題1.(1)可以使用INSERTINTO…… SELECT語句,并使用UNION集合運算將多條記錄同時插入到數(shù)據(jù)表中。如插入三條記錄到班級表,代碼如下:INSERTINTOClassSELECT'12010312','1212',35,'0103UNIONSELECT'12010411','1211',45,'0104UNIONSELECT'12020212','1212',42,'0202'(2)使用INSERTINTO語句,逐條插入,代碼略。TRUNCATETABLEWHERE子句的DELETE語句相同:二者均刪除表中的TRUNCATETABLE比DELETEDELETE語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。兩者都可以進行數(shù)據(jù)的復制。INSERTINTOSELECT語句要求目標表必須存在,語句格式為:InsertintoTable2(field1,field2,...selectvalue1,value2,..from。SELECTINTOFROM語句目標表可以不存在,語句格式為:SELECTvale1value2intoTable2from。三、實訓操作BooksBID列改為非標志列。插入數(shù)據(jù)不順利的原因是因為該表與之關聯(lián)PublishersBookCategory中的記錄后,才能插入。INSERTINTOBooks(BID,Title,Author,PubId,PubDate,ISBN,Price,CategoryId)VALUES

(4939,'企劃手冊','屈云波',16,'2003-09-01','9787115145543',32.80,79)INSERTINTOBooks(BID,Title,Author,PubId,PubDate,ISBN,Price,CategoryId)VALUES

(4942,'Fireworks MX2008 標 準 教 程

',' 胡 松',28,'2004-01-01','9787115155108',29.00,82)INSERTINTOBooks(BID,Title,Author,PubId,PubDate,ISBN,Price,CategoryId)VALUES

(4942,'DREAMWEAVER MX

標 準 教 程 ',' 胡 海',3,'2003-05-01','978711515888',35.00,82)UPDATEBooksSETPubDate='2008-09-01'WHEREBID=4939SELECT*INTOFROMBooksTRUNCATETABLEBooks1DELETEBooksDELETE刪除不成功,因為Books表與Penalty表有聯(lián)系。子項目4數(shù)據(jù)簡單查詢一、選擇題1.C 2.D 3.B 4.B 5.C 6.D 7.A 8.B 9.B 10.A二、填空題1、刪除字符表達式的前導空格。2、ORDERBY3、‘a(chǎn)b’4、DISTINCT5、LIKE6、F5三、簡答題SELECT語句的基本語法格式SELECTselect_list[INTOnew_table_name]FROMtable_list[WHEREsearch_condition1][GROUPBYgroup_by-list][HAVINGsearch_condition2][ORDERBYorder_list[ASC︳DESC]]SELECTDISTINCT關鍵詞來消除重復列,select_list是結果里面的屬性列。FROM子句是要進行投影操作的基本表或視圖,可以針對一個表或者多個表操作。WHERE組。GROUPBY分組屬性上具有相同值。HAVING子句是將分組后的結果按照條件進行選擇。ORDERBY(ASC)(DESC)排列2.(1),并能夠將結果返回給用戶。字符函數(shù)可以實現(xiàn)字符串的查找、轉換等。日期時間函數(shù)用來對日期或時間型數(shù)據(jù)進行轉換。SQLServer中對象和設置的系統(tǒng)信息。3.聚合函數(shù)聚合函數(shù)AVGMAXMINSUMSTDEVVAR功能返回組中值的平均值返回組中項目的數(shù)量返回表達式的最大值返回表達式的最小值返回表達式中所有值的和四、實訓操作1.(1)SELECTTitle,AuthorFROMBooksWHEREPriceBETWEEN40AND60SELECTTitle,PubDateFROMBooksWHEREAuthor='趙增敏'SELECTPIDFROMPublishersWHEREPName='北京大學出版社'SELECTTitle,PriceFROMBooksWHEREPubId=1ANDMONTH(PubDate)=5SELECTFROMReaderWHEREPhoneISNULLSELECTcategoryidFROMBookCategoryWHEREName='計算機'SELECT*FROMBooksWHERECategoryId=82ORDERBYPubDateDESCSELECTCOUNT(*) 讀者的總人數(shù)FROMReaderSELECTPubId,COUNT(*)圖書數(shù)量FROMBooksGROUPBYPubIdHAVINGCOUNT(*)>=8SELECTMAX(price)最高價格,MIN(Price)最低價格,AVG(price)平均價格FROMbookSCREATENONCLUSTEREDINDEXIX_PriceONBooks(Price)WITHFILLFACTOR=30GOSELECT*FROMBooksWITH(INDEX=IX_Price)WHEREPriceBETWEEN20AND40子項目5數(shù)據(jù)復雜查詢一、選擇題1.D 2.D 3.C 4.A 5.B 6.D二、填空題1AVG()2insert3、GROUPBY4、分組三、簡答題1.(1)內(nèi)連接僅選出兩張表中互相匹配的記錄。NULL連接、右外連接和全外連接。交叉連接將左表作為主表,并與右表中的所有記錄進行連接。2.子查詢比較靈活、方便,適合用于作為查詢的篩選條件;而表連接更適合與查看多表的數(shù)據(jù)。3、視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內(nèi)容(即所有數(shù)據(jù)行)都來自基本表,它依據(jù)基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系。四、實訓操作使用前面項目中的圖書管理系統(tǒng)中的數(shù)據(jù)表,根據(jù)需求分別編寫查詢語句。SELECTRID=(SELECTRIDFROMReaderWHERERname='劉晶晶'),SUM(Amount) 罰款總額FROMPenaltyGROUPBYPenalty.RIDSELECTTitle圖書名稱,Author作者,ISBN,Price價格FROMBooksINNERJOINBookCategoryONBooks.CategoryId=BookCategory.CategoryIdWHEREName='計算機'ORDERBYPubDateDESCSELECTTitle,PriceFROMBooksWHEREPubId=(SELECTPIDFROMPublishersWHEREPName='北京大學出版社')ANDMONTH(PubDate)=52.(1)CREATEVIEWview_BorrowASSELECTReader.RNAME讀者姓名,Books.Title圖書名稱,Author圖書作者FROMBorrowINNERJOINBooksONBorrow.BID=Books.BIDINNERJOINReaderONBorrow.RID=Reader.RIDSELECT圖書名稱,圖書作者FROMview_borrowWHERE讀者姓名='劉晶晶'子項目6數(shù)據(jù)庫高級應用一、選擇題1.C 2.B 3.C 4.C二、簡答題.1語句每執(zhí)行一次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度。,可將此復雜操作用存儲過程封裝起來與數(shù)據(jù)庫提供的事務處理結合一起使用就變成了一條條的SQL語句,可能要多次連接數(shù)據(jù)庫。而換成存儲過程,只需要連接一次數(shù)據(jù)庫就可以了。存儲過程可以重復使用,可減少數(shù)據(jù)庫開發(fā)人員的工作量。安全性高,可設定只有某此用戶才具有對指定存儲過程的使用權。觸發(fā)器triggr是SQLserve提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法局部變量是在當前批處理中有效的變量,批處理完成就失去作用,在SQL中以@開頭全局變量就是在整個MSSQL 中都可以訪問到的變量,@@開頭。三、實訓操作SELECT書名=Titl=RNAME,借閱日期=PDate=AmountCASEWHENPType=1THENWHENPType=2THENELSEENDFROMPenalty,Books,ReaderWHEREPenalty.BID=Books.BIDANDPenalty.RID=Reader.RIDCREATEPROCproc_Pub(@PNAMEVARCHAR(200))ASSELECTTitle,Author,PubDate,ISBN,PriceFROMBooksINNERJOINPublishersONBooks.PubID=Publishers.PIDWHEREPNAME=@PNAMEGOEXECproc_Pub北'京大學出版社'IFEXISTS(SELECT*FROMsysobjectsWHERENAME='trigger_Title')DROPTRIGGERGOCREATETRIGGERtrigger_Title--創(chuàng)建觸發(fā)器ONBooksFORUPDATEASIFUPDATE(Title)BEGINPRINT不'能修改圖書名稱'ROLLBACKTRANSACTION ENDGOUPDATEBooksSETTitle='企劃手冊'WHEREBID=4942子項目7報表服務一、簡答題1.(1)打開SQLServerBusinessIntelligenceDevelopmentStudio,選擇報表向導建立連接并選擇創(chuàng)建報表的數(shù)據(jù)源選擇報表類型及分組方式,選擇報表的格式設置部署的選項2.(1)預覽報表完成的效果(2)將其發(fā)布到配置好的報表服務器上二、實訓操作核心語句為:SELECTCno,Sno,ResultFROMResultWHERESnoLIKE'11%'核心語句為:SELECT S.Sno,S.Sname,S.Ssex,C.ClassNameFROM dbo.ClassASCINNERJOINdbo.ProfessionalASPONC.Pno=P.PnoINNERJOINdbo.StudentASSONC.Classno=S.ClassnoINNERJOINdbo.DepartmentASDONP.DeptNo=D.DeptNoWHERE (D.DeptName='軟件與服務外包學院')項目三管理教學管理系統(tǒng)數(shù)據(jù)庫一、選擇題1.B 2.C 3.D 4.B二、填空題1存儲SQLServer當數(shù)據(jù)庫出錯時,使用備份文件還原數(shù)據(jù)庫forxmlRAW三、簡答題WINDOWS數(shù)據(jù)備份類型分為完整數(shù)據(jù)庫備份、差異備份、事務日志備份三種。openxmlSQLserver中的兩個系統(tǒng)存儲過程sp_xml_preparedocument和sp_xml_removedocumentXML文檔映射為相應的字段,插入到數(shù)據(jù)庫。四、實訓操作題1.ServerManagementStudio“”分支樹,右擊“”“”“”頁的“”選擇“Library”“SQLServer”“”“”【確定】按鈕,完成登錄名的創(chuàng)建。展開Library數(shù)據(jù)庫,展開“安全性”分支樹,右擊“用戶”,打開的快捷菜單中,單擊“新建用戶”,打開“數(shù)據(jù)庫用戶-新建”對話框,在用戶名文本框中填寫“Mike”,在登錄名中填寫“Mike”,可選擇對應的用戶架構,點擊【確定】按鈕,完成用戶名設置。(2)RAW模式將查詢結果集中的每一行轉換為帶有通用標識符row或可能提供元素名稱的xml元素。AUTO模式將查詢結果作為嵌套XML元素返回。使用RAW模式提取數(shù)據(jù)庫Library中表Books中的數(shù)據(jù)的T-SQL語句如下所示:USELibraryGOSELECTTitleas'圖書名稱',Authoras'作者'FROMBooksFORXMLRAW使用AUTO模式提取數(shù)據(jù)庫Library中表books中的數(shù)據(jù)的T-SQL語句如下所示:USELibrarySELECTTitleas'圖書名稱',Authoras'作者'FROMBooksFORXMLAUTO2.(1)SELECT*FROMsys.sql_loginsUSELibraryGOEXECsp_addlogin'yuguohong','123456'EXECsp_adduser'yuguohong','yuguohong'定義數(shù)據(jù)庫角色的語法格式:CREATEROLErole_name[AUTHORIZATIONowner_name]role_name:要創(chuàng)建的角色的名稱owner_name:該角色擁有者的名字,默認為dbo。其中owner_name必須是當前數(shù)據(jù)庫里的用戶或角色代碼為:CREATEROLEdepartmentadministratorroleGRANTcreatetableTOdepartmentadministratorrole項目四使用C#開發(fā)教學管理數(shù)據(jù)庫應用程序一、選擇題1.A 2.C 3.C 4.D 5.C 6.D 7.C 8.D二、填空題菱形、橢圓一對多、多對多需求分析邏輯設計關系學號三、簡答題E-R圖又稱E-R模型,它是直接從現(xiàn)實世界中抽取出實體類型及實體間聯(lián)系圖(Entity-Relationship圖。一個E-

溫馨提示

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

最新文檔

評論

0/150

提交評論