數(shù)據(jù)庫高級應(yīng)用_第1頁
數(shù)據(jù)庫高級應(yīng)用_第2頁
數(shù)據(jù)庫高級應(yīng)用_第3頁
數(shù)據(jù)庫高級應(yīng)用_第4頁
數(shù)據(jù)庫高級應(yīng)用_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——數(shù)據(jù)庫高級應(yīng)用數(shù)據(jù)庫高級應(yīng)用結(jié)課論文

學院:計算機科學與技術(shù)學院專業(yè):信息管理與信息系統(tǒng)姓名:學號:

一、SQLserver2023概述

SQLServer2023出現(xiàn)在微軟數(shù)據(jù)平臺愿景上是由于它使得公司可以運行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀測和信息給所有用戶的成本。這個平臺有以下特點:可信任的——使得公司可以以很高的安全性、可靠性和可擴展性來運行他們最關(guān)鍵任務(wù)的應(yīng)用程序。高效的——使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時間和成本。智能的——提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀測和信息。

二.課程主要內(nèi)容和基本原理:

(一).數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng),是由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng)。它是為適應(yīng)數(shù)據(jù)處理的需要而發(fā)展起來的一種較為理想的數(shù)據(jù)處理的核心機構(gòu)。它是一個實際可運行的存儲、維護和應(yīng)用系統(tǒng)提供數(shù)據(jù)的軟件系統(tǒng),是存儲介質(zhì)、處理對象和管理系統(tǒng)的集合體。

數(shù)據(jù)庫系統(tǒng)尋常由軟件、數(shù)據(jù)庫和數(shù)據(jù)管理員組成。其軟件主要包括操作系統(tǒng)、各種宿主語言、實用程序以及數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,數(shù)據(jù)的插入、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)進行。數(shù)據(jù)管理員負責創(chuàng)立、監(jiān)控和維護整個數(shù)據(jù)庫,使數(shù)據(jù)能被任何有權(quán)使用的人有效使用。數(shù)據(jù)庫管理員一般是由業(yè)務(wù)水平較高、履歷較深的人員擔任。

數(shù)據(jù)的結(jié)構(gòu)化,數(shù)據(jù)的共享性好,數(shù)據(jù)的獨立性好,數(shù)據(jù)存儲粒度小,數(shù)據(jù)管理系統(tǒng),為用戶提供了友好的接口。

數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),是數(shù)據(jù)模型,現(xiàn)有的數(shù)據(jù)庫系統(tǒng)均是基于某種數(shù)據(jù)模型的。數(shù)據(jù)庫系統(tǒng)的核心是數(shù)據(jù)庫管理系統(tǒng)。

數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。DBMS是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)和核心。(二).數(shù)據(jù)庫管理系統(tǒng):

數(shù)據(jù)庫管理系統(tǒng)是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護數(shù)據(jù)庫,簡稱dbms。它對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過dbms訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過dbms進行數(shù)據(jù)庫的維護工作。它可使多個應(yīng)用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數(shù)據(jù)庫。DBMS提供數(shù)據(jù)定義語言DDL與數(shù)據(jù)操作語言,供用戶定義數(shù)據(jù)庫的模式結(jié)構(gòu)與權(quán)限約束,實現(xiàn)對數(shù)據(jù)的追加、刪除等操作。1.數(shù)據(jù)定義:DBMS提供數(shù)據(jù)定義語言DDL,供用戶定義數(shù)據(jù)庫的三級模式結(jié)構(gòu)、兩級映像以及完整性約束和保密限制等約束。DDL主要用于建立、修改數(shù)據(jù)庫的庫結(jié)構(gòu)。DDL所描述的庫結(jié)構(gòu)僅僅給出了數(shù)據(jù)庫的框架,數(shù)據(jù)庫的框架信息被存放在數(shù)據(jù)字典(DataDictionary)中。

2.數(shù)據(jù)操作:DBMS提供數(shù)據(jù)操作語言DML,供用戶實現(xiàn)對數(shù)據(jù)的追加、刪除、更新、查詢等操作。

3.數(shù)據(jù)庫的運行管理:數(shù)據(jù)庫的運行管理功能是DBMS的運行控制、管理功能,包括多用戶環(huán)境下的并發(fā)控制、安全性檢查和存取限制控制、完整性檢查和執(zhí)行、運行日志的組織管理、事務(wù)的管理和自動恢復,即保證事務(wù)的原子性。這些功能

