SQLServer數據庫系統概述課件_第1頁
SQLServer數據庫系統概述課件_第2頁
SQLServer數據庫系統概述課件_第3頁
SQLServer數據庫系統概述課件_第4頁
SQLServer數據庫系統概述課件_第5頁
已閱讀5頁,還剩68頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第八章 SQL Server 數據庫系統概述開始下一頁SQL Server的發展歷程及特點SQL Server的安裝與啟動SQL Server管理工具簡介SQL Server的系統結構Transact SQL語言簡介SQL Server的主要數據類型SQL Server函數SQL Server的標識符及命名規則1第八章 SQL Server 數據庫系統概述開始下一頁S應用程序邏輯數據庫大型機客戶端終端字符按鍵信息大型主機執行RDBMS和應用程序20世紀60-70年代的系統結構 計算機應用系統的發展(1)大型機相當于今天的服務器集中式2應用程序邏輯數據庫大型機客戶端終端字符按鍵信息大型主機執行R

2、數據庫應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工作站1網絡文件服務器文件請求文件應用程序在客戶工作站上運行 只提供資源(數據)的集中管理和訪問途徑 計算機應用系統的發展(2)20世紀80年代的系統結構 文件/服務器3數據庫應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工數據庫應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工作站1 網絡服務器 請求結果應用程序邏輯客戶/服務器計算機應用系統的發展(3)目前,主要是C/S、B/S模式4數據庫應用程序邏輯工作站1應用程序邏輯工作站1應用程序邏輯工SELECT*FROM studentWH

3、ERE學號=“992126” 提交的SQL 接收的結果帶有60000條記錄的數據庫表格文件student查詢在服務器端執行 SQL 請求 返回一條記錄客戶工作站 服務器工作站接收的只是查詢的結果 查詢語句將在服務器中執行 客戶/服務器結構特點前端用戶需要后臺服務器的服務時僅僅發出請求,服務器接受該請求后執行相應的功能,并把滿足條件的那部分數據反饋給前臺客戶端 本結構核心大型機的絕對功能和集中管理以及微型計算機的低費用和更好的平衡處理能力 “協同處理”即通過客戶端和服務器端的最佳分式合作,使整個系統達到最高的效率 客戶端程序和數據專用 服務器功能和數據用戶共享 它是一個開放的體系結構 5SELE

4、CT*FROM student 提交的SQL 接 數據庫服務器的平臺與客戶端無關(無論是軟件平臺還是硬件平臺)。數據庫服務器上的數據庫管理系統集中負責管理數據庫服務器上的數據和資源,它向客戶端提供一個開放的使用環境,客戶端的用戶通過數據庫接口和SQL語言訪問數據庫。也就是說,不管客戶端采用的是什么樣的硬件平臺和軟件環境,它只要能夠通過網絡協議和數據庫接口程序連接到服務器就可以對數據庫進行訪問。 客戶/服務器結構特點6 客戶/服務器結構特點677一、SQL Server的發展歷程及特點 SQL Server是由Microsoft開發和推廣的關系數據庫管理系統(DBMS),它最初是由Microso

5、ft、Sybase和Ashton-Tate三家公司共同開發的,并于1988年推出了第一個OS/2版本。 SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用戶見面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。上一頁下一頁8一、SQL Server的發展歷程及特點 SQL S1真正的客戶機/服務器體系結構。2圖形化用戶界面,使系統管理和數據庫管理更加直觀、簡單。3豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。4SQL Server與Win

6、dows NT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產品集成。SQL Server的主要特點91真正的客戶機/服務器體系結構。SQL Server的主要5具有很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2000的大型多處理器等多種平臺使用。6對Web技術的支持,使用戶能夠很容易地將數據庫中的數據發布到Web頁面上。 7SQL Server提供數據倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。105具有很好的伸縮性,可跨越從運行Win

