《数据库设计解决方案入门经典》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)RodStephens著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302215967
  • 页数:434 页
图书介绍:本书内容:如何确定满足用户需求的数据库要求,了解不同类型的数据库的技巧,包括关系数据库、平面文件、电子表格、XML和对象数据库,便于维护和技术支持的设计方法。

第Ⅰ部分 数据库和数据库设计介绍 3

第1章 有效数据库设计的目标 3

1.1理解数据库设计的重要性 3

1.2信息容器 5

1.3信息容器的优缺点 6

1.4理想的数据库特性 7

1.4.1 CRUD 8

1.4.2检索 8

1.4.3一致性 9

1.4.4有效性(验证) 9

1.4.5轻松的纠错 10

1.4.6速度 10

1.4.7原子事务处理 11

1.4.8 ACID 11

1.4.9持久性和备份 13

1.4.10低成本和可扩充性 14

1.4.11易用性 14

1.4.12便携性 14

1.4.13安全性 15

1.4.14共享 16

1.4.15 执行复杂计算的能力 16

1.4.16良好设计和拙劣设计对应的结果 16

1.5本章小结 18

1.6练习 18

第2章 数据库类型 21

2.1为何多此一举 21

2.2平面文件 22

2.2.1 INI文件 23

2.2.2 Windows系统注册表 24

2.3关系数据库 25

2.4电子数据表 27

2.5分级数据库 28

2.6 XML 31

2.6.1 XML基础知识 31

2.6.2 XML结构 34

2.6.3 XML小结 36

2.7网络 37

2.8对象 39

2.9对象关系 39

2.10特殊类型的数据库 40

2.10.1面向文档的数据库 40

2.10.2演绎数据库 41

2.10.3维度(或空间)数据库 41

2.10.4时态数据库 41

2.11本章小结 42

2.12练习 43

第3章 关系数据库基础知识 45

3.1关系视角 45

3.2表、行和列 46

3.3关系、属性和元组 47

3.4键 48

3.5索引 49

3.6约束 50

3.6.1基本约束 50

3.6.2检查约束 50

3.6.3主键约束 51

3.6.4唯一(性)约束 51

3.6.5外键约束 51

3.7数据库操作 52

3.8本章小结 54

3.9练习 54

第Ⅱ部分 数据库设计过程和技术 59

第4章 了解用户需求 59

4.1制定计划 60

4.2拿出一个问题清单 60

4.2.1功能 61

4.2.2数据需求 61

4.2.3数据完整性 61

4.2.4安全性 62

4.2.5环境 62

4.3与客户会面 63

4.4了解重要人物 64

4.5向客户请教 66

4.6设身处地为用户着想 67

4.7调研现行业务 68

4.8集体讨论 68

4.9考虑未来 69

4.10搞清客户的思维过程 69

4.11了解客户真正的需求 71

4.12区分优先次序 71

4.13证实了解的情况 72

4.14撰写需求文档 73

4.15编制用例 74

4.16确定可行性 77

4.17本章小结 77

4.18练习 78

第5章 将用户需求转换成数据模型 81

5.1数据模型的概念 82

5.2用户界面模型 83

5.3语义对象模型 87

5.3.1类和对象 87

5.3.2基数 87

5.3.3标识符 88

5.3.4组合在一起 88

5.3.5语义视图 90

5.3.6 类的类型 91

5.3.7评论与注释 95

5.4实体关系模型 96

5.4.1实体、属性和标识符 96

5.4.2关系 97

5.4.3基数 98

5.4.4继承 99

5.4.5补充约定 100

5.4.6评论和注释 101

5.5关系模型 102

5.5.1转换语义对象模型 102

5.5.2转换ER图 104

5.6本章小结 105

5.7练习 105

第6章 提取业务规则 107

6.1业务规则的概念 107

6.2识别重要的业务规则 108

6.3提取重要的业务规则 113

6.4多层应用程序 114

6.5本章小结 117

6.6练习 118

第7章 规范化数据 121

7.1规范化的概念 121

7.2第一范式(INF) 122

7.3第二范式(2NF) 129

7.4第三范式(3NF) 133

7.5止步于第三范式 136

7.6 Boyce-Codd范式(BCNF) 136

7.7第四范式(4NF) 139

7.8第五范式(5NF) 143

7.9域/键范式(DKNF) 146

7.10必要的冗余 148

7.11最佳的规范化级别 149

7.12本章小结 149

7.13练习 150

第8章 设计数据库以支持软件应用程序 153

8.1提前规划 153

8.2将所有事项记录在案 154

8.3考虑多层体系结构 154

8.4将域转换成表 155

8.5重视表 156

8.6使用三种表 156

8.7使用命名约定 158

8.8允许冗余数据 159

8.9不要包罗万象 159

8.10本章小结 160

8.11练习 161

第9章 常见的设计模式 163

9.1关联 163

9.1.1多对多关联 163

9.1.2多个多对多关联 164

9.1.3多对象关联 165

9.1.4重复的属性关联 168

9.1.5自反关联 169

9.2时间数据 175

9.2.1有效日期 175

9.2.2被删除的对象 176

9.2.3时效化部分数据 177

9.3事件记录和锁定 177