保證了數(shù)據(jù)庫系統(tǒng)的正常運行。

4.數(shù)據(jù)組織、存儲與管理:DBMS要分類組織、存儲和管理各種數(shù)據(jù),包括數(shù)據(jù)字典、用戶數(shù)據(jù)、存取路徑等,需確定以何種文件結(jié)構(gòu)和存取方式在存儲級上組織這些數(shù)據(jù),如何實現(xiàn)數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)組織和存儲的基本目標是提高存儲空間利用率,選擇適合的存取方法提高存取效率。

5.數(shù)據(jù)庫的保護:數(shù)據(jù)庫中的數(shù)據(jù)是信息社會的戰(zhàn)略資源,隨數(shù)據(jù)的保護至關(guān)重要。DBMS對數(shù)據(jù)庫的保護通過4個方面來實現(xiàn):數(shù)據(jù)庫的恢復、數(shù)據(jù)庫的并發(fā)控制、數(shù)據(jù)庫的完整性控制、數(shù)據(jù)庫安全性控制。DBMS的其他保護功能還有系統(tǒng)緩沖區(qū)的管理以及數(shù)據(jù)存儲的某些自適應(yīng)調(diào)理機制等。

6.數(shù)據(jù)庫的維護:這一部分包括數(shù)據(jù)庫的數(shù)據(jù)載入、轉(zhuǎn)換、轉(zhuǎn)儲、數(shù)據(jù)庫的重組合重構(gòu)以及性能監(jiān)控等功能,這些功能分別由各個使用程序來完成。

7.通信:DBMS具有與操作系統(tǒng)的聯(lián)機處理、分時系統(tǒng)及遠程作業(yè)輸入的相關(guān)接口,負責處理數(shù)據(jù)的傳送。對網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)庫系統(tǒng),還應(yīng)當包括DBMS與網(wǎng)絡(luò)中其他軟件系統(tǒng)的通信功能以及數(shù)據(jù)庫之間的互操作功能。(三).SQLServer數(shù)據(jù)庫:

MicrosoftSQLServer是一個高性能的、多用戶的關(guān)系型數(shù)據(jù)庫管理系統(tǒng);它是專為客戶/服務(wù)器計算環(huán)境設(shè)計的,是當前最流行的數(shù)據(jù)庫服務(wù)器系統(tǒng)之一;它提供的內(nèi)置數(shù)據(jù)復制功能、強盜的管理工具和開放式的系統(tǒng)體系結(jié)構(gòu)為基于事務(wù)的企業(yè)級信息管理方案提供了一個卓越平臺。

在SQLServer數(shù)據(jù)庫中、數(shù)據(jù)被組織為用戶可以看得見的規(guī)律部件,這些規(guī)律組件主要包括基本表、視圖、存儲過程、觸發(fā)器和用戶等。

SQLServer將用戶可以看得到的這些規(guī)律組件物理地存儲在磁盤上的操作系統(tǒng)文件中。作為普通用戶只需要關(guān)心規(guī)律組件的存在,二它們的物理實現(xiàn)在很大程度上是透明的,一般只有數(shù)據(jù)庫管理員需要了解和處理數(shù)據(jù)庫的物理實現(xiàn)。每個SQLServer實例包括四個系統(tǒng)數(shù)據(jù)庫(master、model、tempdb和msdb)以及一個或多個用戶數(shù)據(jù)庫。根據(jù)定義的安全權(quán)限,每個SQLServer實例都可以使所有連接到實例的用戶使用該實例上的所有數(shù)據(jù)庫。

數(shù)據(jù)庫是建立在操作系統(tǒng)文件上的,SQLServer在發(fā)出CREATEDATABASE命令建立數(shù)據(jù)庫時,會同時發(fā)出建立操作系統(tǒng)文件、申請物理存儲空間的請求;當CREATEDATABASE命令成功以后,在物理上和規(guī)律上都建立了一個新的數(shù)據(jù)庫;然后就可以在數(shù)據(jù)庫中建立各種用戶所需要的規(guī)律組件,如基本表、視圖等。

本學期學習內(nèi)容:1數(shù)據(jù)庫的創(chuàng)立和管理2數(shù)據(jù)表的創(chuàng)立和管理3表中數(shù)據(jù)的操作4

視圖的創(chuàng)立和使用5索引的創(chuàng)立和使用6存儲過程的創(chuàng)立和使用7觸發(fā)器的創(chuàng)立和使用目的:把握使用SQLServer2023開發(fā)數(shù)據(jù)庫系統(tǒng)的方法

