《构建高度可伸缩的.NET数据库应用程序》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Wallace B.McClure,(美)John J.Croft IV著;李万红译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302063303
  • 页数:361 页
图书介绍:本书以.NET Framework平台为基础,详细介绍如何利用SQL Server、Oracle、DB/2或My SQL数据库构建高度可伸缩的C#和Visaul Basic.NET数据库应用程序。

第Ⅰ部分 引言 1

第1章 当前软件开发的问题 1

1.1 Visual Basic 6 1

1.2 Visual C++ 6 3

1.3 Visual Interdev和Active Server Pages 4

1.4 组件和部署 5

1.5 数据库操作和可伸缩性问题 6

1.5.1 ActiveX数据对象 6

1.5.2 分布式事务处理 7

1.5.3 对象池 7

1.6 小结 8

第2章 高性能的.NET体系结构 9

2.1 .NET Framework 10

2.1.1 执行 11

2.1.2 实时编译 11

2.1.3 中间语言(IL) 12

2.2 .NET运行时体系结构 13

2.2.1 .NET语言 14

2.2.2 组件 16

2.2.3 部署 17

2.2.4 分布式事务 17

2.2.5 消息队列 19

2.2.6 对象入池 19

2.3 性能和持久性 24

2.3.1 .NET中的线程 25

2.3.2 托管提供者 26

2.3.3 连接/会话入池 26

2.3.4 错误处理 27

2.4 ASP.NET体系结构 31

2.4.1 事件处理 32

2.4.2 高速缓存 32

2.5 元数据和版本 38

2.6 无用单元收集 39

2.7 小结 42

第Ⅱ部分 设计数据库和中间层组件以获得最大可伸缩性 43

第3章 开发一行业务应用程序 43

3.1 数据库类型 44

3.2 锁定类型 45

3.3 隔离级别 45

3.4 数据库模式 46

3.5 建立性能目标 47

3.6 关于可伸缩性的考虑 48

3.6.1 面向集的操作 48

3.6.2 减少数据传输 48

3.6.3 尽可能避免串行化 50

3.6.4 防止死锁 50

3.6.5 避免长期运行的操作 52

3.6.6 关系与定义关系 52

3.6.7 键 53

3.6.8 索引 54

3.6.9 JOIN 56

3.6.10 视图 57

3.6.11 查询计划 57

3.6.12 存储过程 58

3.6.13 参数化的命令 59

3.6.14 隔离OLTP和OLAP 59

3.7 小结 60

第4章 事务处理 61

4.1 事务管理 61

4.1.1 本地事务 63

4.1.2 分布式事务 66

4.1.3 存储过程 68

4.2 事务的考虑因素 69

4.2.1 数据的一致性和并发性 70

4.2.2 隔离级别 70

4.2.3 可伸缩性和性能关联 71

4.3 数据库特定的事务处理问题 74

4.3.1 Microsoft SQL Server 74

4.3.2 Oracle 74

4.3.3 DB/2 76

4.3.4 MySQL 77

4.4 小结 77

第5章 ADO.NET 78

5.1 术语的快速回顾 79

5.2 什么是ADO.NET 80

5.2.1 托管提供者 80

5.2.2 建立数据库连接 81

5.2.3 针对数据库执行命令 84

5.2.4 将数据库字段中的数据映射为数据列 91

5.2.5 创建数据表格内的列 93

5.2.6 数据关系 93

5.2.7 将数据插入表格中 94

5.2.8 数据集插入 98

5.2.9 将图像、文件或者BLOB存储在数据库中 99

5.2.10 从表格中读取图像 101

5.2.11 本地事务 101

5.3 ADO到ADO.NET再回到ADO 104

5.4 从数据表格转换为ADO 2.x记录集 107

5.5 .NET中的ADOX功能 109

5.5.1 服务器端的游标和事务处理 110

5.5.2 插入数据并且返回主键 110

5.6 数据集的可伸缩性:对于SQL和OleDb数据提供者的分析 111

