出版時間:2008-6 出版社:電子工業(yè)出版社 作者:李玉林,等 馬軍 頁數(shù):543
Tag標簽:無
內(nèi)容概要
本書以應(yīng)用廣泛的SQL Server 2005數(shù)據(jù)庫為依據(jù),按照數(shù)據(jù)庫操作的一般順序,用16章的篇幅,以基礎(chǔ)介紹、數(shù)據(jù)庫及表的創(chuàng)建、數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)控制、事務(wù)控制和數(shù)據(jù)庫管理的順序,由淺到深地介紹Transact—SQL語言?! ∪珪嫦騍QL與SQL Server的初學(xué)者,著重講解Transact—SQL的基本和常用的使用語法,同時,結(jié)合大量的實例,并給出翔實的實例代碼,便于讀者實踐操作,迅速掌握。另外,對一些難以理解的概念和復(fù)雜的語法,輔以翔實的理論講解。因此,從某種意義上將,本書不僅僅是語法手冊,還是學(xué)習手冊。 本書的特色決定了該書適用于學(xué)習SQL編程基礎(chǔ)知識的任何讀者,尤其適用于SQL新手和SQLServer數(shù)據(jù)庫的初學(xué)者,對SQL Servet數(shù)據(jù)庫開發(fā)人員也有一定的參考價值。
作者簡介
馬軍,計算機軟件與理論專業(yè)碩士,高級程序員,微軟認證系統(tǒng)工程師,微軟認證Internet專家,微軟認證數(shù)據(jù)庫管理員,微軟認證系統(tǒng)管理員,長期從事大、中型計算機網(wǎng)絡(luò)的設(shè)計、管理和維護工作,對網(wǎng)絡(luò)操作系統(tǒng)、計算機網(wǎng)絡(luò)安全、網(wǎng)絡(luò)數(shù)據(jù)庫有深入研究。
書籍目錄
第1章 數(shù)據(jù)庫系統(tǒng)與SQL語言概述1.1 數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)模型1.1.1 基本術(shù)語1.1.2 數(shù)據(jù)庫技術(shù)的發(fā)展1.1.3 數(shù)據(jù)模型1.2 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)1.2.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.2.2 數(shù)據(jù)庫管理系統(tǒng)(DBMS)1.2.3 數(shù)據(jù)庫系統(tǒng)的工作流程1.3 關(guān)系數(shù)據(jù)庫的簡單介紹1.3.1 關(guān)系數(shù)據(jù)庫的基本特性1.3.2 關(guān)系數(shù)據(jù)庫的設(shè)計規(guī)范1.4 SQL語言概述1.4.1 SQL語言的發(fā)展1.4.2 SQL語言的功能1.4.3 SQL語言的執(zhí)行形式1.4.4 SQL語句結(jié)構(gòu)1.4.5 SQL的環(huán)境1.4.6 SQL DBMS的客戶機/服務(wù)器模型1.4.7 SQL語言的擴展1.5 小結(jié)第2章 Transact-SQL與SQL Server 52.1 SQL Server 5及其簡單應(yīng)用2.1.1 SQL Server 5的版本2.1.2 SQL Server Management Studio2.1.3 使用Management Studio創(chuàng)建數(shù)據(jù)庫2.1.4 使用Management Studio創(chuàng)建、查看、編輯表2.1.5 使用Management Studio編輯、運行T-SQL語言2.2 Transact-SQL語言2.2.1 Transact-SQL概述2.2.2 Transact-SQL的標識符2.2.3 對象命名規(guī)則2.2.4 Transact-SQL的主要組成2.2.5 Transact-SQL的其他一些常用命令2.3 Transact-SQL在SQL Server中的執(zhí)行2.3.1 解析Transact-SQL語句2.3.2 編譯Transact-SQL語句2.3.3 執(zhí)行Transact-SQL語句2.4 小結(jié)第3章 數(shù)據(jù)庫與表的操作3.1 創(chuàng)建、修改和刪除數(shù)據(jù)庫3.1.1 SQL Server數(shù)據(jù)庫的組成3.1.2 創(chuàng)建數(shù)據(jù)庫——CREATE DATABASE3.1.3 修改數(shù)據(jù)庫——ALTER DATABASE3.1.4 查看數(shù)據(jù)庫信息——sp_helpdb、sp_spaceused3.1.5 刪除數(shù)據(jù)庫——DROP DATABASE3.2 SQL Server中的表3.2.1 表的結(jié)構(gòu)及設(shè)計3.2.2 Transact-SQL對表的要求3.2.3 表的類型3.3 SQL Server 5中的數(shù)據(jù)類型3.3.1 數(shù)字類型3.3.2 時間和日期類型3.3.3 字符數(shù)據(jù)類型3.3.4 二進制數(shù)據(jù)類型3.3.5 其他數(shù)據(jù)類型3.3.6 用戶自定義數(shù)據(jù)類型3.3.7 數(shù)據(jù)類型同義詞3.4 創(chuàng)建表(CREATE TABLE)3.4.1 實例表設(shè)計3.4.2 創(chuàng)建基本表——CREATE TABLE3.4.3 指定值非空——NOT NULL3.4.4 指定列的默認值——DEFAULT3.5 編輯表結(jié)構(gòu)(ALTER TABLE)3.5.1 添加列或約束——ADD3.5.2 修改列的定義——ALTER COLUMN3.5.3 刪除列——DROP COLUMN3.6 重命名、刪除表3.6.1 改變表的名字——sp_rename3.6.2 刪除基本表——DROP TABLE3.7 小結(jié)第4章 基本的查詢4.1 SELECT語句的結(jié)構(gòu)與執(zhí)行4.1.1 SELECT語句的語法結(jié)構(gòu)4.1.2 SELECT各子句的順序及功能4.1.3 SELECT語句各子句的執(zhí)行4.2 最簡單的查詢4.2.1 向?qū)嵗碇刑砑訑?shù)據(jù)4.2.2 查詢表中列的數(shù)據(jù)——FROM子句4.2.3 去除結(jié)果的重復(fù)信息——DISTINCT4.2.4 查詢所有列——“*”4.2.5 進行無數(shù)據(jù)源檢索4.2.6 返回查詢的部分數(shù)據(jù)——TOP4.3 帶有搜索條件的查詢4.3.1 簡單的選擇查詢——WHERE4.3.2 使用比較表達式4.3.3 使用基本的邏輯表達式——NOT、AND、OR4.3.4 空值(NULL)的判斷——IS [NOT] NULL4.3.5 限定數(shù)據(jù)范圍——BETWEEN4.3.6 限制檢索數(shù)據(jù)的范圍——IN4.3.7 模糊查詢——LIKE4.4 排序查詢結(jié)果4.4.1 基本排序——ORDER BY4.4.2 對多列進行排序4.5 小結(jié)第5章 查詢中表達式與函數(shù)的使用5.1 SQL Server中的運算符5.1.1 算術(shù)運算符5.1.2 位運算符5.1.3 比較運算符5.1.4 邏輯運算符5.1.5 字符串連接符5.1.6 賦值運算符5.1.7 運算符的優(yōu)先級5.2 SELECT子句中表達式的使用5.2.1 使用連接符連接列——“+”5.2.2 操作查詢的列名——“=”、“AS”5.2.3 對重命名列的操作5.2.4 算術(shù)表達式的使用5.3 數(shù)學(xué)函數(shù)的使用5.3.1 三角函數(shù)5.3.2 計算函數(shù)5.3.3 近似函數(shù)5.4 字符處理函數(shù)的使用5.4.1 SQL Server 5中的字符處理函數(shù)5.4.2 字符的轉(zhuǎn)換處理函數(shù)5.4.3 字符串的提取函數(shù)5.4.4 其他字符串處理函數(shù)5.5 日期、時間處理函數(shù)的使用5.5.1 SQL Server 5中的日期處理函數(shù)5.5.2 獲取當前時間——GETDATE、GETUTCDATE、CURRENT_TIMESTAMP5.5.3 增加、減少時間——DATEADD5.5.4 獲取時間間隔——DATEDIFF5.5.5 獲取時間整數(shù)值——DAY、MONTH、YEAR、DATEPART5.5.6 獲取時間的字符串——DATENAME5.5.7 常用的時間計算5.6 類型轉(zhuǎn)換函數(shù)的使用5.6.1 類型轉(zhuǎn)換——CAST5.6.2 類型轉(zhuǎn)換——CONVERT5.7 小結(jié)第6章 系統(tǒng)函數(shù)、聚合函數(shù)與分組查詢6.1 系統(tǒng)函數(shù)的使用6.1.1 信息查詢相關(guān)系統(tǒng)函數(shù)6.1.2 判斷、分類系統(tǒng)函數(shù)6.1.3 統(tǒng)計系統(tǒng)函數(shù)6.2 聚合函數(shù)的使用6.2.1 聚合函數(shù)的種類6.2.2 計數(shù)函數(shù)——COUNT6.2.3 求和函數(shù)——SUM6.2.4 均值函數(shù)——AVG6.2.5 最大值/最小值函數(shù)——MAX/MIN6.2.6 統(tǒng)計函數(shù)——STDEV、STDEVP、VAR、VARP6.2.7 聚合函數(shù)的重值處理——ALL、DISTINCT6.2.8 聚合函數(shù)的執(zhí)行機理6.3 分組查詢6.3.1 簡單分組——GROUP BY6.3.2 多列分組6.3.3 分組查詢中NULL值的處理6.3.4 匯總數(shù)據(jù)運算符——CUBE、ROLLUP6.3.5 區(qū)分不同的NULL值——GROUPING6.3.6 篩選分組結(jié)果——HAVING6.3.7 多級分類匯總——COMPUTE6.3.8 對分組聚合結(jié)果進行聚合分析6.4 小結(jié)第7章 數(shù)據(jù)連接與多表查詢7.1 多表連接的基本概念與實現(xiàn)7.1.1 連接的概念7.1.2 連接的類型與實現(xiàn)7.1.3 創(chuàng)建實例表ReaderInfo7.2 簡單多表查詢的實現(xiàn)7.2.1 使用FROM子句實現(xiàn)多表查詢7.2.2 使用WHERE子句指定連接條件7.2.3 使用別名作為表名的簡寫7.2.4 自連接表進行查詢7.3 使用JOIN關(guān)鍵字實現(xiàn)表的連接7.3.1 基本連接語法7.2.2 內(nèi)部連接——INNER JOIN7.3.3 外部連接——OUTER JOIN7.3.4 交叉連接——CROSS JOIN7.3.5 連接與空值7.3.6 表的連接與聚合分析7.4 集合運算7.4.1 關(guān)系的集合運算7.4.2 集合并運算——UNION7.4.3 多表的UNION操作7.4.4 UNION與JOIN的區(qū)別7.4.5 集合差/集合交運算——EXCEPT/INTERSECT7.4.6 集合運算在Transact-SQL語句中的使用原則7.5 小結(jié)第8章 數(shù)據(jù)庫數(shù)據(jù)操作8.1 向表中添加數(shù)據(jù)——INSERT8.1.1 INSERT命令的基本語法8.1.2 整行插入數(shù)據(jù)8.1.3 INSERT操作中NULL值的處理8.1.4 INSERT操作中默認值的處理8.1.5 INSERT操作中唯一值的處理8.1.6 使用INSERT…SELECT插入數(shù)據(jù)8.2 修改和更新表中的數(shù)據(jù)——UPDATE8.2.1 UPDATE命令的基本語法8.2.2 使用UPDATE更新數(shù)據(jù)行8.2.3 使用FROM和WHERE子句根據(jù)多表連接更新數(shù)據(jù)8.2.4 大值數(shù)據(jù)類型字段值的更新8.2.5 使用OPENROWSET和BULK來操作大型數(shù)據(jù)對象8.3 刪除表中的數(shù)據(jù)——DELETE8.3.1 DELETE命令的基本語法8.3.2 使用DELETE刪除行8.3.3 使用TRUNCATE TABLE刪除表中的所有數(shù)據(jù)8.4 BLOB(text、ntext和image)數(shù)據(jù)處理8.4.1 寫入BLOB數(shù)據(jù)——WRITETEXT8.4.2 更新BLOB數(shù)據(jù)——UPDATETEXT8.4.3 TEXTSIZE選項和@@TEXTSIZE函數(shù)8.5 OUTPUT子句8.5.1 基本語法8.5.2 OUTPUT子句的使用8.6 表中數(shù)據(jù)的復(fù)制和導(dǎo)入、導(dǎo)出操作8.6.1 復(fù)制表中數(shù)據(jù)——SELECT…INTO8.6.2 導(dǎo)入、導(dǎo)出數(shù)據(jù)——BCP工具8.7 小結(jié)第9章 子查詢及FOR XML子句的使用9.1 子查詢基礎(chǔ)9.1.1 相關(guān)子查詢與非相關(guān)子查詢9.1.2 子查詢的組成9.1.3 子查詢的使用方式及限制9.2 比較運算符引入返回單值的子查詢9.2.1 比較運算符引入子查詢9.2.2 在子查詢中使用聚合函數(shù)返回單值9.3 IN或修改的比較運算符引入返回多值的子查詢9.3.1 使用[NOT]IN引入子查詢9.3.2 使用修改的比較運算符引入返回多值的子查詢9.4 EXISTS引入的存在測試子查詢9.4.1 使用EXISTS的子查詢9.4.2 EXISTS子查詢的使用9.4.3 使用EXISTS子查詢檢查表中的重復(fù)行9.5 子查詢的其他應(yīng)用9.5.1 在子查詢中使用TOP關(guān)鍵字9.5.2 在SELECT子句中使用子查詢9.5.3 在HAVING子句中使用子查詢9.5.4 在數(shù)據(jù)操作語言(DML)中使用子查詢9.6 FOR XML子句9.6.1 FOR XML子句的基本語法9.6.2 FOR XML RAW模式及使用9.6.3 FOR XML AUTO模式及使用9.6.4 FOR XML EXPLICIT模式及使用9.6.5 FOR XML PATH模式及使用9.6.6 使用TYPE指令返回xml數(shù)據(jù)類型9.6.7 在數(shù)據(jù)操作語言(DML)中使用FOR XML子句9.7 小結(jié)第10章 表的約束、索引與視圖10.1 表鍵及其使用10.1.1 表約束的種類10.1.2 約束的創(chuàng)建10.1.3 主鍵約束——PRIMARY KEY10.1.4 外鍵約束——FOREIGN KEY10.1.5 外鍵與級聯(lián)引用完整性約束10.1.6 標識符列——IDENTITY屬性10.1.7 查看、更改標識值——DBCC CHECKIDENT10.2 表的約束10.2.1 唯一性約束——UNIQUE10.2.2 校驗約束——CHECK10.2.3 約束的刪除、修改和禁用10.3 索引及其操作10.3.1 索引的基本知識10.3.2 創(chuàng)建索引——CREATE INDEX10.3.3 非聚集索引的創(chuàng)建和使用——NONCLUSTERED10.3.4 聚集索引的創(chuàng)建和使用——CLUSTERED10.3.5 聚集索引和非聚集索引的使用10.3.6 查看、修改和刪除索引10.3.7 索引的使用準則10.4 視圖及其應(yīng)用10.4.1 視圖的基本知識10.4.2 創(chuàng)建視圖——CREATE VIEW10.4.3 查詢視圖的定義和相關(guān)信息10.4.4 修改、更新和刪除視圖10.4.5 通過視圖修改表中記錄10.4.6 索引視圖及其使用10.5 小結(jié)第11章 存儲過程與用戶自定義函數(shù)11.1 理解存儲過程11.1.1 存儲過程的基本概念11.1.2 存儲過程的優(yōu)點11.1.3 存儲過程的種類11.2 程序流控制語句11.2.1 SQL Server中的程序流控制語句11.2.2 IF…ELSE條件選擇結(jié)構(gòu)11.2.3 BEGIN…END語句塊11.2.4 CASE結(jié)構(gòu)11.2.5 WHILE循環(huán)結(jié)構(gòu)11.2.6 WAITFOR等待語句11.3 存儲過程的創(chuàng)建和使用11.3.1 系統(tǒng)存儲過程11.3.2 創(chuàng)建存儲過程——CREATE PROCEDURE11.3.3 存儲過程的創(chuàng)建實例11.3.4 執(zhí)行存儲過程——EXECUTE11.3.5 查看、修改和刪除存儲過程11.4 用戶自定義函數(shù)的創(chuàng)建和使用11.4.1 創(chuàng)建標量型自定義函數(shù)11.4.2 創(chuàng)建內(nèi)聯(lián)表值自定義函數(shù)11.4.3 創(chuàng)建多語句表值自定義函數(shù)11.4.4 調(diào)用用戶自定義函數(shù)11.4.5 修改、查詢和刪除自定義函數(shù)11.5 小結(jié)第12章 觸發(fā)器與錯誤處理12.1 觸發(fā)器的基本概念12.1.1 觸發(fā)器簡介12.1.2 觸發(fā)器的類型12.1.3 觸發(fā)器的作用及使用12.1.4 觸發(fā)器的執(zhí)行環(huán)境12.2 創(chuàng)建和使用DML觸發(fā)器12.2.1 AFTER DML觸發(fā)器的創(chuàng)建語法12.2.2 AFTER DML觸發(fā)器的創(chuàng)建實例12.2.3 測試對指定列的UPDATE操作12.2.4 INSTEAD OF DML觸發(fā)器的創(chuàng)建和使用12.2.5 嵌套觸發(fā)器12.2.6 遞歸觸發(fā)器12.2.7 查詢DML觸發(fā)器的相關(guān)信息12.3 創(chuàng)建和使用DDL觸發(fā)器12.3.1 DDL觸發(fā)器的創(chuàng)建語法12.3.2 DDL觸發(fā)器的創(chuàng)建實例12.3.3 查詢DDL觸發(fā)器的相關(guān)信息12.4 觸發(fā)器的管理12.4.1 使用系統(tǒng)存儲過程查詢觸發(fā)器的相關(guān)信息12.4.2 修改觸發(fā)器——ALTER TRIGGER12.4.3 禁用/啟用觸發(fā)器——DISABLE/ENABLE TRIGGER12.4.4 設(shè)置觸發(fā)器的激發(fā)順序——sp_settriggerorder12.4.5 刪除觸發(fā)器——DROP TRIGGER12.5 錯誤的獲取與處理12.5.1 查詢錯誤消息——sys.messages12.5.2 使用用戶自定義錯誤消息——sp_ addmessage/sp_dropmessage12.5.3 激發(fā)錯誤消息——RAISERROR12.5.4 獲取錯誤消息——TRY…CATCH/@@ERROR12.6 小結(jié)第13章 安全性管理——主體、權(quán)限、安全對象13.1 SQL Server 5安全模式13.1.1 主體(Principals)13.1.2 安全對象(Securables)13.1.3 權(quán)限(Permissions)13.2 創(chuàng)建與管理Windows級別的主體13.2.1 創(chuàng)建Windows認證登錄用戶(組)——CREATE LOGIN13.2.2 查看Windows認證登錄用戶13.2.3 修改Windows認證登錄用戶——ALTER LOGIN13.2.4 刪除Windows認證登錄用戶——DROP LOGIN13.3 創(chuàng)建與管理SQL Server級別的主體13.3.1 創(chuàng)建SQL Server認證登錄用戶——CREATE LOGIN13.3.2 修改SQL Server認證登錄用戶——ALTER LOGIN13.3.3 查詢服務(wù)器角色信息13.3.4 管理服務(wù)器角色信息13.4 創(chuàng)建與管理數(shù)據(jù)庫級別的主體13.4.1 創(chuàng)建數(shù)據(jù)庫用戶——CREATE USER13.4.2 修改、刪除數(shù)據(jù)庫用戶——ALTER/DROP USER13.4.3 管理數(shù)據(jù)庫用戶13.4.4 管理固定數(shù)據(jù)庫角色13.4.5 管理用戶自定義數(shù)據(jù)庫角色13.4.6 管理應(yīng)用程序角色13.5 安全對象與權(quán)限13.5.1 SQL Server的內(nèi)置權(quán)限13.5.2 服務(wù)器范圍的安全對象及其權(quán)限管理13.5.3 數(shù)據(jù)庫范圍的安全對象及其權(quán)限管理13.5.4 架構(gòu)范圍的安全對象及其權(quán)限管理13.5.5 對象類安全對象及其權(quán)限管理13.6 主體、安全對象和權(quán)限的管理13.6.1 評估當前用戶對安全對象的有效權(quán)限——Has_perms_by_name13.6.2 查詢當前用戶對安全對象的有效權(quán)限——fn_my_permissions13.6.3 創(chuàng)建憑據(jù)——CREATE CREDENTIAL13.7 小結(jié)第14章 事務(wù)控制和并發(fā)處理14.1 事務(wù)控制的基本概念14.1.1 事務(wù)控制的必要性14.1.2 事務(wù)的ACID特性及實現(xiàn)14.1.3 事務(wù)的狀態(tài)14.1.4 Transact-SQL中事務(wù)的執(zhí)行14.2 SQL Server中事務(wù)的實現(xiàn)14.2.1 啟動事務(wù)——BEGIN TRANSACTION14.2.3 提交事務(wù)——COMMIT TRANSACTION14.2.3 回滾事務(wù)——ROLLBACK TRANSACTION14.2.4 設(shè)置事務(wù)的保存點——SAVE TRANSACTION14.3 并發(fā)控制及其實現(xiàn)14.3.1 并發(fā)訪問的問題14.3.2 SQL Server中的鎖14.3.3 鎖的使用14.3.4 顯示數(shù)據(jù)庫中活躍的事務(wù)和鎖信息——DBCC OPENTRAN14.3.5 事務(wù)隔離級別14.3.6 設(shè)置事務(wù)隔離級別——SET TRANSATION14.3.7 不同事務(wù)隔離級別實現(xiàn)并發(fā)控制實例14.3.8 事務(wù)阻塞及其解決方法14.3.9 死鎖及其預(yù)防14.4 小結(jié)第15章 游標與全文檢索15.1 游標的基本概念15.1.1 游標的概念15.1.2 游標的實現(xiàn)及應(yīng)用過程15.2 基本游標的創(chuàng)建和使用15.2.1 創(chuàng)建游標——DECLARE CURSOR15.2.2 打開游標——OPEN15.2.3 檢索游標數(shù)據(jù)——FETCH15.2.4 關(guān)閉/刪除游標——CLOSE/DEALLOCATE15.2.5 遍歷游標結(jié)果集——@@FETCH_STATUS15.2.6 使用游標修改、刪除數(shù)據(jù)15.3 Transact-SQL擴展游標與游標的管理15.3.1 Transact-SQL擴展游標語法15.3.2 使用游標變量15.3.3 事務(wù)中游標的使用15.3.4 游標的管理15.4 全文檢索基礎(chǔ)15.4.1 全文索引和全文目錄15.4.2 創(chuàng)建全文目錄——CREATE FULLTEXT CATALOG15.4.3 創(chuàng)建全文索引——CREATE FULLTEXT INDEX15.5 使用全文謂詞和全文函數(shù)進行全文檢索15.5.1 使用CONTAINS謂詞進行全文檢索15.5.2 使用FREETEXT謂詞進行全文檢索15.5.3 使用全文函數(shù)——CONTAINSTABLE、FREETEXTTABLE15.6 小結(jié)第16章 服務(wù)器和數(shù)據(jù)庫的配置與管理16.1 管理服務(wù)器配置選項16.1.1 查詢服務(wù)器配置選項16.1.2 更改服務(wù)器配置選項16.2 管理數(shù)據(jù)庫配置選項16.2.1 查詢數(shù)據(jù)庫信息16.2.2 自動選項及其設(shè)置16.2.3 ANSI SQL選項及其設(shè)置16.2.4 外部數(shù)據(jù)源對數(shù)據(jù)庫的訪問選項16.2.5 游標選項及其設(shè)置16.2.6 數(shù)據(jù)庫恢復(fù)選項和磁盤I/O錯誤檢查16.2.7 控制數(shù)據(jù)庫的狀態(tài)和屬性16.2.8 數(shù)據(jù)庫磁盤空間管理16.3 數(shù)據(jù)庫的維護16.3.1 檢查磁盤空間分配結(jié)構(gòu)的一致性——DBCC CHECKALLOC16.3.2 檢查數(shù)據(jù)庫對象的結(jié)構(gòu)和邏輯完整性——DBCC CHECKDB16.3.3 檢查文件組分配和結(jié)構(gòu)完整性——DBCC CHECKFILEGROUP16.3.4 檢查頁和結(jié)構(gòu)的完整性——DBCC CHECKTABLE16.3.5 檢查約束的完整性——DBCC CHECKCONSTRAINTS16.4 數(shù)據(jù)庫的備份與恢復(fù)16.4.1 數(shù)據(jù)庫備份與恢復(fù)的基本概念16.4.2 備份操作相關(guān)的Transact-SQL語句16.4.3 完整備份——BACKUP DATABASE16.4.4 創(chuàng)建邏輯備份設(shè)備——sp_addumpdevice16.4.5 事務(wù)日志備份——BACKUP LOG16.4.6 差異備份——DIFFERENTIAL16.4.7 文件備份16.4.8 部分備份——READ_WRITE_FILEGROUPS16.4.9 查詢備份集的元數(shù)據(jù)16.4.10 數(shù)據(jù)庫還原——RESTORE DATABASE16.5 信息架構(gòu)視圖16.5.1 信息架構(gòu)視圖簡介16.5.2 TABLES信息架構(gòu)視圖16.5.3 VIEWS信息架構(gòu)視圖16.5.4 COLUMNS信息架構(gòu)視圖16.5.5 ROUTINES信息架構(gòu)視圖16.6 小結(jié)附錄A 標準的SQL語句附錄B SQL Server的全局變量附錄C SET語句及功能
章節(jié)摘錄
第1章 數(shù)據(jù)庫系統(tǒng)與SQL語言概述 1.1 數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)模型 數(shù)據(jù)庫系統(tǒng)本質(zhì)上是一個使用計算機存儲記錄的系統(tǒng)。數(shù)據(jù)庫本身可被看作一種電子文件柜;也就是說,它是收集計算機數(shù)據(jù)文件的倉庫或容器。系統(tǒng)用戶可以對這些文件執(zhí)行一系列的操作?! ?.1.1 基本術(shù)語 本節(jié)將對數(shù)據(jù)庫使用中的一些常用術(shù)語進行簡單介紹?! ?.數(shù)據(jù)(Data) 描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象,數(shù)據(jù)的種類很多,主要包括文字、圖形、圖像、聲音、學(xué)生的檔案記錄、貨物的運輸情況等,它們都可以經(jīng)過數(shù)字化后存入計算機。 2.數(shù)據(jù)庫(Database,簡稱DB) 數(shù)據(jù)庫,顧名思義,就是存放數(shù)據(jù)的倉庫,過去人們把數(shù)據(jù)放在文件柜里,現(xiàn)在人們借助計算機和數(shù)據(jù)庫技術(shù),科學(xué)地保存和管理大量復(fù)雜的數(shù)據(jù),以便能方便而充分地利用這些寶貴的信息資源?! ∷^數(shù)據(jù)庫是長期存儲在計算機內(nèi)、有組織、可共享的數(shù)據(jù)集合,數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶所共享?! ?.數(shù)據(jù)庫管理系統(tǒng)(Data Base Management System,簡稱DBMS) 數(shù)據(jù)庫管理系統(tǒng)是指數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)進行管理的軟件系統(tǒng),它是數(shù)據(jù)庫系統(tǒng)的核心組成部分。數(shù)據(jù)庫系統(tǒng)的一切操作,包括查詢、更新以及各種控制,都是通過DBMS進行的?! BMS總是基于某種數(shù)據(jù)模型的,因此可以把它看成某種數(shù)據(jù)模型在計算機系統(tǒng)上的具體實現(xiàn)?! ?shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的一個重要組成部分,它為用戶提供一個可以方便、有效地存取數(shù)據(jù)庫信息的環(huán)境。 4.數(shù)據(jù)庫系統(tǒng)(Database System,簡稱DBS) 數(shù)據(jù)庫系統(tǒng)是指在計算機中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。應(yīng)當指出的是,數(shù)據(jù)庫的建立、使用和維護等工作只靠一個DBMS遠遠不夠,還要有專門的人員來完成,這些人被稱為數(shù)據(jù)庫管理員(Database Administrator,簡稱DBA)?! ?shù)據(jù)庫系統(tǒng)的構(gòu)成如圖1.1所示?! ?.1.2 數(shù)據(jù)庫技術(shù)的發(fā)展 數(shù)據(jù)庫主要用于數(shù)據(jù)處理。隨著數(shù)據(jù)處理量的不斷增加,數(shù)據(jù)管理技術(shù)應(yīng)運而生,其演變過程隨著計算機硬件和軟件的發(fā)展,大體經(jīng)歷了文件系統(tǒng)、層次模型和網(wǎng)狀模型數(shù)據(jù)庫、關(guān)系模型數(shù)據(jù)庫以及新一代數(shù)據(jù)庫系統(tǒng)幾個階段?! ?.文件系統(tǒng)階段 在數(shù)據(jù)庫系統(tǒng)出現(xiàn)前,數(shù)據(jù)以文件為單位,與計算機程序脫離,由操作系統(tǒng)統(tǒng)一管理。用戶的程序與數(shù)據(jù)可分別存放在外存儲器上,各個應(yīng)用程序可以共享一組數(shù)據(jù),實現(xiàn)了以文件為單位的共享。 由于數(shù)據(jù)的組織仍然是面向程序的,所以存在大量的數(shù)據(jù)冗余,且不能方便地修改和擴充數(shù)據(jù)的邏輯結(jié)構(gòu)。同時,由于文件之間是相互孤立的,因而它們不能反映現(xiàn)實世界中事務(wù)之間的聯(lián)系。文件系統(tǒng)階段程序與數(shù)據(jù)的關(guān)系如圖1.2所示。 2.層次模型和網(wǎng)狀模型數(shù)據(jù)庫系統(tǒng) 層次模型和網(wǎng)狀模型數(shù)據(jù)庫系統(tǒng)也稱為第一代數(shù)據(jù)庫,其先驅(qū)是1969年IBM提出的IMs (InformationManagement System,層次數(shù)據(jù)庫模型)。該種數(shù)據(jù)庫系統(tǒng)以有向圖為基礎(chǔ),一次一個記錄地存取數(shù)據(jù),采用的是過程化的存取方法?! 『唵蔚膶哟文P秃途W(wǎng)狀模型數(shù)據(jù)庫系統(tǒng)存儲的數(shù)據(jù)結(jié)構(gòu),如圖1.3所示?! ?.關(guān)系模型數(shù)據(jù)庫系統(tǒng) 關(guān)系模型數(shù)據(jù)庫系統(tǒng)也稱為第二代數(shù)據(jù)庫,誕生于20世紀70年代。首先由IBM提出了關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫技術(shù)的基礎(chǔ);而IBM、SystemR和Berkeley INGRES等系統(tǒng)的出現(xiàn),標志著關(guān)系型數(shù)據(jù)庫的成熟。 關(guān)系模型數(shù)據(jù)庫系統(tǒng)以集合代數(shù)為基礎(chǔ),一次一個集合地存取數(shù)據(jù),采用的是非過程化的存取方法。目前廣泛使用的數(shù)據(jù)庫軟件都是基于關(guān)系模型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。關(guān)系模型是現(xiàn)代數(shù)據(jù)庫產(chǎn)品最廣泛實現(xiàn)的模型,而且正是關(guān)系模型構(gòu)成了SQL的基礎(chǔ)?! £P(guān)系模型與以往的模型不同,它是建立在嚴格的數(shù)學(xué)概念基礎(chǔ)上的。在用戶看來,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成?,F(xiàn)以圖1.4所示的學(xué)生登記表為例,簡單介紹關(guān)系模型中的一些術(shù)語。 關(guān)系(Relation):一個關(guān)系對應(yīng)通常說的一張表,如圖1.4所示的表?! ≡M(Tuple):表中的一行即為一個元組?! 傩裕ˋttribute):表中的一列即為一個屬性,給每一個屬性起一個名稱即為屬性名; 如圖1.4所示的表中有6列,對應(yīng)6個屬性(學(xué)號、姓名、年齡、性別、系名和年級)?! ≈麈I(Key):表中的某個屬性組,它可以唯一確定一個元組,如圖1.4所示的表中的學(xué)號,可以唯一確定一個學(xué)生,也就成為本關(guān)系的主鍵?! ∮颍―ommn):屬性的取值范圍,如人的年齡一般在1-150歲之間,性別的域是(男,女)。 分量:元組中的一個屬性值?! £P(guān)系模式:對關(guān)系的描述一般表示為: 關(guān)系名(屬性1,屬性2,…,屬性N 例如,上面的關(guān)系可描述為: 學(xué)生(學(xué)號,姓名,年齡,性別,系名和年級) 關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,也就是說,不允許表中還有表。
編輯推薦
SQL的初學(xué)者:本書以應(yīng)用廣泛的SQL Server 2005數(shù)據(jù)庫為依據(jù),按照數(shù)據(jù)庫操作的一般順序,由淺到深地介紹Transact—SQL語言,并且在講解理論的同時輔以大量的實例,便于SQL新手對SQL的理解和學(xué)習。SQL Server數(shù)據(jù)庫的初學(xué)者:在學(xué)習SQL Server數(shù)據(jù)庫時,用戶一般習慣于使用其提供的圖形開發(fā)管理界面,創(chuàng)建與管理各種對象。實際上,圖形界面的操作最終還是要轉(zhuǎn)變?yōu)橄鄳?yīng)的Transact-SQL語句對數(shù)據(jù)庫進行操作。因此,建議用戶在學(xué)習SQL Server數(shù)據(jù)庫時,盡量通過本書介紹的Transact—SQL語言對數(shù)據(jù)庫操作,這樣便于用戶對SQL Server數(shù)據(jù)庫的深入理解和以后的深入開發(fā)。SQL Server數(shù)據(jù)庫開發(fā)人員:本書可以作為SQL Server數(shù)據(jù)庫開發(fā)人員在數(shù)據(jù)庫開發(fā)過程中的參考手冊。涵蓋了Transact—SQL的幾乎所有的常用語句,且便于速查。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
SQL語言與數(shù)據(jù)庫操作技術(shù)大全 PDF格式下載