编辑推荐

《SQLServer2016数据库入门与应用》中大量内容来自真实的程序范例,使读者更容易掌握SQLServer数据库的开发。《SQLServer2016数据库入门与应用》难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。

知识点全

《SQLServer2016数据库入门与应用》紧密围绕SQLServer数据库展开讲解,具有很强的逻辑性和系统性。

实例丰富

书中各实例均经过作者的精心设计和挑选,它们都是根据作者在实际开发中的经验总结而来,涵盖了实际开发中遇到的各种问题。

应用广泛

对于精选案例,给出了详细步骤,结构清晰简明,分析深入浅出,而且有些程序能够直接在项目中使用,避免读者进行二次开发。

基于理论,注重实践

在讲述过程中,不仅介绍理论知识,而且在合适位置安排综合应用实例,或者小型应用程序,将理论应用到实践中,来增强读者的实际应用能力,巩固学到的知识。

内容简介

  《SQLServer2016数据库入门与应用》共分为14章,第1~13章的主要内容包括:SQLServer2016发展史、SQLServer2016新特性、SQLServer2016如何安装、sqlcmd工具的使用、系统数据库、自定义数据库、数据库的组成、创建和修改数据库、数据库快照、数据表的创建和修改、管理数据表、操作表数据、SELECT语法、简单查询、条件查询、模糊查询、分组查询、排序查询、子查询、多表连接、内连接、外连接、交叉连接、联合查询、T-SQL语言分类、变量、常量、运算符、表达式、流程控制语句、系统函数、自定义函数、SQL注释、XML数据类型、XML查询模式、XML索引、XMLDML操作、视图、游标、存储过程、触发器、索引、事务、锁定、安全机制分类、账户管理、角色管理、权限管理、数据库备份、数据库恢复、压缩数据库、附加数据库等,第14章将各章介绍的主要知识点结合起来,开发一个医院预约挂号系统。
  《SQLServer2016数据库入门与应用》可以作为高等院校计算机相关专业SQLServer数据库设计课程的教材,也可以作为SQLServer设计的培训教材,还可以作为自学者的参考书。

作者简介

李艳丽,具有多年.NET项目开发经验,深入掌握.NET框架技术,熟练开发ASP.NET与WinForm项目,精通C#、ASP、C++、VB语言,熟练使用MTS、COM+、WebService分布式架构。

靳智良,知名互联网社区架构师,一个拥有5年软件工程经验和深厚理论基础的软件工程专家,善于解剖和分析问题,使用生动形象的比喻,能将复杂的、难于理解的问题与知识简单化讲解。致力于研究、优化Web2.0系统架构技术,对LAMP体系架构有着丰富的经验,挖掘LAMP架构的性能潜力,探索新型高效能的Web2.0站点系统支撑平台以及系统集群。

目录

第1章数据库和SQLServer2016

1.1 什么是数据库2

1.1.1 数据库概述2

1.1.2 数据库模型2

1.2 了解关系型数据库3

1.2.1 数据库组成3

1.2.2 常见术语4

1.2.3 完整性规则5

1.3 范式理论和E-R模型5

1.3.1 范式理论6

1.3.2 E-R模型7

1.4 SQLServer2016概述8

1.4.1 SQLServer2016发展史9

1.4.2 SQLServer2016的功能9

1.5 安装和运行SQLServer201612

1.5.1 安装SQLServer201612

1.5.2 运行SQLServer201618

1.6 验证SQLServer2016安装19

1.6.1 查看服务19

1.6.2 注册服务器20

1.6.3 配置身份验证模式21

1.7 实践案例:使用sqlcmd工具执行SQL查询22

1.8 练习题23

第2章管理SQL数据库

2.1 SQLServer2016数据库概述26

2.1.1 SQL系统数据库26

2.1.2 文件和文件组27

2.1.3 数据库状态和文件状态28

2.2 数据库的组成29

2.2.1 表29

2.2.2 视图29

2.2.3 存储过程30

2.2.4 触发器30

2.2.5 其他组成部分30

2.3 创建数据库31

2.3.1 图形界面创建31

2.3.2 T-SQL语句创建33

2.4 管理数据库34

2.4.1 查看数据库信息34

2.4.2 修改数据库名称36

2.4.3 修改数据库大小37

2.4.4 删除数据库38

2.4.5 收缩数据库39

2.5 数据库快照40

2.5.1 快照概述40