5.6.1 数据读取器和数据集的可伸缩性 111

5.6.2 开放式数据库连接的影响 112

5.6.3 协同使用传统的ADO 2.x和.NET 112

5.7 数据类型 112

5.7.1 SqlTypes 113

5.7.2 OLE-DB和ODBC类型 114

5.8 小结 115

第6章 .NET组件 116

6.1 定义命名空间 116

6.2 创建程序集 117

6.2.1 程序集位置 118

6.2.2 程序集版本控制 119

6.2.3 程序集分布 119

6.3 清单 120

6.4 创建.NET组件 123

6.4.1 WinForm组件 123

6.4.2 Web组件 127

6.5 在应用程序中使用组件 129

6.5.1 WinForm应用程序 130

6.5.2 IIS应用程序 133

6.6 事务和性能 134

6.6.1 基于连接的事务 135

6.6.2 分布式事务 136

6.7 小结 137

第7章 与COM组件集成 138

7.1 COM和.NET互操作 138

7.1.1 通用的原则 138

7.1.2 范例中的差异 139

7.2 从.NET中调用COM 139

7.2.1 C#和Visual Basic .NET 139

7.2.2 ASP.NET 146

7.2.3 性能考虑因素 147

7.3 从COM中调用.NET组件 147

7.3.1 编写互操作的.NET组件 147

7.3.2 部署和注册 152

7.4 小结 154

第8章 线程处理和Windows服务 155

8.1 定义线程处理 155

8.2 了解进行线程处理的时机 156

8.2.1 算法与业务规则 156

8.2.2 线程处理的优势和限制 157

8.3 创建线程 157

8.3.1 System.Threading 158

8.3.2 从Win32到.NET 158

8.4 多线程的算法 160

8.5 使用Windows服务 165

8.5.1 服务背景 166

8.5.2 创建Windows服务 167

8.5.3 事件和服务 169

8.5.4 要监控的事件 171

8.5.5 将自定义命令发送到Windows服务 179

8.6 了解其他命名空间 181

8.6.1 FileSytemWatcher 181

8.6.2 网络请求 182

8.7 小结 183

第9章 消息排队集成 184

9.1 消息排队基础 184

9.1.1 同步操作 184

9.1.2 异步操作 184

9.1.3 什么是消息和队列 185

9.1.4 什么是MSMQ 185

9.1.5 发送数据 187

9.1.6 接收数据 188

9.1.7 队列 190

9.1.8 在.NET中使用MSMQ API 190

9.1.9 消息的编程API 190

9.1.10 MessageQueueAccessRights 198

9.1.11 MSMQ事务 199

9.2 小结 200

第Ⅲ部分 特定数据库伸缩问题 201

第10章 SQL Server 201

10.1 连接到SQL Server 201

10.2 SQL Data Provider 202

10.2.1 COM+和SQL Data Provider 203

10.2.2 利用SQL Data Provider连接入池 203

10.2.3 SQL Client事务 206

10.2.4 SQL客户程序代码示例 207

10.3 OLE-DB Data Provider 210

10.3.1 OLE-DB事务 212

10.3.2 OLE-DB客户代码示例 212

10.4 ODBC Data Provider 215

10.4.1 早期的API 216

10.4.2 ODBC Data Provider事务 216

10.5 .NET中的Classic ADO 2.x 220

10.5.1 无事务 220

10.5.2 手动事务 221

10.5.3 COM+分布式事务 222

10.6 其他通信方法 222

10.7 利用SQL Server的XML访问SQL 223

10.7.1 SqlXmlCommand方法 224

10.7.2 SqlXmlCommand属性 224

10.7.3 SqlXmlParameter 225

10.7.4 SqlXmlAdapter 225

10.8 SQL Server体系结构 225

10.8.1 网络/通信库 225

10.8.2 SQL Server引擎 226

10.8.3 锁定提示 228

10.8.4 锁定超时选项和死锁 229

