图书介绍

SQL Server 2005 宝典PDF|Epub|txt|kindle电子书版本网盘下载

SQL Server 2005 宝典
  • (美)PaulNielsen著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115174864
  • 出版时间:2008
  • 标注页数:974页
  • 文件大小:239MB
  • 文件页数:1018页
  • 主题词:关系数据库-数据库管理系统,SQL Server 2005

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

SQL Server 2005 宝典PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 信息体系结构原则3

1.1 复杂性和简单性4

1.1.1 复杂性4

1.1.2 简单性4

1.2 有用性目标5

1.2.1 设计的适宜性5

1.2.2 数据存储配置6

1.2.3 主数据存储的设计方法7

1.3 数据完整性9

1.3.1 实体完整性10

1.3.2 域完整性10

1.3.3 引用完整性10

1.3.4 用户定义的完整性10

1.3.5 事务完整性11

1.3.6 事务缺陷11

1.3.7 隔离级别12

1.3.8 空值13

1.4 性能13

1.4.1 设计14

1.4.2 基于集合的处理14

1.4.3 索引14

1.4.4 分区15

1.4.5 缓存15

1.5 可用性15

1.5.1 冗余16

1.5.2 恢复16

1.6 可扩展性16

1.6.1 抽象层16

1.6.2 归一化17

1.7 安全性17

1.7.1 限制访问17

1.7.2 信息所有权17

1.7.3 审核跟踪18

1.8 优化理论和SQL Server18

1.8.1 架构设计18

1.8.2 查询19

1.8.3 索引19

1.8.4 并发性19

1.8.5 高级伸缩性20

1.9 总结20

第2章 关系数据库建模21

2.1 模拟现实22

2.2 可见实体22

2.2.1 每个元组(行)都是独立的23

2.2.2 主键23

2.2.3 表、行和列23

2.3 识别多个实体24

2.3.1 多个对象24

2.3.2 对象之间的关系24

2.3.3 组织对象25

2.3.4 一致的查找值25

2.3.5 复杂对象25

2.4 关系模式25

2.4.1 辅助实体和外键26

2.4.2 关系的基数26

2.4.3 关系的可选性27

2.4.4 绘制数据模型关系图27

2.4.5 一对多关系28

2.4.6 一对一关系28

2.4.7 超类/子类关系28

2.4.8 多对多关系29

2.4.9 类别实体30

2.4.10 自反关系30

2.5 规范化32

2.5.1 实体/属性的设计原则32

2.5.2 范式32

2.5.3 简单性和规范化33

2.5.4 第一范式33

2.5.5 第二范式34

2.5.6 第三范式35

2.5.7 BCNF范式36

2.5.8 第四范式36

2.5.9 第五范式36

2.6 关系代数37

2.7 总结37

第3章 探索SQL Server 2005的体系结构39

3.1 数据访问体系结构40

3.1.1 客户/服务器数据库模型41

3.1.2 N层设计42

3.1.3 面向服务的体系结构43

3.2 SQL Server中的服务43

3.2.1 关系引擎43

3.2.2 Transact-SQL44

3.2.3 Visual Studio和CLR45

3.2.4 Service Broker45

3.2.5 复制服务46

3.2.6 全文搜索服务46

3.2.7 Notification Services46

3.2.8 服务器管理对象47

3.2.9 SQL Server代理47

3.2.10 分布式事务协调器(DTC)47

3.2.11 SQL Mail47

3.3 Business Intelligence Services47

3.3.1 Integration Services48

3.3.2 Reporting Services48

3.3.3 Analysis Services49

3.4 SQL Server 2005版本50

3.4.1 企业(开发)版50

3.4.2 标准版50

3.4.3 工作组版51

3.4.4 SQL Server速成版51

3.4.5 SQL Server Everywhere版52

3.5 SQL Server的工具和组件52

3.5.1 SQL Server Management Studio52

3.5.2 SQL Server Configuration Manager53

3.5.3 外围应用配置器53

3.5.4 Business Intelligence Development Studio53

3.5.5 SQL集成帮助53

3.5.6 SQL Profiler54

3.5.7 性能监视器54

3.5.8 数据库优化顾问54

3.5.9 命令行实用程序、SQLCmd、Bulk Copy54

3.6 SQL Server 2005功能包55

3.7 AdventureWorks 55

3.8 探索元数据55

3.8.1 系统数据库56

3.8.2 元数据视图56

3.9 总结56

第4章 安装SQL Server 2005.57

4.1 制定安装计划57

4.1.1 操作系统57

4.1.2 安全账户57

4.1.3 身份验证模式59

4.1.4 服务器实例59

4.2 有关硬件的建议60

4.2.1 使用专用服务器60

4.2.2 使用大量内存60

4.2.3 使用多个CPU61

4.2.4 磁盘驱动器子系统61

4.2.5 RAID磁盘子系统62

4.2.6 网络性能62

4.3 实施安装62

4.3.1 值守安装62

4.3.2 非值守安装64

4.3.3 远程安装64

4.3.4 在群集环境中安装64

4.3.5 安装多个实例65

4.3.6 测试安装65

4.4 升级以前的版本65

4.4.1 SQL Server 2005升级顾问65