2.5.2 创建快照40

2.5.3 数据库快照的限制41

2.6 实践案例:创建超市会员管理系统数据库41

2.7 练习题43

第3章管理SQL数据表

3.1 表概述46

3.1.1 什么是表46

3.1.2 系统表和临时表47

3.1.3 表的数据类型48

3.1.4 表结构设计52

3.2 图形界面创建表52

3.2.1 创建表53

3.2.2 修改表结构54

3.2.3 删除表55

3.3 命令语句创建表56

3.3.1 CREATETABLE语句56

3.3.2 ALTERTABLE语句59

3.3.3 为表创建约束60

3.3.4 DROPTABLE语句64

3.4 操作表数据64

3.4.1 添加数据64

3.4.2 修改数据67

3.4.3 删除数据68

3.4.4 实践案例:界面方式操作数据70

3.5 实践案例:完善超市管理系统的商品数据表71

3.6 练习题74

第4章SQL数据简单查询

4.1 简单查询78

4.1.1 SELECT语句78

4.1.2 查询全部行和列78

4.1.3 查询部分列79

4.1.4 为列指定别名80

4.1.5 查询前几行80

4.1.6 查询不重复数据81

4.1.7 实践案例:查询数据时使用计算列82

4.2 条件查询83

4.2.1 比较条件83

4.2.2 逻辑条件84

4.3 模糊查询85

4.3.1 LIKE查询85

4.3.2 ISNULL查询86

4.3.3 BETWEEN查询87

4.3.4 IN查询88

4.4 分组查询89

4.4.1 单列分组查询89

4.4.2 多列分组查询91

4.4.3 HAVING条件92

4.4.4 条件比较排序93

4.5 实践案例:查询用户信息95

4.6 练习题96

第5章SQL高级查询

...

第6章T-SQL语言编程基础

...

第7章XML查询技术

...

第8章视图和游标

...

第9章存储过程

...

第10章触发器

...

第11章SQLServer高级特性

...

第12章数据库安全机制

...

第13章数据库的备份和恢复

...

第14章医院预约挂号系统数据库设计

...

练习题答案

精彩书摘

第2章管理SQL数据库

数据库系统是一个实际可运行的存储、维护和为应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据库管理员组成,其软件主要包括操作系统、各种语言、实用程序以及数据库管理系统。在一个数据库服务器中,应用程序数据存储的最基本单元就是数据库。一般来说,每一个应用程序都使用一个数据库,不同的应用程序使用不同的数据库。

数据库由数据库管理系统统一管理,数据的插入、修改以及查询等操作都要通过数据库管理系统进行。数据库管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人使用。本章详细介绍如何管理SQLServer2016数据库,如数据库的创建、数据库名称的修改、数据库的删除、数据库的组成部分等内容。在介绍这些内容前,首先需要了解SQLServer2016的系统数据库。

本章学习要点

了解SQLServer2016的系统数据库

熟悉文件和文件组的基本知识

掌握数据库的主要组成部分

掌握如何创建和删除数据库

掌握如何修改数据库的大小

掌握如何查看数据库的基本信息

熟悉收缩数据库的常见方法

了解数据库快照的基本知识

掌握如何创建数据库快照

熟悉数据库快照的一些限制

2.1 SQLServer2016数据库概述

数据库包含系统运行所需要的全部数据,是数据库管理系统的核心对象。SQLServer2016中的数据库主要分为两种,一种是系统数据库,另一种是用户数据库。

系统数据库是由系统自己创建和维护,用于提供系统所需数据的数据库;用户数据库是由用户创建,保存用户应用程序数据的数据库。

2.1.1 SQL系统数据库

当开发者首次安装SQLServer2016后,打开SQLServer2016界面,会发现已经有几个数据库安装并显示出来,这几个数据库就是系统数据库。系统数据库是用于协助SQLServer2016系统共同管理操作的数据库,是SQLServer2016运行的基础。

默认情况下,SQLServer2016会创建master、model、msdb和tempdb这4个数据库。

1. master数据库

master数据库是SQLServer2016中最重要的数据库。在master数据库中保存了数据库服务器实例下的所有数据库信息,如果该数据库被损坏,SQLServer将无法正常工作。

master数据库作为SQLServer2016的核心数据库,开发者一定要对该数据库中的数据进行定期备份,尽量确保备份master数据库是备份策略的一部分。