7、dows 95/98SQL Server 2000常見的版本 企業版(Enterprise Edition)標準版(Standard Edition)個人版(Personal Edition)開發者版(Developer Edition) 二、 SQL Server的安裝與啟動11SQL Server 2000常見的版本 二、 SQL S安裝、運行SQL Server 2000的硬件需求(1)計算機Inter及其兼容計算機,Pentium 166Mhz或者更高處理器或DEC Alpha和其兼容系統。(2)內存(RAM)企業版最少64MB內存,其他版本最少需要32MB內存,建議使用更多的內存。(

8、3)硬盤空間完全安裝(Full)需要180MB的空間,典型安裝(Typical)需要170MB的空間,最小安裝(Minimum)需要65MB的空間。12安裝、運行SQL Server 2000的硬件需求(1)計算安裝、運行SQL Server 2000的軟件需求 SQL Server 2000企業版必須運行于安裝Windows NT Server Enterprise Edition 4.0或者Windows2000 Advanced Server以及更高版本的操作系統下。SQL Server 2000標準版必須運行于安裝Windows NT Server Enterprise Edition

9、 4.0、Windows NT Server 4.0、Windows 2000 Server以及更高版本的操作系統下。SQL Server 2000 個人版可在多種操作系統下運行,如可運行于Windows 9x, Windows NT 4.0或Windows 2000的服務器版或工作站版的操作系統下。SQL Server 2000 開發者版可運行于上述Windows 9x以外的所有操作系統下。13安裝、運行SQL Server 2000的軟件需求 SQL SQL Server 2000的安裝與啟動 SQL Server 2000的安裝過程與其它Microsoft Windows系列產品類似。

10、用戶可根據向導提示,選擇需要的選項一步一步地完成。SQL Server 2000安裝完成后,在Windows的程序項中會出現Microsoft SQL Server程序組,運行SQL Server數據庫服務器 。14 SQL Server 2000的安裝與啟動 SQ數據庫服務器管理工具數據庫企業管理器查詢分析器服務管理器導入和導出數據服務器端網絡實用工具客戶端網絡實用工具事件探查器在IIS中配置 SQL XML支持Analysis Services工具 English Query工具 系統數據庫用戶數據庫數據表索引視圖存儲過程 學習SQL Server 2000需要掌握的內容15數據庫服務器管

11、理工具數據庫企業管理器查詢分析器服務管理器導入第八章 SQL Server 數據庫系統概述開始下一頁SQL Server的發展歷程及特點SQL Server的安裝與啟動SQL Server管理工具簡介SQL Server的系統結構Transact SQL語言簡介SQL Server的主要數據類型SQL Server函數SQL Server的標識符及命名規則16第八章 SQL Server 數據庫系統概述開始下一頁S三、SQL Server管理工具簡介SQL Server企業管理器是SQL Server的一個最重要的工具,它通過圖形化的用戶界面(GUI)來設置和管理服務器,易于使用。查詢分析器不

12、但能夠完成與企業管理器相同的工作,它還為數據庫應用程序開發人員提供了一個簡單易用的SQL交互窗口,用戶通過它可以交互地設計、測試、運行Transact SQL語句。了解其它管理工具的功能。17三、SQL Server管理工具簡介SQL Server企業 企業管理器企業管理器是基于一種新的被稱為微軟管理控制臺(Microsoft Management Console)的公共服務器管理環境,它是SQL Server中最重要的一個管理工具。企業管理器不僅能夠配置系統環境和管理SQL Server,而且由于它能夠以層疊列表的形式來顯示所有的SQL Server對象,因而所有SQL Server對象的建