4.4.2 从SQL Server 2000升级到SQL Server 200567

4.5 迁移到SQL Server67

4.5.1 迁移助手67

4.5.2 评估68

4.5.3 架构转换68

4.5.4 数据迁移68

4.5.5 业务逻辑转换68

4.5.6 验证和集成70

4.6 配置SQL Server外围应用70

4.6.1 外围应用配置器70

4.6.2 命令行实用程序72

4.7 卸载SQL Server73

4.8 总结73

第5章 客户端软件的连接性74

5.1 启用服务器连接74

5.1.1 服务器配置管理器74

5.1.2 SQL Native Client连接(SNAC)75

5.2 SQL Native Client的特性75

5.2.1 需求76

5.2.2 数据库镜像76

5.2.3 异步操作77

5.2.4 多个活动结果集(MARS)77

5.2.5 XML数据类型77

5.2.6 用户定义的类型77

5.2.7 大型数据类型77

5.2.8 处理过期的密码78

5.2.9 快照隔离78

5.3 总结78

第6章 使用Management Studio79

6.1 组织界面80

6.1.1 窗口布局80

6.1.2 上下文菜单82

6.1.3 摘要窗口82

6.2 已注册的服务器82

6.3 对象资源管理器83

6.3.1 在对象树中导航83

6.3.2 在对象资源管理器中进行筛选84

6.3.3 表设计器85

6.3.4 建立数据库关系图86

6.3.5 查询设计器87

6.4 使用查询编辑器88

6.4.1 连接到服务器88

6.4.2 打开.sql文件88

6.4.3 执行SQL批处理89

6.4.4 快捷键和书签89

6.4.5 查看查询执行计划90

6.5 使用解决方案资源管理器90

6.6 模板简介91

6.7 总结91

第7章 理解基本的查询流程95

7.1 理解查询流程95

7.1.1 查询语句的语法流程96

7.1.2 查询语句的图形视图96

7.1.3 查询语句的逻辑流程96

7.1.4 查询语句的物理流程98

7.2 指定数据源的From子句98

7.2.1 可能的数据源98

7.2.2 范围变量99

7.2.3 [Table Name]99

7.2.4 由四部分组成的表名99

7.3 Where条件100

7.3.1 使用查找条件Between101

7.3.2 使用in查找条件103

7.3.3 使用Like查找条件104

7.3.4 多个Where条件105

7.3.5 Select…Where106

7.4 对结果集排序107

7.4.1 使用列名指定顺序108

7.4.2 使用表达式指定排序顺序108

7.4.3 使用列别名指定顺序109

7.4.4 使用列序号指定顺序109

7.4.5 Order by与排序规则110

7.5 Select Distinct111

7.6 排名112

7.6.1 Top112

7.6.2 With Ties选项114

7.7 总结114

第8章 使用表达式和标量函数115

8.1 创建表达式115

8.1.1 运算符116

8.1.2 按位运算符117

8.2 Case表达式119

8.2.1 简单Case119

8.2.2 布尔Case120

8.3 使用空值121

8.3.1 检测空值121

8.3.2 处理空值122

8.4 标量函数126

8.4.1 用户信息函数127

8.4.2 日期-时间函数127

8.4.3 字符串函数129

8.4.4 Soundex函数132

8.4.5 数据类型转换函数135

8.4.6 服务器环境信息138

8.5 总结138

第9章 使用联接和联合合并数据139

9.1 使用联接140

9.2 内联接(Inner Join)141

9.2.1 在SQL代码中建立内联接141

9.2.2 返回的行数142

9.2.3 ANSI SQL 89联接143

9.2.4 多表联接144

9.3 外联接145

9.3.1 外联接与可选的外键147

9.3.2 全外联接148

9.3.3 在外联接中设置条件150

9.4 自联接151

9.5 交叉(无限制)联接152

9.6 特殊联接(Exotic Joins)154

9.6.1 θ(theta)联接154

9.6.2 多条件联接154

9.6.3 非键联接154

9.7 差集(Set Difference)155

9.8 使用联合158

9.8.1 交联合158

9.8.2 差联合159

9.9 总结159

第10章 使用子查询和CTE提供数据161

10.1 方法和位置161

10.2 简单子查询162

10.2.1 公用表表达式163

10.2.2 使用标量子查询164

10.2.3 将子查询用作列表165

10.2.4 将子查询用作表169

10.3 相关子查询170

10.4 关系除174

10.4.1 带余数的关系除175

10.4.2 关系整除177

10.5 总结178

第11章 汇总数据179

11.1 简单聚合179

11.1.1 基本聚合180

11.1.2 统计学初步181

11.2 在结果集中分组182

11.2.1 简单分组183

11.2.2 聚合查询183

11.3 计算总计187

11.3.1 计算小计187

11.3.2 多维数据集查询188

11.3.3 计算总计189

11.4 创建交叉表查询191

11.4.1 固定列交叉表查询191

11.4.2 动态交叉表查询194

11.5 总结195

第12章 导航层次型数据196

12.1 邻接表架构模式196

12.1.1 基本的邻接表模式197

12.1.2 邻接表变种197

12.2 邻接表导航200

12.2.1 使用标准select语句200

12.2.2 使用递归游标201

12.2.3 使用基于集合的解决方案203

