编辑推荐

数据库技术是计算机科学技术领域发展*快的,同时也是应用*为广泛的技术。数据库管理系统是信息技术基础设施的重要组成部分,也是国家信息技术的核心部分。数据库与网络技术融合是现代信息技术的基石。SQLServer2016是一个可信任、高效、智能的数据库平台,能满足目前和将来的数据库管理与使用需求。通过本教材的学习,读者能够掌握数据库设计的基本理论,具有数据库设计能力,同时经过书中的习题与实训的练习,能使得学生在完成《数据库原理与应用(SQL Server 2016版本)》学习的同时,具有一定的数据库开发能力。

内容简介

数据库原理与应用(SQL Server 2016版本)》系统地讲述数据库原理与SQLServer2016的功能、应用及实践知识。
数据库原理与应用(SQL Server 2016版本)》共分13章,主要内容包括关系数据库知识、SQLServer2016的安装与配置、数据库的创建与维护、数据库表的操作与管理、数据库表的维护、完整性控制、查询与管理表数据、Transact-SQL编程、存储过程和触发器、数据库安全管理、数据库系统开发配置连接,并且详细介绍了C#和SQLServer2016系统开发及实训等知识。
数据库原理与应用(SQL Server 2016版本)》内容翔实、知识结构合理、语言流畅简洁、案例丰富,适合希望学习SQLServer2016操作的初学者阅读,也适合作为高等学校计算机科学与技术、软件工程、信息技术等相关专业的数据库课程教材。

作者简介

邓立国,东北大学计算机应用博士毕业。2005年开始在沈阳师范大学软件学院、教育技术学院任教,主要研究方向:数据挖掘、知识工程、大数据处理、云计算、分布式计算等。以第1作者发表学术论文30多篇(26篇EI),主编教材1部,主持科研课题6项,经费10余万元,多次获得校级科研优秀奖,作为九三社员提出的智慧城市提案被市政府采纳,研究成果被教育厅等单位采用。

目录

