自己动手设计数据库
作 者: Michael J. Hernandez(迈克尔·J·埃尔南德斯)著,盛杨燕 译
出版时间:2015
内容简介
《自己动手设计数据库》主要讲述数据库的设计,讨论了如何建立表结构、确定主键、设置字段说明、建立表关系、确立业务规则、建立视图和各层次的数据完整性,以及如何避免不好的设计等问题。《自己动手设计数据库》提供的是数据库设计的一种概念性思路,因此与市面上众多的同类书籍相比,《自己动手设计数据库》有两个比较鲜明的特点。第一,作者采用简单易懂的语言,尽量清晰、全面地描述关系数据库设计的整个过程,没有过多专业的术语和复杂的数据库设计方法学,因此《自己动手设计数据库》既适合专业人士参考之用,也适合给初学者、数据库设计爱好者充当从入门到进阶的重要读物。第二,作者高度重视数据库的逻辑设计,严格区分逻辑设计和实现阶段,以确保高效、成功地设计良好的数据库。
《自己动手设计数据库》适合数据库初学者、有经验的数据库开发人员,以及所有对数据库设计感兴趣的读者阅读参考。
目录
第1部分 关系数据库设计 1
第1章 关系数据库 2
本章内容 2
数据库的类型 3
早期数据库模型 4
层次数据库模型 4
网状数据库模型 7
关系数据库模型 10
检索数据 12
关系数据库的优势 13
关系数据库管理系统 14
后关系模型 16
未来将会如何 17
*后一点 17
小结 18
思考题 19
第2章 设计目标 20
本章内容 20
为什么要关注数据库设计 21
理论的重要性 22
学习优秀设计方法学的益处 23
优秀设计的目标 24
优秀设计的好处 25
数据库设计方法 25
传统设计方法 25
本书中所呈现的设计方法 27
规范化 27
小结 29
思考题 30
第3章 术语 31
本章内容 31
术语为何重要 32
关于值的术语 33
数据 33
信息 33
空值(null) 34
Null的值 35
Null所带来的问题 36
关于结构的术语 38
表 38
字段 40
记录 41
视图 42
键 43
索引 45
关于关系的术语 45
关系 45
关系类型 46
一对一关系 47
一对多关系 47
多对多关系 48
参与的类型 50
参与度 51
关于完整性的术语 52
字段说明 52
数据完整性 52
小结 53
思考题 54
第2部分 设计过程 57
第4章 概念性概述 58
本章内容 58
完成设计过程的重要性 59
明确宗旨和任务目标 60
分析现有数据库 60
创建数据结构 61
确定和建立表关系 62
确定和定义业务规则 63
确定和定义视图 63
审核数据完整性 64
小结 65
思考题 66
第5章 大幕开启 67
本章内容 67
开展访谈 68
参与者指南 69
采访者指南 70
案例分析:迈克自行车行 73
明确宗旨 74
优良的宗旨 74
制订宗旨 75
案例分析:为迈克自行车行制订宗旨 77
明确任务目标 78
优秀的任务目标 78
制订任务目标 79
案例分析:为迈克自行车行制订任务目标 82
小结 83
思考题 83
第6章 分析现有数据库 85
本章内容 85
了解现有数据库 85
纸质数据库 87
遗留数据库 88
开展分析 89
了解如何收集数据 89
了解如何呈现信息 92
开展访谈 95
基本访谈技巧 96
开始访谈之前 100
用户访谈 101
评审数据类型和用途 101
评审样本 102
评审信息要求 106
管理人员访谈 112
评审当前信息要求 112
评审附加信息要求 113
评审未来信息要求 113
评审总体信息要求 114
编辑完整字段列表 115
初始字段列表 115
计算字段列表 120
案例分析 121
小结 126
思考题 126
第7章 建立表结构 128
本章内容 128
定义初始表列表 129
确定隐含主题 129
使用主题列表 130
使用任务目标 134
定义*终表列表 136
改进表名称 137
指明表类型 140
编辑表描述 141
字段对应入表 145
精简字段 147
改进字段名称 147
使用理想字段解决异常现象 150
消除复合字段 152
消除多值字段 154
精简表结构 159
谈谈冗余数据和重复字段 159
参照理想表精简表结构 160
建立子集表 166
案例分析 170
小结 175
思考题 176
第8章 键 178
本章内容 178
键为何重要 179
为每个表建立键 179
候选键 179
主键 185
替换键 190
非键 191
表层次完整性 191
评审初始表结构 191
案例分析 192
小结 197
思考题 198
第9章 字段说明 199
本章内容 199
字段说明为何重要 200
字段级完整性 201
字段说明之剖析 202
一般元素 204
物理元素 209
逻辑元素 213
使用独特、通用和可复制的字段说明 219
定义每个字段的字段说明 225
案例分析 226
小结 228
思考题 229
第10章 表关系 231
本章内容 231
关系为何重要 232
关系的类型 233
一对一关系 234
一对多关系 235
多对多关系 237
自联结关系 244
识别现有关系 247
建立关系 255
一对一和一对多关系 255
多对多关系 260
自引用关系 265
评审表结构 269
改进所有外键 270
外键的要素 270
建立关系特征 275
为每个关系定义删除规则 275
识别每个表的参与类型 279
识别每个表的参与度 281
与用户和管理人员验证表关系 283
结语 284
关系层次完整性 284
案例分析 284
小结 289
思考题 290
第11章 业务规则 292
本章内容 292
什么是业务规则 293
业务规则类型 295
业务规则的分类 297
字段特有业务规则 297
关系特有业务规则 298
定义和建立业务规则 299
与用户和管理人员合作 299
定义和建立字段特有业务规则 300
定义和建立关系特有业务规则 307
验证表 312
什么是验证表 313
使用验证表支持业务规则 313
评审业务规则规范表 318
案例分析 318
小结 324
思考题 325
第12章 视图 326
本章内容 326
什么是视图 326
视图之剖析 328
数据视图 328
聚合视图 332
验证视图 335
确立视图 336
与用户和管理人员合作 336
定义视图 337
评审每个视图的文档记录 345
案例分析 345
小结 349
思考题 350
第13章 评审数据完整性 351
本章内容 351
为什么要评审数据完整性 352
评审和改进数据完整性 352
表层次完整性 353
字段级完整性 353
关系层次完整性 353
业务规则 354
视图 354
汇编数据库文档 355
大功告成 356
案例分析——总结 356
小结 356
第3部分 其他数据库设计事项 357
第14章 设计不当——禁忌事项 358
本章内容 358
平面文件设计 359
电子表格设计 360
摒弃电子表格视图思维定式 361
基于数据库软件设计数据库 362
*后一点想法 363
小结 364
第15章 打破规则 365
本章内容 365
何种情况下可以打破规则 365
设计分析型数据库 366
提升处理性能 366
提升性能**其他方式 367
记录行动 368
小结 369
结束语 370
第4部分 附录 373
附录A 思考题答案 374
附录B 数据库设计过程中的示意图 392
附录C 设计指南 409
附录D 文档形式 417
附录E 数据库设计示意图符号 421
附录F 设计样本 423
附录G 关于规范化 430
附录H 推荐书目 437
术语表 439
参考文献 452