12.2.4 使用用户定义函数204

12.2.5 使用递归公用表表达式205

12.3 总结206

第13章 使用全文搜索207

13.1 配置全文搜索目录208

13.1.1 使用向导创建全文搜索目录208

13.1.2 使用T-SQL代码创建目录210

13.1.3 在全文索引中填充数据211

13.1.4 使用Management Studio来维护全文目录212

13.1.5 使用T-SQL代码维护目录212

13.1.6 干扰词文件213

13.2 单词搜索214

13.2.1 Contains函数214

13.2.2 ContainsTable215

13.3 高级搜索选项216

13.3.1 多单词搜索216

13.3.2 使用通配符搜索217

13.3.3 短语搜索218

13.3.4 邻近单词搜索218

13.3.5 搜索单词的屈折变体219

13.3.6 同义词搜索219

13.3.7 使用可变的单词权重进行搜索220

13.4 模糊搜索221

13.4.1 Freetext222

13.4.2 FreetextTable222

13.5 为二进制对象建立索引223

13.6 性能224

13.7 总结225

第14章 创建视图226

14.1 为何使用视图226

14.2 使用视图227

14.2.1 使用Management Studio创建视图228

14.2.2 使用DDL代码创建视图229

14.2.3 Order By和视图230

14.2.4 对视图的限制231

14.2.5 执行视图231

14.3 保护视图231

14.3.1 保护数据231

14.3.2 保护视图233

14.4 通过视图进行更新234

14.5 嵌套视图235

14.6 使用同义词237

14.7 总结238

第15章 使用分布式查询239

15.1 分布式查询的概念239

15.2 访问本地SQL Server数据库241

15.3 链接到外部数据源241

15.3.1 使用Management Studio建立链接241

15.3.2 使用T-SQL创建链接244

15.3.3 链接非SQL Server数据源246

15.4 开发分布式查询248

15.4.1 分布式查询和Management Studio248

15.4.2 分布式视图249

15.4.3 本地——分布式查询249

15.4.4 传递分布式查询252

15.5 分布式事务254

15.5.1 分布式事务处理协调器254

15.5.2 开发分布式事务255

15.5.3 监测分布式事务256

15.6 总结257

第16章 修改数据258

16.1 插入数据259

16.1.1 插入一行数据260

16.1.2 插入select语句的结果集262

16.1.3 插入存储过程的结果集263

16.1.4 创建由默认值组成的行264

16.1.5 插入数据时创建表264

16.2 更新数据267

16.2.1 更新单个表267

16.2.2 进行全程搜索和替换268

16.2.3 更新数据时引用多个表268

16.3 删除数据271

16.3.1 删除时引用多个表272

16.3.2 级联删除272

16.3.3 物理删除数据的替代方法274

16.4 返回修改后的数据274

16.4.1 返回插入的数据275

16.4.2 返回更新后的数据275

16.4.3 返回删除的数据275

16.4.4 将返回的数据存储到表变量中275

16.5 对数据修改的潜在限制276

16.5.1 数据类型/长度限制277

16.5.2 主键限制277

16.5.3 外键限制280

16.5.4 唯一索引限制281

16.5.5 空值和默认值限制281

16.5.6 check约束限制282

16.5.7 instead of触发器限制282

16.5.8 after触发器限制283

16.5.9 计算列284

16.5.10 不可更新视图导致的限制284

16.5.11 使用with check option的视图导致的限制285

16.5.12 安全性限制286

16.6 总结286

第17章 实现数据库物理架构289

17.1 设计数据库的物理架构290

17.1.1 设计物理架构的方法290

17.1.2 改进数据模式290

17.1.3 规划性能291

17.1.4 规划可扩展性291

17.1.5 合理的逆规范化291

17.2 创建数据库292

17.2.1 DDL命令Create292

17.2.2 数据库文件的概念294

17.2.3 配置文件增长294

17.2.4 使用多个文件296

17.2.5 规划多个文件组297

17.3 创建表299

17.3.1 使用Management Studio设计表299

17.3.2 使用SQL脚本300

17.3.3 架构301

17.3.4 表名与列名301

17.3.5 文件组302

17.4 创建键303

17.4.1 主键303

17.4.2 创建外键306

17.5 创建用户数据列310

17.5.1 列的数据类型310

17.5.2 计算列312

17.5.3 列约束和默认值313

17.5.4 数据目录316

17.6 DDL触发器318

17.6.1 创建和修改DDL触发器318

17.6.2 EventData()319

17.6.3 启用和禁用DDL触发器320

17.7 总结320

第18章 Transact-SQL编程321

18.1 Transact-SQL基础322

18.1.1 T-SQL批处理322

18.1.2 格式化T-SQL代码323

18.1.3 调试T-SQL324

18.2 变量325

18.2.1 变量的默认值和作用域325

18.2.2 使用Set和Select命令326

18.2.3 条件Select326

18.2.4 在SQL查询中使用变量327

18.2.5 多赋值变量327

18.3 流程控制328

18.3.1 if328

18.3.2 While329

18.3.3 Goto330

18.4 使用代码获取SQL Server信息330

18.4.1 sp_ help330

18.4.2 全局变量331

18.5 临时表和表变量332

