图书目录

第1篇  关系数据库设计技术

第1章  关系模型和关系型数据库管理系统 3

1.1  问题的引出 3

1.2  关系模型 5

1.2.1  关系模型的数据结构 5

1.2.2  关系模型的数据操作 7

1.2.3  关系模型的数据约束 12

1.3  关系型数据库管理系统RDBMS 14

第2章  范式及其对数据库设计的指导意义 16

2.1  问题的引出 16

2.2  范式理论概述 17

2.3  1NF及对实践的指导意义 19

2.3.1  1NF的最常见的表述及认识上的误区 19

2.3.2  1NF另一种表述和全面理解1NF 20

2.4  函数依赖 21

2.5  2NF及对实践的指导意义 22

2.6  3NF及对实践的指导意义 23

2.7  BCNF——扩充的第三范式 25

2.8  范式应用实例分析 26

2.8.1  正确理解1NF——树结点的数据表设计 26

2.8.2  3NF在实践中的应用问题 29

2.9  范式的局限——对冗余的进一步讨论 33

2.9.1  范式无法消除的冗余——计算列问题 33

2.9.2  范式无法消除的其他冗余 34

2.9.3  突破范式限制 36

2.9.4  冗余的代价 37

2.9.5  小结 38

第3章  数据库静态结构设计和实现 39

3.1  概念模型一般概念 39

3.1.1  概念模型的两个要素 39

3.1.2  实体关系图 42

3.1.3  概念模型向关系模型转换的方法和规则 43

3.1.4  确定实体属性的重要规则 44

3.2  PowerDesigner概述 44

3.2.1  概念数据模型CDM概述 45

3.2.2  CDM分析设计的一般流程 45

3.2.3  建立CDM的一般操作 47

3.3  实体——域、数据项和属性 48

3.3.1  域 48

3.3.2  数据项 49

3.3.3  实体 51

3.4  实体之间的关系 53

3.4.1  关系 54

3.4.2  关联和关联连接 59

3.4.3  小结 60

3.5  继承 61

3.6  概念数据模型实例分析 63

3.6.1  单据的概念数据模型 63

3.6.2  考勤系统的概念数据模型 64

3.6.3  商品多供应商问题的概念数据模型 66

3.6.4  单据相关人员的概念数据模型 67

3.7  物理数据模型PDM 72

3.8  数据库的建立 76

第2篇  SQL程序设计

第4章  查询语句和视图 81

4.1  单表查询 81

4.2  数据源中数据表的各种连接 86

4.2.1  交叉连接和内连接 87

4.2.2  外连接 88

4.2.3  自连接 90

4.2.4  外连接条件和选择条件 90

4.3  子查询及其逻辑运算符 92

4.4  关系集合运算的实现 94

4.4.1  并运算 95

4.4.2  交和差运算 95

4.4.3  除运算 96

4.5  视图 98

4.6  典型查询实例分析 101

4.6.1  不同选择条件的聚合列的查询 101

4.6.2  一行数据归属多个分组的查询 106

4.6.3  分组列值最大(小)值所在行的查询 112

4.6.4  交叉表的查询 114

4.6.5  汇总表的查询 117

4.7  查询语句小结 124

第5章  修改语句及其子查询的运用 126

5.1  插入行 126

5.1.1  插入单行 126

5.1.2  插入子查询结果 127

5.2  更新行 127

5.2.1  简单的更新 128

5.2.2  WHERE条件带子查询的更新 128

5.2.3  表达式包含子查询的更新 129

5.3  删除行 131

第6章  数据库中数据的安全控制 133

6.1  问题的引出 133

6.2  用户和角色 135

6.3  授权和回收 137

6.4  视图机制控制用户的权限 138

6.4.1  单个基表的视图 139

6.4.2  多个基表的视图 140

6.4.3  通过视图修改基表的应用意义 142

第7章  数据库行为特征设计——SQL程序设计 144

7.1  SQL程序基础 144

7.1.1  批处理 145

7.1.2  变量的声明和使用 146

7.1.3  流程控制语句 149

7.2  函数和表达式 151

7.2.1  表达式和标准函数 151

7.2.2  自定义函数——标量函数 160

7.2.3  表值函数 162

7.3  存储过程 166

7.3.1  存储过程的创建和调用 166

7.3.2  存储过程实例分析——月初库存的生成 169

7.4  触发器 181