10.8.5 主键信息 229

10.9 综合比较 235

10.9.1 关于测试应用程序 236

10.9.2 综合性能分析 236

10.10 索引优化 237

10.10.1 SQL Profiler 237

10.10.2 Index Tuning Wizard(ITW) 238

10.11 小结 240

第11章 Oracle 241

11.1 Oracle数据库平台 241

11.1.1 Oracle数据库企业版 241

11.1.2 Oracle数据库标准版 241

11.1.3 Oracle数据库个人版 242

11.1.4 Oracle数据库Lite版 242

11.2 Oracle数据库中的功能和术语 242

11.3 Oracle 9i数据库体系结构 242

11.3.1 Oracle实例 243

11.3.2 系统全局区域 243

11.3.3 后台进程 243

11.3.4 共享服务器体系结构 245

11.3.5 专用服务器配置 245

11.4 访问Oracle数据库 245

11.4.1 Oracle通信基础 246

11.4.2 用于Oracle的Microsoft OLE-DB Provider 247

11.4.3 用于Oracle的Microsoft ODBC Driver 248

11.4.4 Oracle OLE-DB驱动程序 249

11.4.5 Oracle ODBC驱动程序 251

11.4.6 主键 263

11.5 性能优化 271

11.5.1 调整SQL 272

11.5.2 索引和索引策略 279

11.5.3 实例和空间管理 281

11.6 小结 282

第12章 DB/2通用数据库 283

12.1 DB/2平台 283

12.1.1 用于Windows NT的DB/2 284

12.1.2 用于iSeries 400(AS/400)的DB/2 287

12.2 连接选项 290

12.2.1 IBM DB/2 OLE-DB驱动程序 290

12.2.2 IBM DB/2 ODBC驱动程序 292

12.3 使用ADO.NET和ADO 297

12.3.1 ADO.NET性能 297

12.3.2 ADO性能 298

12.4 连接类型对应用程序的影响 298

12.4.1 WinForm应用程序 298

12.4.2 N层WinForm应用程序 305

12.5 小结 313

第13章 MySQL 314

13.1 连接选项 315

13.1.1 MyODBC驱动程序 315

13.1.2 MyOLE-DB驱动程序 317

13.1.3 MySQL API 320

13.2 MySQL表类型 322

13.2.1 MyISAM表类型 323

13.2.2 Merger表类型 324

13.2.3 Heap表类型 324

13.2.4 InnoDB表类型 324

13.2.5 BDB 326

13.2.6 InnoDB和MyISAM表类型的比较 326

13.3 MySQL服务器状态 337

13.4 MySQL SQL的独特方面 339

13.4.1 MySQL没有的通用功能 339

13.4.2 在MySQL中的扩展 339

13.5 驱动程序对应用程序的作用 340

13.6 使用ADO 343

13.6.1 ADO.NET性能 343

13.6.2 ADO性能 346

13.7 处理MySQL瓶颈 346

13.7.1 表级锁定的影响 346

13.7.2 受限的事务支持的影响 347

13.7.3 分布式事务的影响 347

13.7.4 对象入池的影响 347

13.8 性能 347

13.9 小结 348

附录A Timesheet应用程序概述 350

A.1 底层数据库表 350

A.2 数据条目部分 351

A.3 雇员类型 352

A.4 Admin部分 352

A.5 小结 353

附录B 编程和开发命名标准 354

B.1 通用命名约定 354

B.2 数据库对象 356

B.3 组件和方法调用 356

B.4 数据库访问 357

B.5 命名空间的命名标准 357

B.6 Microsoft的命名规则 358

B.7 小结 358

附录C 资源 359

C.1 Scalability.NET 359

C.2 .NET资源 359

C.3 ASP.NET 359

C.4 C 360

C.5 Visual Basic .NET 360

C.6 SQL Server 360

C.7 Oracle资源 360

C.8 DB/2资源 361

C.9 MySQL资源 361