18.5.1 局部临时表332

18.5.2 全局临时表333

18.5.3 表变量333

18.6 动态SQL334

18.6.1 执行动态SQL334

18.6.2 sp_excecuteSQL335

18.6.3 开发动态SQL代码335

18.7 错误处理337

18.7.1 Try…Catch337

18.7.2 遗留的全局变量@@Error338

18.7.3 全局变量@@RowCount339

18.7.4 Raiserror339

18.7.5 Catch块343

18.7.6 T-SQL致命错误343

18.8 总结344

第19章 执行大容量操作345

19.1 大容量插入346

19.1.1 大容量插入选项347

19.1.2 BCP347

19.2 总结348

第20章 消灭游标349

20.1 游标剖析349

20.1.1 使用游标的5个步骤350

20.1.2 管理游标350

20.1.3 更新游标351

20.1.4 游标的作用域352

20.1.5 游标和事务352

20.2 使用游标的策略352

20.3 复杂逻辑的解决方案353

20.3.1 逻辑代码354

20.3.2 使用SQL-92游标和存储过程355

20.3.3 使用快速只进游标和存储过程356

20.3.4 使用快速只进游标和用户定义函数357

20.3.5 使用更新游标和存储过程357

20.3.6 使用更新查询和用户定义函数358

20.3.7 使用多个查询358

20.3.8 使用case表达式的查询359

20.3.9 性能分析360

20.4 逆规范化列表示例361

20.5 总结362

第21章 开发存储过程363

21.1 管理存储过程364

21.1.1 Create、Alter和Drop364

21.1.2 返回记录集364

21.1.3 编译存储过程365

21.1.4 加密存储过程365

21.1.5 系统存储过程366

21.2 向存储过程传递数据366

21.2.1 输入参数366

21.2.2 参数的默认值367

21.3 从存储过程返回数据368

21.3.1 输出参数368

21.3.2 使用Return命令369

21.3.3 返回数据的途径及其适用范围370

21.4 在查询中使用存储过程371

21.5 执行远程存储过程371

21.6 完整的存储过程372

21.6.1 存储过程pGetPrice372

21.6.2 存储过程pOrder_AddNew374

21.6.3 存储过程pOrder_AddItem376

21.6.4 添加订单378

21.7 总结379

第22章 创建用户定义函数380

22.1 标量函数381

22.1.1 创建标量函数381

22.1.2 调用标量函数383

22.1.3 创建架构绑定函数383

22.2 内联表值函数383

22.2.1 创建内联表值函数384

22.2.2 调用内联表值函数384

22.2.3 使用参数385

22.2.4 相关用户定义函数386

22.3 多语句表值函数387

22.3.1 创建多语句表值函数387

22.3.2 调用函数388

22.4 总结388

第23章 实现触发器389

23.1 触发器基础知识389

23.1.1 事务的执行流程390

23.1.2 创建触发器391

23.1.3 After触发器391

23.1.4 Instead of触发器392

23.1.5 对触发器的限制393

23.1.6 禁用触发器393

23.1.7 列出触发器394

23.1.8 触发器与安全性394

23.2 使用事务394

23.2.1 确定被更新的列394

23.2.2 逻辑表Inserted和Deleted396

23.2.3 开发能够处理多行的触发器397

23.3 多个触发器之间的交互398

23.3.1 组织触发器398

23.3.2 嵌套触发器398

23.3.3 递归触发器399

23.3.4 Instead of和After触发器400

23.3.5 多个After触发器400

23.4 总结401

第24章 探讨T-SQL高级解决方案402

24.1 验证复杂的业务规则402

24.2 复杂的引用完整性404

24.3 自定义的行级安全性405

24.3.1 Security表406

24.3.2 检查安全权限的存储过程412

24.3.3 检查安全权限的函数413

24.3.4 使用NT登录名413

24.3.5 检查安全权限的触发器415

24.4 审计数据变更416

24.4.1 Audit表416

24.4.2 固定审计跟踪触发器416

24.4.3 利用审计跟踪回滚419

24.4.4 审计并发症420

24.4.5 动态审计跟踪触发器和过程421

24.5 聚合事务处理426

24.6 数据的逻辑删除429

24.6.1 逻辑删除触发器430

24.6.2 恢复逻辑删除的行431

24.6.3 筛选掉逻辑删除的行431

24.6.4 级联逻辑删除431

24.6.5 不活跃度432

24.7 数据归档432

24.8 总结433

第25章 使用数据抽象层提供可扩展性434

25.1 Add New存储过程435

25.2 Fetch存储过程436

25.3 update存储过程437

25.3.1 使用RowVersion进行更新437

25.3.2 最小更新439

25.4 Delete存储过程440

25.5 总结441

第26章 SQL Server Everywhere开发442

26.1 SQL Server 2005 Everywhere Edition概述443

26.1.1 发展历程443

26.1.2 概念443

26.2 SQL Server 2005 Everywhere Edition新增的功能446

26.3 SQL Everywhere初步447

26.3.1 安装SQL Everywhere447

26.3.2 Query Analyzer 3.0450

26.3.3 创建SQL Everywhere数据库451

26.3.4 升级SQL CE 2.0数据库462

26.4 同步数据463

26.4.1 远程数据访问463

