內容介紹
內 容 提 要本書是SYBASE軟體(北京)有限公司技術系列叢書之
書中主要介紹如何使用Sybase的T-SQL創建Sybase資料庫和設計開發套用。全書共分為五
大部分:第一部分闡述Sybase資料庫伺服器的結構、功能及關係資料庫的基本概念;第二部分介
紹建表和數據完整性;第三部分介紹如何操縱和修改數據;第四部分介紹資料庫伺服器上的套用
編程;在作為附錄的第五部分,則提供了許多常用的參考信息。
本書注重理論聯繫實際,內容由淺入深。它既可用作標準培訓教材,也可用作快速掌握
SYBASE資料庫伺服器基礎知識的自學手冊和大學本科生或研究生學習資料庫知識的參考資
料。其附錄部分也是基於SYBASE的套用開發人員的簡明參考手冊。
作品目錄
目錄第一章 Sybase客戶/伺服器體系結構概貌
1.1客戶/伺服器體系結構基本特徵
1.2客戶節點和伺服器節點
1.3Sybase客戶/伺服器資料庫環境
1.3.1基本特點
1.3.2主要優點
1.4Sybase的OpenClient和OpenServer
1.4.1OpenClient
1.4.2OpenServer.
1.5Sybase客戶/伺服器產品系列
1.5.1兩層配置模式的客戶/伺服器體系結構
1.5.2能滿足企業級分布計算要求的三層配置模式
1.5.3Sybase產品系列
1.6關於SybaseAdaptiveServer
1.6.1AdaptiveServer組件
1.6.2SQLServer兼容性
第二章SQLServer資料庫伺服器及isql客戶軟體的基本功能簡介
2.1SQLServer的功能和特點
2.2SQLServer支持多資料庫結構
2.2.1系統資料庫簡介
2.2.2系統表―數據字典
2.2.3系統過程
2.3限定資料庫對象和指定當前資料庫
2.3.1資料庫屬主(db0)和資料庫對象的限定
2.3.2當前資料庫
2.4用isq1客戶軟體訪問SQLServer
2.4.1isql的使用方法
2.4.2wisq132(及wisql)的使用方法
第三章 關係資料庫概念
3.1資料庫元素
3.2實體和聯繫
3.3鍵
3.4數據完整性
3.4.1數據完整性
3.4.2參照完整性
3.5業務規則
3.6小結
第四章 創建簡單表的方法
4.1SQLServer的表
4.1.1SQLServer的對象及其命名
4.1.2轉換實體和屬性為表和列
4.2SybaseSQLServer的數據類型
4.2.1精確數值數據類型
4.2.2近似數值數據類型
4.2.3貨幣數據類型
4.2.4日期時間數據類型
4.2.5字元數據類型
4.2.6二進制數據類型
4.3用戶定義數據類型
4.3.1定義和使用用戶定義數據類型
4.3.2查看重新命名和刪除用戶定義數據類型
4.4列的性質
4.4.1列的性質:NULL性質
4.4.2列的性質:IDENTITY
4.5確定每列的特徵
4.6使用CREATETABLE語句創建表
4.7檢索表的信息
4.8創建簡單表小結
4.9實驗4:創建 個簡單表
第五章 創建表的其他方法
5.1創建基於現存表的新表
5.1.1語法
5.1.2注釋
5.1.3舉例
5.2創建臨時表
5.2.1隻能由當前會話訪問的臨時表
5.2.2可共享的臨時表
5.2.3查看臨時表
5.3視圖
5.3.1定義
5.3.2語法
5.3.3優點
5.3.4限制
5.4常用的系統存儲過程
5.5本章小結
5.6實驗5:創建臨時表創建視圖和使用SELECTINTO語句
第六章 創建帶有數據完整性和參照完整性的表
6.1什麼是數據完整性
6.1.1定義
6.1.2分類
6.2使用聲明完整性實現數據完整性
6.2.1聲明完整性
6.2.2完整性約束子句
6.2.3相關題目
6.3預設子句
6.4檢查約束
6.4.1什麼是檢查約束
6.4.2列級檢查約束
6.4.3表級檢查約束
6.5索引和約束
6.5.1索引簡介
6.5.2索引和表
6.5.3索引與鍵
6.6聚簇表與聚簇索引
6.6.1聚簇索引的存儲
6.6.2聚簇索引的結構
6.7非聚簇索引
6.7.1非聚簇索引的存儲
6.7.2非聚簇索引的結構
6.8使用約束創建唯一索引
6.8.1唯約束
6.8.2列級唯 約束
6.8.3表級唯一約束
6.9主鍵約束
6.9.1列級主鍵約束
6.9.2表級主鍵約束
6.10小結:使用約束創建索引
6.11實驗6a:創建帶有數據完整性約束的表
6.12聲明參照完整性約束
6.12.1列級參照完整性約束
6.12.2表級參照完整性約束
6.13參照完整性約束的各種情形
6.14參照完整性約束:更新或刪除主鍵
6.15與約束有關的幫助訊息
6.16使用ALTERTABLE語句
6.16.1ALTERTABLE語句
6.16.2ALTERTABLE語句的使用舉例―預設與檢查約束
6.16.3ALTERTABLE語句的使用舉例―唯 約束和主鍵約束
6.16.4ALTERTABLE語句的使用舉例―參照完整性約束
6.17相關的系統存儲過程
6.18實驗6b:創建帶有參照完整性的表
第七章 數據完整性與預設 規則和索引
7.1資料庫對象
7.2預設
7.2.1什麼是預設
7.2.2創建預設並與列捆綁
7.2.3解除與預設的捆綁並刪除預設
7.3規則
7.3.1什麼是規則
7.3.2創建規則並與列的捆綁
7.3.3解除與規則的捆綁並刪除規則
7.4規則和預設與用戶定義數據類型的捆綁
7.4.1捆綁規則和預設到用戶定義數據類型
7.4.2使用與規則和(或)預設相捆綁的用戶定義數據類型
7.4.3規則和預設的優先權
7.5查看規則和預設的定義
7.6唯一索引
7.6.1什麼是唯一索引
7.6.2創建唯一索引
7.7小結:規則 預設 唯一索引
7.8複習:約束的特性
7.9實現數據完整性可選擇的方法
7.10小結:資料庫對象
7.11複習題
7.12實驗7:規則 預設和唯一索引
第八章 修改數據
8.1複習:訪問資料庫和T-SQL語言
8.1.1使用不同的資料庫
8.1.2顯示有關資料庫的信息
8.1.3事務型SQL語言
8.2插入數據
8.3更新數據
8.4刪除數據
8.4.1使用DELETE語句刪除數據.
8.4.2使用TRUNCATETABLE語句刪除數據
8.4.3命令比較
8.5ANSI-89SQL的select語句
8.6實驗8:導航資料庫並修改資料庫
第九章 操縱數據
9.1T-SQL關於LIKE子句和通配符的擴充
9.1.1T-SQL對通配符的擴充
9.1.2在LIKE謂詞中的ESCAPE子句
9.2字元串操作
9.3數據類型轉換和convert函式
9.3.1數據類型的隱式/顯式轉換
9.3.2數據類型轉換函式convert概述
9.3.3轉換日期時間型數據為字元串
9.4日期時間處理與日期函式
9.4.1日期時間處理
9.4.2日期函式
9.5數學函式
9.6實驗9a:使用函式
9.7集合函式
9.8isnull0函式
9.9ORDERBY子句
9.10COMPUTE子句與行集合函式
9.11實驗9b:數據分組與總計
第10章 使用T-SQL進行Server的程式設計簡介
10.1T-SQL程式設計成分和套用開發
10.1.1T-SQL程式設計成分概述
10.1.2套用開發上下文
10.2批
10.2.1批的傳送和處理
10.2.2對批的限制
10.3注釋T-SQL代碼
10.4局部變數
10.4.1局部變數定義與聲明
10.4.2為局部變數賦值
10.4.3對局部變數的限制
10.4.4局部變數的使用
10.4.5使用局部變數時通常發生的錯誤
10.5全局變數
10.5.1全局變數的定義
10.5.2全局變數的使用
10.6流控制語言
10.6.1流控制關鍵字:IF.ELSE
10.6.2流控制關鍵字:IFEXISTS和IFNOTEXISTS
10.6.3流控制關鍵字:BEGIN.END
10.6.4流控制關鍵字:RETURN
10.6.5流控制關鍵字:WHILE
10.6.6流控制關鍵字:BREAK和CONTINUE
10.6.7流控制關鍵字:WAITFOR
10.6.8流控制關鍵字:PRINT
10.6.9流控制關鍵字:RAISERROR
10.7小結
10.7.1關於PRINT和RAISERROR的使用
10.7.2關於命令和題目的小結
10.8複習題
10.9實驗10a:使用變數和流控制語句
10.10實驗10b:使用PRINT和RAISERROR
第十一章 事務管理―維護數據的一致性
11.1事務和數據一致性約束
11.1.1什麼是事務
11.1.2數據一致性約束問題
11.1.3如何標識 個事務
11.2SQLServer的封鎖機制
11.2.1鎖的類型
11.2.2三種鎖的相容性
11.3事務的隔離級別
11.3.1ANSI隔離級別
11.3.2SQLServer的隔離級別
11.4死鎖及其解除
11.5封鎖機制小結
11.6事務控制語句
11.7事務模式
11.8建立schema
11.9事務中的出錯處理
11.9.1全局變數@@transtate的作用
11.9.2綜合利用@@error及@@rowc0unt
11.9.3如何向客戶報告事務出錯
11.10小結
第十二章 游標
12.1游標的定義及其優點
12.2游標的分類
12.3游標的用法
12.3.1聲明游標
12.3.2打開游標
12.3.3從一個打開的游標中提取行
12.3.4把提取的結果放入目的變數清單中
12.3.5舉例1:游標代碼
12.3.6關閉和釋放游標
12.4使用游標修改數據
12.4.1刪除數據
12.4.2更新數據
12.4.3舉例2:游標代碼
12.4.4舉例3:游標代碼
12.5在事務中的游標
12.5.1CLOSEONENDTRAN選項
12.5.2加鎖
12.6使用游標註意事項
12.7小結:游標
12.8實驗12:使用游標
第十三章 存儲過程
13.1什麼是存儲過程
13.2SQLServer如何處理存儲過程
13.2.1SQLServer預編譯存儲過程
13.2.2SQLServer建立查詢計畫
13.3存儲過程的優點
13.4創建存儲過程.
13.4.1創建存儲過程的部分語法和舉例
13.4.2創建存儲過程準則
13.5執行存儲過程.
13.6查看、改名和刪除存儲過程
13.7存儲過程的輸入參數和參數的傳遞
13.7.1使用輸入參數
13.7.2使用參數的準則
13.7.3使用單個輸入參數執行存儲過程
13.7.4使用多個參數
13.7.5綜合檢查
13.8給出參數的預設值
13.9使用輸入參數時常見的錯誤
13.10實驗13a:創建存儲過程並使用輸入參數
13.11存儲過程的返回值
13.11.1返回值與輸出參數
13.11.2接收返回值
13.11.3舉例:兩類參數的傳遞方法
13.12存儲過程的返回狀態
13.13在存儲過程中加注釋
13.14存儲過程中的事務控制
13.14.1存儲過程事務模式的確定
13.14.2嵌套事務
13.14.3嵌套存儲過程與保存點
13.14.4存儲過程樣例
13.15伺服器游標
13.15.1伺服器游標定義
13.15.2舉例:伺服器游標
13.15.3游標的作用域
13.16存儲過程的標準 限制與依賴對象
13.16.1存儲過程的標準
13.16.2存儲過程的限制和注意事項
13.16.3存儲過程的依賴對象
13.17重新編譯存儲過程
13.17.1創建重新編譯的存儲過程
13.17.2執行重新編譯的存儲過程
13.18小結
13.19實驗13b:從存儲過程返回值
第十四章 觸發器
14.1觸發器的定義和作用
14.1.1觸發器的定義
14.1.2觸發器的作用或套用
14.1.3觸發器的觸發(執行)
14.2創建觸發器
14.3觸發器的工作原理
14.3.1觸發器工作中使用的兩個專用表
14.3.2觸發器工作中的行計數
14.4舉例
14.4.1DELETE觸發器與deleted表
14.4.2INSERT觸發器與inserted表
14.4.3UPDATE觸發器與inserted表和deleted表
14.5多行考慮
14.6查看和刪除觸發器
14.6.1查看觸發器的正文信息
14.6.2刪除觸發器
14.7聲明完整性與觸發器對於實現參照完整性的比較
14.8複習:理解觸發器
14.9在觸發器中的事務控制
14.10舉例
14.10.1在觸發器中使用游標:維護複製數據和定製日誌
14.10.2增強複雜限制的觸發器
14.11觸發器嵌套
14.12對觸發器的限制和注意事項
14.13小結
14.14實驗14:編寫觸發器
第十五章 如何控制數據安全性
15.1SQLServer安全管理層次
15.1.1SQLServer帳戶
15.1.2資料庫用戶
15.1.3分組
15.1.4public組
15.1.5SQLServer中的三種角色
15.2SQLServer帳戶授權層次
15.3授權控制命令
15.3.1語句權力
15.3.2資料庫對象權力
15.4資料庫安全控制小結
15.4.1存取控制的等級
15.4.2套用資料庫中的數據安全控制
附錄A 複習題及其答案
A.1創建規則 預設和唯一索引
A.2使用T-SQL的SQLServer程式設計
A.3觸發器
A.4綜合檢查存儲過程
附錄B SQLServer的命名規則
B.1簡介
B.2各對象命名準則
B.3SYBASESQLServer對象命名小結
附錄C pubs2資料庫結構圖
附錄D 命令和存儲過程快捷語法參考
D.1T-SQL命令快捷語法
D.2存儲過程快捷語法
D.3分類存儲過程快捷語法
附錄E 全螢幕幕編輯程式
E.1用vi編輯建立新檔案
E.2移動游標
E.3滾屏
E.4vi編輯命令
E.5舉例
附錄F 實用程式bcp、defncopy簡介
附錄G SybaseSQLServer保留字
附錄H 套用開發實踐
H.1通用的套用開發策略
H.2T-SQL編碼策略
H.3實現完整性的考慮
H.4SYBASESQLServer中的表
H.5索引
H.6檢索數據
附錄I辭彙表
附錄J錯誤訊息
表J-1 嚴重級別說明
表J-2 錯誤訊息正文簡記符號
表J-31~21 綜合訊息
表J-4101~199 語法分析器訊息
表J-5201~298 定序器訊息
表J-6301~316 判決模組訊息
表J-7401~434 編譯訊息
表J-8501~599 查詢處理器訊息
表J-9601~680 訪問管理器訊息
表J-10701~710 存儲管理器訊息
表J-11801~868 緩衝區管理器訊息
表J-12902~950 打開資料庫管理器訊息
表J-131101~1150 頁面管理器訊息
表J-141201~1288 鎖管理器訊息
表J-151301~1315 查詢處理器訊息
表J-161501~1536,排序管理器訊息
表J-171601~1624 初始化訊息
表J-181701~2111 CREATE的實用程式訊息
表J-192201~2301,READ/WRITE 訊息
表J-202401~2416 字元集轉換訊息
表J-212501~2599 dbcc訊息
表J-222601~2628,INSERT訊息
表J-232701~2790 CREATE的實用程式訊息
表J-242801~2838 過程管理器訊息
表J-252901~2902 異常處理訊息
表J-263001~3244 DUMP和LOAD訊息
表J-273301~3317 undo和redo訊息
表J-283401~3471 恢復訊息
表J-293501~3508 checkpoint訊息
表J-303604~3629 錯誤與異常處理訊息
表J-313701~3738 DROP訊息
表J-323801~3819 標記數據流訊息
表J-333901~3917,事務管理器訊息
表J-344001~4025 dataserver訊息
表J-354201~4322 DUMP與LOAD訊息
表J-364401~4425 視圖訊息
表J-374501~4509,CREATE的實用程式訊息
表J-384601~4622 GRANT與REVOKE訊息
表J-394701~4716 截斷表訊息
表J-404801~4837 BCP訊息
表J-414901~4958 ALTERTABLE訊息
表J-425001~5028 ALTER DATABASE訊息
表J-436001~6006 shutdown訊息
表J-445101~5151 磁碟訊息
表J-455201~5217 DUMPDATABASE訊息
表J-465701~5704 OpenClientDB-Library訊息
表J-475803~5899,配置訊息
表J-485901~5903 checkpoint訊息
表J-496001~6006,shutdoWn訊息
表J-506101~6108 進程KILL訊息
表J-516201~6291 showplan訊息
表J-526401~6403 ABORTTRANSACTION訊息
表J-536501,快取區管理器訊息
表J-546701~6702,保護模組訊息
表J-556901~6904 timestamp訊息
表J-567001~7026,內部表訊息(StratusVOS)
表J-577101~7142 正文管理器訊息
表J-587201~7233 分散式資料庫網路訊息
表J-597301~7389 語法分析器訊息
表J-607401~7415 閥值訊息
表J-617601~7620 審計模組訊息
表J-627701~7797 定序器訊息
表J-637901~7999,DBCC訊息
表J-648002~8011 遠程過程調用訊息
表J-658201~8221,描述符管理器訊息
表J-668401~8416 sysindexes管理器訊息
表J-678501~8502 ABORT訊息
表J-688601進程狀態結構訊息
表J-698701~8706 場地緩衝區管理器訊息
表J-708801~8806 登錄連線訊息
表J-718901~8904,數據緩衝區管理器訊息
表J-729001~9006,磁碟管理器訊息
表J-739101~9148,日誌轉換管理器訊息
表J-749301~9336,syslabels管理器訊息
表J-759501~9526 查詢處理器訊息
表J-769601~9602 CLEANUP 訊息
表J-779701~932, 安全訊息
表J-789802~9816 分區管理器訊息
表J-799901~9928 DBCC訊息
表J-8010101~10109 sysattributes訊息
表J-8110201~10214 showplan訊息
表J-8210401~10485 配置求助訊息
表J-83 13001~13120 訊息成分
表J-8417000~18177系統和目錄存儲過程訊息
附錄K 實驗題及其答案
實驗1:本章無實驗
實驗2:訪問SQLServer
練習概述
實驗工作單
具體要求
解決方法
實驗3:本章無實驗
實驗4:創建簡單表
練習概述
具體要求
解決方法
實驗5:創建臨時表 使用selectinto和創建視圖
練習概述
具體要求
解決方法
可選擇的練習
解決方法―可選擇的練習
實驗6a:創建帶有數據完整性約束的表
練習概述
具體要求
解決方法
實驗6b:創建帶有參照完整性的表
練習概述
語法
具體要求一節A
具體要求―節B
具體要求―節C
解決方法―節A
解決方法―節B
解決方法―節C
實驗7:規則 預設值和唯一性索引
練習概述
語法
具體要求
解決方法
實驗8:導航資料庫和修改數據
練習概述
具體要求
解決方法
實驗9a:使用函式
練習概述
具體要求
解決方法
實驗9b:統計數據和分組數據
練習概述
具體要求
解決方法
實驗10a:使用變數和控制流
練習概述
語法
具體要求―節A
具體要求-節B
解決方法―節A
解決方法―節B
實驗10b:使用print和raiserror命令
練習概述
語法
具體要求―節A
具體要求―節B
解決方法―節A
解決方法―節B
實驗11:使用事務管理語句
練習概述
語法
具體要求―節A
具體要求―節B
解決方法―節A
解決方法―節B
實驗12:使用游標
練習概述
語法
具體要求―節A
具體要求―節B
解決方法―節A
解決方法―節B
實驗13a:建立存儲過程和使用輸入參數
練習概述
語法
具體要求―節A
具體要求―節B
解決方法―節A
解決方法―節B
實驗13b:從存儲過程返回值
練習概述
語法
具體要求
解決方法
實給14:編寫觸發器
練習概述
語法
具體要求―節A
具體要求―節B
解決方法―節A
解決方法―節B.
實驗15:本章沒有實驗