精彩书摘:
第1章 数据库与SQL Server 2005简介
内容摘要
由Microsoft发布的SQL Server产品是一个典型的关系型数据库管理系统,以其功能的强大性、操作的简便性、可靠的安全性,得到很多用户的认可,应用也越来越广泛。本章首先介绍有关数据库的基础知识,接下来切入主题介绍了SQL Server 2005的基础入门知识,包括:SQL Server 2005的特性、体系结构、安装方法以及其附带的管理工具和配置方法等。
学习目标
*了解数据库发展过程中的3个模型
*理解关系数据库的概念和组成
*了解常用关系数据库术语和对象
*掌握1NF、2NF和3NF
*理解实体与关系模型的概念
*了解什么是SQL Server 2005
*了解SQL Server 2005的重要特性和新增功能
*理解SQL Server 2005体系结构和平台
*掌握SQL Server 2005安装方法
*掌握SQL Server 2005服务和服务器管理方法
*了解SQL Server 2005的重要管理工具
*掌握工具SQL Server配置管理器的使用
*掌握工具SQL Server外围应用配置器的使用
1.1 数据库原理
在正式学习SQL Server 2005之前,首先来学习数据库技术的原理及应用,主要包括数据库基本概念、关系数据库、范式理论及实体-关系数据模型。通过对这些知识的学习,有助于更好地理解SQL Server 2005。
1.1.1 数据库基础概念
所谓数据库就是存放数据的地方,是需要长期存放在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,可为不同的用户共享。
数据库内容是通过数据库管理系统(Database Management System,DBMS)来管理的。数据库管理系统是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分,用户对数据库的一切操作,包括定义、查询、更新以及各种控制,都是通过数据库管理系统进行的。
在不引起混淆的情况下,人们常常将数据库管理系统称为数据库。例如,平时常说的Access、SQL Server、Oracle和MySQL等数据库,其实都是属于DBMS的范围。
随着计算机硬件、软件的不断发展和数据的需求增加,推动了数据管理技术的加速发展,数据管理技术先后经历了3个管理阶段:人工管理阶段、文件系统阶段和数据库管理阶段。
根据具体数据存储需求的不同,数据库可以使用多种类型的系统模型(模型是指数据库管理系统中数据的存储结构),其中较为常见的有层次模型(Hierarchical Model)、网状模型(Network Model)和关系模型(Relation Model)3种。
1.层次模型
层次型数据库使用层次模型作为自己的存储结构。这是一种树型结构,它由节点和连线组成,其中节点表示实体,连线表示实体之间的关系。在这种存储结构中,数据将根据需要分门别类地存储在不同的层次之下,如图1-1所示。
图1-1 层次结构模型
从图1-1所示的例子中可以看出,层次模型的优点是数据结构类似金字塔,不同层次之间的关联性直接而且简单;缺点是由于数据纵向发展,横向关系难以建立,数据可能会重复出现,造成管理维护的不便。
2.网状模型
网状型数据库使用网状模型作为自己的存储结构。在这种存储结构中,数据记录将组成网中的节点,而记录和记录之间的关联组成节点之间的连线,从而构成一个复杂的网状结构,如图1-2所示。
图1-2 网状结构模型
使用这种存储结构的数据库的优点是它很容易地反映实体之间的关联,同时还避免了数据的重复性;缺点是这种关联错综复杂,而且当数据库逐渐增多时,将很难对结构中的关联性进行维护,尤其是当数据库变得越来越大时,关联性的维护会非常复杂。
3.关系模型
关系型数据库就是基于关系模型的数据库,它使用的存储结构是多个二维表格。在每个二维表格中,每一行称为一条记录,用来描述一个对象的信息;每一列称为一个字段,用来描述对象的一个属性。数据表与数据表之间存在相应的关联,这些关联被用来查询相关的数据,如图1-3所示。
图1-3 关系型数据库
从图1-3可以看出使用这种模型的数据库的优点是结构简单、格式唯一、理论基础严格,而且数据表之间是相对独立的,它们可以在不影响其他数据表的情况下进行数据的增加、修改和删除。在进行查询时,还可以根据数据表之间的关联性,从多个数据表中查询抽取相关的信息。这种存储结构的数据模型是目前市场上使用最广泛的数据模型,使用这种存储结构的数据库管理系统很多,下面将详细介绍的Microsoft公司的产品SQL Server 2005也是其中之一。
1.1.2 关系数据库
所谓关系数据库(Relational Database,RDB)就是基于关系模型的数据库,在计算机中,关系数据库是数据和数据库对象的集合,而管理关系数据库的计算机软件称为关系数据库管理系统(Relational Database Management System,RDBMS)。
1.关系模型的完整性规则
根据关系数据理论和Codd准则的定义,一种语言必须能处理与数据库的所有通信问题,这种语言有时也称为综合数据专用语言。该语言在关系数据库管理系统中就是SQL(Structured Query Language,结构化查询语言)。SQL的使用主要通过数据操纵、数据定义和数据管理3种操作实现。
关系模型的完整性规则是对数据的约束。关系模型提供了3类完整性规则:实体完整性规则、参照完整性规则和用户定义的完整性规则。其中实体完整性规则和参照完整性规则是关系模型必须满足的完整性的约束条件,称为关系完整性规则。
在关系模型中存在4类完整性约束:实体完整性、空值(null)、参照完整性和用户定义完整性,有关完整性约束的更多内容在第3章中介绍。
2.关系数据库的组成
关系数据库是由数据表和数据表之间的关联组成的。其中数据表通常是一个由行和列组成的二维表,每个数据表分别说明数据库中某一特定的方面或部分的对象及其属性。数据表中的行通常叫做记录或元组,它代表众多具有相同属性的对象中的一个;数据表中的列通常叫做字段或属性,它代表相应数据表中存储对象的共有的属性。表1-1是某公司的损耗商品信息表。
内容简介:
《SQL Server2005基础教程与实验指导》全面介绍了SQL Server 2005数据库管理与开发知识。《SQL Server2005基础教程与实验指导》分上下篇,上篇包括10章,介绍了SQL Server 2005的基础知识,管理SQL Server 2005数据库内容,数据库中基于表的各种操作、数据完整性以及表的索引和视图等,使用SELECT查询从数据库获取数据,管理数据库中数据,Transact-SQL语言,存储过程和触发器,管理SQL Server 2005安全,数据库备份与恢复,SQL Server 2005集成的.NET Framework、CLR特性及新增的服务体系。《SQL Server2005基础教程与实验指导》附有配套光盘,提供了书中实例的源代码和视频教学文件。下篇是实验指导,有10个单元,精选了一批实用的上机指导练习,以巩固和提高读者的动手技能,加深对基础理论的理解。
《SQL Server2005基础教程与实验指导》体现了作者在软件技术教学改革过程中形成的“项目驱动、案例教学、理论实践一体化”教学方法。《SQL Server2005基础教程与实验指导》可以作为SQL Server职业培训教材和各级院校SQL Server数据库应用与开发的培训教程,也适合作为SQL Server自学用书和参考书。
目录:
上篇 基 础 知 识
第1章 数据库与SQL Server 2005简介 1
1.1 数据库原理 1
1.1.1 数据库基础概念 2
1.1.2 关系数据库 4
1.1.3 范式理论 5
1.1.4 实体-关系模型 7
1.2 SQL Server 2005概述 9
1.2.1 SQL Server 2005特性 9
1.2.2 SQL Server 2005体系结构 10
1.2.3 安装SQL Server 2005 12
1.3 配置SQL Server 2005 14
1.3.1 配置服务 15
1.3.2 使用SQL Server 2005管理工具 17
1.3.3 通过配置管理器配置SQL Server 20
1.3.4 使用SQL Server外围应用配置器 22
1.4 扩展练习 25
第2章 管理数据库 29
2.1 数据库的组成 29
2.1.1 系统数据库 29
2.1.2 数据库存储文件 31
2.1.3 数据库对象 32
2.1.4 数据库快照 34
2.2 创建数据库 36
2.2.1 向导方式创建 36
2.2.2 语句方式创建 39
2.3 维护数据库 42
2.3.1 修改数据库 43
2.3.2 删除数据库 46
2.3.3 查看数据库状态 47
2.3.4 数据库操作 49
2.3.5 复制和移动数据库 52
2.4 扩展练习 55
第3章 管理表 59
3.1 表的概述 59
3.1.1 什么是表 59
3.1.2 表的类型 60
3.1.3 创建表 61
3.2 列数据类型 64
3.2.1 精确数字类型 64
3.2.2 近似数字类型 66
3.2.3 字符数据类型 67
3.2.4 Unicode字符数据类型 67
3.2.5 二进制数据类型 68
3.2.6 日期和时间数据类型 69
3.2.7 其他数据类型 70
3.2.8 创建自己的数据类型 73
3.3 列的其他属性 76
3.3.1 NULL、NOT NULL和默认值 76
3.3.2 IDENTITY的应用 77
3.4 维护数据表 79
3.4.1 修改表中的列 79
3.4.2 修改表 81
3.5 表数据完整性 84
3.5.1 表主键 84
3.5.2 外键 87
3.5.3 CHECK约束 89
3.5.4 表关系 90
3.6 表的索引与视图 92
3.6.1 表的索引 92
3.6.2 表的视图 93
3.7 扩展练习 94
第4章 获取数据 95
4.1 基本SELECT语句 95
4.1.1 简单的SELECT查询 95
4.1.2 WHERE子句 101
4.1.3 ORDER BY子句 107
4.1.4 GROUP BY子句 109
4.1.5 HAVING子句 110
4.2 多表查询 112
4.2.1 多表查询基础 112
4.2.2 内连接 114
4.2.3 外连接 115
4.2.4 交叉连接 118
4.2.5 自连接 119
4.2.6 联合查询 120
4.3 子查询 121
4.3.1 多行子查询 121
4.3.2 单值子查询 124
4.3.3 嵌套子查询 125
4.4 扩展练习 126
第5章 操作查询 128
5.1 插入数据 128
5.1.1 INSERT语句的语法 128
5.1.2 使用INSERT VALUES语句 131
5.1.3 使用INSERT SELECT语句 134
5.1.4 使用SELECT INTO语句创建表 136
5.2 更新数据 137
5.2.1 UPDATE语句的语法 137
5.2.2 根据表中数据更新行 138
5.2.3 根据其他表更新行 140
5.3 删除数据 141
5.3.1 DELETE语句的语法 141
5.3.2 使用DELETE语句 142
5.3.3 使用TRUNCATE TABLE语句 144
5.4 扩展练习 144
第6章 Transact-SQL语言 146
6.1 Transact-SQL概述 146
6.2 Transact-SQL语言基础 147
6.2.1 常量与变量 147
6.2.2 运算符 150
6.2.3 表达式 153
6.2.4 控制语句 154
6.3 常用函数 159
6.3.1 聚合函数 159
6.3.2 数学函数 160
6.3.3 字符串函数 161
6.3.4 数据类型转换函数 162
6.3.5 日期和时间函数 163
6.3.6 用户自定义函数 164
6.4 高级操作 167
6.4.1 事务 167
6.4.2 锁 169
6.4.3 游标 171
6.5 扩展练习 174
第7章 存储过程与触发器 177
7.1 什么是存储过程 177
7.1.1 存储过程的类型 177
7.1.2 系统存储过程 178
7.2 使用存储过程 180
7.2.1 创建普通存储过程 180
7.2.2 执行存储过程 183
7.2.3 使用存储过程参数 185
7.2.4 管理存储过程 188
7.3 什么是触发器 191
7.3.1 触发器概述 191
7.3.2 触发器的分类 193
7.4 创建触发器 194
7.4.1 DML触发器 194
7.4.2 DDL触发器 198
7.4.3 嵌套触发器 199
7.4.4 递归触发器 200
7.5 管理触发器 201
7.6 扩展练习 203
第8章 管理SQL Server 2005的安全 206
8.1 SQL Server 2005安全 206
8.1.1 SQL Server 2005安全简介 206
8.1.2 SQL Server 2005的安全机制 208
8.1.3 SQL Server 2005验证模式 209
8.2 登录名 211
8.2.1 系统登录名 211
8.2.2 创建登录名 212
8.3 数据库用户 214
8.3.1 数据库用户 214
8.3.2 创建数据库用户 215
8.4 管理角色 217
8.4.1 服务器角色 217
8.4.2 数据库角色 219
8.4.3 应用程序角色 220
8.4.4 为角色添加成员 223
8.5 使用架构 224
8.5.1 创建架构 225
8.5.2 修改架构 226
8.5.3 删除架构 228
8.6 权限 228
8.6.1 权限类型 228
8.6.2 权限操作 230
8.7 扩展练习 232
第9章 SQL Server 2005备份与恢复 235
9.1 备份概述 235
9.1.1 备份的重要性 235
9.1.2 备份和恢复体系结构 236
9.1.3 备份设备 238
9.2 备份数据 239
9.2.1 创建备份设备 239
9.2.2 管理备份设备 241
9.2.3 完整备份 243
9.2.4 差异备份 246
9.2.5 事务日志备份 248
9.3 恢复数据 252
9.3.1 常规恢复 252
9.3.2 时间点恢复 255
9.4 复制数据库 255
9.5 扩展练习 257
第10章 SQL Server 2005高级主题 259
10.1 .NET Framework集成 259
10.1.1 .NET Framework概述 259
10.1.2 CLR概述 261
10.1.3 ADO.NET概述 264
10.2 使用.NET特性 266
10.2.1 用户自定义函数 266
10.2.2 用户自定义类型 271
10.2.3 触发器 273
10.2.4 存储过程 275
10.3 服务体系 277
10.3.1 通知服务 277
10.3.2 分析服务 278
10.3.3 报表服务 279
10.3.4 集成服务 280
10.4 扩展练习 281
下篇 实验指导
第1单元 283
练习1-1 注册服务器 283
练习1-2 隐藏SQL Server 2005实例 285
练习1-3 使用sqlcmd实用工具 286
练习1-4 创建数据库和表 287
第2单元 290
练习2-1 创建销售管理数据库 290
练习2-2 重命名销售管理数据库 291
练习2-3 收缩销售管理数据库 292
第3单元 294
练习3-1 创建用户自定义数据类型 294
练习3-2 创建CHECK约束 297
练习3-3 为表添加关系 298
练习3-4 创建表的索引 298
练习3-5 创建查询学生成绩的视图 300
第4单元 302
练习4-1 按部门查看员工信息 302
练习4-2 查看工龄3年以上的员工信息 303
练习4-3 使用嵌套子查询 303
练习4-4 使用增强TOP子句 304
练习4-5 使用新增的INTERSECT和EXCEPT语句 305
第5单元 306
练习5-1 处理标识列 306
练习5-2 使用新增OUTPUT子句 307
练习5-3 图形操作修改表数据 309
第6单元 311
练习6-1 使用表达式的查询 311
练习6-2 管理用户自定义函数 313
练习6-3 使用游标 315
练习6-4 查看锁 317
第7单元 318
练习7-1 创建商品查询存储过程 318
练习7-2 创建更新价格的存储过程 320
练习7-3 定义员工注册触发器 321
练习7-4 创建退货触发器 322
练习7-5 嵌套触发器示例 323
练习7-6 使用INSTEAD OF触发器 324
练习7-7 使用UPDATE触发器 326
练习7-8 使用扩展存储过程 328
第8单元 330
练习8-1 配置SQL Server 2005的身份验证模式 330
练习8-2 创建Windows登录 332
练习8-3 指派角色到多个登录 335
练习8-4 自定义数据库角色 336
第9单元 338
练习9-1 恢复大容量日志记录模型 338
练习9-2 设计数据库备份策略 340
练习9-3 创建文件组备份 344
练习9-4 按时间点恢复数据库 348
第10单元 351
练习10-1 使用ADO.NET操作数据库 351
练习10-2 使用报表服务创建销售报表 353
练习10-3 导入Access报表 359
练习10-4 使用向导创建包 361
好评度