13、立與管理都可以通過它來完成。 18 企業管理器企業管理器是基于一種新的被稱為微軟管理控制臺(SQL Server 企業管理器(Enterprise Manager)界面19SQL Server 企業管理器(Enterprise Ma利用企業管理器可以完成的操作有 管理SQL Server 服務器;建立與管理數據庫;建立與管理表、視圖、存儲過程、觸發程序、角色、規則、默認值等數據庫對象,以及用戶定義的數據類型;備份數據庫和事務日志、恢復數據庫;復制數據庫;設置任務調度;設置警報;提供跨服務器的拖放控制操作;管理用戶帳戶;建立Transact-SQL命令語句以及管理和控制SQL Mail。20利用

14、企業管理器可以完成的操作有 管理SQL Server 服1.3.2 服務管理器(Service Manager) SQL Server 服務管理器是在服務器端實際工作時最有用的實用程序,其界面如圖1-21所示。服務管理器用來啟動、暫停、繼續和停止數據庫服務器的實時服務,其提供的服務包括:SQL Server、SQL Server Agent、MSDTC(Microsoft Distributed Transaction Coordinator,微軟分布式事務協調器)。 211.3.2 服務管理器(Service Manager) 圖1-21 SQL Server 服務管理器(Service M

15、anager)界面22圖1-21 SQL Server 服務管理器(Servi查詢分析器(Query Analyzer) SQL Server 2000新的圖形化查詢分析器用于輸入和執行Transaction-SQL語句,并且迅速查看這些語句的結果,以分析和處理數據庫中的數據。這是一個非常實用的工具,對掌握SQL語言,深入理解SQL Server的管理工作有很大幫助。SQL Server 數據庫查詢分 析 器SQL23查詢分析器(Query Analyzer) SQL Serv客戶端網絡實用工具(Client Network Utility) 用來配置客戶端的網絡連接、管理和測定客戶端的網絡庫

16、等。服務器網絡實用工具(Server Network Utility)用來配置服務器端網絡連接和設置相關參數等。 24客戶端網絡實用工具(Client Network Utili客戶端網絡實用工具(Client Network Utility) 25客戶端網絡實用工具(Client Network Utili導入和導出數據(Imput and Export Data) 導入和導出數據采用DTC 導入/導出向導來完成。此向導包含了所有的DTS(Data Transformation Services)工具,提供了在OLE DB數據源之間復制數據的最簡捷的方法。 SQL Server 數據庫DTS

17、服務數據數據數據數據其他類型 數據庫26導入和導出數據(Imput and Export Data)聯機幫助文檔(Books Online)SQL Server 2000提供了大量的聯機文檔,它具有索引和全文搜索能力,可根據關鍵詞來快速查找用戶所需信息。 27聯機幫助文檔(Books Online)SQL Serve四、SQL Server的系統結構存儲結構主數據庫文件次數據庫文件事務曰志文件28四、SQL Server的系統結構存儲結構主數據庫文件次系統數據庫SQL Srver的數據庫組成系統級信息臨時數據庫,屬于全局資源,沒有權限限制。復制、作業調度和管理報警等建立新數據庫的模板下一頁29

18、系統數據庫SQL Srver的數據庫組成系統級信息臨時數據庫SQL Server 系統數據庫簡介 SQL Server 2000有6個系統數據庫 1. Master數據庫是SQL Server系統最重要的數據庫,它記錄了SQL Server系統的所有系統信息。這些系統信息包括所有的登錄信息、系統設置信息、SQL Server的初始化信息和其它系統數據庫及用戶數據庫的相關信息。 2. Model數據庫是所有用戶數據庫和Tempdb數據庫的模板數據庫,它含有Master數據庫所有系統表的子集,這些系統數據庫是每個用戶定義數據庫需要的。 30SQL Server 系統數據庫簡介 SQL Server

19、 3. Msdb數據庫是代理服務數據庫,為其警報、任務調度和記錄操作員的操作提供存儲空間。 4. Tempdb是一個臨時數據庫,它為所有的臨時表、臨時存儲過程及其它臨時操作提供存儲空間。 5. Pubs和Northwind數據庫是兩個實例數據庫,它們可以作為SQL Server的學習工具。 313. Msdb數據庫是代理服務數據庫,為其警報、任務調度和記系統表在邏輯層次上,數據庫是由表、視圖、存儲過程等一系列數據對象組成的。每當創建數據庫時,SQL Server都會自動創建一些數據對象,其中比較重要的是系統表。不要求背系統表,只要求知道:系統表是自動生成的,不能手工修改。32系統表在邏輯層次上

20、,數據庫是由表、視圖、存儲過程等一系列數據幾個最重要的系統表 1. Sysobjects表SQL Server 的主系統表sysobjects出現在每個數據庫中,它對每個數據庫對象含有一行記錄。2. Syscolumns表系統表syscolumns出現在master數據庫和每個用戶自定義的數據庫中,它對基表或者視圖的每個列和存儲過程中的每個參數含有一行記錄。3. Sysindexes表系統表sysindexes出現在master數據庫和每個用戶自定義的數據庫中,它對每個索引和沒有聚簇索引的每個表含有一行記錄,它還對包括文本/圖像數據的每個表含有一行記錄。 33幾個最重要的系統表 1. Syso

21、bjects表334. Sysusers表系統表sysusers出現在master數據庫和每個用戶自定義的數據庫中,它對整個數據庫中的每個Windows NT用戶、Windows NT用戶組、SQL Server 用戶或者SQL Server 角色含有一行記錄。5. Sysdatabases表系統表sysdatabases對SQL Server 系統上的每個系統數據庫和用戶自定義的數據庫含有一行記錄,它只出現在master數據庫中。344. Sysusers表346. Sysdepends表系統表Sysdepends對表、視圖和存儲過程之間的每個依賴關系含有一行記錄,它出現在master數據庫

22、和每個用戶自定義的數據庫中。7. Sysconstraints表系統表sysconstraints對使用CREATE TABLE或者ALTER TABLE語句為數據庫對象定義的每個完整性約束含有一行記錄,它出現在master數據庫和每個用戶自定義的數據庫中。356. Sysdepends表35第八章 SQL Server 數據庫系統概述開始下一頁SQL Server的發展歷程及特點SQL Server的安裝與啟動SQL Server管理工具簡介SQL Server的系統結構Transact SQL語言簡介SQL Server的主要數據類型SQL Server函數SQL Server的標識符及命

23、名規則36第八章 SQL Server 數據庫系統概述開始下一頁S五、Transact SQL語言簡介標準SQL語言是作為查詢和執行語言使用的,不是功能全面的編程語言。Transact-SQL是SQL Server對標準SQL的擴展擴展的主要功能是:加入了程序控制結構,如IF-ELSE、WHILE等加入了局部變量、全局變量SQL Server不區分大小寫,但書寫規范是:保留關鍵字大寫37五、Transact SQL語言簡介標準SQL語言是作為查詢 TSQL的主要功能:1、具有標準的SQL語言所有功能2、擴展功能有:加入程序控制和局部變量和全局變量一些功能。可以編寫簡單的程序。38 TSQL的主

24、要功能:1、具有標準的SQL語言所有功能38Transact-SQL語言主要組成部分 數據定義語言(DDL,Data Definition Language)數據操縱語言(DML,Data Manipularion Language)數據控制語言(DCL,Data Control Language)系統存儲過程(System Stored Procedure)一些附加的語言元素39Transact-SQL語言主要組成部分 數據定義語言(DD一些附加的語言元素:如注釋符號與變量及運算符:(1)、 注釋:有兩種:一種為ANSI標準注釋符:-,適用于單行另一種為多行注釋符:/* */(2)、 變量:

25、語言中必不可少的組成部分。A:局部變量:用戶自定的,僅在程序內部使用,引用時要在其名稱前加上,而且必須用DECLARE定義后才可使用。設置完值為空,可用SELECT或SET語句定值。40一些附加的語言元素:40 例1:use 教師庫DECLARE MY CHAR(10)SET MY=張紅 -或者為select MY=張紅SELECT * from 教師表 where 教師姓名=MY例2:USE PUBSGODECLARE STATE CHAR(2)SET STATE=CHINASELECT STATEB:全局變量:系統提供的。任何程序都可調用。以標記符開頭,名稱不要與局部變量相同,在服務器級定

26、義。41 例1:use 教師庫B:全局變量:系統提供的。任何程序例1:Select getdate() as todays date and time, /*顯示當前日期和時間為止試圖登錄服務器的次數。*/connections as login attempts例2:select version as 當前版本信息例3:print version - 與例2有什么區別?42例1:Select getdate() as today運算符 (1) 算術運算符:(2) 字符串運算符:(3) 位運算符:對二進制計算(4) 賦值運算符:只有一個;等號(5) 比較運算符:P34(6) 邏輯運算符:NOT

27、,AND,OR與其他不同的 是,前后不用兩點 43運算符 43例:定義一個變量,int型,定值為2*(3+4),顯示出來。Declare ddd intSet ddd=2*(3+4)Select ddd44例:定義一個變量,int型,定值為2*(3+4),顯示出來。Transact SQL批處理及執行過程簡介批處理是指從客戶機傳遞到服務器上的一組完整的數據和SQL語句。使用GO關鍵字標識批處理的開始和結束。前后臺方式下Transact SQL語句的執行過程示例45Transact SQL批處理及執行過程簡介批處理是指從客戶T-SQL的批處理及執行過程1、批處理:成批處理命令或語句。從客戶機傳遞

28、到服務器的一組完整的數據和SQL語句,可以只有一條SQL語句,或者多條。用GO指令標識批處理結束。即一個批處理一次發給服務器一組SQL語句。46T-SQL的批處理及執行過程46例:use 教學庫select * from 教師表;select 教師姓名,職稱,系名 from 教師表,系表 where 教師go2、客戶端執行過程:以批處理形式向服務器遞交語句。4747服務器端的執行過程48服務器端的執行過程48六、SQL Server的主要數據類型在SQL Server中,數據類型通常是指字段列、存儲過程和局部變量的數據特征。Varchar與char的區別(長度可變或固定)二進制數據類型(圖片W

29、ord文件等)雙字符類型類型(nchar,nvarchar,ntext)Timestamp數據類型(不是日期,也不是時間數據,而是SQL Server根據事件的發生次序自動生成的一種二進制數據,還可以代替傳統的數據庫加鎖技術)。49六、SQL Server的主要數據類型在SQL Server數值數據類型、整數型:(1)bigint(2) int(3) smallint(4) tinyint、精確數值型、浮點型、貨幣數值型50數值數據類型50二、字符型、char類型、varchar類型、text類型三、日期時間型、datetime、samlldatetime51二、字符型51四、二進制數據類型、

30、binary、varbinary、image五、位型bit:只存儲及邏輯型六、特殊數據類型、雙字節數據類型:nchar nvarchar ntext 實際上是一種unicode(統一的字符編碼標準,采用雙字節對字符編碼)數據類型。、時間戳數據類型:timestamp52四、二進制數據類型52第八章 SQL Server 數據庫系統概述開始下一頁SQL Server函數SQL Server的標識符及命名規則53第八章 SQL Server 數據庫系統概述開始下一頁5七、SQL Server函數數學函數字符串函數日期函數系統函數統計函數(重點)其他常用函數54七、SQL Server函數數學函數5

31、4函數格式:函數名()一、 數學函數 用于對數字表達式進行數學運算并返回結果。一般只對數值型數據類型操作。55函數格式:函數名()55二、 字符串函數 一般對字符型表達式操作。但也有例外。如 分類:見P:221頁。表8-8例P:220 例8-2例:select 商品代號,len(商品代號) from 商品表1例:select left(教師姓名,1),count(*) from 教師表 group by left(教師姓名,1)例:select lower(substring(商品代號,1,3) as lower,upper(substring(商品代號,1,3)as upperFROM sp

32、k1where price between 11.0 and 20.0056二、 字符串函數 56例:declare strr varchar(60)set strr= efghijkselect abcd:+ltrim(strr) abcd:efghijkQ:若最后一行改為select abcd:+strr,輸出結果abcd: efghijk57例:declare strr varchar(60)57例3:declare strr varchar(60)set strr=aBCDCDefghijkselect left(strr,6)aBCDCD例4:use pubsselect chari

33、ndex(wonderful,notes,5)from titleswhere title_id = TC32184758例3:declare strr varchar(60)58例5:declare na char(6)set na=01select * from 教師表 where 教師ID=reverse(na)例6:select stuff(abcdef33,2,4,ijklmn)aijklmnf33 (用后面的字符取代第一個字符第二個位置開始的四個字符)59例5:declare na char(6)59練習1:1、設變量ATC為1234 (后有三個空格),變量BTC為 5678(前有

34、三個空格),寫出程序清單,要求顯示出的結果為:12345678declare ATC char(7)declare BTC char(7)set ATC=1234 set BTC= 5678select rtrim(ATC)+ltrim(BTC)2、如1中的變量,要求顯示的結果為87654321,寫出程序清單。select reverse(rtrim(ATC)+ltrim(BTC)60練習1:603、如1中的變量,要求顯示的結果為1256784,寫出程序清單。select stuff(rtrim(ATC),3,1,ltrim(BTC)4、定義變量QWE為ABCD,AWE為EFGH,要求顯示結果

35、為abcdefgh,寫出程序清單。declare ATC char(4)declare BTC char(4)set ATC=ABCDset BTC=EFGHselect lower(ATC+BTC) 或者 select lower(ATC)+lower(BTC)613、如1中的變量,要求顯示的結果為1256784,寫出程5、如4中的變量,要求顯示結果為ABgh,寫出程序清單declare ATC char(4)declare BTC char(4)set ATC=ABCDset BTC=EFGHselect left(ATC,2)+lower(right(BTC,2)625、如4中的變量,要

36、求顯示結果為ABgh,寫出程序清單6日期和時間函數 分類:見P:222頁。表8-9 例 8-3例1:use pubsselect datediff(day,pubdate,getdate() as no_of_daysfrom titles將dayn改為year或month都可以,當然意義與結果就不相同了。63日期和時間函數 63例2:select datename(year,getdate() as Year_name(年) select datename(qq,getdate() as Year_name(季度)select datename(hh,getdate() as Year_na

37、me(小時)例3、select datename(hh,getdate()+:+datename(mi,getdate() as Year_name當前的時間64例2:select datename(year,getdat系統函數 用于返回有關系統、用戶、數據庫和數據庫對象的信息。例1、use masterselect dbid,db_name(dbid)from sysdatabasesorder by dbid -從系統表中返回當前服務器中所有的數據庫編號與名字 例2、 select host_name() 返回機器名65系統函數 65轉換函數 用于數據類型轉換。一般情況下,SQLSERV

38、ER會自動處理某些數據類型的轉換(隱性轉換),但在某些情況下,轉換不理想時,可用到轉換函數。只有兩個:CONVERT和CASTCAST:強制轉換CONVERT:充許轉換表達式和日期類型。課本P:224,例8-5例1:use pubsselect title,ytd_salesfrom titleswhere CAST(ytd_sales as char(20) like 15% and type=trad_cooklike:模式匹配操作符,只對字符串起作用,%的作用與DOS的*相似。66轉換函數 66例2:use pubsselect titlefrom titleswhere title like C% 例3、select getdate()select USA=convert(char,getdate(),101)select ANSI=convert(char,getdate(),102)select ISO=convert(char,getdate(),112)67例2:use pubs67聚合函數及其他常用函數: 可能返回整個或幾個列或一個列的匯總數據。例:select * from xscjbselect sum(ywen+sxue+yyu+tyu+zzhi) from

溫馨提示

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

評論

0/150

提交評論