《关系数据库和SQL编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Christopher Allen,(美)Simon Chatwin,(美)Catherine A. Creary著;皮人杰,任鸿译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302118426
  • 页数:354 页
图书介绍:本书内容包括关系数据库基础知识,SQL基础知识、Oracle基础知识、实际编程示例。

第1章 关系数据库简介 1

1.1 数据库的确切定义 1

1.1.1 表 1

1.1.2 行/记录 2

1.1.3 列/字段 2

1.2 数据库和电子数据表的区别 3

1.2.1 多行 3

1.2.2 多用户同时访问 3

1.2.3 安全性 4

1.2.4 关联功能 4

1.2.5 确保数据质量的约束 5

1.2.6 案例分析——Clapham专营店 5

1.3 了解这些内容对您的帮助 6

1.3.1 开发软件 6

1.4 SQL的历史 7

1.3.4 更好地使用数据库 7

1.3.3 进行商业分析 7

1.3.2 作为数据库管理员 7

1.5 小结 8

1.6 练习 9

1.7 实践项目 12

第2章 存储和检索数据:基本操作 14

2.1 使用数据库的准备工作 14

2.1.2 插入记录 15

2.1.1 创建表 15

2.1.3 选择记录 16

2.1.4 删除表 16

2.2 创建表 18

2.2.1 表和列的命名原则 18

2.2.2 创建更复杂的表 23

2.2.3 确定表的结构 29

2.2.4 NULL和NOTNULL列 29

2.3 插入数据——补充方法 31

2.3.1 插入包含NULL值的记录 31

2.3.2 插入包含撇号的数据 35

2.4 查看表中的数据——补充方法 36

2.4.1 选择特定的列 36

2.4.2 修改列的顺序 36

2.4.3 使用表中的数据进行数学计算 37

2.4.4 连接两段或更多文本 39

2.4.5 将别名赋给对应的列 40

2.5 小结 42

2.6 练习 44

2.7 实践项目 48

第3章 执行高级数据操作 50

3.1 SQL命令分类 50

3.1.1 数据定义 51

3.1.2 数据操作 51

3.1.3 数据控制 51

3.1.4 数据检索 51

3.1.5 事务控制 51

3.2.1 根据数字过滤记录 52

3.2 限制选取的记录 52

3.2.2 根据文本过滤记录 56

3.2.3 根据日期过滤记录 58

3.3 按不同的顺序查看记录 60

3.3.1 单列排序 60

3.3.2 多列排序 60

3.4 显示惟一值 62

3.5 从DUAL表中选取数据 64

3.6 修改表中的数据 65

3.7 从表中删除记录 66

3.7.1 删除符合特定条件的行 66

3.7.2 删除所有行 67

3.8 事务控制 67

3.8.1 撤消DML事务 67

3.8.2 使数据对其他用户可见 71

3.8.3 隐式提交和显式提交 71

3.9 小结 73

3.10 练习 74

3.11 实践项目 78

第4章 控制SQL*Plus 79

4.1 编辑以前的命令 79

4.1.1 使用文本编辑器 79

4.1.2 单行编辑 81

4.2 复制和粘贴 83

4.3 清空SQL*Plus的屏幕 85

4.4 定制SQL*Plus的环境 85

4.4.1 使用SQL*Plus的菜单进行定制 85

4.4.2 使用命令进行定制 87

4.5 保存环境设置 87

4.6 提高输出的可读性 88

4.6.1 在SQL*Plus中格式化数字 88

4.6.2 在SQL*Plus中格式化文本 90

4.6.3 在SQL*Plus中格式化列标题 91

4.7 假脱机输出到磁盘 92

4.8.1 创建脚本文件 93

4.8 SQL脚本文件 93

4.8.2 运行脚本文件 94

4.8.3 在脚本文件中使用变量 95

4.9 小结 97

4.10 练习 98

4.11 实践项目 101

第5章 Oracle SQL内部函数 103

5.1 实现常用单行函数 103

5.1.1 系统变量 104

5.1.2 数值函数 107

5.1.3 文本函数 109

5.1.4 日期 120

5.1.5 数据转换 124

5.1.6 其他函数 132

5.2 常用分组函数 137

5.2.1 常用分组函数 137

5.2.2 使用GROUPBY子句对数据分组 139

5.2.3 使用HAVING子句包含和去除分组数据 140

5.3 小结 142

5.4 练习 143

5.5 实践项目 147

第6章 索引、连接和子查询 149

6.1 创建测试表 149

6.2 索引 152

6.2.1 数据库索引 152

6.2.2 创建索引的方法 153

6.3.1 B树索引 154

6.3 索引的类型 154

6.3.2 位图索引 156

6.3.3 位图索引与B树索引 157

6.3.4 基于函数的索引 157

6.4 何时使用索引 158

6.5 表之间的关系 160

6.5.1 使用SELECT语句进行多表联合查询 161

6.5.2 连接的类型 163

6.5.3 集合运算符 168

6.6.1 子查询的定义 171

6.6 子查询 171

6.6.2 子查询所能解决的问题 172

6.6.3 单行子查询 172

6.6.4 多行子查询 173

6.6.5 多列子查询 174

6.6.6 关联子查询 174

6.7 小结 175

6.8 练习 176

6.9 实践项目 180

第7章 编写PL/SQL程序 182

7.1 PL/SQL的定义 182

7.1.1 PL/SQL简介 186

7.1.2 PL/SQL、SQL和SQL*Plus的关系 186

