本书由浅入深、由点到面地介绍了基于Linux操作系统的数据库编程技术。本书不仅从理论上做了生动透彻的讲述,并且所给出的实例也是非常经典的。
本书首先讲述了Linux操作系统和数据库技术的基本概念,然后依次介绍了Linux下的几种常用数据库(oracle、Informix和MySQL)的基础知识。在此基础上,循序渐进地讲解了oracle数据库的SQL编程技术,最后介绍了 oracle数据库在 PL/SQL高级编程方面的内容。书中列举的所有实例都已在 Red Hat Linux 7.0环境下测试通过。
本书主要面向希望学习在Linux系统下进行数据库编程的初中级用户,同时也适合用作相关的Linux培训教材。
第1章 Linux基础 \r\n\r\n1.1 系统介绍 \r\n1.1.1 Linux的特性综述 \r\n1.1.2 涉及Linux的Web网址和新闻讨论组 \r\n1.2 Red Hat Linux基本安装 \r\n1.2.1 了解Linux的硬件要求 \r\n1.2.2 了解计算机 \r\n1.2.3 对硬盘进行分区 \r\n1.2.4 什么是LILO \r\n1.2.5 制作安装软盘\r\n1.2.6 用Linux启动计算机 \r\n1.2.7 从光盘安装Red Hat Linux \r\n1.2.8 选择安装类型 \r\n1.2.9 定制(Custom)安装 \r\n1.2.10 从FTP安装Red Hat Linux \r\n1.3 小结与练习 \r\n1.3.1 小结 \r\n1.3.2 习题与思考 \r\n\r\n第2章 数据库基础 \r\n\r\n2.1 数据库基本概念 \r\n2.1.1 数据与数据库 \r\n2.1.2 数据库管理系统\r\n2.1.3 数据库语言 \r\n2.1.4 数据库系统 \r\n2.2 数据模型 \r\n2.2.1 数据模型的三要素 \r\n2.2.2 主要数据模型 \r\n2.3 数据库系统的结构\r\n2.3.1 数据库系统三级模式结构 \r\n2.3.2 数据独立性 \r\n2.3.3 数据库操作过程 \r\n2.4 小结与练习 \r\n2.4.1 小结 \r\n2.4.2 习题与思考 \r\n\r\n第3章 Linux上安装Oracle8i \r\n\r\n3.1 基本概念 \r\n3.1.1 系统全局区域 \r\n3.1.2 程序全局区域 \r\n3.1.3 表空间 \r\n3.1.4 数据文件\r\n3.1.5 区 \r\n3.1.6 段 \r\n3.1.7 控制文件 \r\n3.1.8 重做日志 \r\n3.1.9 回退段 \r\n3.1.10 参数文件 \r\n3.1.11 版本标识符\r\n3.1.12 PL/SQL \r\n3.1.13 模式 \r\n3.2 系统需求\r\n3.2.1 硬件需求 \r\n3.2.2 磁盘空间需求 \r\n3.2.3 操作系统软件需求 \r\n3.2.4 工具和预编译器 \r\n3.3 预备安装 \r\n3.4 安装Oracle8i \r\n3.5 安装后设置 \r\n3.5.1 SYS和SYSTEM账号 \r\n3.5.2 参数文件的配置 \r\n3.5.3 检查数据库安全性\r\n3.5.4 自动启动及关闭 \r\n3.5.5 网络配置 \r\n3.6 小试牛刀 \r\n3.6.1 启动和关闭数据库 \r\n3.6.2 创建账号 \r\n3.6.3 简单的SQL*PLUS应用 \r\n3.7 小结与练习 \r\n3.7.1 小结 \r\n3.7.2 练习与思考 \r\n\r\n第4章 在Linux上安装Informix \r\n\r\n4.1 Informix数据库产品介绍\r\n4.1.1 数据库服务器 \r\n4.1.2 应用开发工具 \r\n4.1.3 网络连接软件 \r\n4.2 Informix Online Dynamic Server的安装 \r\n4.2.1 软件的获取 \r\n4.2.2 创建Linux环境 \r\n4.2.3 实际安装 \r\n4.2.4 关于Informix的数据文件 \r\n4.3 配置 \r\n4.3.1 $INFORMIXDIR/etc/$ONCONFIG \r\n4.3.2 $INFORMIXDIR/etc/sqlhosts \r\n4.3.3 其他连接性文件 \r\n4.3.4 /opt/data/rootdbs \r\n4.3.5 利用oninit启动并初始化数据库服务器 \r\n4.3.6 终止引擎 \r\n4.4 小结与练习 \r\n4.4.1 小结 \r\n4.4.2 习题与思考 \r\n\r\n第5章 在Linux上安装MySQL \r\n\r\n5.1 MySQL简介 \r\n5.2 安装MySQL \r\n5.2.1 MySQL安装包的获取 \r\n5.2.2 使用何种版本 \r\n5.2.3 安装布局 \r\n5.2.4 安装MySQL二进制分发包 \r\n5.2.5 安装MySQL源代码分发包 \r\n5.2.6 安装后的操作和链接测试\r\n5.3 启动和关闭MySQL服务器 \r\n5.4 小结和练习 \r\n5.4.1 小结 \r\n5.4.2 练习与思考 \r\n\r\n第6章 Oracle数据库编程 \r\n\r\n6.1 数据库 \r\n6.1.1 表空间\r\n6.1.2 数据文件 \r\n6.2 数据库实例 \r\n6.3 Oracle数据库的逻辑结构 \r\n6.3.1 表 \r\n6.3.2 视图\r\n6.3.3 索引\r\n6.3.4 同义词 \r\n6.3.5 权限及角色 \r\n6.3.6 簇 \r\n6.3.7 快照\r\n6.3.8 序列\r\n6.4 Oracle数据库的内存结构 \r\n6.4.1 系统全局区 \r\n6.4.2 程序全局区 \r\n6.5 Oracle数据库的进程结构 \r\n6.5.1 服务器端后台进程 \r\n6.5.2 Oracle特定的进程结构 \r\n6.6 Oracle数据库的外部结构 \r\n6.6.1 重做日志 \r\n6.6.2 控制文件 \r\n6.6.3 跟踪文件与警告日志 \r\n6.7 小结与练习 \r\n6.7.1 小结 \r\n6.7.2 习题与思考 \r\n\r\n第7章 开始Oracle编程 \r\n\r\n7.1 术语 \r\n7.2 两种类型的SQL语言 \r\n7.2.1 DDL \r\n7.2.2 DML \r\n7.3 SQL*PLUS入门 \r\n7.3.1 一个简单例子\r\n7.3.2 数据类型 \r\n7.3.3 创建语句 \r\n7.3.4 描述语句 \r\n7.3.5 插入语句 \r\n7.3.6 查询语句 \r\n7.3.7 where子句\r\n7.4 数值型数据 \r\n7.5 字符型数据 \r\n7.6 日期性数据 \r\n7.6.1 日期型函数\r\n7.6.2 特殊格式的日期型数据 \r\n7.6.3 日期运算 \r\n7.7 表列数据类型转换 \r\n7.8 Update、Delete和Alter等语句 \r\n7.8.1 update语句 \r\n7.8.2 delete语句 \r\n7.8.3 alter语句 \r\n7.9 连接两个表 \r\n7.10 格式化输出\r\n7.10.1 页和行的大小 \r\n7.10.2 页头标 \r\n7.10.3 页脚标 \r\n7.10.4 将SQL*Plus结果写到文件中 \r\n7.10.5 格式化输出表列 \r\n7.11 小结与练习 \r\n7.11.1 小结 \r\n7.11.2 习题与思考 \r\n\r\n第8章 创建和修改表 \r\n\r\n8.1 基本CREATE TABLE语句 \r\n8.1.1 表名 \r\n8.1.2 列名 \r\n8.2 权限要求\r\n8.3 表的存储空间 \r\n8.3.1 STORAGE子句\r\n8.3.2 其他存储参数\r\n8.3.3 表的位置 \r\n8.3.4 表的重建 \r\n8.4 描述表定义 \r\n8.4.1 DESC \r\n8.4.2 系统表\r\n8.5 修改表 \r\n8.5.1 修改列定义 \r\n8.5.2 修改存储参数\r\n8.5.3 分配区间 \r\n8.6 改变表名 \r\n8.7 拷贝表 \r\n8.8 删除表 \r\n8.8.1 简单删除 \r\n8.8.2 删除带约束的表 \r\n8.9 小结与练习 \r\n8.9.1 小结 \r\n8.9.2 习题与思考 \r\n\r\n第9章 修改表数据 \r\n\r\n9.1 简单介绍 \r\n9.2 INSERT语句\r\n9.2.1 插入单行\r\n9.2.2 插入多行\r\n9.3 UPDATE语句\r\n9.4 DELETE语句\r\n9.5 在语句中使用函数 \r\n9.6 TRUNCATE语句 \r\n9.7 修改数据和权限\r\n9.7.1 系统权限 \r\n9.7.2 对象级权限\r\n9.8 小结与练习 \r\n9.8.1 小结 \r\n9.8.2 习题与思考 \r\n\r\n第10章 Oracle基本查询 \r\n\r\n10.1 准备工作 \r\n10.2 一般的句法格式 \r\n10.3 使用表达式、条件和操作符 \r\n10.3.1 表达式 \r\n10.3.2 条件 \r\n10.3.3 操作符\r\n10.4 使用DISTINCTION查询 \r\n10.5 使用特殊的伪列 \r\n10.5.1 sequence.CURRVAL和sequence.NEXTVAL \r\n10.5.2 ROWID \r\n10.5.3 ROWNUM\r\n10.5.4 UID和USER \r\n10.6 使用空值查询\r\n10.7 小结与练习 \r\n10.7.1 小结 \r\n10.7.2 习题与思考 \r\n\r\n第11章 查询中的SQL子句 \r\n\r\n11.1 ORDER BY子句 \r\n11.2 GROUP BY子句 \r\n11.3 HAVING子句 \r\n11.4 复合子句 \r\n11.5 小结与练习\r\n11.5.1 小结 \r\n11.5.2 习题与思考 \r\n\r\n第12章 连接表 \r\n\r\n12.1 单个SELECT语句中的多重表 \r\n12.2 相等连接 \r\n12.3 不等连接 \r\n12.4 表自身的连接 \r\n12.5 小结与练习 \r\n12.5.1 小结 \r\n12.5.2 习题与思考 \r\n\r\n第13章 子查询 \r\n\r\n13.1 子查询 \r\n13.2 在子查询中使用聚集函数 \r\n13.3 嵌套子查询 \r\n13.4 相关子查询 \r\n13.5 使用EXISTS,ANY和ALL \r\n13.5.1 EXISTS关键字 \r\n13.5.2 ANY关键字 \r\n13.5.3 ALL关键字 \r\n13.6 小结与练习 \r\n13.6.1 小结 \r\n13.6.2 习题与思考 \r\n\r\n第14章 其他数据库对象 \r\n\r\n14.1 使用其他数据库对象的优点 \r\n14.1.1 简化数据访问 \r\n14.1.2 提高性能 \r\n14.1.3 灵活性 \r\n14.2 视图 \r\n14.2.1 简单视图 \r\n14.2.2 概括数据 \r\n14.2.3 视图与安全性 \r\n14.2.4 用视图简化复杂查询 \r\n14.2.5 删除视图——DROP VIEW语句 \r\n14.3 索引 \r\n14.3.1 创建索引 \r\n14.3.2 删除索引 \r\n14.4 簇 \r\n14.4.1 索引簇 \r\n14.4.2 散列簇 \r\n14.4.3 删除簇中的表 \r\n14.4.4 簇的优缺点 \r\n14.5 同义词 \r\n14.5.1 私有同义词 \r\n14.5.2 公共同义词 \r\n14.6 序列 \r\n14.7 小结与练习 \r\n14.7.1 小结 \r\n14.7.2 习题与思考 \r\n\r\n第15章 数据库安全性 \r\n\r\n15.1 Oracle用户 \r\n15.1.1 创建用户 \r\n15.1.2 修改用户 \r\n15.1.3 删除用户 \r\n15.2 用户权限 \r\n15.2.1 系统级权限 \r\n15.2.2 对象级权限 \r\n15.3 角色 \r\n15.3.1 角色的作用 \r\n15.3.2 创建、修改和删除角色 \r\n15.3.3 给角色授权 \r\n15.3.4 授予和收回角色 \r\n15.3.5 预定义角色 \r\n15.3.6 允许和禁止角色 \r\n15.3.7 与角色有关的数据字典视图 \r\n15.4 配置文件 \r\n15.4.1 缺省配置文件 \r\n15.4.2 创建、修改和删除配置文件 \r\n15.4.3 赋予配置文件 \r\n15.4.4 激活资源配置 \r\n15.5 小结与练习 \r\n15.5.1 小结 \r\n15.5.2 习题与思考 \r\n\r\n第16章 PL/SQL介绍及开发环境 \r\n\r\n16.1 引入PL/SQL语言 \r\n16.1.1 PL/SQL与网络传输 \r\n16.1.2 PL/SQL标准 \r\n16.2 PL/SQL的特点 \r\n16.2.1 PL/SQL的基本特点 \r\n16.2.2 PL/SQL的高级功能 \r\n16.2.3 PL/SQL内置包 \r\n16.3 本篇的约定 \r\n16.3.1 PL/SQL和Oracle数据库版本说明 \r\n16.3.2 Oracle数据库文档 \r\n16.4 本篇案例使用的通用数据库表 \r\n16.5 小结与练习 \r\n16.5.1 小结 \r\n16.5.2 习题与思考 \r\n\r\n第17章 PL/SQL开发和运行环境 \r\n\r\n17.1 应用模式和PL/SQL \r\n17.1.1 两层模式 \r\n17.1.2 三层模式 \r\n17.2 PL/SQL 开发工具介绍 \r\n17.3 小结与练习 \r\n17.3.1 小结 \r\n17.3.2 习题与思考 \r\n\r\n第18章 PL/SQL基础 \r\n\r\n18.1 PL/SQL块 \r\n18.2 词法单位 \r\n18.2.1 标识符 \r\n18.2.2 分界符 \r\n18.2.3 文字 \r\n18.2.4 注释 \r\n18.3 变量声明\r\n18.3.1 声明变量 \r\n18.3.2 变量初始化\r\n18.4 PL/SQL类型 \r\n18.4.1 标量类型 \r\n18.4.2 复合类型 \r\n18.4.3 引用类型 \r\n18.4.4 LOB类型 \r\n18.4.5 %TYPE \r\n18.4.6 用户定义子类型 \r\n18.4.7 在数据类型之间进行转换 \r\n18.5 表属性 \r\n18.6 表达式和运算符 \r\n18.6.1 赋值 \r\n18.6.2 表达式\r\n18.7 PL/SQL程序控制结构 \r\n18.7.1 条件语句 \r\n18.7.2 循环语句 \r\n18.8 PL/SQL的编程风格 \r\n18.8.1 注释风格 \r\n18.8.2 变量名风格\r\n18.8.3 大写风格 \r\n18.8.4 缩进风格 \r\n18.8.5 常见风格 \r\n18.9 小结与练习 \r\n18.9.1 小结 \r\n18.9.2 习题与思考 \r\n\r\n第19章 PL/SQL中的SQL \r\n\r\n19.1 在PL/SQL中使用SQL \r\n19.1.1 SQL语句 \r\n19.1.2 SELECT \r\n19.1.3 INSERT \r\n19.1.4 UPDATE \r\n19.1.5 DELETE \r\n19.1.6 事务控制\r\n19.1.7 COMMIT和ROLLBACK \r\n19.1.8 SAVEPOINT \r\n19.2 内置SQL函数 \r\n19.2.1 字符函数 \r\n19.2.2 字符函数-返回数字值 \r\n19.2.3 数值函数 \r\n19.2.4 日期函数 \r\n19.2.5 转换函数 \r\n19.2.6 分组函数 \r\n19.2.7 其他函数 \r\n19.3 小结与练习 \r\n19.3.1 小结 \r\n19.3.2 习题与思考 \r\n\r\n第20章 游标 \r\n\r\n20.1 什么是游标 \r\n20.1.1 处理显式游标 \r\n20.1.2 处理隐式游标 \r\n20.2 游标提取循环 \r\n20.2.1 简单循环 \r\n20.2.2 WHILE循环和FOR循环 \r\n20.2.3 SELECT FOR UPDATE游标 \r\n20.3 游标变量 \r\n20.3.1 声明游标变量 \r\n20.3.2 打开查询的游标变量 \r\n20.3.3 关闭游标变量 \r\n20.4 小结与练习 \r\n20.4.1 小结 \r\n20.4.2 习题与思考 \r\n\r\n第21章 子程序和包 \r\n\r\n21.1 过程和函数 \r\n21.1.1 创建子程序\r\n21.1.2 过程和函数的撤消 \r\n21.1.3 子程序参数 \r\n21.1.4 过程与函数的比较 \r\n21.2 包 \r\n21.2.1 包的说明 \r\n21.2.2 包体 \r\n21.2.3 包和作用域 \r\n21.2.4 包的初始化 \r\n21.3 小结与练习 \r\n21.3.1 小结 \r\n21.3.2 习题与思考 \r\n\r\n第22章 触发器 \r\n\r\n22.1 触发器的类型 \r\n22.1.1 DML触发器 \r\n22.1.2 替代触发器\r\n22.1.3 系统触发器\r\n22.2 创建触发器 \r\n22.2.1 创建DML触发器 \r\n22.3 触发器与数据字典\r\n22.3.1 数据字典视图 \r\n22.3.2 删除和禁止触发器 \r\n22.4 变异表 \r\n22.4.1 变异表示例 \r\n22.4.2 变异表错误的处理 \r\n22.5 小结与练习 \r\n22.5.1 小结 \r\n22.5.2 习题与思考 \r\n\r\n第23章 异常 \r\n\r\n23.1 什么是异常 \r\n23.1.1 声明异常 \r\n23.1.2 异常触发 \r\n23.1.3 异常处理 \r\n23.2 异常的传播过程 \r\n23.2.1 执行部分引发的异常 \r\n23.2.2 声明部分引发的异常 \r\n23.2.3 在异常处理部分引发的异常 \r\n23.3 小结与练习 \r\n23.3.1 小结 \r\n23.3.2 习题与思考 \r\n\r\n第24章 动态PL/SQL \r\n\r\n24.1 概述 \r\n24.1.1 静态和动态SQL \r\n24.1.2 DBMS_SQL概述 \r\n24.2 执行非查询DML和DDL语句 \r\n24.2.1 打开游标 \r\n24.2.2 分析语句 \r\n24.2.3 联编输入变量 \r\n24.2.4 执行语句 \r\n24.2.5 关闭游标 \r\n24.2.6 执行DDL语句 \r\n24.3 执行查询 \r\n24.3.1 分析语句\r\n24.3.2 定义输出变量 \r\n24.3.3 提取行 \r\n24.3.4 将结果返回给PL/SQL变量 \r\n24.4 执行PL/SQL \r\n24.4.1 分析语句 \r\n24.4.2 检索输出变量的取值 \r\n24.5 小结与练习 \r\n24.5.1 小结 \r\n24.5.2 习题与思考 \r\n\r\n附录 部分习题参考答案
近年来, 数据库技术得到越来越普遍的应用.与此同时, Linux操作系统不断成熟, 基于 Linux系统的优良性能也逐渐体现出来.很多企业和网站使用了“ Linux十数据库”的模式, 越来越多的用户开始学习在Linux下的Oracle编程.可以说, Linux与数据库的结合已经成为一种不可逆转的趋势.
当前比较流行的数据库主要有Oracle.Informix.MySQL等, 其中Oracle数据库是使用最为普遍的一种数据库技术.本书是作者参照了部分国外最新的相关知识, 结合了大量的实例, 并加以作者自己的切身体会, 精心打造而成的.即便读者对 LinuX和数据库一无所知, 只要按照书中的指导学习, 相信会有很大的收获.
本书系统地介绍了“ Linux十数据库”的开发模式.本书从最基本的 Linux和数据库的知识讲起, 以理论结合实例的方法, 由浅入深地讲述了Linux下数据库编程的内容.第1章.第2章分别讲述了Linux的入门知识和数据库的基本概念, 第3章.第4章.第5章讲述了Linux下常用的几种数据库的安装使用方法, 第6章~第15章循序渐进地讲解了Oracle数据库的SQL编程技术, 第16章一第24章介绍了Oracle数据库PL/SQL高级编程的内容.
本书每章均附有“习题与思考”, 书后的附录中列有部分习题参考答案, 以便读者练习掌握所学的知识.
本书配有光盘.光盘内容包括程序源代码, 部分习题参考答案, 雨人科技技术支持文档等.
本书由雨人科技策划, 刘少锋同志负责全书的设计.统稿和修改, 并编写了第1章.第3章.第7章和第16章以后的部分, 其余章节由朱晶同志完成.此外, 参加本书编写的还有姜云峰.刘馨宇等同志.在此对所有关心.支持和帮助过本书编写工作的同志表示诚挚的谢意!
书中不足之处敬请读者指正, 以便再版时修订.
联系邮件地址: yurennet@263.net
雨人科技网站:www.yurennet.com