26.4.2 合并复制464

26.4.3 Web服务464

26.5 打包和部署466

26.5.1 以编程方式创建数据库466

26.5.2 随移动应用程序部署一个初始数据库466

26.5.3 通过合并复制动态地创建数据库466

26.5.4 其他方法466

26.6 安全性467

26.6.1 密码保护467

26.6.2 加密467

26.6.3 确保数据同步的安全467

26.7 优化、维护和管理468

26.7.1 测量和改善查询的性能468

26.7.2 SQL Everywhere数据库的维护468

26.7.3 修复受损的SQL Everywhere数据库470

26.7.4 确保合并复制的性能471

26.8 其他参考资源471

26.9 总结472

第27章 CLR程序集编程473

27.1 .NET Framework简介474

27.1.1 程序集474

27.1.2 应用程序域476

27.2 CLR SQL Server类型概述478

27.2.1 CLR集成.NET类型的属性478

27.2.2 SQL Server CLR类型都有的特征479

27.2.3 数据类型480

27.3 支持CLR集成的.NET方法482

27.4 T-SQL CLR DDL命令和目录视图483

27.4.1 程序集483

27.4.2 数据库对象484

27.5 使用Visual Studio 2005创建数据库类型484

27.5.1 创建CLR项目485

27.5.2 编写CLR存储过程488

27.5.3 CLR函数490

27.6 使用CLR还是T-SQL491

27.7 T-SQL不会消失492

27.8 总结493

第28章 使用Service Broker将数据排队494

28.1 配置消息队列494

28.2 使用对话495

28.2.1 将消息发送给队列495

28.2.2 接收消息496

28.3 监视Service Broker497

28.4 总结498

第29章 持久化自定义数据类型499

29.1 创建CLR用户定义类型500

29.1.1 满足需求501

29.1.2 使用Visual Studio编写CLR UDT503

29.1.3 测试和调试UDT 508

29.1.4 性能方面的考虑509

29.2 CLR集成UDT的部署细节510

29.2.1 强名称程序集和GAC 510

29.2.2 创建强名称NET程序集511

29.2.3 维护UDT512

29.3 总结513

第30章 ADO.NET.20编程514

30.1 ADO.NET概述515

30.1.1 ADO515

30.1.2 ADO对象模型519

30.1.3 ADO.NET524

30.2 Visual Studio 2005中的ADO.NET533

30.2.1 服务器资源管理器533

30.2.2 调试ADO.NET533

30.2.3 应用程序跟踪534

30.3 创建应用程序535

30.3.1 连接到SQL Server535

30.3.2 数据适配器536

30.3.3 数据阅读器和记录集536

30.3.4 流537

30.3.5 异步执行537

30.3.6 使用单个数据库值537

30.3.7 修改数据538

30.3.8 绑定到控件539

30.4 总结539

第31章 使用XML、XPath和Xquery540

31.1 XML数据类型541

31.1.1 数据类型转换541

31.1.2 XML数据类型的局限性541

31.1.3 XML架构集合542

31.2 XML索引542

31.3 查询XML数据543

31.3.1 XPATH543

31.3.2 FLWOR查询544

31.3.3 在SQL语句中使用XQuery544

31.4 分解XML数据545

31.4.1 将XML数据读取到SQL Server中545

31.4.2 在SQL Server 2005中创建XML547

31.5 总结548

第32章 使用Web服务创建SOA数据存储549

32.1 HTTP侦听550

32.1.1 HTTP.sys550

32.1.2 隐式端点550

32.1.3 显式端点551

32.2 WSDL551

32.3 端点安全552

32.4 总结552

第33章 InfoPath和SQL Server 2005.554

33.1 InfoPath 2003概述554

33.1.1 自动验证有效性555

33.1.2 离线填写表单555

33.1.3 条件格式555

33.1.4 InfoPath 2003的安全性556

33.1.5 InfoPath对象模型556

33.1.6 脚本和.NET代码556

33.2 创建表单模板557

33.3 InfoPath的其他功能559

33.4 总结560

第34章 配置SQL Server563

34.1 设置选项563

34.1.1 配置服务器563

34.1.2 配置数据库565

34.1.3 配置连接567

34.2 配置选项568

34.2.1 显示高级选项568

34.2.2 启动/停止配置属性569

34.2.3 内存配置属性571

34.2.4 处理器配置属性575

34.2.5 安全配置属性578

34.2.6 连接配置属性579

34.2.7 服务器配置属性582

34.2.8 索引配置属性583

34.2.9 配置数据库自动选项584

34.2.10 游标配置属性585

34.2.11 SQL ANSI配置属性586

34.2.12 触发器配置属性588

34.2.13 数据库状态配置属性589

34.2.14 兼容性级别590

34.2.15 恢复配置属性590

34.3 总结591

第35章 传输数据库592

35.1 复制数据库向导593

35.2 使用SQL脚本595

35.3 分离和附加597

35.4 总结599

第36章 恢复规划600

36.1 恢复的概念601

36.2 恢复模型601

36.2.1 简单恢复模型602

36.2.2 完整恢复模型602

36.2.3 大容量日志恢复模型604

36.2.4 设置恢复模型604

36.2.5 修改恢复模型605