第1章数据库基础知识1
1.1数据库系统概论1
1.1.1数据库系统的基本概念1
1.1.2数据库技术的产生与特点2
1.2数据模型3
1.2.1数据模型的组成要素4
1.2.2数据的概念模型4
1.2.3数据的逻辑模型9
1.2.4数据的物理模型11
1.3数据库系统模式与结构11
1.3.1数据库系统的三级模式结构11
1.3.2数据库系统的二级映像功能12
1.4数据库系统的组成13
1.4.1计算机硬件13
1.4.2计算机软件13
1.4.3数据库系统中的人员13
1.5习题14
第2章关系数据库16
2.1数学中关系的概念16
2.2关系数据模型18
2.2.1关系数据结构18
2.2.2关系操作19
2.2.3关系的完整性19
2.3关系代数21
2.3.1传统的集合运算21
2.3.2专门的关系运算22
2.4关系模式和范式理论27
2.4.1关系模式与属性依赖27
2.4.2范式理论29
2.5习题34
第3章关系数据库标准语言SQL38
3.1SQL语言概述38
3.1.1SQL的特点38
3.1.2SQL的基本概念39
3.2数据定义40
3.2.1模式的定义与删除41
3.2.2基本表的定义、删除与修改42
3.2.3索引的建立与删除46
3.3数据查询47
3.3.1单表查询47
3.3.2多表查询59
3.4数据更新70
3.4.1插入数据70
3.4.2修改数据72
3.4.3删除数据73
3.5视图74
3.5.1定义视图74
3.5.2查询视图77
3.5.3更新视图78
3.5.4视图的作用80
3.6习题81
第4章数据库设计与编程82
4.1数据库设计概述82
4.1.1数据库设计的特点82
4.1.2数据库设计的方法83
4.1.3数据库设计的步骤84
4.1.4数据库设计中的各级模式85
4.2需求分析86
4.3概念设计88
4.4逻辑设计90
4.5数据库的物理设计93
4.6实施与维护95
4.7ODBC编程97
4.8JDBC编程103
4.9习题108
第5章认识SQLServer2016109
5.1SQLServer2016简介及功能特点109
5.1.1起源与发展109
5.1.2主要功能特点110
5.2SQLServer2016的安装与配置112
5.2.1SQLServer2016的安装112
5.2.2SQLServer2016的体系结构118
5.2.3SQLServer2016的新特性121
5.2.4SQLServer2016的安全123
5.2.5SQLServer2016的系统配置124
5.3SQLServer2016的版本和管理工具126
5.3.1使用SQLServerManagementStudio127
5.3.2SQLServer的配置管理器135
5.3.3SQLServerProfiler136
5.3.4SQLServer2016数据库引擎中的新增功能136
5.3.5实用工具143
5.3.6PowerShell144
5.4SQLServer2016数据库存储145
5.4.1数据文件和文件组145
5.4.2日志文件146
5.5SQLServer2016数据库对象146
5.5.1服务器146
5.5.2数据库147
5.5.3架构148
5.5.4对象名称149
5.6Transact-SQL149
5.6.1Transact-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常用函数166
5.7习题181
第6章SQLServer2016创建和管理数据库182
6.1SQLServerManagementStudio182
6.1.1打开SSMS并连接到数据库引擎182
6.1.2显示“已注册的服务器”184
6.1.3注册本地服务器185
6.1.4启动数据库引擎186
6.1.5连接对象资源管理器187
6.1.6使用SSMS编写代码187
6.2创建数据库189
6.2.1数据库对象190
6.2.2数据库对象标识符190
6.2.3数据库对象结构191
6.2.4使用ManagementStudio创建数据库191
6.3文件组及其创建与使用196
6.3.1文件组196
6.3.2创建文件组197
6.3.3使用文件组199
6.4管理数据库200
6.4.1查看数据库200
6.4.2修改数据库202
6.4.3删除数据库203
6.5扩大和收缩数据库204
6.5.1扩大数据库204
6.5.2收缩数据库205
6.6导入/导出数据206
6.7备份与恢复数据库209
6.7.1备份类型209
6.7.2恢复模式210
6.7.3备份数据库210
6.8生成SQL脚本212
6.8.1将数据表生成SQL脚本212
6.8.2将数据库生成SQL脚本213
6.9习题214
第7章创建与管理SQLServer2016数据库表216
7.1数据类型216
7.2表的概念221
7.3创建表222
7.3.1使用图形界面创建数据表222
7.3.2使用SQL的CREATETABLE命令创建数据表223
7.4操作表225
7.4.1表结构的修改225
7.4.2操作表数据229
7.5表约束235
7.5.1创建PRIMARYKEY约束236
7.5.2创建UNIQUE约束239
7.5.3创建CHECK约束241
7.5.4比较列约束和表约束243
7.6关系图244
7.6.1创建新的数据库关系图244
7.6.2关系图的使用246
7.7视图249
7.7.1视图概念249
7.7.2创建视图250
7.7.3操作视图252
7.8索引255
7.8.1数据表的存储结构255
7.8.2索引类型256
7.8.3创建表索引257
7.8.4管理索引259
7.9习题261
第8章操纵数据表的数据262
8.1标准查询262
8.1.1SELECT语句的语法格式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使用ISNULL条件271
8.3格式化结果集272
8.3.1排序结果集272
8.3.2分组结果集273
8.3.3统计结果集274
8.4插入数据275
8.4.1使用INSERT语句插入数据275
8.4.2使用INSERT...SELECT语句插入数据276
8.4.3使用SELECT...INTO语句创建表277
8.5更新数据278
8.5.1修改表数据279
8.5.2根据其他表更新数据279
8.5.3使用TOP表达式修改数据280
8.6删除数据281
8.6.1使用DELETE语句删除数据281
8.6.2使用TRUNCATETABLE语句281
8.6.3删除基于其他表中的数据行282
8.7习题283
第9章查询复杂数据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联合查询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章存储过程与触发器299
10.1存储过程299
10.1.1使用存储过程299
10.1.2管理存储过程305
10.1.3处理错误信息306
10.1.4优化存储过程309
10.2触发器310
10.2.1了解触发器310
10.2.2创建触发器313
10.2.3管理触发器317
10.3习题319
第11章数据库安全320
11.1数据库安全威胁320
11.2安全策略322
11.3SQLServer2016安全机制324
11.3.1登录名管理325
11.3.2数据库用户管理328
11.3.3数据库角色330
11.4权限管理335
11.4.1权限类型336
11.4.2常见对象的权限337
11.4.3授予权限337
11.4.4收回和否认权限338
11.5习题339
第12章图书管理系统341
12.1系统概述341
12.1.1需求分析341
12.1.2功能分析342
12.2数据库设计343
12.2.1设计数据表343
12.2.2设计存储过程344
12.3创建图书管理系统项目345
12.3.1搭建项目345
12.3.2应用引用346
12.3.3提取公共模块347
12.4管理员登录370
12.5主界面功能模块实现375
12.5.1主窗体设计与代码实现376
12.5.2系统管理功能模块415
12.5.3图书管理423
12.5.4类型管理435
第13章实训442
13.1SQLServer2016的安装与配置442
13.2创建管理SQLServer2016数据库和表443
13.3表的基本操作448
13.4数据查询449
13.5Transact-SQL453
13.6视图454
13.7索引操作456
13.8存储过程与触发器457
13.9数据完整性459
13.10函数的应用461
13.11程序设计463
13.12数据库备份与还原464
13.13数据库导入/导出465
13.14SQLServer2016数据库的安全466
参考文献468

精彩书摘

