《數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》PPT課件
《《數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》PPT課件(577頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介 1.1 SQL Server 特點(diǎn) 1.2 SQL Server的安裝和配置 1.3 SQL Server 工具和實(shí)用程序 開 始 返 回 目 錄 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介 SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),它最初是由
2、Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個(gè)OS/2版本。 SQL Server近年來(lái)不斷更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用戶見面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.1 SQL Server 特點(diǎn)1真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。2圖形化用戶界面,使系統(tǒng)管理
3、和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。3豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。4SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產(chǎn)品集成。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材 5具有很好的伸縮性,可跨越從運(yùn)行Windows 95/98的膝上型電腦到運(yùn)行Windows 2000的大型多處理器等多種平臺(tái)使用。 6對(duì)Web技術(shù)的支持,使用戶能夠很容易地將
4、數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到Web頁(yè)面上。 7SQL Server提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材SQL Server 2000與以前版本相比較又具有以下新特性 1支持XML(Extensive Markup Language,擴(kuò)展標(biāo)記語(yǔ)言)2強(qiáng)大的基于Web的分析3支持OLE DB和多種查詢4支持分布式的分區(qū)視圖 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server
5、 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.2 SQL Server的安裝和配置 1.2.1 SQL Server 環(huán)境需求 1.2.2 SQL Server 2000的安裝 1.2.3 SQL Server 升級(jí) 1.2.4 SQL Server 系統(tǒng)數(shù)據(jù)庫(kù)簡(jiǎn)介 1.2.5 SQL Server 系統(tǒng)表簡(jiǎn)介 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.2.1 SQL Server 環(huán)境需求 SQL Server 2000常見的版本 企業(yè)版(Enterprise Edition)標(biāo)準(zhǔn)版(Standard Editi
6、on)個(gè)人版(Personal Edition)開發(fā)者版(Developer Edition) 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1、安裝、運(yùn)行SQL Server 2000的硬件需求(1)計(jì)算機(jī)Inter及其兼容計(jì)算機(jī),Pentium 166Mz或者更高處理器或DEC Alpha和其兼容系統(tǒng)。(2)內(nèi)存(RAM)企業(yè)版最少64MB內(nèi)存,其他版本最少需要32MB內(nèi)存,建議使用更多的內(nèi)存。(3)硬盤空間完全安裝(Full)需要180MB的空間,典型安裝(Typical)需 要170MB的空間,最
7、小安裝(Minimum)需要65MB的空間。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2、安裝、運(yùn)行SQL Server 2000的軟件需求 SQL Server 2000企業(yè)版必須運(yùn)行于安裝Windows NT Server Enterprise Edition 4.0或者Windows2000 Advanced Server以及更高版本的操作系統(tǒng)下。 SQL Server 2000標(biāo)準(zhǔn)版必須運(yùn)行于安裝Windows NT Server Enterprise Edition 4.0、Windows
8、 NT Server 4.0、Windows 2000 Server以及更高版本的操作系統(tǒng)下。 SQL Server 2000 個(gè)人版可在多種操作系統(tǒng)下運(yùn)行,如可運(yùn)行于Windows 9x, Windows NT 4.0或Windows 2000的服務(wù)器版或工作站版的操作系統(tǒng)下。 SQL Server 2000 開發(fā)者版可運(yùn)行于上述Windows 9x以外的所有操作系統(tǒng)下。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.2.2 SQL Server 2000的安裝SQL Server 2000的安裝過(guò)
9、程與其它Microsoft Windows系列產(chǎn)品類似。 用戶可根據(jù)向?qū)崾荆x擇需要的選項(xiàng)一步一步地完成。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材 1.2.3 SQL Server 升級(jí) 如果計(jì)算機(jī)中安裝有舊的SQL Server版本,那么安裝SQL Server 2000時(shí)需要做以下工作,以確保系統(tǒng)能退回到升級(jí)前的狀態(tài)。1. 檢查操作系統(tǒng)是否滿足安裝要求。2. 檢查磁盤空間是否足夠安裝新的SQL Server 2000版本。3. 備份包括系統(tǒng)數(shù)據(jù)庫(kù)在內(nèi)的所有數(shù)據(jù)庫(kù)。4. 備份操作系統(tǒng)的注冊(cè)表,
10、用于恢復(fù)原有的SQL Server。5. 關(guān)閉任何與舊的SQL Server相關(guān)的應(yīng)用程序。 6. 安裝SQL Server 2000數(shù)據(jù)庫(kù)管理系統(tǒng)。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.2.4 SQL Server 系統(tǒng)數(shù)據(jù)庫(kù)簡(jiǎn)介 SQL Server 2000有6個(gè)系統(tǒng)數(shù)據(jù)庫(kù) 1. Master數(shù)據(jù)庫(kù)是SQL Server系統(tǒng)最重要的數(shù)據(jù)庫(kù),它記錄了SQL Server系統(tǒng)的所有系統(tǒng)信息。這些系統(tǒng)信息包括所有的登錄信息、系統(tǒng)設(shè)置信息、SQL Server的初始化信息和其它系統(tǒng)數(shù)據(jù)庫(kù)及用戶
11、數(shù)據(jù)庫(kù)的相關(guān)信息。 2. Model數(shù)據(jù)庫(kù)是所有用戶數(shù)據(jù)庫(kù)和Tempdb數(shù)據(jù)庫(kù)的模板數(shù)據(jù)庫(kù),它含有Master數(shù)據(jù)庫(kù)所有系統(tǒng)表的子集,這些系統(tǒng)數(shù)據(jù)庫(kù)是每個(gè)用戶定義數(shù)據(jù)庫(kù)需要的。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材3. Msdb數(shù)據(jù)庫(kù)是代理服務(wù)數(shù)據(jù)庫(kù),為其警報(bào)、任務(wù)調(diào)度和記錄操作員的操作提供存儲(chǔ)空間。 4. Tempdb是一個(gè)臨時(shí)數(shù)據(jù)庫(kù),它為所有的臨時(shí)表、臨時(shí)存儲(chǔ)過(guò)程及其它臨時(shí)操作提供存儲(chǔ)空間。 5. Pubs和Northwind數(shù)據(jù)庫(kù)是兩個(gè)實(shí)例數(shù)據(jù)庫(kù),它們可以作為SQL Server的學(xué)習(xí)工具
12、。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.2.5 SQL Server 系統(tǒng)表簡(jiǎn)介 系統(tǒng)目錄是由描述SQL Server 系統(tǒng)的數(shù)據(jù)庫(kù)、基表、視圖和索引等對(duì)象的結(jié)構(gòu)的系統(tǒng)表組成。SQL Server 經(jīng)常訪問(wèn)系統(tǒng)目錄,檢索系統(tǒng)正常運(yùn)行所需的必要信息。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材幾個(gè)最重要的系統(tǒng)表 1. Sysobjects表SQL Server 的主系統(tǒng)表sysobjects出現(xiàn)在每個(gè)
13、數(shù)據(jù)庫(kù)中,它對(duì)每個(gè)數(shù)據(jù)庫(kù)對(duì)象含有一行記錄。2. Syscolumns表系統(tǒng)表syscolumns出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶自定義的數(shù)據(jù)庫(kù)中,它對(duì)基表或者視圖的每個(gè)列和存儲(chǔ)過(guò)程中的每個(gè)參數(shù)含有一行記錄。3. Sysindexes表系統(tǒng)表sysindexes出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶自定義的數(shù)據(jù)庫(kù)中, 它對(duì)每個(gè)索引和沒(méi)有聚簇索引的每個(gè)表含有一行記錄,它還對(duì)包括文本/圖像數(shù)據(jù)的每個(gè)表含有一行記錄。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材4. Sysusers表系統(tǒng)表sysusers出現(xiàn)在
14、master數(shù)據(jù)庫(kù)和每個(gè)用戶自定義的數(shù)據(jù)庫(kù)中,它對(duì)整個(gè)數(shù)據(jù)庫(kù)中的每個(gè)Windows NT用戶、Windows NT用戶組、SQL Server 用戶或者SQL Server 角色含有一行記錄。5. Sysdatabases表系統(tǒng)表sysdatabases對(duì)SQL Server 系統(tǒng)上的每個(gè)系統(tǒng)數(shù)據(jù)庫(kù)和用戶自定義的數(shù)據(jù)庫(kù)含有一行記錄,它只出現(xiàn)在master數(shù) 據(jù)庫(kù)中。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材6. Sysdepends表系統(tǒng)表Sysdepends對(duì)表、視圖和存儲(chǔ)過(guò)程之間的每個(gè)依賴關(guān)系含
15、有一行記錄,它出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶自定義的數(shù)據(jù)庫(kù)中。7. Sysconstraints表系統(tǒng)表sysconstraints對(duì)使用CREATE TABLE或者ALTER TABLE語(yǔ)句為數(shù)據(jù)庫(kù)對(duì)象定義的每個(gè)完整性約束含有一行記錄,它出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶自定義的數(shù)據(jù)庫(kù)中。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3 SQL Server 工具和實(shí)用程序 1.3.1 企業(yè)管理器1.3.2 服務(wù)管理器1.3.3 查詢分析器1.3.4 分布式事務(wù)處理協(xié)調(diào)器1.3.5 性能監(jiān)視器
16、1.3.6 導(dǎo)入和導(dǎo)出數(shù)據(jù)1.3.7 SQL Server 分析器1.3.8 服務(wù)器網(wǎng)絡(luò)實(shí)用工具1.3.9 客戶端網(wǎng)絡(luò)實(shí)用工具1.3.10 聯(lián)機(jī)幫助文檔 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.1 企業(yè)管理器企業(yè)管理器是基于一種新的被稱為微軟管理控制臺(tái)(Microsoft Management Console)的公共服務(wù)器管理環(huán)境,它是SQL Server中最重要的一個(gè)管理工具。企業(yè)管理器不僅能夠配置系統(tǒng)環(huán)境和管理SQL Server,而且由于它能夠以層疊列表的形式來(lái)顯示所有的SQL Ser
17、ver對(duì)象,因而所有SQL Server對(duì)象的建立與管理都可以通過(guò)它來(lái)完成。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材利用企業(yè)管理器可以完成的操作有 管理SQL Server 服務(wù)器;建立與管理數(shù)據(jù)庫(kù);建立與管理表、視圖、存儲(chǔ)過(guò)程、觸發(fā)程序、角色、規(guī)則、默認(rèn)值等數(shù)據(jù)庫(kù)對(duì)象,以及用戶定義的數(shù)據(jù)類型;備份數(shù)據(jù)庫(kù)和事務(wù)日志、恢復(fù)數(shù)據(jù)庫(kù);復(fù)制數(shù)據(jù)庫(kù);設(shè)置任務(wù)調(diào)度;設(shè)置警報(bào);提供跨服務(wù)器的拖放控制操作;管理用戶帳戶;建立Transact-SQL命令語(yǔ)句以及管理和控制SQL Mail。 上 一 頁(yè) 下 一 頁(yè)
18、返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材 圖1-20 SQL Server 企業(yè)管理器(Enterprise Manager)界面 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.2 服務(wù)管理器(Service Manager) SQL Server 服務(wù)管理器是在服務(wù)器端實(shí)際工作時(shí)最有用的實(shí)用程序,其界面如圖1-21所示。服務(wù)管理器用來(lái)啟動(dòng)、暫停、繼續(xù)和停止數(shù)據(jù)庫(kù)服務(wù)器的實(shí)時(shí)服務(wù),其提供的服務(wù)包括:SQL Server、SQL
19、 Server Agent、MSDTC(Microsoft Distributed Transaction Coordinator,微軟分布式事務(wù)協(xié)調(diào)器)。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材 圖1-21 SQL Server 服務(wù)管理器(Service Manager)界面 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.3 查詢分析器(Query Analyzer) SQL Server 200
20、0新的圖形化查詢分析器用于輸入和執(zhí)行Transaction-SQL語(yǔ)句,并且迅速查看這些語(yǔ)句的結(jié)果,以分析和處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。這是一個(gè)非常實(shí)用的工具,對(duì)掌握SQL語(yǔ)言,深入理解SQL Server的管理工作有很大幫助。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.4 分布式事務(wù)處理協(xié)調(diào)器(Distributed Transaction Coordinator 用于提供和管理不同服務(wù)器之間的分布式事務(wù)處理,這些服務(wù)器必須是基于Windows NT或Windows 9x/2000系列操作系統(tǒng)的服務(wù)
21、器。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.5 性能監(jiān)視器(Performance Monitor) 它將Windows NT操作系統(tǒng)的性能監(jiān)視器和SQL Server集成起來(lái),使用它可以查看和統(tǒng)計(jì)SQL Server系統(tǒng)的運(yùn)行情況,查找影響系統(tǒng)性能的主要因素,從而為改進(jìn)和優(yōu)化系統(tǒng)、提高系統(tǒng)性能提供依據(jù)。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.6 導(dǎo)入和導(dǎo)出數(shù)據(jù)(Imput and E
22、xport Data) 導(dǎo)入和導(dǎo)出數(shù)據(jù)采用DTC 導(dǎo)入/導(dǎo)出向?qū)?lái)完成。此向?qū)О怂械腄TC(Data Transformation Services)工具,提供了在OLE DB數(shù)據(jù)源之間復(fù)制數(shù)據(jù)的最簡(jiǎn)捷的方法。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.7 SQL Server 分析器(Profiler)是一個(gè)圖形化的管理工具,用于監(jiān)督、記錄和檢查SQL Server 數(shù)據(jù)庫(kù)的使用情況。對(duì)系統(tǒng)管理員來(lái)說(shuō),它是一個(gè)連續(xù)實(shí)時(shí)地捕獲用戶活動(dòng)情況的間諜。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章
23、首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.8 服務(wù)器網(wǎng)絡(luò)實(shí)用工具(Server Network Utility)用來(lái)配置服務(wù)器端網(wǎng)絡(luò)連接和設(shè)置相關(guān)參數(shù)等。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.9 客戶端網(wǎng)絡(luò)實(shí)用工具(Client Network Utility) 用來(lái)配置客戶端的網(wǎng)絡(luò)連接、管理和測(cè)定客戶端的網(wǎng)絡(luò)庫(kù)等。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Serve
24、r 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1.3.10 聯(lián)機(jī)幫助文檔(Books Online) SQL Server 2000提供了大量的聯(lián)機(jī)文檔,它具有索引和全文搜索能力,可根據(jù)關(guān)鍵詞來(lái)快速查找用戶所需信息。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材第2章 Transact-SQL語(yǔ)言 2.1 數(shù)據(jù)定義語(yǔ)言(DDL) 2.2 數(shù)據(jù)操縱語(yǔ)言(DML) 2.3 數(shù)據(jù)控制語(yǔ)言(DCL) 2.4 系統(tǒng)存儲(chǔ)過(guò)程 2.5 其它語(yǔ)言元素 上 一 章 返 回 目 錄 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQ
25、L Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材Transact-SQL語(yǔ)言主要組成部分 數(shù)據(jù)定義語(yǔ)言(DDL,Data Definition Language)數(shù)據(jù)操縱語(yǔ)言(DML,Data Manipularion Language)數(shù)據(jù)控制語(yǔ)言(DCL,Data Control Language)系統(tǒng)存儲(chǔ)過(guò)程(System Stored Procedure)一些附加的語(yǔ)言元素 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.1 數(shù)據(jù)定義語(yǔ)言(DDL)數(shù)據(jù)定義語(yǔ)言是指用來(lái)
26、定義和管理數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)中的各種對(duì)象的語(yǔ)句,這些語(yǔ)句包括CREATE、ALTER和DROP等語(yǔ)句。在SQL Server 2000中,數(shù)據(jù)庫(kù)對(duì)象包括表、視圖、觸發(fā)器、存儲(chǔ)過(guò)程、規(guī)則、缺省、用戶自定義的數(shù)據(jù)類型等。這些對(duì)象的創(chuàng)建、修改和刪除等都可以通過(guò)使用CREATE、ALTER、DROP等語(yǔ)句來(lái)完成。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-1:創(chuàng)建數(shù)據(jù)庫(kù)表的一個(gè)例子 CREATE TABLE publishers( pub_id char(4) NOT NULL CONSTRAINT
27、 UPKCL_pubind PRIMARY KEY CLUSTERED CHECK (pub_id IN (1389, 0736, 0877, 1622, 1756) OR pub_id LIKE 990-90-9), pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL, country varchar(30) NULL DEFAULT(USA) 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-2:修改視圖的一
28、個(gè)例子 USE pubsGOALTER VIEW yourviewASSELECT title, mycount= ROWCOUNT, ytd_sales FROM titles WHERE type = mod_cookGOSELECT * FROM yourviewGO 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-3:刪除觸發(fā)器的一個(gè)例子 /*下面的例子將刪除觸發(fā)器employee_insupd。*/USE pubsIF EXISTS (SELECT name FROM sysobjec
29、ts WHERE name = employee_insupd AND type = TR) DROP TRIGGER employee_insupdGO 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.2 數(shù)據(jù)操縱語(yǔ)言(DML) 數(shù)據(jù)操縱語(yǔ)言是指用來(lái)查詢、添加、修改和刪除數(shù)據(jù)庫(kù)中數(shù)據(jù)的語(yǔ)句,這些語(yǔ)句包括SELECT、INSERT、UPDATE、DELETE等。在默認(rèn)情況下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成員才有權(quán)利執(zhí)行數(shù)據(jù)操縱語(yǔ)言。 上
30、一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1、SELECT語(yǔ)句 SELECT語(yǔ)句的語(yǔ)法形式如下: SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC COMPUTE clauseFOR BROWSE 上 一 頁(yè) 下 一 頁(yè) 返 回
31、本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材幾種常用語(yǔ)句的用法SELECT子句用于指定所選擇的要查詢的特定表中的列,它可以是星號(hào)(*)、表達(dá)式、列表、變量等。INTO子句用于指定所要生成的新表的名稱。FROM子句用于指定要查詢的表或者視圖,最多可以指定16個(gè)表或者視圖,用逗號(hào)相互隔開。WHERE子句用來(lái)限定查詢的范圍和條件。 GROUP BY子句是分組查詢子句。HAVING子句用于指定分組子句的條件。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教
32、材GROUP BY子句、HAVING子句和集合函數(shù)一起可以實(shí)現(xiàn)對(duì)每個(gè)組生成一行和一個(gè)匯總值。ORDER BY子句可以根據(jù)一個(gè)列或者多個(gè)列來(lái)排序查詢結(jié)果,在該子句中,既可以使用列名,也可以使用相對(duì)列號(hào)。ASC表示升序排列,DESC表示降序排列。COMPUTE子句使用集合函數(shù)在查詢的結(jié)果集中生成匯總行。COMPUTE BY子句用于增加各列匯總行。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材 SELECT子句的語(yǔ)法形式如下所示:SELECT ALL | DISTINCT TOP n PERCENT WITH
33、 TIES := * | table_name | view_name | table_alias .* | column_name | expression | IDENTITYCOL | ROWGUIDCOL AS column_alias | column_alias = expression ,.n 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-4:顯示居住在加利福尼亞州且姓名不為 McBadden 的作者列。 USE pubsSELECT au_fname, au_lname, ph
34、one AS TelephoneFROM authorsWHERE state = CA and au_lname McBaddenORDER BY au_lname ASC, au_fname ASC 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-5:使用兩個(gè)相關(guān)子查詢查找作者姓名,這些作者至少參與過(guò)一本受歡迎的計(jì)算機(jī)書籍的創(chuàng)作。USE pubsSELECT au_lname, au_fnameFROM authorsWHERE au_id IN (SELECT au_id FROM tit
35、leauthor WHERE title_id IN (SELECT title_id FROM titlesWHERE type = popular_comp) 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-6:顯示含有本年度截止到現(xiàn)在的當(dāng)前銷售額的行,然后按type以遞減順序計(jì)算書籍的平均價(jià)格和預(yù)付款總額。 USE pubsSELECT CAST(title AS char(20) AS title, type, price, advanceFROM titlesWHERE ytd_sal
36、es IS NOT NULLORDER BY type DESCCOMPUTE AVG(price), SUM(advance) BY typeCOMPUTE SUM(price), SUM(advance) 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-7:先刪除表T1,然后又創(chuàng)建一個(gè)帶有四個(gè)列的表T1。最后利用INSERT 語(yǔ)句插入一些數(shù)據(jù)行,這些行只有部分列包含值。 IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WH
37、ERE TABLE_NAME = T1) DROP TABLE T1GOCREATE TABLE T1 ( column_1 int identity, column_2 varchar(30) CONSTRAINT default_name DEFAULT (column default), 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材column_3 int NULL, column_4 varchar(40)INSERT INTO T1 (column_4) VALUES (Explicit va
38、lue)INSERT INTO T1 (column_2,column_4) VALUES (Explicit value, Explicit value)INSERT INTO T1 (column_2,column_3,column_4) VALUES (Explicit value,-44,Explicit value)SELECT * FROM T1 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-8:一個(gè)簡(jiǎn)單的修改語(yǔ)句。 UPDATE publishersSET city = Atla
39、nta, state = GA 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-9:一個(gè)帶有WHERE條件的修改語(yǔ)句。 UPDATE authors SET state = PC, city = Bay City WHERE state = CA AND city = Oakland 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材程序清單2-10:通過(guò) UPDATE 語(yǔ)句使用來(lái)自另一個(gè)表的信息,其修改表 t
40、itles 中的 ytd_sales 列,以反映表 sales 中的最新銷售記錄。 UPDATE titles SET ytd_sales = titles.ytd_sales + sales.qty FROM titles, sales WHERE titles.title_id = sales.title_id AND sales.ord_date = (SELECT MAX(sales.ord_date) FROM sales) 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.3 數(shù)據(jù)控制語(yǔ)言(D
41、CL)數(shù)據(jù)控制語(yǔ)言(DCL)是用來(lái)設(shè)置或者更改數(shù)據(jù)庫(kù)用戶或角色權(quán)限的語(yǔ)句,這些語(yǔ)句包括GRANT、DENY、REVOKE等語(yǔ)句,在默認(rèn)狀態(tài)下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成員才有權(quán)利執(zhí)行數(shù)據(jù)控制語(yǔ)言。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1、GRANT語(yǔ)句 GRANT語(yǔ)句是授權(quán)語(yǔ)句,它可以把語(yǔ)句權(quán)限或者對(duì)象權(quán)限授予給其他用戶和角色。授予語(yǔ)句權(quán)限的語(yǔ)法形式為:GRANT ALL | statement,.n TO securi
42、ty_account ,.n 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材授予對(duì)象權(quán)限的語(yǔ)法形式為: GRANT ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | view | ON table | view ( column ,.n ) | ON stored_procedure | extended_procedure | ON user_defined_function TO security_account ,.n WITH GR
43、ANT OPTION AS group | role 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2、DENY語(yǔ)句 DENY語(yǔ)句用于拒絕給當(dāng)前數(shù)據(jù)庫(kù)內(nèi)的用戶或者角色授予權(quán)限,并防止用戶或角色通過(guò)其組或角色成員繼承權(quán)限。否定語(yǔ)句權(quán)限的語(yǔ)法形式為:DENY ALL | statement ,.n TO security_account ,.n 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材否定對(duì)象權(quán)限的語(yǔ)法形式為: D
44、ENY ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | view | ON table | view ( column ,.n ) | ON stored_procedure | extended_procedure | ON user_defined_function TO security_account ,.n CASCADE 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材3、REVOKE語(yǔ)句 REVOKE語(yǔ)句是與GRANT語(yǔ)句相反
45、的語(yǔ)句,它能夠?qū)⒁郧霸诋?dāng)前數(shù)據(jù)庫(kù)內(nèi)的用戶或者角色上授予或拒絕的權(quán)限刪除,但是該語(yǔ)句并不影響用戶或者角色從其他角色中作為成員繼承過(guò)來(lái)的權(quán)限。收回語(yǔ)句權(quán)限的語(yǔ)法形式為:REVOKE ALL | statement ,.n FROM security_account ,.n 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材收回對(duì)象權(quán)限的語(yǔ)法形式為: REVOKE GRANT OPTION FOR ALL PRIVILEGES | permission ,.n ( column ,.n ) ON table | v
46、iew | ON table | view ( column ,.n ) | ON stored_procedure | extended_procedure | ON user_defined_function TO | FROM security_account ,.n CASCADE AS group | role 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.4 系統(tǒng)存儲(chǔ)過(guò)程系統(tǒng)存儲(chǔ)過(guò)程是SQL Server系統(tǒng)創(chuàng)建的存儲(chǔ)過(guò)程,它的目的在于能夠方便地從系統(tǒng)表中查詢信息,或者完成與更新數(shù)據(jù)庫(kù)表相
47、關(guān)的管理任務(wù)或其它的系統(tǒng)管理任務(wù)。系統(tǒng)存儲(chǔ)過(guò)程可以在任意一個(gè)數(shù)據(jù)庫(kù)中執(zhí)行。系統(tǒng)存儲(chǔ)過(guò)程創(chuàng)建并存放于系統(tǒng)數(shù)據(jù)庫(kù)master中,并且名稱以sp_或者xp_開頭。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材系統(tǒng)存儲(chǔ)過(guò)程的部分示例如下: sp_addtype:用于定義一個(gè)用戶定義數(shù)據(jù)類型。sp_configure:用于管理服務(wù)器配置選項(xiàng)設(shè)置。xp_sendmail:用于發(fā)送電子郵件或?qū)ず粜畔?。sp_stored_procedures:用于返回當(dāng)前數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程的清單。 上 一 頁(yè) 下 一 頁(yè) 返 回 本
48、章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材sp_help:用于顯示參數(shù)清單和其數(shù)據(jù)類型。sp_depends:用于顯示存儲(chǔ)過(guò)程依據(jù)的對(duì)象或者依據(jù)存儲(chǔ)過(guò)程的對(duì)象。sp_helptext:用于顯示存儲(chǔ)過(guò)程的定義文本。sp_rename:用于修改當(dāng)前數(shù)據(jù)庫(kù)中用戶對(duì)象的名稱。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.5 其它語(yǔ)言元素 2.5.1 注釋 2.5.2 變量 2.5.3 運(yùn)算符 2.5.4 函數(shù) 2.5.5 流程控制語(yǔ)句 上 一 頁(yè) 下
49、 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.5.1 注釋 注釋是程序代碼中不執(zhí)行的文本字符串(也稱為注解)。在SQL Server中,可以使用兩種類型的注釋字符:一種是ANSI標(biāo)準(zhǔn)的注釋符“-”,它用于單行注釋;另一種是與C語(yǔ)言相同的程序注釋符號(hào),即“/* */”。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.5.2 變量變量是一種語(yǔ)言中必不可少的組成部分。Transact-SQL語(yǔ)言中有兩種形式的變量,一種是用戶自己
50、定義的局部變量,另外一種是系統(tǒng)提供的全局變量。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1. 局部變量局部變量是一個(gè)能夠擁有特定數(shù)據(jù)類型的對(duì)象,它的作用范圍僅限制在程序內(nèi)部。局部變量可以作為計(jì)數(shù)器來(lái)計(jì)算循環(huán)執(zhí)行的次數(shù),或是控制循環(huán)執(zhí)行的次數(shù)。另外,利用局部變量還可以保存數(shù)據(jù)值,以供控制流語(yǔ)句測(cè)試以及保存由存儲(chǔ)過(guò)程返回的數(shù)據(jù)值等。局部變量被引用時(shí)要在其名稱前加上標(biāo)志“”,而且必須先用 DECLARE命令定義后才可以使用。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)
51、系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2. 全局變量 全局變量是SQL Server系統(tǒng)內(nèi)部使用的變量,其作用范圍并不僅僅局限于某一程序,而是任何程序均可以隨時(shí)調(diào)用。全局變量通常存儲(chǔ)一些SQL Server的配置設(shè)定值和統(tǒng)計(jì)數(shù)據(jù)。用戶可以在程序中用全局變量來(lái)測(cè)試系統(tǒng)的設(shè)定值或者是Transact-SQL命令執(zhí)行后的狀態(tài)值。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材使用全局變量時(shí)應(yīng)該注意以下幾點(diǎn): 全局變量不是由用戶的程序定義的,它們是在服務(wù)器級(jí)定義的。用戶只能使用預(yù)先定義的全局變量
52、。引用全局變量時(shí),必須以標(biāo)記符“”開頭。局部變量的名稱不能與全局變量的名稱相同,否則會(huì)在應(yīng)用程序中出現(xiàn)不可預(yù)測(cè)的結(jié)果。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2.5.3 運(yùn)算符 運(yùn)算符是一些符號(hào),它們能夠用來(lái)執(zhí)行算術(shù)運(yùn)算、字符串連接、賦值以及在字段、常量和變量之間進(jìn)行比較。在SQL Server 2000中,運(yùn)算符主要有以下六大類:算術(shù)運(yùn)算符、賦值運(yùn)算符、位運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符以及字符串串聯(lián)運(yùn)算符。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)
53、簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材1算術(shù)運(yùn)算符算術(shù)運(yùn)算符可以在兩個(gè)表達(dá)式上執(zhí)行數(shù)學(xué)運(yùn)算,這兩個(gè)表達(dá)式可以是數(shù)字?jǐn)?shù)據(jù)類型分類的任何數(shù)據(jù)類型。算術(shù)運(yùn)算符包括加(+)、減()、乘(*)、除(/)和取模(%)。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2賦值運(yùn)算符Transact-SQL 中只有一個(gè)賦值運(yùn)算符,即等號(hào)(=)。賦值運(yùn)算符使我們能夠?qū)?shù)據(jù)值指派給特定的對(duì)象。另外,還可以使用賦值運(yùn)算符在列標(biāo)題和為列定義值的表達(dá)式之間建立關(guān)系。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章
54、SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材3位運(yùn)算符位運(yùn)算符使我們能夠在整型數(shù)據(jù)或者二進(jìn)制數(shù)據(jù)(image 數(shù)據(jù)類型除外)之間執(zhí)行位操作。此外,在位運(yùn)算符左右兩側(cè)的操作數(shù)不能同時(shí)是二進(jìn)制數(shù)據(jù)。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材表2-1 位運(yùn)算符 運(yùn) 算 符 含 義 number parameterdata_type VARYING=defaultOUTPUT,.n WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTIO
55、N FORREPLICATION AS sql_statement .n 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材用CREATE PROCEDURE創(chuàng)建存儲(chǔ)過(guò)程的語(yǔ)法參數(shù)的意義如下: procedure_name:用于指定要?jiǎng)?chuàng)建的存儲(chǔ)過(guò)程的名稱。 number:該參數(shù)是可選的整數(shù),它用來(lái)對(duì)同名的存儲(chǔ)過(guò)程分組,以便用一條 DROP PROCEDURE 語(yǔ)句即可將同組的過(guò)程一起除去。 parameter:過(guò)程中的參數(shù)。在 CREATE PROCEDURE 語(yǔ)句中可以聲明一個(gè)或多個(gè)參數(shù)。 data_typ
56、e:用于指定參數(shù)的數(shù)據(jù)類型。 VARYING:用于指定作為輸出OUTPUT參數(shù)支持的結(jié)果集。 Default:用于指定參數(shù)的默認(rèn)值。 OUTPUT:表明該參數(shù)是一個(gè)返回參數(shù)。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材RECOMPILE:表明 SQL Server 不會(huì)保存該存儲(chǔ)過(guò)程的執(zhí)行計(jì)劃 。ENCRYPTION :表示 SQL Server 加密了 syscomments 表,該表的text字段是包含 CREATE PROCEDURE 語(yǔ)句的存儲(chǔ)過(guò)程文本。 FOR REPLICATION:用于指
57、定不能在訂閱服務(wù)器上執(zhí)行為復(fù)制創(chuàng)建的存儲(chǔ)過(guò)程。 AS:用于指定該存儲(chǔ)過(guò)程要執(zhí)行的操作。sql_statement:是存儲(chǔ)過(guò)程中要包含的任意數(shù)目和 類型的 Transact-SQL 語(yǔ)句。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材5.5.2 執(zhí)行存儲(chǔ)過(guò)程 直接執(zhí)行存儲(chǔ)過(guò)程可以使用EXECUTE命令來(lái)執(zhí)行,其語(yǔ)法形式如下:EXECUTE return_status= procedure_name;number|procedure_name_var parameter=value|variableOUTP
58、UT|DEFAULT ,.n WITH RECOMPILE 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材例子5-27: 使用 EXECUTE 命令傳遞單個(gè)參數(shù),它執(zhí)行 showind 存儲(chǔ)過(guò)程,以 titles 為參數(shù)值。showind 存儲(chǔ)過(guò)程需要參數(shù) (tabname),它是一個(gè)表的名稱。其程序清單如下:EXEC showind titles當(dāng)然,在執(zhí)行過(guò)程中變量可以顯式命名:EXEC showind tabname = titles如果這是 isql 腳本或批處理中第一個(gè)語(yǔ)句,則 EXEC 語(yǔ)句可
59、以省略: showind titles或者showind tabname = titles 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材5.5.3 查看和修改存儲(chǔ)過(guò)程 查看存儲(chǔ)過(guò)程 存儲(chǔ)過(guò)程被創(chuàng)建之后,它的名字就存儲(chǔ)在系統(tǒng)表sysobjects中,它的源代碼存放在系統(tǒng)表syscomments中??梢允褂檬褂闷髽I(yè)管理器或系統(tǒng)存儲(chǔ)過(guò)程來(lái)查看用戶創(chuàng)建的存儲(chǔ)過(guò)程。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材(1)使用企
60、業(yè)管理器查看用戶創(chuàng)建的存儲(chǔ)過(guò)程 在企業(yè)管理器中,打開指定的服務(wù)器和數(shù)據(jù)庫(kù)項(xiàng),選擇要?jiǎng)?chuàng)建存儲(chǔ)過(guò)程的數(shù)據(jù)庫(kù),單擊存儲(chǔ)過(guò)程文件夾,此時(shí)在右邊的頁(yè)框中顯示該數(shù)據(jù)庫(kù)的所有存儲(chǔ)過(guò)程。用右鍵單擊要查看的存儲(chǔ)過(guò)程,從彈出的快捷菜單中選擇屬性選項(xiàng),此時(shí)便可以看到存儲(chǔ)過(guò)程的源代碼。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材(2)使用系統(tǒng)存儲(chǔ)過(guò)程來(lái)查看用戶創(chuàng)建的存儲(chǔ)過(guò)程 可供使用的系統(tǒng)存儲(chǔ)過(guò)程及其語(yǔ)法形式如下:sp_help:用于顯示存儲(chǔ)過(guò)程的參數(shù)及其數(shù)據(jù)類型sp_help objname= name參數(shù)name為要查看
61、的存儲(chǔ)過(guò)程的名稱。 sp_helptext:用于顯示存儲(chǔ)過(guò)程的源代碼 sp_helptext objname= name參數(shù)name為要查看的存儲(chǔ)過(guò)程的名稱。sp_depends:用于顯示和存儲(chǔ)過(guò)程相關(guān)的數(shù)據(jù)庫(kù)對(duì)象 sp_depends objname=object參數(shù)object為要查看依賴關(guān)系的存儲(chǔ)過(guò)程的名稱。sp_stored_procedures:用于返回當(dāng)前數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程列表 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2. 修改存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程可以根據(jù)用戶的要求或者基表定義的改變而改變。
62、使用ALTER PROCEDURE語(yǔ)句可以更改先前通過(guò)執(zhí)行 CREATE PROCEDURE 語(yǔ)句創(chuàng)建的過(guò)程,但不會(huì)更改權(quán)限,也不影響相關(guān)的存儲(chǔ)過(guò)程或觸發(fā)器。其語(yǔ)法形式如下:ALTERPROCEDUREprocedure_name;number parameterdata_type VARYING=defaultOUTPUT,.n WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTIONFORREPLICATION AS sql_statement .n 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Se
63、rver 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材例子5-29: 創(chuàng)建了一個(gè)名為 Oakland_authors 的過(guò)程,默認(rèn)情況下,該過(guò)程包含所有來(lái)自加利福尼亞州奧克蘭市的作者。隨后授予了權(quán)限。然后,當(dāng)該過(guò)程需更改為能夠檢索所有來(lái)自加利福尼亞州的作者時(shí),用 ALTER PROCEDURE 重新定義了該存儲(chǔ)過(guò)程。其程序清單如下: 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材5.5.4 重命名和刪除存儲(chǔ)過(guò)程 1. 重命名存儲(chǔ)過(guò)程修改存儲(chǔ)過(guò)程的名稱可以使用系統(tǒng)存儲(chǔ)過(guò)程sp_rename,其語(yǔ)法形式如下: sp_rename
64、原存儲(chǔ)過(guò)程名稱,新存儲(chǔ)過(guò)程名稱另外,通過(guò)企業(yè)管理器也可以修改存儲(chǔ)過(guò)程的名稱。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材2. 刪除存儲(chǔ)過(guò)程刪除存儲(chǔ)過(guò)程可以使用DROP命令,DROP命令可以將一個(gè)或者多個(gè)存儲(chǔ)過(guò)程或者存儲(chǔ)過(guò)程組從當(dāng)前數(shù)據(jù)庫(kù)中刪除,其語(yǔ)法形式如下:drop procedure procedure ,n當(dāng)然,利用企業(yè)管理器也可以很方便地刪除存儲(chǔ)過(guò)程。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材5.6
65、 觸發(fā)器 5.6.1 創(chuàng)建觸發(fā)器 5.6.2 查看、修改和刪除觸發(fā)器 5.6.3 觸發(fā)器的應(yīng)用 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材觸發(fā)器觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,它不同于前面介紹過(guò)的存儲(chǔ)過(guò)程。觸發(fā)器主要是通過(guò)事件進(jìn)行觸發(fā)而被執(zhí)行的,而存儲(chǔ)過(guò)程可以通過(guò)存儲(chǔ)過(guò)程名稱而被直接調(diào)用。觸發(fā)器是一個(gè)功能強(qiáng)大的工具,它使每個(gè)站點(diǎn)可以在有數(shù)據(jù)修改時(shí)自動(dòng)強(qiáng)制執(zhí)行其業(yè)務(wù)規(guī)則。觸發(fā)器可以用于 SQL Server 約束、默認(rèn)值和規(guī)則的完整性檢查。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL
66、 Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材 觸發(fā)器主要優(yōu)點(diǎn)如下:v觸發(fā)器是自動(dòng)的:當(dāng)對(duì)表中的數(shù)據(jù)作了任何修改(比如手工輸入或者應(yīng)用程序采取的操作)之后立即被激活。 v觸發(fā)器可以通過(guò)數(shù)據(jù)庫(kù)中的相關(guān)表進(jìn)行層疊更改。 v觸發(fā)器可以強(qiáng)制限制,這些限制比用 CHECK 約束所定義的更復(fù)雜。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材5.6.1 創(chuàng)建觸發(fā)器 創(chuàng)建觸發(fā)器應(yīng)該考慮以下幾個(gè)問(wèn)題:CREATE TRIGGER 語(yǔ)句必須是批處理中的第一個(gè)語(yǔ)句。創(chuàng)建觸發(fā)器的權(quán)限默認(rèn)分配給表的所有者,且不能將該權(quán)限轉(zhuǎn)給其他用戶。 觸發(fā)器為數(shù)據(jù)庫(kù)對(duì)象,其名稱必須遵循標(biāo)識(shí)符的命名規(guī)則。 雖然觸發(fā)器可以引用當(dāng)前數(shù)據(jù)庫(kù)以外的對(duì)象,但只能在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建觸發(fā)器。 雖然不能在臨時(shí)表或系統(tǒng)表上創(chuàng)建觸發(fā)器,但是觸發(fā)器可以引用臨時(shí)表。 上 一 頁(yè) 下 一 頁(yè) 返 回 本 章 首 頁(yè) 第1章 SQL Server 關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介SQL Server 2000數(shù)據(jù)庫(kù)簡(jiǎn)明教材在含有用 DELETE 或 UPD
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案