36.3 备份数据库605

36.3.1 备份的目的地605

36.3.2 备份循环605

36.3.3 使用Management Studio执行备份606

36.3.4 使用代码备份数据库607

36.3.5 使用代码验证备份608

36.4 使用事务日志609

36.4.1 事务日志内幕609

36.4.2 备份事务日志610

36.4.3 截断日志610

36.4.4 事务日志与简单恢复模型611

36.5 恢复操作611

36.5.1 检测问题611

36.5.2 恢复顺序612

36.5.3 使用Management Studio执行还原612

36.5.4 使用T-SQL代码还原614

36.6 恢复系统数据库616

36.6.1 系统数据库master617

36.6.2 系统数据库msdb617

36.7 执行完整恢复618

36.8 总结618

第37章 维护数据库619

37.1 DBCC命令619

37.1.1 数据库完整性620

37.1.2 索引维护623

37.1.3 数据库文件大小626

37.1.4 其他DBCC命令629

37.2 管理数据库维护630

37.2.1 规划数据库维护630

37.2.2 维护计划向导630

37.2.3 以命令行方式执行维护634

37.2.4 监控数据库维护活动634

37.3 总结635

第38章 使用SQL Server代理自动维护数据库636

38.1 设置SQL Server代理636

38.2 理解警报、操作员和作业639

38.3 管理操作员639

38.4 管理警报640

38.4.1 创建用户定义错误641

38.4.2 创建警报641

38.5 管理作业643

38.5.1 创建作业类别644

38.5.2 创建作业定义645

38.5.3 设置作业步骤646

38.5.4 配置作业计划648

38.5.5 指定完成、成功和失败时的通知方式649

38.6 总结649

第9章 关系数据库建模650

39.1 为何复制数据650

39.1.1 容错/灾难恢复650

39.1.2 应用程序的要求651

39.1.3 改善性能652

39.1.4 分发数据652

39.2 比较各种数据分发方案652

39.3 Microsoft复制模型654

39.3.1 发布服务器654

39.3.2 订阅服务器654

39.3.3 分发服务器655

39.3.4 中央发布服务器655

39.3.5 中央订阅服务器655

39.3.6 重新发布655

39.3.7 对等复制655

39.3.8 项目656

39.3.9 推送订阅656

39.3.10 请求订阅656

39.4 复制类型657

39.4.1 快照复制657

39.4.2 使用立即更新的快照复制657

39.4.3 使用排队更新的快照复制658

39.4.4 使用立即更新和排队故障转移的快照复制658

39.5 事务复制658

39.5.1 快照代理659

39.5.2 日志读取器代理659

39.5.3 分发代理659

39.5.4 对等复制659

39.5.5 双向事务复制660

39.5.6 使用立即更新的事务复制660

39.5.7 使用排队更新的事务复制660

39.5.8 使用立即更新和排队故障转移的事务复制660

39.5.9 通过Internet进行事务复制661

39.5.10 合并复制661

39.5.11 合并复制和SQL CE/SQL Mobile订阅服务器663

39.5.12 通过Internet进行合并复制663

39.6 SQL 2005新增的复制功能663

39.6.1 可重新启动的快照663

39.6.2 Orcale发布663

39.6.3 极其严密的安全性663

39.6.4 对等复制模型664

39.6.5 复制所有DDL664

39.6.6 复制全文索引664

39.6.7 允许匿名订阅所有发布664

39.6.8 合并复制中的逻辑记录664

39.6.9 预计算分区665

39.6.10 更新唯一键665

39.6.11 使用SQL RMO自定义冲突处理方式665

39.6.12 各种性能改善665

39.6.13 滞后令牌665

39.6.14 事务并行度665

39.6.15 仅限下载项目666

39.6.16 复制监视器666

39.6.17 通过HTTPS进行合并复制667

39.6.18 改善了合并复制的性能和伸缩性667

39.6.19 SQL RMO667

39.6.20 简化的向导668

39.6.21 初始化订阅服务器668

39.7 配置复制668

39.7.1 使用本地分发服务器669

39.7.2 使用远程分发服务器669

39.8 创建快照复制发布669

39.8.1 创建事务复制发布672

39.8.2 创建双向事务复制发布675

39.8.3 创建Oracle发布675

39.8.4 创建对等复制发布676

39.8.5 创建合并复制发布677

39.8.6 创建订阅679

39.8.7 创建Web同步订阅680

39.9 监视复制解决方案683

39.9.1 代理配置文件684

39.9.2 所有订阅684

39.9.3 警告和代理685

39.9.4 修改复制代理的属性686

39.9.5 跟踪令牌686

39.10 复制的性能687

39.11 排除复制故障687

39.12 总结688

第40章 确保数据库安全689

40.1 安全概念690

40.1.1 服务器级安全性690

40.1.2 数据库级安全性691

40.1.3 对象的所有权691

40.2 Windows安全性692

40.2.1 Windows安全性692

40.2.2 SQL Server登录名692

40.3 服务器安全性692

40.3.1 SQL Server身份验证模式692

40.3.2 Windows身份验证693

40.3.3 SQL Server登录名697

40.3.4 服务器角色698

40.4 数据库安全性699

40.4.1 Guest登录名699