第1章
?数据库基础知识?
数据库是数据管理的最新技术,也是计算机科学的重要分支。本章主要介绍数据库的基础知识、数据库系统的组成等内容。
1.1数据库系统概论
1.1.1数据库系统的基本概念
数据库系统主要涉及数据、数据库、数据库管理系统和数据库系统4个基本概念。
数据(Data)指能输入计算机并能被计算机程序处理的所有符号,是数据库中存储的基本对象。数据的种类很多,如数字、文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等都属于数据。必须赋予一定的含义才能使数据具有意义,这种含义称为数据的语义,数据与语义不可分。例如,63是一个数据,它可以代表一个学生的某科成绩、某个人的年龄、某系的学生人数等,只有把63赋予语义后,才能表示确定的意义。
数据库(DataBase,DB)是指在计算机存储设备上建立起来的用于存储数据的仓库,其中存放的数据是可以长期保留、有组织、可共享的数据集合。也就是按照一定的数学模型组织、描述和存储数据,使得数据库中的数据具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点,并可在一定范围内共享给多个用户。
数据库管理系统(DataBaseManagementSystem,DBMS)是位于用户和操作系统之间的数据管理软件。用它实现数据定义、组织、存储、管理、操纵以及数据库建立、维护、事务管理、运行管理等功能。
数据库系统(DataBaseSystem,DBS)是指带有数据库并利用数据库技术对计算机中的数据进行管理的计算机系统。它可以实现有组织地、动态地存储大量相关数据,并提供数据处理和信息资源等共享服务。数据库系统一般由满足数据库系统要求的计算机硬件和包括数据库、数据库管理系统、数据库应用开发系统在内的计算机软件以及数据库系统中的人员组成,如图1-1所示。
在不引起混淆的情况下,数据库系统也简称数据库。

图1-1数据库系统
1.1.2数据库技术的产生与特点
在数据库技术产生之前,对数据的管理经历了人工管理和文件系统两个阶段。
20世纪50年代中期以前属于人工管理数据的阶段。当时,计算机主要用于科学计算,数据采用批处理的方式,计算机硬件中没有磁盘外部存储设备,软件没有操作系统,因此只能采用人工的方式对数据进行管理。人工管理数据的特点:数据不保存、应用程序管理数据、数据不能共享、数据不具有独立性。人工管理阶段应用程序与数据之间的对应关系如图1-2所示。

图1-2人工管理阶段应用程序与数据之间的对应关系
20世纪50年代后期到60年代中期属于文件系统阶段。此时,计算机硬件中已经配置了磁盘、磁鼓等外部存储设备,软件操作系统中已经具备专门进行数据管理功能的系统,即文件系统。文件系统的特点为:数据可以长期保留、有文件系统管理数据、数据的共享性和独立性差、冗余度大。文件系统应用程序与数据之间的对应关系如图1-3所示。
……

前言/序言

数据库技术是计算机科学技术发展的基础,也是应用最广的技术之一。数据库管理系统是国家信息基础设施的重要组成部分,是社会进步的助推器,也是提高生产力、提高生产效率、改变民生、推动国家经济发展的重要技术工具。
MicrosoftSQLServer是一个典型的关系型数据库管理系统,从SQLServer7.0发展到现在的SQLServer2016,功能越来越强大。SQLServer2016为不同用户提供数据库解决方案,增强用户的生产实践能力、提高产品的市场竞争力,同时还解放了生产力。
数据库原理与应用(SQL Server 2016版本)》有以下特色:
?数据库原理与应用的充分融合。
?内容上理论和实践结构安排合理,先理论后实践。
?案例丰富经典。
?系统开发软件升级到最新版本。
?给出了较系统的系统开发典型案例。
?结合学生实际学习情况给出大量实训练习。
数据库原理与应用(SQL Server 2016版本)》内容
第1章数据库基础知识,概述数据的发展和系统结构,以及数据库的组成要素、数据库模型、数据库的层次结构和数据库的系统组成等概要知识。
第2章关系数据库,介绍关系数据库的基本理论知识,包括关系数据模型、结构、操作、完整性、关系代数与范式等知识。
第3章关系数据库标准语言SQL,介绍SQL语言的特点、基本概念、定义和查询处理等操作。
第4章数据库设计与编程,主要围绕数据库系统设计与开发的方法、步骤及编程介绍。
第5章认识SQLServer2016,简要介绍SQLServer2016的发展、功能特点、安装与配置、体系结构、Transact-SQL、实用工具架构等。
第6章SQLServer2016创建和管理数据库,主要介绍数据库的创建、管理、维护等知识。
第7章创建与管理SQLServer2016数据库表,主要介绍数据库数据的类型、表的概念以及表的创建、操作、约束、视图、索引等的定义与实用。
第8章操纵数据表的数据,涉及表的增、删、改的查询语言应用。
第9章查询复杂数据,围绕数据库数据的复杂查询介绍。
第10章存储过程与触发器,介绍自定义存储过程和触发器的创建、调用、修改和删除等操作。
第11章数据库安全,介绍SQLServer2016提供的安全管理方法,包括身份验证、账户、数据库用户管理、角色和权限等。
第12章图书管理系统,介绍通过C#语言和SQLServer2016开发一个图书管理系统。
第13章实训,针对前面的知识给出经典实践案例。
除邓立国、佟强、杨姝、蒋宁外,参与《数据库原理与应用(SQL Server 2016版本)》编写的人员还有李文、周传生、齐振国、宋占峰、王剑辉、王兴辉、蔡云鹏、于涧、逄华、杨雪华、郑云霄、庄天宝、孙雪冬、张鑫、王宁、姚朋军、王凯丽、赵颖、王馨、王德伟、李赛男、于闯、李宇峰、宋芷萱、何明训、富豪等。
编者
2017年7月


其他推荐