9.3.1审计跟踪 178

9.3.2全程记录 178

9.4本章小结 179

9.5练习 179

第10章 常见的设计陷阱 181

10.1缺乏准备 181

10.2拙劣的文档编制 182

10.3拙劣的命名标准 182

10.4欠缺思考 183

10.5没有考虑变化 184

10.6规范化泛滥 186

10.7规范化不足 186

10.8测试不够 187

10.9过分担忧性能 187

10.10把表混杂在一起 188

10.11不强制执行约束 190

10.12对ID感到困扰 191

10.13没有定义自然键 193

10.14本章小结 193

10.15练习 194

第Ⅲ部分 详尽的案例分析 199

第11章 用户需要和要求 199

11.1满足客户需求 199

11.2了解客户的想法 201

11.2.1确定系统应该实现的功能 201

11.2.2确定项目应该呈现的样式 202

11.2.3确定用户界面需要的数据 203

11.2.4确定数据的来源 204

11.2.5确定数据段关联的方式 204

11.2.6决定性能需求 206

11.2.7确定安全需求 206

11.2.8确定数据完整性要求 207

11.3编写用例 209

11.4编写需求文档 212

11.5要求反馈 213

11.6本章小结 213

11.7练习 214

第12章 构建数据模型 215

12.1语义对象模型 215

12.1.1构建初始的语义对象模型 215

12.1.2改进语义对象模型 217

12.2实体关系建模 219

12.2.1构建ER图 219

12.2.2构建组合ER图 221

12.2.3改进实体关系图 222

12.3关系建模 224

12.4将所有关系整合在一起 226

12.5本章小结 227

12.6练习 228

第13章 提取业务规则 229

13.1识别业务规则 229

13.1.1 Courses 230

13.1.2 CustomerCourses 232

13.1.3 Customers 232

13.1.4 Pets 232

13.1.5 Employees 232

13.1.6 Orders 232

13.1.7 OrderItems 233

13.1.8 Inventoryltems 233

13.1.9 TimeEntries 233

13.1.10 Shifts 234

13.1.11 Persons 234

13.1.12 Phones 234

13.1.13 Vendors 234

13.2绘制新的关系模型 234

13.3本章小结 235

13.4练习 235

第14章 规范化和优化 237

14.1提高灵活性 237

14.2验证第一范式 239

14.3验证第二范式 242

14.3.1 Pets 242

14.3.2 TimeEntries 243

14.4验证第三范式 244

14.5本章小结 246

14.6练习 246

第Ⅳ部分 实现数据库(以Access和MySQL中的示例为例讲解) 251

第15章 Microsoft Access 251

15.1了解Access 251

15.2启动Access 252

15.3定义关系 255

15.4创建字段约束 259

15.5创建表约束 260

15.6创建查询 261

15.6.1查询设计视图 264

15.6.2 SQL视图 266

15.7本章小结 267

15.8练习 267

第16章 MySQL 271

16.1安装MySQL 271

16.2使用MySQL命令行客户端 272

16.3执行SQL脚本 275

16.4使用MySQL Query Browser 276

16.4.1执行查询 278

16.4.2编辑数据 278

16.4.3创建并修改数据库 280

16.4.4使用脚本 283

16.4.5获取语法帮助 285

16.5使用MySQL Workbench 286

16.5.1加载脚本 286

16.5.2创建EER图 287

16.5.3编辑数据库 288

16.5.4定义触发器 289

16.5.5导出脚本 291

16.6本章小结 292

16.7练习 293

第V部分 高级主题 297

第17章 SQL简介 297

17.1背景介绍 297

17.2获取更多的信息 298

17.3标准 298

17.4基本的语法 299

17.5命令概述 300

17.6 CREATE TABLE 301

17.7 CREATE INDEX 307

17.8 DROP 307

17.9 INSERT 308

17.10 SELECT 309

17.10.1 SELECT子句 309

17.10.2 FROM子句 310

17.10.3 WHERE子句 313

17.10.4 GROUP BY子句 313

17.10.5 ORDER BY子句 314

17.11 UPDATE子句 315

17.12 DELETE语句 316

17.13本章小结 316

17.14练习 317

第18章 使用SQL脚本来构建数据库 321

18.1使用脚本的原因 321

18.2脚本分类 321

18.2.1数据库创建脚本 321

18.2.2基本的初始化脚本 322

18.2.3数据初始化脚本 322

18.2.4清理脚本 322

18.2.5保存脚本 323

18.3整理SQL命令的次序 323

18.4本章小结 328

18.5练习 328

第19章 数据库维护 331

19.1备份 331

19.2数据仓库 334

19.3修复数据库 334

19.4压缩数据库 334

19.5性能调整 335

19.6本章小结 337

19.7练习 338

第20章 数据库安全 339

20.1适当的安全性级别 339

20.2口令 339

20.2.1单口令数据库 339

20.2.2个人口令 340

20.2.3操作系统口令 340

20.2.4好的口令 341

20.3权限 342

20.4初始的配置和权限 347

20.5过多的安全性 347

20.6物理安全 348

20.7本章小结 349

20.8练习 350

附录A练习题答案 351

附录B 数据库设计样例 407

术语表 425