




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第八章SQLServer數據庫系統概述開始下一頁SQLServer的發展歷程及特點SQLServer的安裝與啟動SQLServer管理工具簡介SQLServer的系統結構TransactSQL語言簡介SQLServer的主要數據類型SQLServer函數SQLServer的標識符及命名規則1應用程序邏輯數據庫大型機客戶端終端字符按鍵信息大型主機執行RDBMS和應用程序…20世紀60-70年代的系統結構計算機應用系統的發展(1)大型機相當于今天的服務器集中式2數據庫應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工作站1……網絡文件服務器文件請求文件應用程序在客戶工作站上運行只提供資源(數據)的集中管理和訪問途徑計算機應用系統的發展(2)20世紀80年代的系統結構文件/服務器3SELECT*FROMstudentWHERE學號=“992126”提交的SQL接收的結果帶有60000條記錄的數據庫表格文件student查詢在服務器端執行SQL請求返回一條記錄客戶工作站服務器工作站接收的只是查詢的結果
查詢語句將在服務器中執行
客戶/服務器結構特點前端用戶需要后臺服務器的服務時僅僅發出請求,服務器接受該請求后執行相應的功能,并把滿足條件的那部分數據反饋給前臺客戶端本結構核心大型機的絕對功能和集中管理以及微型計算機的低費用和更好的平衡處理能力“協同處理”即通過客戶端和服務器端的最佳分式合作,使整個系統達到最高的效率客戶端程序和數據專用服務器功能和數據用戶共享它是一個開放的體系結構5
數據庫服務器的平臺與客戶端無關(無論是軟件平臺還是硬件平臺)。數據庫服務器上的數據庫管理系統集中負責管理數據庫服務器上的數據和資源,它向客戶端提供一個開放的使用環境,客戶端的用戶通過數據庫接口和SQL語言訪問數據庫。
也就是說,不管客戶端采用的是什么樣的硬件平臺和軟件環境,它只要能夠通過網絡協議和數據庫接口程序連接到服務器就可以對數據庫進行訪問。
客戶/服務器結構特點671.真正的客戶機/服務器體系結構。2.圖形化用戶界面,使系統管理和數據庫管理更加直觀、簡單。3.豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。4.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產品集成。SQLServer的主要特點95.具有很好的伸縮性,可跨越從運行Windows95/98的膝上型電腦到運行Windows2000的大型多處理器等多種平臺使用。6.對Web技術的支持,使用戶能夠很容易地將數據庫中的數據發布到Web頁面上。7.SQLServer提供數據倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。10SQLServer2000常見的版本企業版(EnterpriseEdition)標準版(StandardEdition)個人版(PersonalEdition)開發者版(DeveloperEdition)
二、
SQLServer的安裝與啟動11安裝、運行SQLServer2000的軟件需求SQLServer2000企業版必須運行于安裝WindowsNTServerEnterpriseEdition4.0或者Windows2000AdvancedServer以及更高版本的操作系統下。SQLServer2000標準版必須運行于安裝WindowsNTServerEnterpriseEdition4.0、WindowsNTServer4.0、Windows2000Server以及更高版本的操作系統下。SQLServer2000個人版可在多種操作系統下運行,如可運行于Windows9x,WindowsNT4.0或Windows2000的服務器版或工作站版的操作系統下。SQLServer2000開發者版可運行于上述Windows9x以外的所有操作系統下。13SQLServer2000的安裝與啟動SQLServer2000的安裝過程與其它MicrosoftWindows系列產品類似。用戶可根據向導提示,選擇需要的選項一步一步地完成。SQLServer2000安裝完成后,在Windows的程序項中會出現MicrosoftSQLServer程序組,運行SQLServer數據庫服務器。14數據庫服務器管理工具數據庫企業管理器查詢分析器服務管理器導入和導出數據服務器端網絡實用工具客戶端網絡實用工具事件探查器在IIS中配置SQLXML支持AnalysisServices工具EnglishQuery工具
系統數據庫用戶數據庫數據表索引視圖存儲過程學習SQLServer2000需要掌握的內容15三、SQLServer管理工具簡介SQLServer企業管理器是SQLServer的一個最重要的工具,它通過圖形化的用戶界面(GUI)來設置和管理服務器,易于使用。查詢分析器不但能夠完成與企業管理器相同的工作,它還為數據庫應用程序開發人員提供了一個簡單易用的SQL交互窗口,用戶通過它可以交互地設計、測試、運行TransactSQL語句。了解其它管理工具的功能。17企業管理器企業管理器是基于一種新的被稱為微軟管理控制臺(MicrosoftManagementConsole)的公共服務器管理環境,它是SQLServer中最重要的一個管理工具。企業管理器不僅能夠配置系統環境和管理SQLServer,而且由于它能夠以層疊列表的形式來顯示所有的SQLServer對象,因而所有SQLServer對象的建立與管理都可以通過它來完成。18SQLServer企業管理器(EnterpriseManager)界面191.3.2服務管理器(ServiceManager)SQLServer服務管理器是在服務器端實際工作時最有用的實用程序,其界面如圖1-21所示。服務管理器用來啟動、暫停、繼續和停止數據庫服務器的實時服務,其提供的服務包括:SQLServer、SQLServerAgent、MSDTC(MicrosoftDistributedTransactionCoordinator,微軟分布式事務協調器)。21圖1-21SQLServer服務管理器(ServiceManager)界面22查詢分析器(QueryAnalyzer)SQLServer2000新的圖形化查詢分析器用于輸入和執行Transaction-SQL語句,并且迅速查看這些語句的結果,以分析和處理數據庫中的數據。這是一個非常實用的工具,對掌握SQL語言,深入理解SQLServer的管理工作有很大幫助。SQLServer數據庫查詢分析器SQL23客戶端網絡實用工具(ClientNetworkUtility)25導入和導出數據(ImputandExportData)導入和導出數據采用DTC導入/導出向導來完成。此向導包含了所有的DTS(DataTransformationServices)工具,提供了在OLEDB數據源之間復制數據的最簡捷的方法。SQLServer數據庫DTS服務數據數據數據數據其他類型數據庫26系統數據庫SQLSrver的數據庫組成系統級信息臨時數據庫,屬于全局資源,沒有權限限制。復制、作業調度和管理報警等建立新數據庫的模板下一頁29SQLServer系統數據庫簡介SQLServer2000有6個系統數據庫1.Master數據庫是SQLServer系統最重要的數據庫,它記錄了SQLServer系統的所有系統信息。這些系統信息包括所有的登錄信息、系統設置信息、SQLServer的初始化信息和其它系統數據庫及用戶數據庫的相關信息。2.Model數據庫是所有用戶數據庫和Tempdb數據庫的模板數據庫,它含有Master數據庫所有系統表的子集,這些系統數據庫是每個用戶定義數據庫需要的。303.Msdb數據庫是代理服務數據庫,為其警報、任務調度和記錄操作員的操作提供存儲空間。4.Tempdb是一個臨時數據庫,它為所有的臨時表、臨時存儲過程及其它臨時操作提供存儲空間。5.Pubs和Northwind數據庫是兩個實例數據庫,它們可以作為SQLServer的學習工具。31系統表在邏輯層次上,數據庫是由表、視圖、存儲過程等一系列數據對象組成的。每當創建數據庫時,SQLServer都會自動創建一些數據對象,其中比較重要的是系統表。不要求背系統表,只要求知道:系統表是自動生成的,不能手工修改。32幾個最重要的系統表1.Sysobjects表SQLServer的主系統表sysobjects出現在每個數據庫中,它對每個數據庫對象含有一行記錄。2.Syscolumns表系統表syscolumns出現在master數據庫和每個用戶自定義的數據庫中,它對基表或者視圖的每個列和存儲過程中的每個參數含有一行記錄。3.Sysindexes表系統表sysindexes出現在master數據庫和每個用戶自定義的數據庫中,它對每個索引和沒有聚簇索引的每個表含有一行記錄,它還對包括文本/圖像數據的每個表含有一行記錄。334.Sysusers表系統表sysusers出現在master數據庫和每個用戶自定義的數據庫中,它對整個數據庫中的每個WindowsNT用戶、WindowsNT用戶組、SQLServer用戶或者SQLServer角色含有一行記錄。5.Sysdatabases表系統表sysdatabases對SQLServer系統上的每個系統數據庫和用戶自定義的數據庫含有一行記錄,它只出現在master數據庫中。346.Sysdepends表系統表Sysdepends對表、視圖和存儲過程之間的每個依賴關系含有一行記錄,它出現在master數據庫和每個用戶自定義的數據庫中。7.Sysconstraints表系統表sysconstraints對使用CREATETABLE或者ALTERTABLE語句為數據庫對象定義的每個完整性約束含有一行記錄,它出現在master數據庫和每個用戶自定義的數據庫中。35第八章SQLServer數據庫系統概述開始下一頁SQLServer的發展歷程及特點SQLServer的安裝與啟動SQLServer管理工具簡介SQLServer的系統結構TransactSQL語言簡介SQLServer的主要數據類型SQLServer函數SQLServer的標識符及命名規則36五、TransactSQL語言簡介標準SQL語言是作為查詢和執行語言使用的,不是功能全面的編程語言。Transact-SQL是SQLServer對標準SQL的擴展擴展的主要功能是:加入了程序控制結構,如IF-ELSE、WHILE等加入了局部變量、全局變量SQLServer不區分大小寫,但書寫規范是:保留關鍵字大寫37T—SQL的主要功能:1、具有標準的SQL語言所有功能2、擴展功能有:加入程序控制和局部變量和全局變量一些功能?!梢跃帉懞唵蔚某绦颉?8Transact-SQL語言主要組成部分數據定義語言(DDL,DataDefinitionLanguage)數據操縱語言(DML,DataManipularionLanguage)數據控制語言(DCL,DataControlLanguage)系統存儲過程(SystemStoredProcedure)一些附加的語言元素39一些附加的語言元素:如注釋符號與變量及運算符:(1)、
注釋:有兩種:一種為ANSI標準注釋符:--,適用于單行另一種為多行注釋符:/**/(2)、
變量:語言中必不可少的組成部分。A:局部變量:用戶自定的,僅在程序內部使用,引用時要在其名稱前加上@,而且必須用DECLARE定義后才可使用。設置完值為空,可用SELECT或SET語句定值。40例1:use教師庫DECLARE@MYCHAR(10)SET@MY='張紅'--或者為select@MY='張紅'SELECT*from教師表where教師姓名=@MY例2:USEPUBS GO DECLARE@STATECHAR(2) SET@STATE="CHINA" SELECT@STATEB:全局變量:系統提供的。任何程序都可調用。以標記符@@開頭,名稱不要與局部變量相同,在服務器級定義。41例1:Selectgetdate()as‘today’’sdateandtime’,/*顯示當前日期和時間為止試圖登錄服務器的次數。*/@@connectionsas‘loginattempts’例2:select@@versionas‘當前版本信息’例3:print@@version--與例2有什么區別?42運算符
(1)
算術運算符:(2)
字符串運算符:(3)
位運算符:對二進制計算(4)
賦值運算符:只有一個;等號(5)
比較運算符:P34(6)
邏輯運算符:NOT,AND,OR與其他不同的是,前后不用兩點43例:定義一個變量,int型,定值為2*(3+4),顯示出來。Declare@dddintSet@ddd=2*(3+4)Select@ddd44TransactSQL批處理及執行過程簡介批處理是指從客戶機傳遞到服務器上的一組完整的數據和SQL語句。使用GO關鍵字標識批處理的開始和結束。前后臺方式下TransactSQL語句的執行過程示例45T-SQL的批處理及執行過程 1、批處理:成批處理命令或語句。從客戶機傳遞到服務器的一組完整的數據和SQL語句,可以只有一條SQL語句,或者多條。用GO指令標識批處理結束。 即一個批處理一次發給服務器一組SQL語句。46例:use教學庫
select*from教師表; select教師姓名,職稱,系名
from教師表,系表
where教師
go2、客戶端執行過程:以批處理形式向服務器遞交語句。47服務器端的執行過程48六、SQLServer的主要數據類型在SQLServer中,數據類型通常是指字段列、存儲過程和局部變量的數據特征。Varchar與char的區別(長度可變或固定)二進制數據類型(圖片\Word文件等)雙字符類型類型(nchar,nvarchar,ntext)Timestamp數據類型(不是日期,也不是時間數據,而是SQLServer根據事件的發生次序自動生成的一種二進制數據,還可以代替傳統的數據庫加鎖技術)。49數值數據類型 1、整數型:(1)bigint(2)int(3)smallint(4)tinyint 2、精確數值型 3、浮點型 4、貨幣數值型50二、字符型 1、char類型 2、varchar類型 3、text類型三、日期時間型 1、datetime 2、samlldatetime51四、二進制數據類型 1、binary 2、varbinary 3、image五、位型 bit:只存儲1及0——邏輯型六、特殊數據類型 1、雙字節數據類型:ncharnvarcharntext實際上是一種unicode(統一的字符編碼標準,采用雙字節對字符編碼)數據類型。 2、時間戳數據類型:timestamp52第八章SQLServer數據庫系統概述開始下一頁SQLServer函數SQLServer的標識符及命名規則53七、SQLServer函數數學函數字符串函數日期函數系統函數統計函數(重點)其他常用函數54函數格式:函數名()一、
數學函數
用于對數字表達式進行數學運算并返回結果。一般只對數值型數據類型操作。55二、
字符串函數
一般對字符型表達式操作。但也有例外。如
分類:見P:221頁。表8-8例P:220例8-2例:select商品代號,len(商品代號)from商品表1例:selectleft(教師姓名,1),count(*)from教師表groupbyleft(教師姓名,1)例:selectlower(substring(商品代號,1,3))aslower,upper(substring(商品代號,1,3))asupperFROMspk1wherepricebetween11.0and20.0056例:declare@strrvarchar(60)set@strr='efghijk'select'abcd:'+ltrim(@strr)——》abcd:efghijkQ:若最后一行改為select'abcd:'+@strr,輸出結果——》abcd:efghijk57例3:declare@strrvarchar(60)set@strr='aBCDCDefghijk'selectleft(@strr,6)——》aBCDCD例4:usepubsselectcharindex('wonderful',notes,5)fromtitleswheretitle_id='TC3218'——》4758例5:declare@nachar(6)set@na='01'select*from教師表where教師ID=reverse(@na)例6:selectstuff('abcdef33',2,4,'ijklmn')——》aijklmnf33(用后面的字符取代第一個字符第二個位置開始的四個字符)59練習1:1、設變量ATC為‘1234’(后有三個空格),變量BTC為‘
5678’(前有三個空格),寫出程序清單,要求顯示出的結果為:‘’declare@ATCchar(7)declare@BTCchar(7)set@ATC='1234'set@BTC='5678'selectrtrim(@ATC)+ltrim(@BTC)2、如1中的變量,要求顯示的結果為‘87654321’,寫出程序清單。selectreverse(rtrim(@ATC)+ltrim(@BTC))603、如1中的變量,要求顯示的結果為‘’,寫出程序清單。selectstuff(rtrim(@ATC),3,1,ltrim(@BTC))4、定義變量QWE為‘ABCD’,AWE為‘EFGH’,要求顯示結果為‘abcdefgh’,寫出程序清單。declare@ATCchar(4)declare@BTCchar(4)set@ATC='ABCD'set@BTC='EFGH'selectlower(@ATC+@BTC)
或者
selectlower(@ATC)+lower(@BTC)615、如4中的變量,要求顯示結果為‘ABgh’,寫出程序清單declare@ATCchar(4)declare@BTCchar(4)set@ATC='ABCD'set@BTC='EFGH'selectleft(@ATC,2)+lower(right(@BTC,2))62日期和時間函數
分類:見P:222頁。表8-9例8-3例1:usepubsselectdatediff(day,pubdate,getdate())asno_of_daysfromtitles將dayn改為year或month都可以,當然意義與結果就不相同了。63例2:selectdatename(year,getdate())as‘Year_name'(年)
selectdatename(qq,getdate())as‘Year_name'(季度)selectdatename(hh,getdate())as‘Year_name'(小時)例3、selectdatename(hh,getdate())+':'+datename(mi,getdate())as'Year_name'當前的時間64系統函數用于返回有關系統、用戶、數據庫和數據庫對象的信息。例1、usemasterselectdbid,db_name(dbid)fromsysdatabasesorderbydbid
--從系統表中返回當前服務器中所有的數據庫編號與名字
例2、selecthost_name()–返回機器名65轉換函數用于數據類型轉換。一般情況下,SQLSERVER會自動處理某些數據類型的轉換(隱性轉換),但在某些情況下,轉換不理想時,可用到轉換函數。只有兩個:CONVERT和CASTCAST:強制轉換CONVERT:充許轉換表達式和日期類型。課本P:224,例8-5例1:usepubsselecttitle,ytd_salesfromtitleswhereCAST(ytd_salesaschar(20))like'15%'
andtype='trad_cook'like:模式匹配操作符,只對字符串起作用,%的作用與DOS的*相似。66例2:usepubsselecttitlefromtitleswheretitlelike'C%'
例3、selectgetdate()select'USA'=convert(char,getdate(),101)select'ANSI'=convert(char,getdate(),102)select'ISO'=convert(char,getdate(),112)67聚合函數及其他常用函數:可能返回整個或幾個列或一個列的匯總數據。例:select*fromxscjbselectsum(ywen+sxue+yyu+tyu+zzhi)fromxscjbwherexming='xt'例:usepubsselectAVG(advance),sum(ytd_sales)fromtitleswheretype='business'681、ISDATE(表達式)2、ISNULL(表達式1,表達式2)例:查看教師任課表中課程名稱,系ID及沒有安排任課教師的給出提示usexsselect課程名稱,系ID,ISNULL(教師ID,'無任課教師')from教師任課表
3、NULIF(表達式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同范本電子產品采購協議
- 瑜伽房會員合同協議書
- 玉米出售協議書
- 吸塑機模具轉讓協議書
- 電梯解除協議書
- 英達認罪協議書
- 商品車車輛交接協議書
- 茶葉銷毀協議書
- 員工工傷后解除協議書
- 自動放棄協議書
- 中藥學電子版教材
- GB/T 19520.13-2009電子設備機械結構482.6mm(19 in)系列機械結構尺寸第3-102部分:插拔器手柄
- 心理咨詢及治療-正確應對壓力提升正能量
- FZ/T 72016-2012針織復合服用面料
- 課件:第五章 社會工作項目的監測與督導(《社會工作項目策劃與評估》課程)
- 行政法與行政訴訟法學 馬工程課件 第16章
- 食品工廠設計概述課件
- 回轉窯-工作原理課件
- 課件亞洲與非洲音樂 課件-2022-2023學年高中音樂人音版(2019) 必修 音樂鑒賞
- 導數在經濟中的應用課件
- GB∕T 33217-2016 沖壓件毛刺高度
評論
0/150
提交評論