Introduction to relational databases and SQL programming

副标题:无

作   者:(美)Christopher Allen,(美)Simon Chatwin,(美)Catherine A. Creary著;皮人杰,任鸿译

分类号:

ISBN:9787302118428

微信扫一扫,移动浏览光盘

简介

通过关系数据库,您可以将大量杂乱无章的信息转换为有序、彼此关联的数据。本书详细介绍了关系数据库的基本概念,并教会您如何存储、访问并处理数据,以及如何使用SQL和PL/SQL。本书以Oracle 9i为示例工具,提供了大量动手练习和指导,并通过贯穿全书始末的安全(Clapham Specialty商店)来帮助读者实际应用所学的内容。 本书特色: 章首指明学习目标,让学生做到有的放矢;章尾提供内容小结和术语,帮助学生总结所学内容。 每章各小节之间穿插有“小测试”,以帮助学生及时做到温故知新。 章尾提供了大量练习题,并采用填空、简答、多项选择等形式,确保学生深入理解全书内容。 全书图文并茂,并提供了内容详尽的动手练习和贯穿全书始末的案例研究,便于学生更直观地理解数据库的概念,并在实践中提高自己的编程水平。

目录

第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.3.2 作为数据库管理员 7

1.3.3 进行商业分析 7

1.3.4 更好地使用数据库 7

1.4 sql的历史 7

1.5 小结 8

1.6 练习 9

.1.7 实践项目 12

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

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

2.1.1 创建表 15

2.1.2 插入记录 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和not null列 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 限制选取的记录 52

3.2.1 根据数字过滤记录 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 sql脚本文件 93

4.8.1 创建脚本文件 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 使用group by子句对数据分组 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 索引的类型 154

6.3.1 b树索引 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 子查询 171

6.6.1 子查询的定义 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.1 块头部分 190

7.2.2 声明部分 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 数据模型的种类 219

8.2.1 概念模型 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 列和表约束 286

11.3.1 列约束 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


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Introduction to relational databases and SQL programming
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon