本书主要针对Linux下数据库的使用、管理与编程进行了详细的介绍,其内容包括:关系模型、SQL、数据库需求分析、数据库产品的安装与配置、数据库工具、数据库应用程序的构架与编写、数据库的管理与安全等。本书共分为五个部分,涉及面广是它的一个重要特色。本书不但介绍了Linux下数据库产品的使用与管理,还用大量的篇幅描述了数据库的基本概念,特别是通过一些具体的例子,用软件工程的方法由浅入深地对工程项目进行了分析与实际操作,因此使读者不但在Linux数据库操作与编程方面得到了教益,更重要的是体会到如何用软件工程的理论指导实际工作,这是其他一些Linux书籍中所没有的。本书语言流畅、深入浅出,适合Linux中级用户阅读,也可以作为读者在数据库配置、使用及编程方面的参考书。译者序随着计算机技术的应用与发展,Internet深入到经济和社会生活的方方面面。特别是由于电子商务的蓬勃发展,越来越多的企业开始建立自己的企业内部网,以便实现电子商务的应用,因此对大量信息进行有效管理的需求越来越高。而对于企业来说,一个关键技术在于如何建立一个良好的信息管理途径,这包括内部信息的管理和传递以及外部信息的获取和加工。为了实现这一目标,数据库成为计算机网络基础设施的关键组成部分,而数据库管理系统也发挥着越来越重要的作用。纵观当今的商用数据库市场,称之为群雄割据毫不为过。自20世纪70年代关系模型提出后,由于其突出的优点,迅速被商用数据库系统所采用。据统计,20世纪70年代以来新发展的DBMS系统中,近90%是采用关系数据模型,其中涌现出了许多性能优良的商品化关系数据库管理系统。例如大型数据库系统DB2,Ingres,Oracle,Informix,Sybase和SQLServer等。20世纪80年代和90年代是RDBMS产品发展和竞争的时代。各种产品经历了从集中到分布,从单机环境到网络环境,从支持信息管理到联机事务处理(OLTP),再到联机分析处理(OLAP)的发展过程,对关系模型的支持也逐步完善,系统的功能不断增强。Linux是目前最流行的操作系统之一,因此Linux数据库也就应运而生了。它以低成本(甚至为零)、高可靠性赢得了广大用户的首肯与信任。另外还应该感谢众多数据库厂商的支持,由于他们积极地把原有的数据库产品移植到了Linux平台上,并且相当一部分公开了代码,使得Linux数据库具有了更加强大的生命力。1998年5月,前身为Borland公司的Inprise公司推出了Linux版本的Interbase4.0,这是一个高性能的SQLServer,虽然小巧,但功能强劲;同年9月14日,Inprise公司推出了Interbase5.0forLinux的商业版;1998年7月22日,Informix推出Linux版本的InformixSE。1998年7月,Oracle决定向Linux平台上的Oracle8提供正式的技术支持,另外,其在Linux平台下的Oracle应用软件包,于1999年的第一季度已经交货;1998年9月,IBM和Sybase宣布支持Linux,Sybase则为Linux平台免费提供AdaptiveServerEnterprise(ASE)。IBM公司一直在Linux软件市场处于领导地位。DB2EE(企业版)forLinux在1999年夏天推出以来,已经赢得了众多用户的信赖。2000年11月,IBM公司推出了第一个专门为Intel体系公司提供的Linux数据库::基于Linux平台的DB2通用数据库的企业扩展版(β测试版)。DB2EEEforLinux的推出将为用户的资讯管理提供更强的可扩展性。新产品不但使开发者能够在Linux上编写群集的数据库程序,而且在处理能力、安全性能、接口监控、连接配置以及数据可用性方面的性能都有很大的提高。2001年6月份,RedHat发布了新的Linux数据库软件,用以重新确立该公司在服务器市场的地位。由此可见,世界上的诸多公司都瞄准了Linux数据库市场,特别是一些巨头的加入,更起到了推波助澜的作用。因此我们有理由相信Linux数据库将在变革中不断前进,在各界的努力下,将为世人奉献出更强大、更完美的产品。在本书的翻译过程中,给译者最大的感觉是书中的内容十分全面,除了介绍Linux数据库相关的知识外,还详细地介绍了数据库?母拍詈腿砑こ痰睦砺郏馐瞧渌?Linux书籍所不具备的。比如书中针对数据库的设计给出了详实的例子,从需求分析开始入手,逐渐分层次地将问题加以讨论。在读者掌握了数据库设计的一般方法的同时,更掌握了软件工程的理论。另外本书还详尽地介绍了关系模型、数据库管理等知识,对于读者来说,可谓是一举多得。本书由耿岳、赵友兵、宋立新、姜君等组织翻译。参与本书翻译工作的还有黄劲、罗明、石璇、高志刚、凌万胜、华忠、高熠扬、周天、赵春雷、魏永明、陈雷、张云帆、钟书毅、郑翔等。由于译者水平有限,错误之处在所难免,还望读者批评指正。译者前言欢迎阅读《Linux数据库宝典》!如果你是从事开发数据库应用程序或者维护数据库的工作,或者对Linux下的应用软件感兴趣,那么本书正是你所需要的。经验告诉我们,最早采用新技术的人,将在该领域内成为具有影响力的专家。通过对本书内容的学习和实践,读者将熟悉运行在Linux下的数据库,并可进行高效率的开发工作。在Web应用程序领域,Linux的发展应该归功于那些已经存在或者容易移植到?孟低成系挠τ贸绦颉inux下的关系数据库管理系统(RBDMS)使得对健壮的数据库应用程序的支持变得更为简单,如果没有它,Linux的发展几乎是不可能的。本书的重要性在过去的几年里,Linux得到了迅速的发展。同时,在这一时期许多具有献身精神的开发小组将当时存在的RDBMS移植到了Linux上,其中的几个可以通过开放源码许可证得到。如果我们考虑所有的数据库,会发现Linux数据库的数量是惊人的。它们中的一些已经过时了,另外一些获得了良好的特性。所有正流行的发行版都是MicrosoftWindows的有力竞争者,因为那些受Windows体系和应用程序模式困扰的程序,都在Linux下找到了生存的土壤。在Linux上摆脱私有的UNIX移植权进行数据库的开发,是免除昂贵的费用而获得相同灵活性的主要方法。有许多优秀的Linux书籍可供参考,但是本书从一个更广泛的视角,讲述Linux数据库应用程序的开发。Linux数据库开发在开发领域中是比较丰富和深层次的。花些时间进行Linux数据库解决方案的研究,用以激发它无限的活力,以获得潜在的回报。入门为了更好地理解本书,读者需要成功安装Linux。大多数开放源码数据库或者数据库集成应用,其安装方法都是非常相似的。在某些时候在安装过程中,必须进行合理地选择,因为安装方式的不同将对未来产生深远的影响::比如安装ApacheWebServer,就必须要选择使用何种CGI程序来加载或者安装Mysql,选择是否需要内建PHP支持等。为了充分使用本书,读者需要:◆拥有一个Linux下开放源码数据库的拷贝,比如MySQL。可以从Web站点上免费下载它们。需要一个包含PHP或者PerlDBI支持的数据库。◆拥有一个与读者使用的数据版本兼容的Linux拷贝。可以从许多Internet站点上下载它。◆掌握一种与Linux和所选择数据库都兼容的编程语言,比如C/C++或者Perl。任何一个能运行Linux的系统都可以,但是最好选择基于奔腾芯片的计算机,并有大容量的内存(虽然Linux可以在小内存计算机上运行,但是应该使用至少32MBRAM)。同样,大量的Linux应用程序将占用大量的硬盘空间,也别忘了给将要创建的数据库留出足够的空间。无论如何,需要使用至少1GB的硬盘开始学习。还要考虑鼠标,不要把它给忘记了。那么显示卡和显示器呢?许多Linux数据库使用命令行(就是文本格式)接口(CLI)。在这种情况下,显示器的分辨率是足够了,甚至应用程序的编制也可以在文本模式下完成。但是对于典型的Linux桌面来说,则至少要求显示卡和显示器有600×800的分辨率。本书中的图标花几分钟的时间阅读本部分,了解每个图标的含义,对本书的学习将大有益处。希望读者对别人已经遇到过的困难做好充分的准备,以克服它们。该图标将提醒读者注意。可以发现其他的信息,这些信息或者存在于本书的其他部分,或者在其他地方。用这个图标予以提醒。在该图标后的内容将为读者提供感兴趣或者有用的信息,以理解所讨论的主题。这里将给读者以帮助。读者将在这个图标后找到好的建议或者好的想法。本书的组织结构本书分为五个部分,分别为:对Linux数据库以及关系数据库背景的介绍,Linux数据库的安装,与使用的数据库的交互,对Linux数据库功能的扩展,常用数据库的管理。第1部分::Linux和数据库第1部分将为读者介绍Linux,并提供它的开发背景及历史。除了Linux简史外,读者还可以了解数据库的背景知识和Linux下的数据库。在这一部分中,除了介绍一些关系数据库理论外,还介绍了关系数据库,并简要地讨论了对象数据库,并且还提供了关于开发的详细背景知识以及SQL的重要性,帮助读者理解建立数据库系统的过程。通过对第1部分中各章的学习,可以使我们了解关于数据库的各种基本知识并知道自己的数据库需求,从而选择一个适合自己的数据库产品。第2部分::安装和配置数据库产品的安装和配置将在第2部分进行深入探讨,特别是Oracle8i,MySQL和PostgreSQL。在介绍安装和配置的步骤中,有针对某些产品的详细讨论,使读者进一步了解这些数据库产品。第3部分::交互和使用本书的第3部分包含两章,在这部分中将深入研究Linux数据库管理员如何与数据库进行交互,并