master数据库中主要包含以下重要信息。

所有的用户登录名及用户所属的角色。

所有系统配置设置(如数据排序信息、安全实现、默认语言等)。

服务器中数据库的名称以及相关信息。

数据库的存储路径。

SQLServer的初始化信息。

2. model数据库

在创建数据库时,总是以一套预定义的标准为模型。例如,开发者希望所有的数据库都具有某些特性的信息,或者具有确定的初始值大小等,那么就可以把这些信息存放在model数据库中。以model数据库作为其他数据库的模板数据库,如果想要使所有的数据库都有一个特定的表,可以把该表放到model数据库。

model数据库是tempdb数据库的基础,对model数据库的任何操作和更改都将反映在tempdb数据库中。因此,开发者在对model数据库进行操作时,一定要多加考虑。

3. msdb数据库

msdb数据库是SQLServer2016中另一个十分重要的数据,该数据库用于SQLServer代理计划警告和作业。SQLServer代理是SQLServer中的一个Windows服务,用以运行任何已创建的计划作业(例如包含备份处理的作业)。作业是SQLServer中定义的自动运行的一系列操作,不需要任何手工干预来启动。

既然有了tempdb以及model数据库,就不应直接调用msdb数据库,也没有必要调用。许多进程使用msdb数据库,例如当创建备份或执行还原时,将用msdb来存储这些任务的信息。

开发者不能在msdb数据库中执行以下操作。

删除数据库。

从数据库中删除guest用户。

删除主文件组、主文件数据或日志文件。

重命名数据库或主文件组。

将数据库设置为OFFLINE。

将主文件组设置为READ_ONLY。

更改排序规则,默认排序规则为服务器排序规则。

4. tempdb数据库

tempdb数据库是一个临时数据库,该数据库主要用来存储用户的一些临时数据信息。它仅仅存在于SQLServer会话期间,一旦会话结束,那么将关闭tempdb数据库,并且该数据库丢失。当下次打开SQLServer时,将会建立一个全新的、空的tempdb数据库。

tempdb数据库用作系统的临时存储空间,主要存储用户建立的临时表和临时存储过程及存储用户定义的全局变量值。

5. 系统数据库的有关内容

开发者在使用数据库的时候要记住一点,SQLServer2016的设计是可以在必要时自动扩展数据库的。这表示master、model、tempdb、msdb和其他关键的数据库将不会在正常的情况下缺少空间。

例如,表2-1针对上述系统数据库在SQLServer2016中的主文件、逻辑名称、物理名称和文件增长比例进行说明。

前言/序言

前言

MicrosoftSQLServer2016是微软公司发布的新一代数据平台产品,全面支持云技术与平台,并且能够快速构建相应的解决方案,实现私有云与公有云之间数据的扩展与应用的迁移。全新一代的SQLServer2016为用户带来更好的体验,独特的产品优势定能使用户获益良多。

为了使广大学生和工作者能真正掌握SQLServer2016技术,作者根据多年的程序开发和SQLServer授课经验,精心编写了《SQL Server2016数据库入门与应用》。《SQL Server2016数据库入门与应用》并不单纯从知识角度来讲解SQLServer数据库设计,而是从实践和解决开发问题的角度来介绍SQLServer数据库,在编写的过程中,注重把SQLServer数据库的重点、难点、要点和编程中常见的问题融合在一起进行讲解。

SQL Server2016数据库入门与应用》编写思路清晰、内容翔实、案例实用,详细介绍使用SQLServer数据库开发设计的方方面面。《SQL Server2016数据库入门与应用》可作为计算机软件以及其他计算机相关专业的教材,也可以作为SQLServer数据库编程人员的参考书。

SQL Server2016数据库入门与应用》内容

SQL Server2016数据库入门与应用》共分14章,主要内容如下。

第1章数据库和SQLServer2016。本章从数据库的概念开始,简要介绍关系数据库及其范式。然后介绍SQLServer的发展史,并讲解SQLServer2016的新特性和安装过程以及安装后的简单应用,最后介绍sqlcmd工具的使用。

第2章管理SQL数据库。本章详细介绍如何管理SQLServer2016数据库,如数据库的创建、数据库名称的修改、数据库的删除、数据库的组成部分等内容。在介绍这些内容前,首先需要了解SQLServer2016的系统数据库。