7.1.3 存储过程、函-数和触发器 187

7.1.4 存储过程和SQL脚本 189

7.2 PL/SQL的块结构 189

7.2.2 声明部分 190

7.2.1 块头部分 190

7.2.3 执行部分 191

7.2.4 异常部分 191

7.3 创建一个简单的PL/SQL过程 192

7.4 PL/SQL变量和常量 194

7.4.1 PL/SQL变量的声明 194

7.4.2 声明PL/SQL常量 195

7.4.3 变量赋值 195

7.4.4 使用变量 196

7.5 PL/SQL的控制结构 197

7.5.1 IF语句 197

7.5.2 循环 199

7.5.3 游标 201

7.5.4 嵌套循环和游标应用示例 204

7.6 错误处理 207

7.6.1 异常 207

7.6.2 系统定义异常 207

7.6.3 程序员定义的异常 209

7.7 小结 210

7.8 练习 212

7.9 实践项目 216

第8章 解读数据模型 217

8.1 数据模型设计综述 217

8.1.1 数据模型设计的目的及其益处 218

8.1.2 关系完整性:质量数据 218

8.2.1 概念模型 219

8.2 数据模型的种类 219

8.2.2 逻辑数据模型 220

8.2.3 物理数据模型 220

8.3 实体-关系图 222

8.3.1 实体 222

8.3.2 属性 223

8.3.3 关系 224

8.3.4 基数与可选符号 226

8.4 小结 227

8.5 复习题 229

8.6 实践项目 232

第9章 数据库结构设计基础 234

9.1 业务规约:让数据告诉您该往哪走 234

9.2 数据库粒度选择 235

9.3 实体和属性 235

9.4 可靠地确定记录:主键 238

9.4.1 为什么需要主键 238

9.4.2 复合主键 238

9.4.3 自然主键与代理主键 239

9.4.4 关系:引用其他表的数据 241

9.5 常用数据模型标准 242

9.5.1 鱼尾纹(IE) 242

9.5.2 IDEF1X 243

9.6 关系:基数和可选性 245

9.6.1 一对多 245

9.6.2 多对多 246

9.6.3 一对一 247

9.6.4 可选性 248

9.6.5 依存关系:确定关系 248

9.6.6 递归关系与二元关系 249

9.7 多范畴建模:超类型和子类型 250

9.7.1 范畴、超类型和子类型 251

9.7.2 超/子类型的物理模型实现 252

9.8 小结 253

9.9 复习题 254

9.10 实践项目 257

第10章 数据库的规范化 258

10.1 规范化过程 258

10.2 依存关系 259

10.2.1 依存因子与决定因子 259

10.2.2 传递依存关系 259

10.3 第一范式、二范式、三范式 260

10.3.1 第一范式:消除重复组 261

10.3.2 第二范式:消除冗余数据 263

10.3.3 第三范式:消除非主键依存关系 264

10.4 在数据库模型设计中应用范式 265

10.5 第四范式、第五范式 266

10.5.1 第四范式:分离独立的多重关系 266

10.5.2 第五范式:分离语义关联的多重关系 267

10.6 合理地使用范式 269

10.7 数据异常 270

10.7.1 插入异常 270

10.7.2 删除异常 270

10.7.3 更新异常 270

10.7.4 遵守范式约束的代价 271

10.8 将逻辑模型转化为物理模型 271

10.8.1 数据库引擎的选择 271

10.8.2 术语转换 271

10.8.3 超/子类型的转换 272

10.9 小结 273

10.10 练习 274

10.11 实践项目 277

第11章 分析数据质量问题 279

11.1 数据类型与丢失数据:质量的基础 279

11.1.1 处理遗漏值 279

11.1.2 苹果和橘子:定义数据类型 280

11.1.3 选择数据类型 282

11.1.4 数据类型转换:弱类型和强类型 284

11.2 数据域:合法性检查 285

11.3.1 列约束 286

11.3 列和表约束 286

11.3.2 表约束 289

11.4 主键约束与索引 290

11.4.1 惟一性及其实现 290

11.4.2 候选键 292

11.4.3 其他索引 293

11.5 外键约束:引用其他表的数据 294

11.5.1 添加约束 294

11.5.2 基数和可选性的实现 296

11.5.3 级联效应 298

11.5.4 递归关系上的级联删除 300

11.5.4 级联的局限性 301

11.6 声明式关系完整性:优点和局限 306

11.6.1 声明式外键约束 306

11.6.2 触发器和过程代码 306

11.7 命名约束:令程序员更易理解 308

11.7.1 命名表和列 308

11.7.2 命名检查约束 309

11.7.3 命名外键约束 309

11.7.4 命名索引 309

11.8 小结 310

11.9 练习 311

11.10 实践项目 314

第12章 其他Oracle相关技术 316

12.1 表间数据传送 316

12.1.1 使用INSERT传送数据 319

12.1.2 在现有表的基础上创建新表 320

12.2 重命名表 321

12.3 修改表结构 322

12.3.1 添加列 322

12.3.2 修改列的数据类型 323

12.3.3 修改NULL选项 324

12.4 视图 325

12.4.1 创建视图 325

12.4.2 可更新视图 326

12.4.3 删除视图 327

12.4.4 回显记录个数的控制 328

12.5 其他数据库对象 334

12.5.1 序列 334

12.5.2 同义词 338

12.6 小结 340

12.7 练习 341

12.8 实践项目 344

术语表 345