出版时间:2010-6 出版社:清华大学出版社 作者:赵廷涛,刘冰,孙兴文,刘涛 编著 页数:518
Tag标签:无
前言
随着计算机技术的应用与发展,大量信息的涌现,人们对数据存储和管理的需求也越来越高。数据库的应用已经深入到人们生产和生活的各个方面,被广泛地应用在Internet网站、搜索引擎、电子商务等诸多领域。从庞大的数据中心到可放于掌心中的嵌入式设备,数据库的身影随处可见。 Linux是目前最流行的操作系统之一,很多数据库厂商积极地把原有的数据库产品移植到Linux平台上,比如Oracle、Sybase、MySQL、PostgreSQL等。MySQL以其开放源代码、性能高效稳定、多用户/多线程等特性获得“世界最受欢迎的开放源代码数据库”称号。如果要建立一个性能优良且又低成本的数据库系统,Linux+MySQL无疑是最佳选择。本书主要以MySQL为例,深入细致地讲解Linux下的数据库开发技术。 作者基于多年数据库的开发经验,精心组织编写了本书,集学习与实用性于一体,通俗易懂,力求帮助每一个编程爱好者快速掌握和精通Linux平台下的数据库开发技术。 本书以基础讲解和案例开发为主,共分为16章。 第1章介绍Linux基础,说明Linux操作系统的起源和发展历程,以及如何使用Linux。 第2~3章介绍数据库基础知识,SQL查询语言等,以及Linux下的MySQL数据库开发环境配置。 第4~8章对MySQL数据库系统进行深入细致的讲解,涉及到查询优化、安全管理等多方面内容。 第9章主要介绍如何使用可视化管理工具进行数据库的管理和维护,提高数据库开发效率。 第10章介绍如何使用MySQL提供的丰富的数据接口与其他应用程序进行连接,主要有C、PHP、Java以及Python等。 第11章介绍Linux应用程序开发基础,讲解Linux下进行应用程序开发的基础知识,包括Ot开发、网络应用程序开发、Web开发等。 第12~14章是案例开发,讲解如何编写基于Linux下的数据库应用程序,其中每一章对应于一个示例,分别为分布式数据包采集系统、分布式网址采集系统以及基于Qt的局域网聊天工具等。 第15~16章讲解当前流行的嵌入式数据库,包括嵌入式数据的原理、流行的嵌入式数据库、BerkeleyDB及SO、Lite的使用与开发等内容。 本书专注于实践,提供了大量丰富的应用型例子,很多源代码都有很强的现实参考意义,甚至能做到不加修改就可以在实际工程环境下使用。 本书是由赵廷涛、刘冰、孙兴义、刘涛编写。刘冰负责编写第1、2、5、6、12、13、14、15、16等9章,刘涛参与其中第1、2两章部分内容的编写;孙兴义负责编写本书的7、8两章;其他章节由赵廷涛编写。
内容概要
本书全面、深入地讲解Linux下的数据库开发技术,既涵盖理论基础,又囊括案例开发,既包括Linux操作系统和数据库技术的基础知识,又详细介绍MySQL数据库的安装/配置、查询优化、安全管理及MySQL可视化管理工具的使用,并对几种典型的数据库连接技术,如C、PHP、Java以及Python等代码都有较为全面的展示。后面的开发案例部分细致讲解分布式数据包抓取系统、实时网页信息抓取系统、Qt在线聊天系统、嵌入式数据库等,覆盖了比较广泛的技术层面。本书立足于丰富的实践,是作者多年开发经验的结晶。其中关于应用软件、Web系统、内存数据库等大量丰富的应用型例子,具有很高的实用价值。 本书适合在Linux系统下进行数据库编程的开发人员学习和参考,也可供高校计算机相关专业的本科生和研究生参考和使用。
书籍目录
第1章 Linux基础 1.1 Linux概述 1.1.1 什么是Linux 1.1.2 Linux的常见版本 1.2 Linux的特性 1.3 Linux的安装 1.3.1 安装准备 1.3.2 VMware的安装 1.3.3 Linux加载与启动 1.3.4 SSHClient的安装 1.3.5 远程连接的配置 1.4 Linux使用 1.4.1 Linux的基本组成 1.4.2 Linux文件系统结构 1.4.3 Linux的常用命令 1.5 流行Linux站点 1.6 本章小结 1.7 习题 第2章 Linux下的数据库 2.1 数据库概述 2.1.1 什么是数据库 2.1.2 数据库的特点 2.1.3 数据库的历史 2.1.4 数据库基本原理 2.2 常见的数据库 2.2.1 Linux下的数据库 2.2.2 Oracle数据库 2.2.3 PostgreSQL数据库 2.2.4 DB2数据库 2.2.5 MySQL数据库 2.3 MySQL数据库 2.3.1 MySQL分发包 2.3.2 MySQL的安装 2.3.3 MySQL的基本配置 2.4 MySQL的基本使用 2.4.1 MySQL的基本命令 2.4.2 一个员工信息数据库示例 2.5 本章小结 2.6 习题 第3章 SQL语言基础 3.1 SQL概述 3.2 数据库操作 3.2.1 创建数据库 3.2.2 删除数据库 3.3 表的操作 3.3.1 创建表 3.3.2 修改表 3.3.3 删除表 3.4 记录的操作 3.4.1 插入记录 3.4.2 更新记录 3.4.3 删除记录 3.5 查询 3.6 学生选课系统数据库设计示例 3.6.1 系统分析 3.6.2 逻辑设计 3.6.3 实施 3.7 本章小结 3.8 习题 第4章 MySQL高级语法 4.1 视图操作 4.1.1 什么是视图 4.1.2 视图的语法 4.1.3 视图的使用 4.2 触发器操作 4.2.1 什么是触发器 4.2.2 触发器的语法 4.2.3 触发器的使用 4.3 存储过程操作 4.3.1 什么是存储过程 4.3.2 存储过程的语法 4.3.3 存储过程的使用 4.4 索引 4.4.1 什么是索引 4.4.2 索引的语法 4.4.3 索引的使用 4.5 事务与锁 4.5.1 什么是事务 4.5.2 事务的语法 4.5.3 事务的使用 4.6 数据类型 4.6.1 数值数据类型 4.6.2 字符串数据类型 4.6.3 日期和时间类型 4.7 本章小结 4.8 习题 第5章 MySQL查询技术 5.1 MySQL运算符 5.1.1 比较运算符 5.1.2 逻辑运算符 5.1.3 算术运算符 5.2 MySQL函数 5.2.1 字符串操作函数 5.2.2 控制函数 5.2.3 数学函数 5.2.4 时间与日期函数 5.2.5 加密函数 5.3 查询技术 5.3.1 查询案例 5.3.2 统计查询 5.3.3 排序与分类 5.3.4 日期查询 5.4 复杂查询 5.4.1 案例扩展 5.4.2 多表查询 5.4.3 嵌套查询 5.5 本章小结 5.6 习题 第6章 MySQL的管理 6.1 MySQL权限管理 6.1.1 权限原理 6.1.2 用户管理 6.1.3 grant语句 6.1.4 show grants语句 6.1.5 revoke语句 6.2 数据导入与导出 6.2.1 数据导入 6.2.2 数据导出 6.3 复制技术 6.3.1 表与数据复制 6.3.2 表结构复制 6.3.3 记录复制 6.4 备份与恢复 6.4.1 利用mysqldump 6.4.2 利用SQL语句 6.4.3 利用backup语句 6.5 本章小结 6.6 习题 第7章 MySQL常见问题解答 7.1 MySQL安装常见问题 7.1.1 操作系统的注意事项 7.1.2 MySQL版本的选择 7.1.3 MySQL安装过程中的常见问题 7.2 MySQL运行维护常见问题 7.3 MySQL配置常见问题 7.3.1 MySQL的配置方式 7.3.2 MySQL的具体配置 7.4 MySQL安全常见问题 7.4.1 设置密码的问题 7.4.2 忘记MySQL密码的问题 7.4.3 用户权限设定 7.4.4 创建MySQL用户 7.5 优化常见问题 7.5.1 MyISAM存储引擎的优化 7.5.2 InnoDB存储引擎的优化 7.6 本章小结 7.7 习题 第8章 MySQL高级特性 8.1 MySQL的存储引擎 8.1.1 存储引擎简介 8.1.2 MyISAM引擎原理 8.1.3 InnoDB引擎原理 8.1.4 MyISAM与InnoDB存储引擎的关系 8.2 MySQL的锁机制 8.2.1 锁简介 8.2.2 锁分类 8.2.3 如何利用锁进行性能优化 8.3 本章小结 8.4 习题 第9章 可视化工具的使用 9.1 常用的可视化工具 9.2 phpMyAdmin 9.2.1 phpMyAdmin介绍 9.2.2 phpMyAdmin的安装 9.2.3 phpMyAdmin的配置 9.2.4 phpMyAdmin运行测试 9.3 phpMyAdmin的基本使用 9.3.1 phpMyAdmin功能简介 9.3.2 phpMyAdmin数据库与数据表操作 9.3.3 数据库用户权限的设置 9.4 一个微博客的数据库设计示例 9.4.1 微博客的概念 9.4.2 微博客数据库设计 9.4.3 实现并测试 9.5 本章小结 9.6 习题 第10章 MySQL连接技术 10.1 MySQL数据库连接概述 10.2 C语言API 10.2.1 C API数据类型 10.2.2 C API预处理 10.2.3 MySQL数据库连接函数 10.2.4 数据操作函数 10.2.5 关闭连接 10.2.6 应用示例 10.3 PHP语言API 10.3.1 PHP数据库连接概述 10.3.2 PHP连接MySQL数据库 10.3.3 数据操作 10.3.4 关闭连接 10.3.5 应用示例 10.4 Python语言API 10.4.1 Python数据库连接概述 10.4.2 MySQL数据库的连接 10.4.3 数据操作 10.4.4 关闭连接 10.4.5 应用示例 10.5 Java语言API 10.5.1 Java和JDBC概述 10.5.2 使用JDBC连接MySQL数据库 10.5.3 数据操作 10.5.4 关闭连接 10.5.5 应用示例 10.6 本章小结 10.7 习题 第11章 Linux应用程序开发基础 11.1 Linux程序开发概述 11.2 Qt开发基础 11.2.1 Qt简介 11.2.2 Qt基础 11.2.3 常用的Qt类与控件 11.2.4 使用Qt Creator开发Qt程序 11.3 网络应用开发基础 11.3.1 网络编程基础 11.3.2 TCP/IP协议 11.3.3 套接字 11.4 Linux下的Web开发 11.4.1 Web开发简介 11.4.2 PHP开发基础 11.4.3 JSP开发基础 11.5 本章小结 11.6 习题 第12章 分布式数据包抓取系统 12.1 入侵检测系统 12.1.1 什么是入侵检测系统 12.1.2 入侵检测系统的组成 12.1.3 入侵检测系统的产品 12.2 需求描述 12.2.1 基本功能 12.2.2 技术难点 12.3 Libpcap库的使用 12.3.1 Libpcap简介 12.3.2 Libpcap的安装与使用 12.3.3 工作原理介绍 12.4 系统的架构 12.4.1 模块划分 12.4.2 信息的格式 12.4.3 表的设计 12.4.4 主控制模块的设计 12.4.5 采集模块的设计 12.4.6 存储模块的设计 12.5 系统的实现 12.5.1 基本数据结构 12.5.2 公共数据 12.5.3 公共函数 12.5.4 主控制模块的实现 12.5.5 采集模块的实现 12.5.6 存储模块的实现 12.5.7 数据库自动切换的实现 12.5.8 其他模块的实现 12.6 系统部署与测试 12.6.1 编译与执行 12.6.2 采集与存储工作的开启 12.6.3 采集与存储工作的关闭 12.6.4 帮助与其他功能的测试 12.7 本章小结 12.8 习题 第13章 网址信息收集器 13.1 URL与搜索引擎 13.1.1 什么是URL 13.1.2 搜索引擎 13.1.3 网址信息收集器的工作原理 13.2 主要技术介绍 13.2.1 总述 13.2.2 DNS实现 13.2.3 HTTP请求与数据下载 13.2.4 一个完整的示例 13.3 系统架构 13.3.1 模块划分 13.3.2 表的设计 13.3.3 主控制模块的设计 13.3.4 采集模块的设计 13.3.5 网页分析模块的设计 13.3.6 存储模块的设计 13.4 系统实现 13.4.1 概述 13.4.2 主控模块 13.4.3 公共数据区 13.4.4 网址信息采集模块 13.4.5 网址分析与存储模块 13.4.6 其他模块介绍 13.5 系统编译与运行 13.5.1 编译 13.5.2 执行 13.6 本章小结 13.7 习题 第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 数据库表的设计 14.3 服务器端实现 14.3.1 公共数据的设计 14.3.2 主调度模块的实现 14.3.3 数据接收模块的实现 14.3.4 业务服务模块的实现 14.3.5 数据写入模块的实现 14.3.6 即时服务启动 14.3.7 即时服务停止 14.4 客户端实现 14.4.1 客户端界面设计 14.4.2 数据结构的设计 14.4.3 登录模块的设计 14.4.4 注册模块的设计 14.4.5 聊天模块的设计 14.4.6 离线模块的设计 14.4.7 数据接收模块的设计 14.5 编译与运行 14.5.1 服务器端编译与执行 14.5.2 客户端编译与执行 14.5.3 测试示意图 14.6 本章小结 14.7 习题 第15章 嵌入式数据库 15.1 嵌入式数据库简介 15.1.1 什么是嵌入式数据库 15.1.2 嵌入式数据库分类 15.1.3 嵌入式数据库的应用领域 15.1.4 嵌入式数据库的未来 15.2 常见的嵌入式数据库 15.2.1 SQLite简介 15.2.2 Berkeley DB简介 15.2.3 Empress简介 15.3 Berkeley DB的配置 15.3.1 Berkeley DB的下载 15.3.2 Berkeley DB的安装 15.3.3 Berkeley DB测试 15.4 Berkeley DB的原理 15.4.1 Berkeley DB的设计思想 15.4.2 Berkeley DB的核心数据结构 15.4.3 Berkeley DB基本算法 15.5 Berkeley DB的主要函数 15.5.1 数据库的打开 15.5.2 添加数据 15.5.3 查询数据 15.5.4 删除数据 15.5.5 数据库的关闭、删除与重命名 15.5.6 错误处理 15.6 本章小结 15.7 习题 第16章 SQLite 16.1 SQLite的安装与配置 16.1.1 SQLite下载 16.1.2 SQLite安装 16.1.3 SQLite的基本使用 16.1.4 SQLite的一个小示例 16.2 SQLite的原理 16.2.1 SQLite的基本架构 16.2.2 SQLite的数据类型 16.2.3 SQLite的数据导入与导出 16.2.4 SQL高级用法 16.2.5 SQLite的一些内置函数 16.3 SQLite的编程接口 16.3.1 C语言接口库 16.3.2 数据库打开与关闭函数 16.3.3 SQL执行函数 16.3.4 数据查询函数 16.3.5 错误处理函数 16.4 使用示例 16.5 本章小结 16.6 习题 参考文献 附录:各章习题答案
章节摘录
第1章 Linux基础 1.1 Linux概述 与多年前相比,如今的Linux普及程度已经很广泛了,相信很多用户在自己的电脑中都安装了Windows/Linux双系统,但也有一个非常尴尬的事实——并不是每个人都像使用Windows那样频繁地使用Linux。 造成这种局面的原因有很多,其中之一便是Linux厂商众多,很多标准长期没有得到统一,使很多人在初学Linux时,需要花很长的时间。 为了方便读者使用Linux,本节将介绍Linux的基本知识,让读者通过下面几页的阅读,弄清Linux的起源、发展历程、版本变化、厂商集合等知识。 1.1.1 什么是Linux Linux是一种操作系统。所谓操作系统,可以理解为方便用户更好地使用计算机的一种控制系统。当前主流的操作系统有Windows、Unix以及Linux,与其他两种操作系统相比,Linux是一套免费使用和自由传播的类Unix操作系统,也是所有盼开放源代码软件中最成功的一个例子,这个系统凝聚着全世界各地成千上万程序员的心血与汗水。 Linux诞生的初衷就是为了实现一款在世界各地都能自由使用、不受任何商品化软件版本限制的类Unix操作系统。它的第一次发布时间是1991年10月5日,因而10月5日这一天对很多Linux厂商来讲是个非常重要的日子,它们经常会选择这一天作为其Linux新产品的发布日期。 借助于互联网的传播,Linux从第一个版本发行后,很快在世界各地流行起来。特别是随后在大量热心爱好者的参与下,Linux已经成为所有Unix类操作系统中使用人数最多的一款产品,并且Linux的用户规模仍在不断地扩大。 从严格意义上讲,Linux这个词本意是指Linux操作系统的内核,但由于人们的使用习惯,这个词已经开始泛指基于Linux内核并在其上运行的大量遵循GNU规范的软件集合,通常这个集合被称之为Linux发行套件。
编辑推荐
《Linux下的MySQL数据库编程》从Linux与数据库基础起步,层层推进,侧重MySQL数据库技术的讲解,重点突出,开发案例新颖实用,涵盖面广。
图书封面
图书标签Tags
无
评论、评分、阅读与下载