內(nèi)容:創(chuàng)立表1.在STUDENT數(shù)據(jù)庫中創(chuàng)立一個名為t_course(課程信息)的表,要求如下:c_numberchar(10)primarykey,c_namechar(30),hoursint,creditreal;2.在STUDENT數(shù)據(jù)庫中創(chuàng)立一個名為t_score(學生成績)的表要求如下:s_numberchar(10)取值范圍:數(shù)據(jù)來自學生信息表主鍵,C_numberchar(10)取值范圍:數(shù)據(jù)來自課程信息主鍵,Scorereal取值范圍:0~100.創(chuàng)立約束

索引的創(chuàng)立(1)-在Student學生表上按學號升序創(chuàng)立唯一索引(2)驗證索引已被創(chuàng)立:簡單查詢(3)創(chuàng)立所有女同學的視圖(4)--查詢年齡不大于20歲的女生(5)建計算機系學生視圖(6)--查詢計算機系01號課程考取最高分的學生(7)創(chuàng)立計算機系選修數(shù)據(jù)結(jié)構(gòu)的學生成績視圖(8)查詢數(shù)據(jù)結(jié)構(gòu)成績高于90分的學生記錄(9)創(chuàng)立學生年齡的視圖(10)查詢年齡在全體學生平均年齡以上的學生記錄(11)建立各系每個學生平均分的視圖(12)在在視圖vwAVG_Grade上建立新的視圖,顯示學生詳細的信息(13)查詢各系最高平均分(14)--利用視圖更新基本表索引的總結(jié)有關(guān)索引的使用規(guī)則:1、表的主鍵、外鍵必需有索引;2、經(jīng)常與其他表進行連接的表,在連接字段上應(yīng)當建立索引;3、經(jīng)常出現(xiàn)在Where子句中的字段,特別是大表的字段,應(yīng)當建立索引;4、索引應(yīng)當建在選擇性高的字段上;5、索引應(yīng)當建在小字段上,對于大的文本字段甚至超長字段,不要建索引;6、復合索引的建立需要進行細心分析;盡量考慮用單字段索引代替:A、正確選擇復合索引中的主列字段,一般是選擇性較好的字段;B、復合索引的幾個字段是否經(jīng)常同時以AND方式出現(xiàn)在Where子句中?單字段查詢是否極少甚至沒有?假使是,則可以建立復合索引;否則考慮單字段索引;C、假使復合索引中包含的字段經(jīng)常單獨出現(xiàn)在Where子句中,則分解為多個單字段索引;D、假使復合索引所包含的字段超過3個,那么細心考慮其必要性,考慮減少復合的字段;E、假使既有單字段索引,又有這幾個字段上的復合索引,一般可以刪除復合索引;7、頻繁進行數(shù)據(jù)操作的表,不要建立太多的索引;8、刪除無用的索引,避免對執(zhí)行計劃造成負面影響;存儲過程1:.創(chuàng)立不帶參數(shù)的存儲過程方法1:利用對象管理器創(chuàng)立不帶參數(shù)的存儲過程(2):依次開啟———,如下圖所示:(2):右鍵單擊,如下圖所示:(3):點擊后即出現(xiàn)下面所示的窗口:(4):我們適當修改即可創(chuàng)立一個觸發(fā)器,此處和下面用SQL代碼創(chuàng)立的差不多,就不在贅述了。方法2:使用SQL-Transact創(chuàng)立不帶參數(shù)的存儲過程--開啟數(shù)據(jù)庫SC學習USESC學習GO

