第1章 Linux基础 1.1 系统介绍 1.1.1 Linux的特性综述 1.1.2 涉及Linux的Web网址和新闻讨论组 1.2 Red Hat Linux基本安装 1.2.1 了解Linux的硬件要求 1.2.2 了解计算机 1.2.3 对硬盘进行分区 1.2.4 什么是LILO 1.2.5 制作安装软盘1.2.6 用Linux启动计算机 1.2.7 从光盘安装Red Hat Linux 1.2.8 选择安装类型 1.2.9 定制(Custom)安装 1.2.10 从FTP安装Red Hat Linux 1.3 小结与练习 1.3.1 小结 1.3.2 习题与思考 第2章 数据库基础 2.1 数据库基本概念 2.1.1 数据与数据库 2.1.2 数据库管理系统2.1.3 数据库语言 2.1.4 数据库系统 2.2 数据模型 2.2.1 数据模型的三要素 2.2.2 主要数据模型 2.3 数据库系统的结构2.3.1 数据库系统三级模式结构 2.3.2 数据独立性 2.3.3 数据库操作过程 2.4 小结与练习 2.4.1 小结 2.4.2 习题与思考 第3章 Linux上安装Oracle8i 3.1 基本概念 3.1.1 系统全局区域 3.1.2 程序全局区域 3.1.3 表空间 3.1.4 数据文件3.1.5 区 3.1.6 段 3.1.7 控制文件 3.1.8 重做日志 3.1.9 回退段 3.1.10 参数文件 3.1.11 版本标识符3.1.12 PL/SQL 3.1.13 模式 3.2 系统需求3.2.1 硬件需求 3.2.2 磁盘空间需求 3.2.3 操作系统软件需求 3.2.4 工具和预编译器 3.3 预备安装 3.4 安装Oracle8i 3.5 安装后设置 3.5.1 SYS和SYSTEM账号 3.5.2 参数文件的配置 3.5.3 检查数据库安全性3.5.4 自动启动及关闭 3.5.5 网络配置 3.6 小试牛刀 3.6.1 启动和关闭数据库 3.6.2 创建账号 3.6.3 简单的SQL*PLUS应用 3.7 小结与练习 3.7.1 小结 3.7.2 练习与思考 第4章 在Linux上安装Informix 4.1 Informix数据库产品介绍4.1.1 数据库服务器 4.1.2 应用开发工具 4.1.3 网络连接软件 4.2 Informix Online Dynamic Server的安装 4.2.1 软件的获取 4.2.2 创建Linux环境 4.2.3 实际安装 4.2.4 关于Informix的数据文件 4.3 配置 4.3.1 $INFORMIXDIR/etc/$ONCONFIG 4.3.2 $INFORMIXDIR/etc/sqlhosts 4.3.3 其他连接性文件 4.3.4 /opt/data/rootdbs 4.3.5 利用oninit启动并初始化数据库服务器 4.3.6 终止引擎 4.4 小结与练习 4.4.1 小结 4.4.2 习题与思考 第5章 在Linux上安装MySQL 5.1 MySQL简介 5.2 安装MySQL 5.2.1 MySQL安装包的获取 5.2.2 使用何种版本 5.2.3 安装布局 5.2.4 安装MySQL二进制分发包 5.2.5 安装MySQL源代码分发包 5.2.6 安装后的操作和链接测试5.3 启动和关闭MySQL服务器 5.4 小结和练习 5.4.1 小结 5.4.2 练习与思考 第6章 Oracle数据库编程 6.1 数据库 6.1.1 表空间6.1.2 数据文件 6.2 数据库实例 6.3 Oracle数据库的逻辑结构 6.3.1 表 6.3.2 视图6.3.3 索引6.3.4 同义词 6.3.5 权限及角色 6.3.6 簇 6.3.7 快照6.3.8 序列6.4 Oracle数据库的内存结构 6.4.1 系统全局区 6.4.2 程序全局区 6.5 Oracle数据库的进程结构 6.5.1 服务器端后台进程 6.5.2 Oracle特定的进程结构 6.6 Oracle数据库的外部结构 6.6.1 重做日志 6.6.2 控制文件 6.6.3 跟踪文件与警告日志 6.7 小结与练习 6.7.1 小结 6.7.2 习题与思考 第7章 开始Oracle编程 7.1 术语 7.2 两种类型的SQL语言 7.2.1 DDL 7.2.2 DML 7.3 SQL*PLUS入门 7.3.1 一个简单例子7.3.2 数据类型 7.3.3 创建语句 7.3.4 描述语句 7.3.5 插入语句 7.3.6 查询语句 7.3.7 where子句7.4 数值型数据 7.5 字符型数据 7.6 日期性数据 7.6.1 日期型函数7.6.2 特殊格式的日期型数据 7.6.3 日期运算 7.7 表列数据类型转换 7.8 Update、Delete和Alter等语句 7.8.1 update语句 7.8.2 delete语句 7.8.3 alter语句 7.9 连接两个表 7.10 格式化输出7.10.1 页和行的大小 7.10.2 页头标 7.10.3 页脚标 7.10.4 将SQL*Plus结果写到文件中 7.10.5 格式化输出表列 7.11 小结与练习 7.11.1 小结 7.11.2 习题与思考 第8章 创建和修改表 8.1 基本CREATE TABLE语句 8.1.1 表名 8.1.2 列名 8.2 权限要求8.3 表的存储空间 8.3.1 STORAGE子句8.3.2 其他存储参数8.3.3 表的位置 8.3.4 表的重建 8.4 描述表定义 8.4.1 DESC 8.4.2 系统表8.5 修改表 8.5.1 修改列定义 8.5.2 修改存储参数8.5.3 分配区间 8.6 改变表名 8.7 拷贝表 8.8 删除表 8.8.1 简单删除 8.8.2 删除带约束的表 8.9 小结与练习 8.9.1 小结 8.9.2 习题与思考 第9章 修改表数据 9.1 简单介绍 9.2 INSERT语句9.2.1 插入单行9.2.2 插入多行9.3 UPDATE语句9.4 DELETE语句9.5 在语句中使用函数 9.6 TRUNCATE语句 9.7 修改数据和权限9.7.1 系统权限 9.7.2 对象级权限9.8 小结与练习 9.8.1 小结 9.8.2 习题与思考 第10章 Oracle基本查询 10.1 准备工作 10.2 一般的句法格式 10.3 使用表达式、条件和操作符 10.3.1 表达式 10.3.2 条件 10.3.3 操作符10.4 使用DISTINCTION查询 10.5 使用特殊的伪列 10.5.1 sequence.CURRVAL和sequence.NEXTVAL 10.5.2 ROWID 10.5.3 ROWNUM10.5.4 UID和USER 10.6 使用空值查询10.7 小结与练习 10.7.1 小结 10.7.2 习题与思考 第11章 查询中的SQL子句 11.1 ORDER BY子句 11.2 GROUP BY子句 11.3 HAVING子句 11.4 复合子句 11.5 小结与练习11.5.1 小结 11.5.2 习题与思考 第12章 连接表 12.1 单个SELECT语句中的多重表 12.2 相等连接 12.3 不等连接 12.4 表自身的连接 12.5 小结与练习 12.5.1 小结 12.5.2 习题与思考 第13章 子查询 13.1 子查询 13.2 在子查询中使用聚集函数 13.3 嵌套子查询 13.4 相关子查询 13.5 使用EXISTS,ANY和ALL 13.5.1 EXISTS关键字 13.5.2 ANY关键字 13.5.3 ALL关键字 13.6 小结与练习 13.6.1 小结 13.6.2 习题与思考 第14章 其他数据库对象 14.1 使用其他数据库对象的优点 14.1.1 简化数据访问 14.1.2 提高性能 14.1.3 灵活性 14.2 视图 14.2.1 简单视图 14.2.2 概括数据 14.2.3 视图与安全性 14.2.4 用视图简化复杂查询 14.2.5 删除视图——DROP VIEW语句 14.3 索引 14.3.1 创建索引 14.3.2 删除索引 14.4 簇 14.4.1 索引簇 14.4.2 散列簇 14.4.3 删除簇中的表 14.4.4 簇的优缺点 14.5 同义词 14.5.1 私有同义词 14.5.2 公共同义词 14.6 序列 14.7 小结与练习 14.7.1 小结 14.7.2 习题与思考 第15章 数据库安全性 15.1 Oracle用户 15.1.1 创建用户 15.1.2 修改用户 15.1.3 删除用户 15.2 用户权限 15.2.1 系统级权限 15.2.2 对象级权限 15.3 角色 15.3.1 角色的作用 15.3.2 创建、修改和删除角色 15.3.3 给角色授权 15.3.4 授予和收回角色 15.3.5 预定义角色 15.3.6 允许和禁止角色 15.3.7 与角色有关的数据字典视图 15.4 配置文件 15.4.1 缺省配置文件 15.4.2 创建、修改和删除配置文件 15.4.3 赋予配置文件 15.4.4 激活资源配置 15.5 小结与练习 15.5.1 小结 15.5.2 习题与思考 第16章 PL/SQL介绍及开发环境 16.1 引入PL/SQL语言 16.1.1 PL/SQL与网络传输 16.1.2 PL/SQL标准 16.2 PL/SQL的特点 16.2.1 PL/SQL的基本特点 16.2.2 PL/SQL的高级功能 16.2.3 PL/SQL内置包 16.3 本篇的约定 16.3.1 PL/SQL和Oracle数据库版本说明 16.3.2 Oracle数据库文档 16.4 本篇案例使用的通用数据库表 16.5 小结与练习 16.5.1 小结 16.5.2 习题与思考 第17章 PL/SQL开发和运行环境 17.1 应用模式和PL/SQL 17.1.1 两层模式 17.1.2 三层模式 17.2 PL/SQL 开发工具介绍 17.3 小结与练习 17.3.1 小结 17.3.2 习题与思考 第18章 PL/SQL基础 18.1 PL/SQL块 18.2 词法单位 18.2.1 标识符 18.2.2 分界符 18.2.3 文字 18.2.4 注释 18.3 变量声明18.3.1 声明变量 18.3.2 变量初始化18.4 PL/SQL类型 18.4.1 标量类型 18.4.2 复合类型 18.4.3 引用类型 18.4.4 LOB类型 18.4.5 %TYPE 18.4.6 用户定义子类型 18.4.7 在数据类型之间进行转换 18.5 表属性 18.6 表达式和运算符 18.6.1 赋值 18.6.2 表达式18.7 PL/SQL程序控制结构 18.7.1 条件语句 18.7.2 循环语句 18.8 PL/SQL的编程风格 18.8.1 注释风格 18.8.2 变量名风格18.8.3 大写风格 18.8.4 缩进风格 18.8.5 常见风格 18.9 小结与练习 18.9.1 小结 18.9.2 习题与思考 第19章 PL/SQL中的SQL 19.1 在PL/SQL中使用SQL 19.1.1 SQL语句 19.1.2 SELECT 19.1.3 INSERT 19.1.4 UPDATE 19.1.5 DELETE 19.1.6 事务控制19.1.7 COMMIT和ROLLBACK 19.1.8 SAVEPOINT 19.2 内置SQL函数 19.2.1 字符函数 19.2.2 字符函数-返回数字值 19.2.3 数值函数 19.2.4 日期函数 19.2.5 转换函数 19.2.6 分组函数 19.2.7 其他函数 19.3 小结与练习 19.3.1 小结 19.3.2 习题与思考 第20章 游标 20.1 什么是游标 20.1.1 处理显式游标 20.1.2 处理隐式游标 20.2 游标提取循环 20.2.1 简单循环 20.2.2 WHILE循环和FOR循环 20.2.3 SELECT FOR UPDATE游标 20.3 游标变量 20.3.1 声明游标变量 20.3.2 打开查询的游标变量 20.3.3 关闭游标变量 20.4 小结与练习 20.4.1 小结 20.4.2 习题与思考 第21章 子程序和包 21.1 过程和函数 21.1.1 创建子程序21.1.2 过程和函数的撤消 21.1.3 子程序参数 21.1.4 过程与函数的比较 21.2 包 21.2.1 包的说明 21.2.2 包体 21.2.3 包和作用域 21.2.4 包的初始化 21.3 小结与练习 21.3.1 小结 21.3.2 习题与思考 第22章 触发器 22.1 触发器的类型 22.1.1 DML触发器 22.1.2 替代触发器22.1.3 系统触发器22.2 创建触发器 22.2.1 创建DML触发器 22.3 触发器与数据字典22.3.1 数据字典视图 22.3.2 删除和禁止触发器 22.4 变异表 22.4.1 变异表示例 22.4.2 变异表错误的处理 22.5 小结与练习 22.5.1 小结 22.5.2 习题与思考 第23章 异常 23.1 什么是异常 23.1.1 声明异常 23.1.2 异常触发 23.1.3 异常处理 23.2 异常的传播过程 23.2.1 执行部分引发的异常 23.2.2 声明部分引发的异常 23.2.3 在异常处理部分引发的异常 23.3 小结与练习 23.3.1 小结 23.3.2 习题与思考 第24章 动态PL/SQL 24.1 概述 24.1.1 静态和动态SQL 24.1.2 DBMS_SQL概述 24.2 执行非查询DML和DDL语句 24.2.1 打开游标 24.2.2 分析语句 24.2.3 联编输入变量 24.2.4 执行语句 24.2.5 关闭游标 24.2.6 执行DDL语句 24.3 执行查询 24.3.1 分析语句24.3.2 定义输出变量 24.3.3 提取行 24.3.4 将结果返回给PL/SQL变量 24.4 执行PL/SQL 24.4.1 分析语句 24.4.2 检索输出变量的取值 24.5 小结与练习 24.5.1 小结 24.5.2 习题与思考 附录 部分习题参考答案