圖書信息
作 者:王寅永,李降宇,李廣歌編著
出 版 社: 電子工業出版社
出版時間: 2008-11-1
頁 數:448頁
開 本: 16開
ISBN 9787121074226
分類: 圖書 >> 計算機/資料庫>>SQLServer
定價:¥52.00元
內 容 簡 介
Microsoft SQL Server 2005是新一代大型電子商務、數據分析和資料庫解決方案,本書是創建SQL Server 2005資料庫和套用的一本參考書。
通過這本書,讀者可以學到如何進行SQL Server 2005資料庫的安裝,如何進行資料庫組件管理以及資料庫的轉換、備份等工作。同時,讀者通過對Microsoft SQL Server的實現語言——Transact-SQL的學習,可以進一步地了解SQL Server 2005的資料庫操作、表操作、強大的SELECT語句、存儲過程及觸發器、事務處理等相關內容。另外,通過對這本書的學習,讀者也可以了解到SQL Server 2005資料庫針對數據倉庫管理、商業智慧型(BI)的方向的發展情況。其中第9章的內容主要是介紹套用SQL Server 2005商業智慧型技術為上海某電信公司進行的報表及業務分析系統,從設計方案到開發技術以及最終報表的展示,為廣大讀者提供一個學習和了解商業智慧型在實際項目中是如何套用的。
全書用550個圖例對SQL Server 2005的主要功能進行深入分析,不僅是進行SQL Server 2005開發的廣大初學者的指導書籍,同時也可以作為社會相關領域培訓用的輔助教材。
前 言
SQL Server 2005是一個全面的、集成的數據解決方案,它為企業中的用戶提供了一個安全、可靠和高效的平台用於企業數據管理和商業智慧型套用。如果你剛準備學習它,或者你已經使用它的一些功能,但總覺得只是了解到SQL Server的一些表面的內容;如果你想全面地了解SQL Server資料庫,那么這本書將是你最好的選擇。作為進入SQL Server資料庫方面的指導書之一,無論是買來細讀,還是實例模擬訓練,這本書都將給你更多的幫助。
本書的創作契機
近兩年,我擔任了計算機技術方面的實訓老師,為已經畢業的大學生或企業新入職員工講解計算機技術課程。講課期間,看到了很多同學對於SQL Server的了解只是知道幾個簡單的SQL語句,一旦真正地碰到一個難度大一點的語句或者涉及SQL Server的性能要求的時候,同學們就會不知所措。究其原因,我覺得無非有這樣的幾點需要同學們注意:一是對於SQL Server的學習,基礎知識的學習沒有抓緊,只有基礎知識學得紮實,你的擴展學習能力才會有保障。實際工作中遇到的問題不可能用簡單的SQL語句就能實現的,更多的會是在一些基本的套用上發生一些變化;二是,我覺得學生的動手能力需要加強,很多同學只是看書的內容,而不去根據書的內容去動手解決具體的問題,這樣的話,在實踐中遇到一些需要快速動手解決問題的時候,尤其是面對SQL Server這樣一個需要動手能力很強的資料庫的時候,卻依然不知道如何動手解決問題。
市面上的關於SQL Server方面的資料庫的書很多,同學們從中選擇一本適合自己學習的書並不容易。作為一個從事了十多年軟體開發的老工程師,同時通過對學生的學習情況的了解掌握,我知道,他們需要這樣的一本書——易於理解、內容全面、圖解清楚的、適合動手實踐的書。
很幸運在寫這本書的時候遇到了電子工業出版社的李冰編輯,在李冰編輯積極幫助下,我們開始了本書的編寫。
本書的章節安排
作者根據多年的開發經驗和教學經驗,對SQL Server 2005資料庫進行全面解析。從最基礎的SQL Server 2005的安裝過程,到SQL Server Management Studio管理工作;從簡單的SQL語句使用,到對存儲過程、游標、事務等高級功能的學習;從最基本的SELECT語句功能,到利用SQL Server資料庫ssas、SSIS、SSRs服務來進行商業智慧型分析工作。以上這些內容,本書都有章節進行相關的說明。
本書共給出大約550個圖例,並給出對應的例子,讓讀者在理論學習的基礎上,按照圖示,進行動手實踐工作。採用這樣的理論和實踐緊密結合的方式,更能準確快速地學習好這個資料庫。
本書總共分9個章節,從SQL Server最基礎的內容到最複雜的內容,都有相關的介紹,幾乎包含了SQL Server資料庫的各個領域。
本書所有原始碼資源可以登錄www.broadview.com.cn進行下載,並提供部落格和讀者進行交流,部落格地址:http://hi.csdn.net/wang_yy。
感言
本書的出版,家人們給了很大的支持!感謝王曉峰、張旭,他們對本書很多的代碼進行了調試工作。另外老師、同學以及一些網友朋友提供了很多的資料,給予我很大的幫助,在此表示深深的感謝!
編程是一個創造性的勞動,無論你是初學者還是編程高手,都會遇到問題,只要在遇到問題的時候,多問自己幾個為什麼,然後自己動手、動腦去解決這些問題,並且很好地積累這些經驗教訓,你的技術能力就會越來越強。
最後感謝電子工業出版社的編輯們不厭其煩地改正了書稿中的許多錯誤。
因時間倉促,編者水平有限,錯誤之處或者不準確的地方在所難免,敬請讀者給予批評指正!
王寅永
目 錄
第1章 SQL Server 2005概述 1
1.1 SQL Server 2005概念 1
1.2 SQL Server 2005數據平台包括的工具內容 2
1.3 SQL Server 2005新特性 3
1.4 SQL Server 2005的商務智慧型特性 4
1.5 升級到SQL Server 2005 5
第2章 SQL Server 2005安裝及配置 6
2.1 SQL Server 2005安裝的硬體要求 6
2.2 SQL Server 2005安裝的軟體要求 7
2.3 安裝SQL Server 2005的注意事項 7
2.4 SQL Server 2005安裝步驟 9
2.4.1 進入安裝界面,閱讀協定 9
2.4.2 安裝必備的組件 9
2.4.3 進入安裝SQL Server 2005的安裝精靈 10
2.4.4 開始進行系統配置檢查工作 10
2.4.5 註冊信息填寫 11
2.4.6 默認選擇安裝SQL Server 2005組件 12
2.4.7 手工安裝SQL Server 2005組件 12
2.4.8 安裝SQL Server 2005實例 13
2.4.9 安裝SQL Server 2005服務賬戶 13
2.4.10 身份驗證模式選擇 14
2.4.11 排序規則設定 14
2.4.12 報表服務的安裝選項 15
2.4.13 報表使用情況報告設定 15
2.4.14 開始安裝 15
2.4.15 安裝過程進度情況 16
2.4.16 安裝過程結束 16
第3章 SQL Server 2005 Management Studio 18
3.1 SQL Server 2005 Management Studio基礎知識 18
3.1.1 概念及功能 18
3.1.2 啟動Management Studio 19
3.1.3 更改環境布局 20
3.1.4 顯示文檔視窗 22
3.1.5 顯示對象資源管理器詳細信息頁 23
3.1.6 選擇字型和顏色方案 23
3.1.7 選擇鍵盤快捷鍵方案 24
3.1.8 設定啟動選項 24
3.1.9 還原默認的SQL Server Management Studio配置 25
3.2 SQL Server 2005 Management Studio安全管理 26
3.2.1 登錄用戶管理 26
3.2.2 服務角色管理 29
3.3 SQL Server 2005 Management Studio備份管理 31
3.4 SQL Server 2005 Management Studio維護管理 32
3.4.1 啟動維護計畫嚮導 33
3.4.2 使用嚮導創建一個維護計畫 33
3.4.3 修改維護計畫的計畫屬性 35
3.4.4 查看SQL Server錯誤日誌 36
3.5 SQL Server 2005 Management Studio環境 37
3.5.1 創建一個新解決方案和項目 38
3.5.2 打開現有解決方案 38
3.5.3 視圖項目屬性 39
3.5.4 向項目添加新項 39
3.5.5 移除或刪除項或項目 42
3.5.6 更改與查詢關聯的連線 43
3.5.7 查看或更改項目中的連線屬性 44
3.5.8 將原始碼管理與SQL Server Management Studio配合使用 44
3.6 SQL Server 2005 Management Studio套用 46
3.6.1 資料庫的相關操作 46
3.6.1.1 創建資料庫 46
3.6.1.2 增大資料庫 50
3.6.1.3 收縮資料庫 52
3.6.1.4 添加和刪除數據檔案和事務日誌檔案 53
3.6.1.5 設定資料庫選項 55
3.6.1.6 分離資料庫 55
3.6.1.7 附加資料庫 59
3.6.1.8 重命名資料庫 59
3.6.1.9 刪除資料庫 61
3.6.2 表的相關操作 62
3.6.2.1 表的基礎知識 62
3.6.2.2 創建新表 63
3.6.2.3 表中插入列 64
3.6.2.4 表中刪除列 66
3.6.2.5 指定列的默認值 67
3.6.2.6 指定計算列 68
3.6.2.7 修改列的數據類型 69
3.6.2.8 修改列的長度 71
3.6.2.9 修改列的精度 72
3.6.2.10 重新定義列的精度 72
3.6.2.11 修改列標識屬性 73
3.6.2.12 修改列的空值選項 74
3.6.3 索引 75
3.6.3.1 創建索引 75
3.6.3.2 創建唯一索引 76
3.6.3.3 創建聚集索引 78
3.6.3.4 更改索引屬性 79
3.6.3.5 更改索引名稱 80
3.6.3.6 刪除索引 81
3.6.3.7 為索引指定填充因子 82
3.6.3.8 創建XML索引 83
3.6.3.9 刪除XML索引 84
3.6.4 視圖 84
3.6.4.1 創建視圖 85
3.6.4.2 打開視圖 85
3.6.4.3 保存視圖 86
3.6.4.4 重命名視圖 87
3.6.4.5 刪除視圖 87
3.6.4.6 顯示視圖屬性 88
3.6.5 存儲過程 89
3.6.5.1 創建存儲過程 89
3.6.5.2 修改存儲過程 92
3.6.5.3 重新命名存儲過程 93
3.6.5.4 刪除存儲過程 94
第4章 Transact-SQL實用大全 95
4.1 標識符 95
4.1.1 標識符概念 95
4.1.2 標識符種類 96
4.1.3 常規標識符規則 96
4.1.4 使用標識符作為對象名稱 97
4.2 數據類型 98
4.2.1 使用二進制數據 99
4.2.2 使用char和varchar數據 99
4.2.3 使用日期和時間數據 101
4.2.4 使用整型數據 104
4.2.5 使用decimal、float和real數據 105
4.2.6 使用Text和Image數據 106
4.2.7 使用特殊數據 107
4.3 表達式 109
4.3.1 使用算術運算符 111
4.3.1.1 減法運算符 112
4.3.1.2 加法運算符 113
4.3.1.3 乘法運算符 114
4.3.1.4 除法運算符 115
4.3.2 使用位運算符 115
4.3.2.1 &(位與) 115
4.3.2.2 ~(位非) 116
4.3.2.3 |(位或) 117
4.3.2.4 ^(位異或) 118
4.3.3 比較運算符 118
4.3.3.1 =(等於表達式) 119
4.3.3.2 <>(不等於表達式) 119
4.3.3.3 >(大於表達式) 119
4.3.3.4 !<(不小於表達式) 120
4.3.3.5 <(小於表達式) 120
4.3.3.6 !=(不等於表達式) 120
4.3.3.7 >=(大於或等於表達式) 120
4.3.3.8 !>(不大於表達式) 120
4.3.3.9 >=(小於或等於表達式) 121
4.3.4 字元串串聯運算符 121
4.4 注釋 122
4.5 資料庫操作 123
4.5.1 創建資料庫 123
4.5.2 擴展資料庫 124
4.5.3 收縮資料庫 126
4.5.4 分離資料庫 127
4.5.5 附加資料庫 128
4.5.6 更改資料庫所有者 128
4.5.7 刪除資料庫 129
4.6 表操作 129
4.6.1 創建表 129
4.6.2 修改列屬性 131
4.6.3 創建和修改PRIMARY KEY約束 132
4.6.4 創建和修改FOREIGN KEY約束 133
4.6.5 創建和修改UNIQUE約束 133
4.6.6 創建和修改check約束 134
4.6.7 創建和修改DEFAULT定義 134
4.6.8 查看錶 135
4.6.9 插入數據 139
4.6.10 修改表數據 141
4.6.11 刪除表 143
4.7 索引 145
4.7.1 了解索引 145
4.7.2 創建索引 146
4.7.3 修改索引 147
4.7.4 刪除索引 149
4.8 視圖 150
4.8.1 了解視圖 150
4.8.2 創建視圖 152
4.8.3 修改和重命名視圖 152
4.8.4 刪除視圖 153
4.9 存儲過程 154
4.9.1 了解存儲過程 154
4.9.2 批處理和GO命令 155
4.9.2.1 批處理 155
4.9.2.2 GO命令 156
4.9.3 變數說明 158
4.9.4 控制語句 163
4.9.5 處理錯誤信息 172
4.9.6 創建存儲過程 181
4.9.7 修改存儲過程 188
4.9.8 刪除存儲過程 190
4.10 DML觸發器 190
4.10.1 了解DML觸發器 190
4.10.2 DML觸發器的類型 191
4.10.3 指定DML觸發器激發 191
4.10.4 修改和重命名DML觸發器 192
4.10.5 刪除和禁用觸發器 192
4.11 事務 193
4.11.1 了解事務 193
4.11.2 啟動事務 194
4.11.3 結束事務 196
4.12 游標 197
4.12.1 了解游標 197
4.12.2 實現游標 197
4.12.3 提取和滾動 200
4.12.4 獲得伺服器游標元數據 201
4.12.5 使用定位操作更改行 202
4.12.6 DECLARE CURSOR 203
第5章 強大的SELECT語句 206
5.1 基礎內容 206
5.2 選擇列表 207
5.2.1 選擇所有列 207
5.2.2 查詢結果集中的常量 209
5.2.3 選擇列表中的計算值 210
5.2.4 分配結果集列的名稱 212
5.2.5 結果集列名的分隔 213
5.2.6 使用DISTINCT消除重複項 213
5.3 FROM子句 214
5.3.1 使用FROM子句 214
5.3.2 沒有FROM子句的SELECT語句 215
5.3.3 使用表別名 216
5.3.4 使用TABLESAMPLE限制結果集 216
5.4 WHERE和HAVING篩選 218
5.4.1 WHERE和HAVING基本內容 218
5.4.2 WHERE和HAVING子句中的搜尋條件 218
5.5 GROUP BY分組 222
5.5.1 基本內容 222
5.5.2 GROUP BY和WHERE子句 223
5.5.3 HAVING子句選擇行 224
5.5.4 GROUP BY子句和ALL關鍵字 225
5.5.5 GROUP BY和空值 225
5.6 用ORDER BY對行進行排序 226
5.7 子查詢 227
5.7.1 子查詢的基本內容 227
5.7.2 子查詢的規則 228
5.7.3 在子查詢中限定列名 228
5.7.4 使用別名的子查詢 229
5.7.5 使用IN的子查詢 230
5.7.6 使用NOT IN的子查詢 230
5.7.7 UPDATE、DELETE和INSERT語句中的子查詢 231
5.7.8 使用比較運算符的子查詢 231
5.7.9 用ANY、SOME或ALL修改的比較運算符 233
5.7.10 使用EXISTS的子查詢 236
5.7.11 使用NOT EXISTS的子查詢 236
5.7.12 用於替代表達式的子查詢 237
5.8 聯接 237
5.8.1 基礎知識 237
5.8.2 使用內部聯接 239
5.8.3 使用外部聯接 239
5.8.4 使用交叉聯接 241
5.8.5 使用自聯接 241
5.8.6 聯接三個或更多表 242
5.9 日期函式 243
5.9.1 GETDATE 243
5.9.2 DatePart和DATENAME 243
5.9.3 DateAdd和DateDiff 244
5.10 數學函式 246
5.10.1 三角函式 246
5.10.2 CEILING和FLOOR 248
5.10.3 LOG和log10 248
5.10.4 POWER和EXP 249
5.10.5 RAND 249
5.11 字元串函式 250
5.11.1 substring 250
5.11.2 CHARINDEX和patindex 251
5.11.3 STR 252
5.11.4 STUFF 253
5.11.5 SOUNDEX和DIFFERENCE 253
5.11.6 ltrim 254
5.11.7 RTRIM 254
5.11.8 LEFT 255
5.11.9 RIGHT 255
5.11.10 LEN 256
5.11.11 REPLACE 256
5.12 BETWEEN 257
第6章 SQL Server Analysis Services(商業智慧型之分析服務) 259
6.1 基礎內容 259
6.1.1 什麼是商業智慧型 259
6.1.2 基於SQL Server 2005的商業智慧型之分析服務 260
6.1.3 特別說明 261
6.2 在Analysis Services項目中定義數據源視圖 261
6.2.1 創建Analysis Services項目 262
6.2.2 定義數據源 263
6.2.3 定義數據源視圖 266
6.2.4 修改表屬性 269
6.3 定義和部署多維數據集 270
6.3.1 定義多維數據集 271
6.3.2 檢查多維數據集和維度屬性 274
6.3.3 多維數據集結構用法 275
6.3.4 維度用法 277
6.3.5 分區用法 279
6.3.6 瀏覽器用法 279
6.3.7 部署Analysis Services項目 280
6.3.8 瀏覽已部署的多維數據集 281
6.4 修改屬性 282
6.4.1 修改度量相關屬性 282
6.4.2 修改維度相關屬性 285
6.4.3 修改“時間”維度 287
6.5 計算 289
6.5.1 定義計算成員 289
6.5.2 定義命名集 292
6.6 定義關鍵性能指標KPI 293
6.6.1 KPI的概念 293
6.6.2 KPI定義 294
6.7 定義和瀏覽透視 296
6.8 定義和瀏覽翻譯 298
6.9 Analysis Services的許可權管理 299
第7章 Integration Services(數據倉庫提取、轉換和載入服務) 302
7.1 創建SSIS項目和基本包 302
7.1.1 創建SSIS項目 302
7.1.2 添加平面檔案連線管理器 304
7.1.3 配置平面檔案連線管理器相關屬性 305
7.1.4 添加OLE DB連線管理器配置 306
7.1.5 在包中添加數據流任務 308
7.1.6 添加並配置平面檔案源 310
7.1.7 添加並配置Lookup Currency Key轉換 312
7.1.8 添加並配置Lookup DateKey轉換 313
7.1.9 添加和配置OLE DB目標 315
7.1.10 運行SSIS項目 316
7.2 疊代循環處理 317
7.2.1 複製項目 318
7.2.2 添加Foreach循環 319
7.2.3 Foreach循環容器配置枚舉器 320
7.2.4 將枚舉器映射為用戶定義的變數 321
7.2.5 修改平面檔案連線管理器 322
7.3 添加日誌信息 324
7.3.1 複製項目 324
7.3.2 添加和配置日誌記錄 324
7.4 錯誤流重定向 326
7.4.1 創建損壞的檔案 327
7.4.2 添加錯誤流重定向 328
7.4.3 添加平面檔案目標 331
第8章 reporting services(報表服務) 334
8.1 創建基本報表 334
8.1.1 創建項目 334
8.1.2 創建報表檔案 335
8.1.3 設定連線 337
8.1.4 報表查詢 338
8.1.5 設計欄位到數據區域 338
8.1.6 預覽報表 340
8.2 向報表中添加分組、排序和格式設定等功能 340
8.2.1 打開項目 340
8.2.2 認識表數據設計區域 341
8.2.3 新增組 341
8.2.4 新建列 343
8.2.5 數據排序 344
8.2.6 數據匯總 345
8.2.7 日期格式 345
8.2.8 貨幣格式 346
8.2.9 發布報表 347
8.3 報表參數管理 349
8.3.1 打開項目 349
8.3.2 添加參數-按日期進行篩選 350
8.3.3 添加參數-設定默認值 352
8.3.4 添加新欄位用於篩選 353
8.3.5 添加新的報表參數 354
8.3.6 使用參數表達式設定表篩選器 355
8.3.7 添加具有可用值列表的單值參數 357
8.3.8 添加具有“全選”值的多值參數 359
8.3.9 添加控制行可見性的參數 360
8.4 報表管理器操作 362
8.4.1 通過瀏覽器啟動報表管理器 362
8.4.2 創建、刪除或修改資料夾 362
8.4.3 為報表特定數據源指定已存儲的憑據 365
8.4.4 訂閱報表 366
8.4.5 創建、刪除或修改角色 369
8.4.6 上載檔案或報表 371
8.4.7 導出報表 372
8.4.8 報表執行屬性的配置 372
8.4.9 報表歷史記錄屬性的配置 373
第9章 商業智慧型(BI)實戰 374
9.1 總體概述 374
9.1.1 背景 374
9.1.2 建設目標 375
9.2 系統方案 375
9.2.1 商務智慧型(Business Intelligence)介紹 375
9.2.2 平台選型(SQL Server 2005) 376
9.3 系統架構 379
9.3.1 系統流程 379
9.3.2 邏輯架構 379
9.3.3 項目伺服器架構設計 380
9.3.4 物理架構配置 380
9.3.5 軟硬體配置清單 381
9.4 報表系統需求分析 382
9.4.1 客戶分析 382
9.4.2 業務分析 386
9.4.3 賬務分析 390
9.4.4 服務分析 392
9.4.5 專題分析 394
9.5 數據結構 397
9.5.1 客戶資料 397
9.5.2 賬務賬單 400
9.5.3 繳費 401
9.5.4 詳單結構 402
9.6 快速跟進工作 407
9.6.1 源數據到Stage資料庫階段 407
9.6.2 從Stage資料庫到數據倉庫階段 408
9.6.3 多維資料庫設計階段 409
9.6.4 設計報表 409
9.6.5 伺服器設定 409
9.6.6 快速跟進工作的報表展示 410
9.7 MDX查詢語言的設計 410
9.7.1 MDX介紹 410
9.7.2 MDX語法要素 411
9.7.3 MDX查詢語句 412
9.7.4 MDX表達式 412
9.7.5 實戰項目中MDX語句代碼具體分析 413
9.8 多維數據集設計展示 416
9.8.1 多維數據集的設計要點 416
9.8.2 多維數據集在項目中的設計展示 417
9.9 項目中ETL設計展示 419
9.10 項目報表設計工作 421
9.11 項目報表展示 422