關于我們
書單推薦
新書推薦
|
數(shù)據(jù)庫原理與應用(SQL Server 2016版本)
本書系統(tǒng)地講述數(shù)據(jù)庫原理與SQL Server 2016的功能、應用及實踐知識。 全書共分13章,主要內容包括關系數(shù)據(jù)庫知識、SQL Server 2016的安裝與配置、數(shù)據(jù)庫的創(chuàng)建與維護、數(shù)據(jù)庫表的操作與管理、數(shù)據(jù)庫表的維護、完整性控制、查詢與管理表數(shù)據(jù)、Transact-SQL編程、存儲過程和觸發(fā)器、數(shù)據(jù)庫安全管理、數(shù)據(jù)庫系統(tǒng)開發(fā)配置連接,并且詳細介紹了C#和SQL Server 2016系統(tǒng)開發(fā)及實訓等知識。 本書內容翔實、知識結構合理、語言流暢簡潔、案例豐富,適合希望學習SQL Server 2016操作的初學者閱讀,也適合作為高等學校計算機科學與技術、軟件工程、信息技術等相關專業(yè)的數(shù)據(jù)庫課程教材。
數(shù)據(jù)庫技術是計算機科學技術領域發(fā)展*快的,同時也是應用*為廣泛的技術。數(shù)據(jù)庫管理系統(tǒng)是信息技術基礎設施的重要組成部分,也是國家信息技術的核心部分。數(shù)據(jù)庫與網絡技術融合是現(xiàn)代信息技術的基石。SQL Server 2016是一個可信任、高效、智能的數(shù)據(jù)庫平臺,能滿足目前和將來的數(shù)據(jù)庫管理與使用需求。通過本教材的學習,讀者能夠掌握數(shù)據(jù)庫設計的基本理論,具有數(shù)據(jù)庫設計能力,同時經過書中的習題與實訓的練習,能使得學生在完成本書學習的同時,具有一定的數(shù)據(jù)庫開發(fā)能力。
數(shù)據(jù)庫技術是計算機科學技術發(fā)展的基礎,也是應用最廣的技術之一。數(shù)據(jù)庫管理系統(tǒng)是國家信息基礎設施的重要組成部分,是社會進步的助推器,也是提高生產力、提高生產效率、改變民生、推動國家經濟發(fā)展的重要技術工具。
Microsoft SQL Server 是一個典型的關系型數(shù)據(jù)庫管理系統(tǒng),從SQL Server 7.0發(fā)展到現(xiàn)在的SQL Server 2016,功能越來越強大。SQL Server 2016為不同用戶提供數(shù)據(jù)庫解決方案,增強用戶的生產實踐能力、提高產品的市場競爭力,同時還解放了生產力。 本書有以下特色: ? 數(shù)據(jù)庫原理與應用的充分融合。 ? 內容上理論和實踐結構安排合理,先理論后實踐。 ? 案例豐富經典。 ? 系統(tǒng)開發(fā)軟件升級到最新版本。 ? 給出了較系統(tǒng)的系統(tǒng)開發(fā)典型案例。 ? 結合學生實際學習情況給出大量實訓練習。 本書內容 第1章 數(shù)據(jù)庫基礎知識,概述數(shù)據(jù)的發(fā)展和系統(tǒng)結構,以及數(shù)據(jù)庫的組成要素、數(shù)據(jù)庫模型、數(shù)據(jù)庫的層次結構和數(shù)據(jù)庫的系統(tǒng)組成等概要知識。 第2章 關系數(shù)據(jù)庫,介紹關系數(shù)據(jù)庫的基本理論知識,包括關系數(shù)據(jù)模型、結構、操作、完整性、關系代數(shù)與范式等知識。 第3章 關系數(shù)據(jù)庫標準語言SQL,介紹SQL語言的特點、基本概念、定義和查詢處理等操作。 第4章 數(shù)據(jù)庫設計與編程,主要圍繞數(shù)據(jù)庫系統(tǒng)設計與開發(fā)的方法、步驟及編程介紹。 第5章 認識SQL Server 2016,簡要介紹SQL Server 2016的發(fā)展、功能特點、安裝與配置、體系結構、Transact-SQL、實用工具架構等。 第6章 SQL Server 2016創(chuàng)建和管理數(shù)據(jù)庫,主要介紹數(shù)據(jù)庫的創(chuàng)建、管理、維護等知識。 第7章 創(chuàng)建與管理SQL Server 2016數(shù)據(jù)庫表,主要介紹數(shù)據(jù)庫數(shù)據(jù)的類型、表的概念以及表的創(chuàng)建、操作、約束、視圖、索引等的定義與實用。 第8章 操縱數(shù)據(jù)表的數(shù)據(jù),涉及表的增、刪、改的查詢語言應用。 第9章 查詢復雜數(shù)據(jù),圍繞數(shù)據(jù)庫數(shù)據(jù)的復雜查詢介紹。 第10章 存儲過程與觸發(fā)器,介紹自定義存儲過程和觸發(fā)器的創(chuàng)建、調用、修改和刪除等操作。 第11章 數(shù)據(jù)庫安全,介紹SQL Server 2016提供的安全管理方法,包括身份驗證、賬戶、數(shù)據(jù)庫用戶管理、角色和權限等。 第12章 圖書管理系統(tǒng),介紹通過C#語言和SQL Server 2016開發(fā)一個圖書管理系統(tǒng)。 第13章 實訓,針對前面的知識給出經典實踐案例。 除鄧立國、佟強、楊姝、蔣寧外,參與本書編寫的人員還有李文、周傳生、齊振國、宋占峰、王劍輝、王興輝、蔡云鵬、于澗、逄華、楊雪華、鄭云霄、莊天寶、孫雪冬、張鑫、王寧、姚朋軍、王凱麗、趙穎、王馨、王德偉、李賽男、于闖、李宇峰、宋芷萱、何明訓、富豪等。 編者 2017年7月
鄧立國,東北大學計算機應用博士畢業(yè)。2005年開始在沈陽師范大學軟件學院、教育技術學院任教,主要研究方向:數(shù)據(jù)挖掘、知識工程、大數(shù)據(jù)處理、云計算、分布式計算等。以第1作者發(fā)表學術論文30多篇(26篇EI),主編教材 1 部,主持科研課題6項,經費10余萬元,多次獲得校級科研優(yōu)秀獎,作為九三社員提出的智慧城市提案被市政府采納,研究成果被教育廳等單位采用。
第1章 數(shù)據(jù)庫基礎知識 1
1.1 數(shù)據(jù)庫系統(tǒng)概論 1 1.1.1 數(shù)據(jù)庫系統(tǒng)的基本概念 1 1.1.2 數(shù)據(jù)庫技術的產生與特點 2 1.2 數(shù)據(jù)模型 3 1.2.1 數(shù)據(jù)模型的組成要素 4 1.2.2 數(shù)據(jù)的概念模型 4 1.2.3 數(shù)據(jù)的邏輯模型 9 1.2.4 數(shù)據(jù)的物理模型 11 1.3 數(shù)據(jù)庫系統(tǒng)模式與結構 11 1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結構 11 1.3.2 數(shù)據(jù)庫系統(tǒng)的二級映像功能 12 1.4 數(shù)據(jù)庫系統(tǒng)的組成 13 1.4.1 計算機硬件 13 1.4.2 計算機軟件 13 1.4.3 數(shù)據(jù)庫系統(tǒng)中的人員 13 1.5 習題 14 第2章 關系數(shù)據(jù)庫 16 2.1 數(shù)學中關系的概念 16 2.2 關系數(shù)據(jù)模型 18 2.2.1 關系數(shù)據(jù)結構 18 2.2.2 關系操作 19 2.2.3 關系的完整性 19 2.3 關系代數(shù) 21 2.3.1 傳統(tǒng)的集合運算 21 2.3.2 專門的關系運算 22 2.4 關系模式和范式理論 27 2.4.1 關系模式與屬性依賴 27 2.4.2 范式理論 29 2.5 習題 34 第3章 關系數(shù)據(jù)庫標準語言SQL 38 3.1 SQL語言概述 38 3.1.1 SQL的特點 38 3.1.2 SQL的基本概念 39 3.2 數(shù)據(jù)定義 40 3.2.1 模式的定義與刪除 41 3.2.2 基本表的定義、刪除與修改 42 3.2.3 索引的建立與刪除 46 3.3 數(shù)據(jù)查詢 47 3.3.1 單表查詢 47 3.3.2 多表查詢 59 3.4 數(shù)據(jù)更新 70 3.4.1 插入數(shù)據(jù) 70 3.4.2 修改數(shù)據(jù) 72 3.4.3 刪除數(shù)據(jù) 73 3.5 視圖 74 3.5.1 定義視圖 74 3.5.2 查詢視圖 77 3.5.3 更新視圖 78 3.5.4 視圖的作用 80 3.6 習題 81 第4章 數(shù)據(jù)庫設計與編程 82 4.1 數(shù)據(jù)庫設計概述 82 4.1.1 數(shù)據(jù)庫設計的特點 82 4.1.2 數(shù)據(jù)庫設計的方法 83 4.1.3 數(shù)據(jù)庫設計的步驟 84 4.1.4 數(shù)據(jù)庫設計中的各級模式 85 4.2 需求分析 86 4.3 概念設計 88 4.4 邏輯設計 90 4.5 數(shù)據(jù)庫的物理設計 93 4.6 實施與維護 95 4.7 ODBC編程 97 4.8 JDBC編程 103 4.9 習題 108 第5章 認識SQL Server 2016 109 5.1 SQL Server 2016簡介及功能特點 109 5.1.1 起源與發(fā)展 109 5.1.2 主要功能特點 110 5.2 SQL Server 2016的安裝與配置 112 5.2.1 SQL Server 2016的安裝 112 5.2.2 SQL Server 2016的體系結構 118 5.2.3 SQL Server 2016的新特性 121 5.2.4 SQL Server 2016的安全 123 5.2.5 SQL Server 2016的系統(tǒng)配置 124 5.3 SQL Server 2016的版本和管理工具 126 5.3.1 使用SQL Server Management Studio 127 5.3.2 SQL Server的配置管理器 135 5.3.3 SQL Server Profiler 136 5.3.4 SQL Server 2016數(shù)據(jù)庫引擎中的新增功能 136 5.3.5 實用工具 143 5.3.6 PowerShell 144 5.4 SQL Server 2016 數(shù)據(jù)庫存儲 145 5.4.1 數(shù)據(jù)文件和文件組 145 5.4.2 日志文件 146 5.5 SQL Server 2016 數(shù)據(jù)庫對象 146 5.5.1 服務器 146 5.5.2 數(shù)據(jù)庫 147 5.5.3 架構 148 5.5.4 對象名稱 149 5.6 Transact-SQL 149 5.6.1 Transact-SQL概述 150 5.6.2 標識符 151 5.6.3 常量和變量 152 5.6.4 運算符 155 5.6.5 表達式 159 5.6.6 控制流語句 161 5.6.7 常用函數(shù) 166 5.7 習題 181 第6章 SQL Server 2016創(chuàng)建和管理數(shù)據(jù)庫 182 6.1 SQL Server Management Studio 182 6.1.1 打開SSMS并連接到數(shù)據(jù)庫引擎 182 6.1.2 顯示“已注冊的服務器” 184 6.1.3 注冊本地服務器 185 6.1.4 啟動數(shù)據(jù)庫引擎 186 6.1.5 連接對象資源管理器 187 6.1.6 使用 SSMS編寫代碼 187 6.2 創(chuàng)建數(shù)據(jù)庫 189 6.2.1 數(shù)據(jù)庫對象 190 6.2.2 數(shù)據(jù)庫對象標識符 190 6.2.3 數(shù)據(jù)庫對象結構 191 6.2.4 使用Management Studio創(chuàng)建數(shù)據(jù)庫 191 6.3 文件組及其創(chuàng)建與使用 196 6.3.1 文件組 196 6.3.2 創(chuàng)建文件組 197 6.3.3 使用文件組 199 6.4 管理數(shù)據(jù)庫 200 6.4.1 查看數(shù)據(jù)庫 200 6.4.2 修改數(shù)據(jù)庫 202 6.4.3 刪除數(shù)據(jù)庫 203 6.5 擴大和收縮數(shù)據(jù)庫 204 6.5.1 擴大數(shù)據(jù)庫 204 6.5.2 收縮數(shù)據(jù)庫 205 6.6 導入/導出數(shù)據(jù) 206 6.7 備份與恢復數(shù)據(jù)庫 209 6.7.1 備份類型 209 6.7.2 恢復模式 210 6.7.3 備份數(shù)據(jù)庫 210 6.8 生成SQL腳本 212 6.8.1 將數(shù)據(jù)表生成SQL腳本 212 6.8.2 將數(shù)據(jù)庫生成SQL腳本 213 6.9 習題 214 第7章 創(chuàng)建與管理SQL Server 2016 數(shù)據(jù)庫表 216 7.1 數(shù)據(jù)類型 216 7.2 表的概念 221 7.3 創(chuàng)建表 222 7.3.1 使用圖形界面創(chuàng)建數(shù)據(jù)表 222 7.3.2 使用SQL的CREATE TABLE命令創(chuàng)建數(shù)據(jù)表 223 7.4 操作表 225 7.4.1 表結構的修改 225 7.4.2 操作表數(shù)據(jù) 229 7.5 表約束 235 7.5.1 創(chuàng)建PRIMARY KEY約束 236 7.5.2 創(chuàng)建UNIQUE約束 239 7.5.3 創(chuàng)建CHECK約束 241 7.5.4 比較列約束和表約束 243 7.6 關系圖 244 7.6.1 創(chuàng)建新的數(shù)據(jù)庫關系圖 244 7.6.2 關系圖的使用 246 7.7 視圖 249 7.7.1 視圖概念 249 7.7.2 創(chuàng)建視圖 250 7.7.3 操作視圖 252 7.8 索引 255 7.8.1 數(shù)據(jù)表的存儲結構 255 7.8.2 索引類型 256 7.8.3 創(chuàng)建表索引 257 7.8.4 管理索引 259 7.9 習題 261 第8章 操縱數(shù)據(jù)表的數(shù)據(jù) 262 8.1 標準查詢 262 8.1.1 SELECT語句的語法格式 262 8.1.2 獲取若干列 263 8.1.3 獲取所有列 264 8.1.4 使用DISTINCT關鍵字 265 8.1.5 使用TOP關鍵字 266 8.2 使用WHERE子句 266 8.2.1 使用比較運算符 266 8.2.2 使用邏輯運算符 267 8.2.3 使用范圍運算符 268 8.2.4 使用IN條件 269 8.2.5 使用LIKE條件 270 8.2.6 使用IS NULL條件 271 8.3 格式化結果集 272 8.3.1 排序結果集 272 8.3.2 分組結果集 273 8.3.3 統(tǒng)計結果集 274 8.4 插入數(shù)據(jù) 275 8.4.1 使用INSERT語句插入數(shù)據(jù) 275 8.4.2 使用INSERT...SELECT語句插入數(shù)據(jù) 276 8.4.3 使用SELECT...INTO語句創(chuàng)建表 277 8.5 更新數(shù)據(jù) 278 8.5.1 修改表數(shù)據(jù) 279 8.5.2 根據(jù)其他表更新數(shù)據(jù) 279 8.5.3 使用TOP表達式修改數(shù)據(jù) 280 8.6 刪除數(shù)據(jù) 281 8.6.1 使用DELETE語句刪除數(shù)據(jù) 281 8.6.2 使用TRUNCATE TABLE語句 281 8.6.3 刪除基于其他表中的數(shù)據(jù)行 282 8.7 習題 283 第9章 查詢復雜數(shù)據(jù) 284 9.1 多表連接 284 9.1.1 基本連接操作 284 9.1.2 使用別名 285 9.1.3 多表連接查詢 286 9.1.4 含有JOIN關鍵字的連接查詢 286 9.2 內連接 287 9.2.1 等值連接查詢 287 9.2.2 非等值連接查詢 288 9.2.3 自然連接查詢 289 9.3 外連接 289 9.3.1 左外連接查詢 290 9.3.2 右外連接查詢 291 9.3.3 完全外連接查詢 291 9.4 交叉連接 292 9.4.1 不使用WHERE子句的交叉連接查詢 292 9.4.2 使用WHERE子句的交叉連接查詢 293 9.5 自連接 293 9.6 聯(lián)合查詢 294 9.7 子查詢 294 9.7.1 使用IN關鍵字 294 9.7.2 使用EXISTS關鍵字 295 9.7.3 使用比較運算符 296 9.7.4 返回單值的子查詢 296 9.7.5 使用嵌套子查詢 297 9.8 習題 297 第10章 存儲過程與觸發(fā)器 299 10.1 存儲過程 299 10.1.1 使用存儲過程 299 10.1.2 管理存儲過程 305 10.1.3 處理錯誤信息 306 10.1.4 優(yōu)化存儲過程 309 10.2 觸發(fā)器 310 10.2.1 了解觸發(fā)器 310 10.2.2 創(chuàng)建觸發(fā)器 313 10.2.3 管理觸發(fā)器 317 10.3 習題 319 第11章 數(shù)據(jù)庫安全 320 11.1 數(shù)據(jù)庫安全威脅 320 11.2 安全策略 322 11.3 SQL Server 2016安全機制 324 11.3.1 登錄名管理 325 11.3.2 數(shù)據(jù)庫用戶管理 328 11.3.3 數(shù)據(jù)庫角色 330 11.4 權限管理 335 11.4.1 權限類型 336 11.4.2 常見對象的權限 337 11.4.3 授予權限 337 11.4.4 收回和否認權限 338 11.5 習題 339 第12章 圖書管理系統(tǒng) 341 12.1 系統(tǒng)概述 341 12.1.1 需求分析 341 12.1.2 功能分析 342 12.2 數(shù)據(jù)庫設計 343 12.2.1 設計數(shù)據(jù)表 343 12.2.2 設計存儲過程 344 12.3 創(chuàng)建圖書管理系統(tǒng)項目 345 12.3.1 搭建項目 345 12.3.2 應用引用 346 12.3.3 提取公共模塊 347 12.4 管理員登錄 370 12.5 主界面功能模塊實現(xiàn) 375 12.5.1 主窗體設計與代碼實現(xiàn) 376 12.5.2 系統(tǒng)管理功能模塊 415 12.5.3 圖書管理 423 12.5.4 類型管理 435 第13章 實訓 442 13.1 SQL Server 2016的安裝與配置 442 13.2 創(chuàng)建管理SQL Server 2016數(shù)據(jù)庫和表 443 13.3 表的基本操作 448 13.4 數(shù)據(jù)查詢 449 13.5 Transact-SQL 453 13.6 視圖 454 13.7 索引操作 456 13.8 存儲過程與觸發(fā)器 457 13.9 數(shù)據(jù)完整性 459 13.10 函數(shù)的應用 461 13.11 程序設計 463 13.12 數(shù)據(jù)庫備份與還原 464 13.13 數(shù)據(jù)庫導入/導出 465 13.14 SQL Server 2016數(shù)據(jù)庫的安全 466 參考文獻 468
第 1 章
? 數(shù)據(jù)庫基礎知識 ? 數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術,也是計算機科學的重要分支。本章主要介紹數(shù)據(jù)庫的基礎知識、數(shù)據(jù)庫系統(tǒng)的組成等內容。 1.1 數(shù)據(jù)庫系統(tǒng)概論 1.1.1 數(shù)據(jù)庫系統(tǒng)的基本概念 數(shù)據(jù)庫系統(tǒng)主要涉及數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)4個基本概念。 數(shù)據(jù)(Data)指能輸入計算機并能被計算機程序處理的所有符號,是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)的種類很多,如數(shù)字、文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等都屬于數(shù)據(jù)。必須賦予一定的含義才能使數(shù)據(jù)具有意義,這種含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與語義不可分。例如,63是一個數(shù)據(jù),它可以代表一個學生的某科成績、某個人的年齡、某系的學生人數(shù)等,只有把63賦予語義后,才能表示確定的意義。 數(shù)據(jù)庫(DataBase,DB)是指在計算機存儲設備上建立起來的用于存儲數(shù)據(jù)的倉庫,其中存放的數(shù)據(jù)是可以長期保留、有組織、可共享的數(shù)據(jù)集合。也就是按照一定的數(shù)學模型組織、描述和存儲數(shù)據(jù),使得數(shù)據(jù)庫中的數(shù)據(jù)具有盡可能小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性的特點,并可在一定范圍內共享給多個用戶。 數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS)是位于用戶和操作系統(tǒng)之間的數(shù)據(jù)管理軟件。用它實現(xiàn)數(shù)據(jù)定義、組織、存儲、管理、操縱以及數(shù)據(jù)庫建立、維護、事務管理、運行管理等功能。 數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS)是指帶有數(shù)據(jù)庫并利用數(shù)據(jù)庫技術對計算機中的數(shù)據(jù)進行管理的計算機系統(tǒng)。它可以實現(xiàn)有組織地、動態(tài)地存儲大量相關數(shù)據(jù),并提供數(shù)據(jù)處理和信息資源等共享服務。數(shù)據(jù)庫系統(tǒng)一般由滿足數(shù)據(jù)庫系統(tǒng)要求的計算機硬件和包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應用開發(fā)系統(tǒng)在內的計算機軟件以及數(shù)據(jù)庫系統(tǒng)中的人員組成,如圖1-1所示。 在不引起混淆的情況下,數(shù)據(jù)庫系統(tǒng)也簡稱數(shù)據(jù)庫。 圖1-1 數(shù)據(jù)庫系統(tǒng) 1.1.2 數(shù)據(jù)庫技術的產生與特點 在數(shù)據(jù)庫技術產生之前,對數(shù)據(jù)的管理經歷了人工管理和文件系統(tǒng)兩個階段。 20世紀50年代中期以前屬于人工管理數(shù)據(jù)的階段。當時,計算機主要用于科學計算,數(shù)據(jù)采用批處理的方式,計算機硬件中沒有磁盤外部存儲設備,軟件沒有操作系統(tǒng),因此只能采用人工的方式對數(shù)據(jù)進行管理。人工管理數(shù)據(jù)的特點:數(shù)據(jù)不保存、應用程序管理數(shù)據(jù)、數(shù)據(jù)不能共享、數(shù)據(jù)不具有獨立性。人工管理階段應用程序與數(shù)據(jù)之間的對應關系如圖1-2所示。 圖1-2 人工管理階段應用程序與數(shù)據(jù)之間的對應關系 20世紀50年代后期到60年代中期屬于文件系統(tǒng)階段。此時,計算機硬件中已經配置了磁盤、磁鼓等外部存儲設備,軟件操作系統(tǒng)中已經具備專門進行數(shù)據(jù)管理功能的系統(tǒng),即文件系統(tǒng)。文件系統(tǒng)的特點為:數(shù)據(jù)可以長期保留、有文件系統(tǒng)管理數(shù)據(jù)、數(shù)據(jù)的共享性和獨立性差、冗余度大。文件系統(tǒng)應用程序與數(shù)據(jù)之間的對應關系如圖1-3所示。 ……
你還可能感興趣
我要評論
|