本書系統(tǒng)地講述數(shù)據(jù)庫原理與SQL Server 2016的功能、應(yīng)用及實(shí)踐知識。 全書共分13章,主要內(nèi)容包括關(guān)系數(shù)據(jù)庫知識、SQL Server 2016的安裝與配置、數(shù)據(jù)庫的創(chuàng)建與維護(hù)、數(shù)據(jù)庫表的操作與管理、數(shù)據(jù)庫表的維護(hù)、完整性控制、查詢與管理表數(shù)據(jù)、Transact-SQL編程、存儲過程和觸發(fā)器、數(shù)據(jù)庫安全管理、數(shù)據(jù)庫系統(tǒng)開發(fā)配置連接,并且詳細(xì)介紹了C#和SQL Server 2016系統(tǒng)開發(fā)及實(shí)訓(xùn)等知識。 本書內(nèi)容翔實(shí)、知識結(jié)構(gòu)合理、語言流暢簡潔、案例豐富,適合希望學(xué)習(xí)SQL Server 2016操作的初學(xué)者閱讀,也適合作為高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、信息技術(shù)等相關(guān)專業(yè)的數(shù)據(jù)庫課程教材。
數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域發(fā)展*快的,同時也是應(yīng)用*為廣泛的技術(shù)。數(shù)據(jù)庫管理系統(tǒng)是信息技術(shù)基礎(chǔ)設(shè)施的重要組成部分,也是國家信息技術(shù)的核心部分。數(shù)據(jù)庫與網(wǎng)絡(luò)技術(shù)融合是現(xiàn)代信息技術(shù)的基石。SQL Server 2016是一個可信任、高效、智能的數(shù)據(jù)庫平臺,能滿足目前和將來的數(shù)據(jù)庫管理與使用需求。通過本教材的學(xué)習(xí),讀者能夠掌握數(shù)據(jù)庫設(shè)計(jì)的基本理論,具有數(shù)據(jù)庫設(shè)計(jì)能力,同時經(jīng)過書中的習(xí)題與實(shí)訓(xùn)的練習(xí),能使得學(xué)生在完成本書學(xué)習(xí)的同時,具有一定的數(shù)據(jù)庫開發(fā)能力。
數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)科學(xué)技術(shù)發(fā)展的基礎(chǔ),也是應(yīng)用最廣的技術(shù)之一。數(shù)據(jù)庫管理系統(tǒng)是國家信息基礎(chǔ)設(shè)施的重要組成部分,是社會進(jìn)步的助推器,也是提高生產(chǎn)力、提高生產(chǎn)效率、改變民生、推動國家經(jīng)濟(jì)發(fā)展的重要技術(shù)工具。
Microsoft SQL Server 是一個典型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),從SQL Server 7.0發(fā)展到現(xiàn)在的SQL Server 2016,功能越來越強(qiáng)大。SQL Server 2016為不同用戶提供數(shù)據(jù)庫解決方案,增強(qiáng)用戶的生產(chǎn)實(shí)踐能力、提高產(chǎn)品的市場競爭力,同時還解放了生產(chǎn)力。
本書有以下特色:
? 數(shù)據(jù)庫原理與應(yīng)用的充分融合。
? 內(nèi)容上理論和實(shí)踐結(jié)構(gòu)安排合理,先理論后實(shí)踐。
? 案例豐富經(jīng)典。
? 系統(tǒng)開發(fā)軟件升級到最新版本。
? 給出了較系統(tǒng)的系統(tǒng)開發(fā)典型案例。
? 結(jié)合學(xué)生實(shí)際學(xué)習(xí)情況給出大量實(shí)訓(xùn)練習(xí)。
本書內(nèi)容
第1章 數(shù)據(jù)庫基礎(chǔ)知識,概述數(shù)據(jù)的發(fā)展和系統(tǒng)結(jié)構(gòu),以及數(shù)據(jù)庫的組成要素、數(shù)據(jù)庫模型、數(shù)據(jù)庫的層次結(jié)構(gòu)和數(shù)據(jù)庫的系統(tǒng)組成等概要知識。
第2章 關(guān)系數(shù)據(jù)庫,介紹關(guān)系數(shù)據(jù)庫的基本理論知識,包括關(guān)系數(shù)據(jù)模型、結(jié)構(gòu)、操作、完整性、關(guān)系代數(shù)與范式等知識。
第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL,介紹SQL語言的特點(diǎn)、基本概念、定義和查詢處理等操作。
第4章 數(shù)據(jù)庫設(shè)計(jì)與編程,主要圍繞數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā)的方法、步驟及編程介紹。
第5章 認(rèn)識SQL Server 2016,簡要介紹SQL Server 2016的發(fā)展、功能特點(diǎn)、安裝與配置、體系結(jié)構(gòu)、Transact-SQL、實(shí)用工具架構(gòu)等。
第6章 SQL Server 2016創(chuàng)建和管理數(shù)據(jù)庫,主要介紹數(shù)據(jù)庫的創(chuàng)建、管理、維護(hù)等知識。
第7章 創(chuàng)建與管理SQL Server 2016數(shù)據(jù)庫表,主要介紹數(shù)據(jù)庫數(shù)據(jù)的類型、表的概念以及表的創(chuàng)建、操作、約束、視圖、索引等的定義與實(shí)用。
第8章 操縱數(shù)據(jù)表的數(shù)據(jù),涉及表的增、刪、改的查詢語言應(yīng)用。
第9章 查詢復(fù)雜數(shù)據(jù),圍繞數(shù)據(jù)庫數(shù)據(jù)的復(fù)雜查詢介紹。
第10章 存儲過程與觸發(fā)器,介紹自定義存儲過程和觸發(fā)器的創(chuàng)建、調(diào)用、修改和刪除等操作。
第11章 數(shù)據(jù)庫安全,介紹SQL Server 2016提供的安全管理方法,包括身份驗(yàn)證、賬戶、數(shù)據(jù)庫用戶管理、角色和權(quán)限等。
第12章 圖書管理系統(tǒng),介紹通過C#語言和SQL Server 2016開發(fā)一個圖書管理系統(tǒng)。
第13章 實(shí)訓(xùn),針對前面的知識給出經(jīng)典實(shí)踐案例。
除鄧立國、佟強(qiáng)、楊姝、蔣寧外,參與本書編寫的人員還有李文、周傳生、齊振國、宋占峰、王劍輝、王興輝、蔡云鵬、于澗、逄華、楊雪華、鄭云霄、莊天寶、孫雪冬、張鑫、王寧、姚朋軍、王凱麗、趙穎、王馨、王德偉、李賽男、于闖、李宇峰、宋芷萱、何明訓(xùn)、富豪等。
編者
2017年7月
鄧立國,東北大學(xué)計(jì)算機(jī)應(yīng)用博士畢業(yè)。2005年開始在沈陽師范大學(xué)軟件學(xué)院、教育技術(shù)學(xué)院任教,主要研究方向:數(shù)據(jù)挖掘、知識工程、大數(shù)據(jù)處理、云計(jì)算、分布式計(jì)算等。以第1作者發(fā)表學(xué)術(shù)論文30多篇(26篇EI),主編教材 1 部,主持科研課題6項(xiàng),經(jīng)費(fèi)10余萬元,多次獲得校級科研優(yōu)秀獎,作為九三社員提出的智慧城市提案被市政府采納,研究成果被教育廳等單位采用。
第 1 章
? 數(shù)據(jù)庫基礎(chǔ)知識 ?
數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),也是計(jì)算機(jī)科學(xué)的重要分支。本章主要介紹數(shù)據(jù)庫的基礎(chǔ)知識、數(shù)據(jù)庫系統(tǒng)的組成等內(nèi)容。
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)指能輸入計(jì)算機(jī)并能被計(jì)算機(jī)程序處理的所有符號,是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)的種類很多,如數(shù)字、文本、圖形、圖像、音頻、視頻、學(xué)生的檔案記錄、貨物的運(yùn)輸情況等都屬于數(shù)據(jù)。必須賦予一定的含義才能使數(shù)據(jù)具有意義,這種含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與語義不可分。例如,63是一個數(shù)據(jù),它可以代表一個學(xué)生的某科成績、某個人的年齡、某系的學(xué)生人數(shù)等,只有把63賦予語義后,才能表示確定的意義。
數(shù)據(jù)庫(DataBase,DB)是指在計(jì)算機(jī)存儲設(shè)備上建立起來的用于存儲數(shù)據(jù)的倉庫,其中存放的數(shù)據(jù)是可以長期保留、有組織、可共享的數(shù)據(jù)集合。也就是按照一定的數(shù)學(xué)模型組織、描述和存儲數(shù)據(jù),使得數(shù)據(jù)庫中的數(shù)據(jù)具有盡可能小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性的特點(diǎn),并可在一定范圍內(nèi)共享給多個用戶。
數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS)是位于用戶和操作系統(tǒng)之間的數(shù)據(jù)管理軟件。用它實(shí)現(xiàn)數(shù)據(jù)定義、組織、存儲、管理、操縱以及數(shù)據(jù)庫建立、維護(hù)、事務(wù)管理、運(yùn)行管理等功能。
數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS)是指帶有數(shù)據(jù)庫并利用數(shù)據(jù)庫技術(shù)對計(jì)算機(jī)中的數(shù)據(jù)進(jìn)行管理的計(jì)算機(jī)系統(tǒng)。它可以實(shí)現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),并提供數(shù)據(jù)處理和信息資源等共享服務(wù)。數(shù)據(jù)庫系統(tǒng)一般由滿足數(shù)據(jù)庫系統(tǒng)要求的計(jì)算機(jī)硬件和包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應(yīng)用開發(fā)系統(tǒng)在內(nèi)的計(jì)算機(jī)軟件以及數(shù)據(jù)庫系統(tǒng)中的人員組成,如圖1-1所示。
在不引起混淆的情況下,數(shù)據(jù)庫系統(tǒng)也簡稱數(shù)據(jù)庫。
圖1-1 數(shù)據(jù)庫系統(tǒng)
1.1.2 數(shù)據(jù)庫技術(shù)的產(chǎn)生與特點(diǎn)
在數(shù)據(jù)庫技術(shù)產(chǎn)生之前,對數(shù)據(jù)的管理經(jīng)歷了人工管理和文件系統(tǒng)兩個階段。
20世紀(jì)50年代中期以前屬于人工管理數(shù)據(jù)的階段。當(dāng)時,計(jì)算機(jī)主要用于科學(xué)計(jì)算,數(shù)據(jù)采用批處理的方式,計(jì)算機(jī)硬件中沒有磁盤外部存儲設(shè)備,軟件沒有操作系統(tǒng),因此只能采用人工的方式對數(shù)據(jù)進(jìn)行管理。人工管理數(shù)據(jù)的特點(diǎn):數(shù)據(jù)不保存、應(yīng)用程序管理數(shù)據(jù)、數(shù)據(jù)不能共享、數(shù)據(jù)不具有獨(dú)立性。人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系如圖1-2所示。
圖1-2 人工管理階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系
20世紀(jì)50年代后期到60年代中期屬于文件系統(tǒng)階段。此時,計(jì)算機(jī)硬件中已經(jīng)配置了磁盤、磁鼓等外部存儲設(shè)備,軟件操作系統(tǒng)中已經(jīng)具備專門進(jìn)行數(shù)據(jù)管理功能的系統(tǒng),即文件系統(tǒng)。文件系統(tǒng)的特點(diǎn)為:數(shù)據(jù)可以長期保留、有文件系統(tǒng)管理數(shù)據(jù)、數(shù)據(jù)的共享性和獨(dú)立性差、冗余度大。文件系統(tǒng)應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系如圖1-3所示。
……