IFEXISTS(SELECTnameFROMsysobjectsWherename='PR_查看女生的信息'ANDTYPE='P')DropPROCPR_查看女生的信息GO--創(chuàng)立一個不帶參數(shù)的存儲過程CREATEProcPR_查看女生的信息ASBEGINSELECT*FROMStudentWhereSsex='女'END--開啟數(shù)據(jù)庫SC學習USESC學習GO--執(zhí)行PR_查看女生的信息存儲過程EXECPR_查看女生的信息2:創(chuàng)立帶參數(shù)的存儲過程方法1:利用對象資源管理器創(chuàng)立帶參數(shù)的存儲過程方法和前面的一樣,這里也不再說了……方法2:使用SQL-Transact創(chuàng)立帶參數(shù)的存儲過程--開啟數(shù)據(jù)庫SC學習USESC學習GOIFEXISTS(SELECTnameFROMsysobjectsWherename='PR_查看學生的信息'ANDTYPE='P')DropPROCPR_查看學生的信息GO--創(chuàng)立一個帶參數(shù)的存儲過程CREATEProcPR_查看學生的信息@xbchar(2)ASBEGINSELECT*FROMStudentWhereSsex=@xbEND--開啟數(shù)據(jù)庫SC學習USESC學習GO--執(zhí)行PR_查看學生的信息存儲過程EXECPR_查看學生的信息'女'方法1:利用對象資源管理器創(chuàng)立存儲過程(1):依次開啟———,如下圖所示:(2):右鍵單擊,如下圖所示:(3):點擊后即出現(xiàn)下面所示的窗口:(4):我們適當修改即可創(chuàng)立一個觸發(fā)器,此處和下面用SQL代碼創(chuàng)立的差不多,就不在贅述了。方法2:使用SQL-Transact創(chuàng)立參數(shù)的存儲過程--開啟數(shù)據(jù)庫SC學習USESC學習GOIFEXISTS(SELECTnameFROMsysobjectsWherename='PR_查看學生的信息_學號'ANDTYPE='P')DropPROCPR_查看學生的信息_學號GO--創(chuàng)立一個帶參數(shù)的存儲過程CREATEProcPR_查看學生的信息_學號@xhvarchar(10)ASBEGINSELECT*FROMStudentWhereSno=@xhEND--開啟數(shù)據(jù)庫SC學習USESC學習GO--執(zhí)行PR_查看學生的信息存儲過程EXECPR_查看學生的信息_學號'202381015'2、觸發(fā)器練習1:在數(shù)據(jù)庫SC學習的表Student上建立一個名為TR_阻止更新Student表的UPDATE觸發(fā)器,該觸發(fā)器將被UPDATE操作激活,該觸發(fā)器不允許用戶修改Student表中的數(shù)據(jù)。--開啟數(shù)據(jù)庫SC學習USESC學習GOIFEXISTS(SELECTnameFROMsysobjectsWherename='TR_阻止更新Student表'ANDTYPE='P')DropPROCTR_阻止更新Student表GO--創(chuàng)立一個帶參數(shù)的存儲過程CREATETRIGGERTR_阻止更新Student表ONStudentINSTEADOFUpdateASBEGINPRINT'觸發(fā)器開始執(zhí)行……'PRINT'阻止修改Student表!'END--開啟數(shù)據(jù)庫SC學習USESC學習GO--驗證觸發(fā)器TR_阻止更新Student表UpdateStudentSETSname='張三'WHERESno='202381015'

練習2:修改stu_tril3中的語句,使該觸發(fā)器不允許用戶修改xm一列的值,但其他列的值可以允許被修改。--開啟數(shù)據(jù)庫SC學習USESC學習GO--修改student_tri3中的語句,使該觸發(fā)器不允許用戶修改xm一列的值,但其他列的值可以允許被修改。IFEXISTS(SelectnameFromsysobjectsWherename='TR_不容許修改Sname'ANDTYPE='TR')DROPTriggerTR_不容許修改SnameGO--創(chuàng)立[TR_不容許修改Sname]觸發(fā)器CREATETRIGGERTR_不容許修改SnameONStudentFORUPDATEASGOif(Update(Sname))BeginPRINT'INSTEADOF觸發(fā)器開始執(zhí)行……'PRINT'Student表中的Sname列不容許更新……'RollbacktransactionEND--開啟數(shù)據(jù)庫SC學習USESC學習GO--更新Student表UPDATEStudentSETSname='張三'whereSno='202381013'三.心得體會:

在大三的下學期剛學了數(shù)據(jù)庫這門課,對這門課的第一印象是書本蠻厚的,感覺學起來應(yīng)當會很難很累。在學習這門課的過程中,在對數(shù)據(jù)庫的了解過程中,漸漸對數(shù)據(jù)庫有了感觀。數(shù)據(jù)庫這一詞并不是很難想象,并不是像外人看來很巧妙。作為計算機專業(yè)的學生,這樣的專業(yè)術(shù)語或者專業(yè)知識是最基本的。學習的時候沒有想象中的那么難,只要上課能聽懂就基本還可以。但是問題還是出在書本有點厚,有的時候上課的內(nèi)容

溫馨提示

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

評論

0/150

提交評論