第3章管理SQL数据表。本章详细介绍SQL数据表的管理,主要介绍表的概念、特点,如何创建、删除、修改表结构,以及如何为表添加各种约束、键等内容。

第4章SQL数据简单查询。本章介绍如何通过SELECT语句针对数据表的数据简单查询。

第5章SQL高级查询。本章为读者介绍SQLServer的高级查询语句,首先从子查询开始介绍,然后再介绍如何实现多表连接查询、内连接查询、外连接查询、交叉连接查询等内容。第6章T-SQL语言编程基础。本章详细介绍T-SQL语言编程基础的有关内容,首先从T-SQL的特点、语言分类开始介绍,接着依次介绍常量、变量、运算符、表达式、流程控制语句、内置函数、自定义函数、SQL注释等内容,最后以一个综合的实践案例结束本章。

第7章XML查询技术。本章详细介绍SQLServer2016中如何通过XML技术查询数据,主要内容包含XML数据类型、XML类型方法、XQuery技术、XML高级查询等。

第8章视图和游标。本章详细介绍视图和游标,例如视图的分类、优缺点,以及如何创建、修改、删除和查看视图,游标的声明、打开、读取、关闭等内容。

第9章存储过程。本章详细介绍存储过程的知识,例如存储过程的分类、常用的系统存储过程、无参存储过程和有参存储过程的创建与使用等。

第10章触发器。本章主要介绍SQLServer2016触发器,包含触发器的概念、分类、执行环境、创建语法、修改以及删除等多项内容。

第11章SQLServer高级特性。本章详细介绍索引、事务、锁定的有关知识,包含索引作用、索引分类、创建索引、复合索引、修改索引、删除索引、事务的ACID属性、事务分类、事务处理语句、事务隔离级别、锁定粒度、锁定模式等多项内容。

第12章数据库安全机制。SQLServer2016提供了非常强大的内置安全性和数据库保护来实现数据安全,数据库安全机制涉及用户、角色、权限等多个与安全性有关的概念,本章将详细介绍这些知识。

第13章数据库的备份和恢复。本章详细介绍数据库文件的备份和恢复操作,除此之外,还将提到数据附加和数据库复制操作。

第14章医院预约挂号系统数据库设计。本章以医院网上预约系统为背景进行需求分析,然后在SQLServer2016中实现。包括数据库的创建、创建表和视图,并在最后模拟实现常见业务的办理。

SQL Server2016数据库入门与应用》特色

SQL Server2016数据库入门与应用》中大量内容来自真实的程序范例,使读者更容易掌握SQLServer数据库的开发。《SQL Server2016数据库入门与应用》难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。

知识点全

SQL Server2016数据库入门与应用》紧密围绕SQLServer数据库展开讲解,具有很强的逻辑性和系统性。

实例丰富

书中各实例均经过作者的精心设计和挑选,它们都是根据作者在实际开发中的经验总结而来,涵盖了实际开发中遇到的各种问题。

应用广泛

对于精选案例,给出了详细步骤,结构清晰简明,分析深入浅出,而且有些程序能够直接在项目中使用,避免读者进行二次开发。

基于理论,注重实践

在讲述过程中,不仅介绍理论知识,而且在合适位置安排综合应用实例,或者小型应用程序,将理论应用到实践中,来增强读者的实际应用能力,巩固学到的知识。

贴心的提示

为了便于读者阅读,《SQL Server2016数据库入门与应用》还穿插着一些技巧、提示等小贴士,体例约定如下。

提示:通常是一些贴心的提醒,让读者加深印象或取得建议,或获得解决问题的方法。

注意:提出学习过程中需要特别注意的一些知识点和内容,或相关信息。

技巧:通过简短的文字,指出知识点在应用时的一些小窍门。

读者对象

SQL Server2016数据库入门与应用》适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。

●SQLServer数据库开发入门者。

●SQLServer数据库的初学者以及在校学生。

●各大中专院校的在校学生和相关授课老师。

●准备从事与SQLServer数据库技术相关的人员。

SQL Server2016数据库入门与应用》由李艳丽、靳智良编著,其他参与编写的人员还有郑志荣、侯艳书、刘利利、侯政洪、肖进、李海燕、侯政云、祝红涛、崔再喜、贺春雷等,在此表示感谢。在《SQL Server2016数据库入门与应用》的编写过程中,我们力求精益求精,但难免存在一些不足之处,敬请广大读者批评指正。

编 者


其他推荐