7.4.1  创建触发器 181

7.4.2  触发器应用实例 182

7.5  临时表和表变量 187

7.6  游标 193

7.6.1  游标及游标变量的声明 193

7.6.2  打开游标 195

7.6.3  移动游标指针并取得当前行数据 195

7.6.4  关闭和释放游标 196

7.6.5  使用游标实例 196

7.7  事务 200

7.7.1  事务定义方法及基本特性 200

7.7.2  加锁 204

7.7.3  隔离级别 207

7.7.4  SQL Server的事务管理模式 210

7.7.5  事务应用实例 211

第3篇  数据库应用程序界面和中间层设计

第8章  数据库应用程序开发技术概述 215

8.1  数据库应用系统的体系结构 216

8.2  可视化程序设计概述 218

8.3  可视化程序设计实例 218

8.4  数据存取技术 221

第9章  C/S结构在线式数据库应用程序设计 224

9.1  数据库应用程序界面设计需求 224

9.2  Delphi简介 225

9.2.1  Delphi集成开发环境 225

9.2.2  Object Pascal语言概要 227

9.3  界面设计 228

9.4  建立数据模块(Data Module) 230

9.5  控件数据和数据表数据的同步 233

9.5.1  设置属性建立同步 233

9.5.2  数据同步机制解析 234

9.6  实现按钮功能的程序 235

9.7  计算列的计算程序 238

9.8  报表的设计和输出 239

9.9  数据表的打开和窗口的创建 241

9.10  小结 242

第10章  C/S结构断开式数据库应用程序设计 244

10.1  ADO.NET 244

10.2  数据库应用程序界面设计需求 245

10.3  创建项目和界面控件设置 246

10.4  程序方式实现界面控件与数据库数据的交互 248

10.4.1  控件和数据库数据的交互机制概述 249

10.4.2  连接、加载和简单绑定——学生信息的显示 249

10.4.3  详细讲述绑定 251

10.4.4  DataGrid和Relation——学生选课及成绩的显示 258

10.4.5  进一步探究dataSet 260

10.4.6  把dataSet数据存入数据库——保存功能的实现 264

10.4.7  尝试断开式连接的有效性 269

10.5  数据集及绑定的可视化设计和实现 269

10.5.1  类型化和非类型化dataSet 269

10.5.2  构建类型化dataSet 270

10.5.3  设置控件的绑定属性 271

10.6  报表设计 271

10.6.1  水晶报表(Crystal Report)概述 271

10.6.2  简单报表——学生基本信息表 272

10.6.3  使用子报表——学生成绩单格式一 277

10.6.4  运用主从关系——学生成绩单格式二 279

第11章  B/S多层架构入门 281

11.1  基础准备 281

11.1.1  安装JDK 281

11.1.2  安装Eclipse和MyEclipse 282

11.1.3  安装和启动Weblogic 282

11.1.4  在MyEclipse中配置Weblogic 283

11.1.5  SQL Server的设置和安装JDBC 284

11.2  开始第一个程序 284

11.2.1  JDBC连接池 285

11.2.2  配置Data Source和JNDI技术 286

11.2.3  编写Java应用程序 287

11.2.4  编译Java应用程序 288

11.2.5  运行Java应用程序 289

11.2.6  在MyEclispe中运行程序 290

11.2.7  Java应用程序的存储结构 291

11.3  J2EE和EJB简述 293

11.4  实用的用户验证需求 294

11.5  无状态SessionBean——用户验证和密码修改 295

11.5.1  创建和部署无状态SessionBean 296

11.5.2  客户端调用SessionBean 300

11.5.3  增加修改用户密码的方法 307

11.6  有状态SessionBean--保留用户信息 311

11.6.1  创建有状态SessionBean 311

11.6.2  JSP调用有状态的SessionBean 314

11.6.3  有状态和无状态SessionBean特点 317

11.7  EntityBean——修改密码 320

11.7.1  EntityBean——不包含主键类 320

11.7.2  EntityBean——包含主键类 323

11.7.3  Java程序测试EntityBean 326

11.8  常见错误及处理 333

附录A  DEMO数据库中数据表结构及数据 335

附录B  完整的Delphi程序 339

附录C  完整的C#窗口Frm_Std_Grade程序 345

附录D  CrystalReport设计界面 363

附录E  MyEclipse中实例项目清单 365

参考文献 368