40.4.2 授予访问数据库的权限700

40.4.3 固定的数据库角色701

40.4.4 安全对象权限703

40.4.5 应用程序角色703

40.5 对象安全性703

40.5.1 对象权限704

40.5.2 标准数据库角色705

40.5.3 对象安全性和Management Studio706

40.5.4 安全模型示例707

40.6 C2级安全性708

40.7 视图和安全性709

40.8 加密709

408.1 加密简介709

40.8.2 SQL Server加密层次结构710

40.8.3 使用通行短语进行加密710

40.8.4 使用对称密钥进行加密711

40.9 防范SQL注入攻击713

40.9.1 附加恶意代码713

40.9.2 使用or1=l714

40.9.3 绕开密码保护714

40.9.4 防范714

40.10 总结715

第41章 管理SQL Server Express716

41.1 安装SQL Server Express717

41.1.1 使用命令行参数以静默方式安装SSE717

41.1.2 使用INI文件安装SSE720

41.2 SQL Server Management Studio Express721

41.3 总结722

第42章 使用Integration Services实现ETL725

42.1 设计环境726

42.1.1 连接管理器727

42.1.2 变量728

42.1.3 配置元素729

42.1.4 事件处理程序732

42.1.5 在开发中执行包732

42.2 Integration Services包的元素733

42.2.1 连接管理器733

42.2.2 控制流元素736

42.2.3 数据流组件741

42.3 易于维护和管理的包749

42.3.1 日志记录750

42.3.2 包配置751

42.3.3 检查点重启752

42.4 包的部署752

42.4.1 包的安装752

42.4.2 包的执行753

42.5 总结753

第43章 使用Analysis Services实现商业智能754

43.1 数据仓库754

43.1.1 星形架构755

43.1.2 一致性756

43.1.3 加载数据756

43.1.4 Analysis Services快速入门758

43.2 Analysis Services的体系结构758

43.2.1 统一维度模型759

43.2.2 服务器759

43.2.3 客户端760

43.3 建立数据库760

43.3.1 Business Intelligence Development Studio760

43.3.2 数据源761

43.3.3 数据源视图761

43.3.4 创建多维数据集764

43.4 维度765

43.4.1 维度设计器765

43.4.2 修改维度中的数据770

43.4.3 非常规维度771

43.4.4 精炼维度773

43.5 多维数据集774

43.5.1 多维数据集结构775

43.5.2 维度用法776

43.5.3 KPI778

43.5.4 操作778

43.5.5 分区778

43.5.6 透视780

43.6 数据存储780

43.6.1 SQL Server通知782

43.6.2 客户端发起的通知782

43.6.3 按计划轮询782

43.7 数据完整性782

43.7.1 空值处理783

43.7.2 未知成员784

43.7.3错误配置784

43.8 总结785

第44章 使用Analysis Services进行数据挖掘786

44.1 数据挖掘过程787

44.2 算法793

44.2.1 决策树793

44.2.2 线性回归794

44.2.3 聚类分析794

44.2.4 序列分类796

44.2.5 神经网络796

44.2.6 逻辑回归796

44.2.7 Naive Bayes797

44.2.8 关联规则797

44.2.9 时序797

44.3 OLAP集成798

44.4 总结799

第45章 MDX查询编程800

45.1 基本选择查询801

45.1.1 多维数据集寻址801

45.1.2 维度的结构802

45.1.3 基本SELECT语句802

45.2 高级选择查询806

45.2.1 子多维数据集807

45.2.2 WITH子句807

45.2.3 对维度的考虑810

45.3 MDX脚本编程811

45.3.1 计算成员和命名集812

45.3.2 添加商业智能812

45.4 总结813

第46章 使用Reporting Services制作报表814

46.1 报表剖析814

46.1.1 报表定义语言(RDL)814

46.1.2 数据源815

46.1.3 Reporting Services数据集816

46.1.4 查询参数和报表参数817

46.1.5 报表的内容和布局817

46.2 报表制作过程818

46.2.1 在Visual Studio 2005中创建Reporting Services项目818

46.2.2 创建报表的步骤819

46.2.3 使用报表向导创建报表819

46.2.4 从空白开始创建报表819

46.3 使用数据821

46.3.1 在报表设计器中使用SQL822

46.3.2 使用查询参数来选择和筛选数据822

46.3.3 在数据集中添加计算字段825

46.3.4 使用XML数据源825

46.3.5 使用表达式827

46.4 设计报表布局829

46.4.1 设计基础829

46.4.2 使用表和矩阵的“属性”对话框831

46.4.3 对表和矩阵中的数据进行分组和排序832

46.4.4 使用图表展示数据835

46.4.5 在报表中添加饼图835

46.5 总结836

第47章 使用Reporting Services管理报表837

47.1 部署Reporting Services报表837

47.1.1 使用Visual Studio 2005部署报表838

47.1.2 使用报表管理器部署报表839

47.1.3 使用Reporting Services Web服务以编程方式部署报表839

47.2 使用报表服务器配置Reporting Services840

47.2.1 配置Reporting Services站点设置840

47.2.2 管理安全性841

47.2.3 使用链接报表844

47.2.4 创建链接报表844

47.2.5 利用订阅的强大威力844

47.2.6 创建数据驱动订阅845

47.3 总结848

第48章 使用Excel和Data Analyzer分析数据849

48.1 Excel数据透视表849

48.1.1 多维连接850

48.1.2 关系连接852

48.1.3 创建数据透视表853

48.1.4 创建数据透视图855

48.2 Excel数据区域856

48.3 Data Analyzer 856

48.3.1 创建视图857

48.3.2 设置视图的格式857

48.4 总结858

第49章 度量性能861

49.1 度量准确性861

49.2 使用性能监视器862

49.2.1 系统监视器862

49.2.2 计数器日志864

49.3 使用SQL Server Profiler865

49.3.1 定义新的跟踪866

49.3.2 选择事件866

49.3.3 筛选事件867

49.3.4 组织列867

49.3.5 使用Profiler跟踪868

49.3.6 集成性能监视器的数据868

49.4 使用SQL跟踪869

49.5 使用Transact-SQL870

49.5.1 使用动态管理视图870

49.5.2 使用GetDate()870

49.5.3 使用statistics870

49.6 数据库性能KPI871

49.6.1 可重复的性能测试872

49.6.2 生产性能数据872

49.6.3 伸缩性性能负载测试873

49.7 总结873

第50章 确保数据安全874

50.1 一种索引优化的整体方法874

50.2 索引875

50.2.1 索引基础875

50.2.2 创建索引876

50.2.3 索引选项879

50.2.4 创建基本索引882

50.3 查询分析882

50.3.1 查看查询执行计划882

50.3.2 使用Showplan选项882

50.3.3 解释查询执行计划883

50.4 索引优化885

50.4.1 索引缺失885

50.4.2 书签查找887

50.4.3 可优化的SARG887

50.4.4 索引的选择性887

50.5 重用查询执行计划888

50.6 一种全面的索引策略889

50.7 使用数据库引擎优化顾问890

50.8 总结891

第51章 管理事务、锁定和阻塞892

51.1 有关事务的基本知识892

51.2 事务完整性894

51.2.1 ACID属性894

51.2.2 事务缺陷895

51.2.3 隔离级别898

51.3 事务日志的体系结构899

51.3.1 事务日志序列899

51.3.2 恢复事务日志902

51.4 理解SQL Server锁定903

51.4.1 锁的粒度903

51.4.2 锁模式904

51.4.3 锁的持续时间905

51.4.4 监控锁定和阻塞906

51.5 控制SQL Server锁定908

51.5.1 设置连接的隔离级别908

51.5.2 使用数据库快照隔离908

51.5.3 使用锁定提示910

51.5.4 对索引级锁定的限制911

51.5.5 控制锁超时911

51.5.6 评估数据库的并发性能912

51.5.7 应用程序锁912

51.6 死锁913

51.6.1 创建死锁913

51.6.2 自动检测死锁915

51.6.3 处理死锁915

51.6.4 最大程度地减少死锁916

51.7 应用程序锁定设计916

51.7.1 实现乐观锁定916

51.7.2 丢失更新916

51.8 提高事务性能的策略918

51.9 总结919

第52章 提供高可用性920

52.1 可用性测试921

52.1.1 热备用可用性921

52.1.2 日志传送921

52.1.3 传送用户924

52.1.4 返回原来的主服务器924

52.2 故障转移服务器和群集924

52.3 安装故障转移SQL Server925

52.4 配置926

52.5 数据库镜像927

52.5.1 必备条件927

52.5.2 配置927

52.6 设计环境9

52.7 总结929

第53章 扩展超大型数据库930

53.1 优化理论和伸缩性931

53.1.1 向外扩展平台931

53.1.2 向上扩展解决方案933

53.2 分区表和分区索引933

53.2.1 创建分区函数934

53.2.2 创建分区方案935

53.2.3 创建分区表936

53.2.4 查询分区表938

53.2.5 修改分区表939

53.2.6 表切换939

53.2.7 滚动分区942

53.2.8 给分区表建立索引942

53.2.9 撤销分区942

53.3 使用索引视图942

53.3.1 索引视图和查询944

53.3.2 更新索引视图945

53.4 总结945

第54章 设计高性能的数据访问提供程序946

54.1 数据访问概念946

54.1.1 为何优秀的数据访问模式很重要947

54.1.2 定义需求947

54.2 数据访问对象947

54.2.1 DAO的工作原理948

54.2.2 DAO模式的缺点950

54.3 工厂模式951

54.3.1 工厂模式的优点953

54.3.2 工厂模式的缺点953

54.4 数据提供程序模式954

54.4.1 数据提供程序模式的工作原理955

54.4.2 数据提供程序模式的优点963

54.4.3 数据提供程序模式的缺点963

54.5 总结964

附录A SQL Server 2005规范965

附录B 示例数据库969

B.1 示例数据库文件970

B.2 CaPe Harteras Adventures第2版971

B.2.1 应用程序需求971

B.2.2 数据库设计971

B.3 OBX Kites972

B.3.1 应用程序需求972

B.3.2 数据库设计973

B.4 Family973

B.4.1 应用程序需求973

B.4.2 数据库设计974

B.5 Aesop’S Fables974

B.5.1 应用程序需求974

B.5.2 数据库设计974

热门推荐