引言
欢迎来到PostgreSQL数据库从入门到精通。
在我们生涯的早期,我们开始理解开源软件的质量。不仅通常情况下它们可以自由使用,而且它们提供极高的质量。如果你发现问题,你可以检查源代码,理解程序工作过程。如果你找到一个错误,你可以自己修复或找别人帮你修复。我们从1978年开始试用开源软件,包括优秀的GNU工具,包括GNU Emacs和GCC。我们从1993年开始使用Linux并愉快地使用Linux内核和GNU工具建立了一个完整的,自由的计算环境,并且使用X Window系统提供了一个图形用户界面。PostgreSQL是一个采取相同的开源理念的优秀的数据库系统(更多关于开源和自由的信息,请访问http://www.opensource.org)。
数据库是非常有用的东西。很多人发现“桌面数据库”在办公室和家里的小应用程序中非常有用。很多网站是数据驱动的,很多内容都由网页服务器后面的数据库提供。随着数据库的普及,我们觉得有必要写一本书介绍数据库理论和实践。
我们写这本书整体介绍数据库,全面覆盖现代的关系数据库的能以及怎么高效使用它们。使用 PostgreSQL作为他的数据库的人都没有觉得PostgreSQL在哪方面有什么不足。它支持优秀的数据库设计,非常有弹性和扩展性,且运行在几乎你所能想到的计算机上,包括Linux,Unix,Windows,Mac OS X,AIX,Solaris以及HP-UX。
对了,免得你好奇,我告诉你PostgreSQL念做“post-gres-cue-el”(而不是“post-gray-ess-cue-el”)。
本书大致分为三部分。第一部分包括入门,包括数据库概述(它们是什么以及它们用来干什么),尤其是PostgreSQL的概述(怎样获得,安装和启动以及使用)。如果你同时运行了示例,到第5章完成的时候,你将建立起第一个可工作的数据库并且可以使用一些工具来做一些有用的事情,例如输入数据和执行查询。
本书的第二部分深刻地探索关系数据库的核心:SQL查询语言。通过示例程序和“做一个尝试”章节,你将学到数据库编程的很多方面。,从简单的数据插入和修改,强大的各类查询到通过存储过程和触发器扩展数据库功能。本章最重要的内容是数据库无关,所以你从本章获取的知识能够让你在使用其他数据库时如鱼得水。当然,所有的用来说明的示例资源是用PostgreSQL来作为示例数据库。关于PostgreSQL的管理和数据库设计的习惯用法也将在本章完整讨论。
本书的第三部分关注于在你的程序中发挥PostgreSQL的能力。本章涵盖了通过大量的编程语言连接到数据库、执行查询以及处理结果集。无论你是使用PHP或者Perl开发动态网页、用Java或者C#开发企业级应用程序或者用C写一个客户端程序,你将找到你想要的章节。
这是PostgreSQL从入门到精通的第二版;第一版在2001年发布。从那时起,每章的内容都根据8.0版本的PostgreSQL做了升级。我们在本书中有机会补充了新的一章
《PostgreSQL从入门到精通》是一本全面介绍PostgreSQL数据库系统的指南,旨在帮助读者从基础知识开始,逐步掌握这个强大开源数据库的使用。PostgreSQL是一个遵循开源理念的数据库系统,以其高质量、灵活性和广泛的平台支持而受到赞誉。它适用于桌面数据库应用、数据驱动的网站以及其他各种数据管理需求。
本书分为三个主要部分。入门部分介绍了数据库的基本概念,包括为什么我们需要数据库,以及数据库如何工作。特别地,PostgreSQL的获取、安装、启动和基本操作在此部分得到详细讲解。读者可以通过实际操作,例如创建数据库和执行简单查询,快速上手。
第二部分深入探讨SQL查询语言,这是所有关系数据库的核心。通过实例和实践环节,读者将学习如何插入、更新数据,执行复杂的查询,以及利用存储过程和触发器增强数据库功能。这部分的学习是数据库无关的,因此,即使未来使用其他数据库系统,这些知识也能发挥作用。同时,本部分还会涉及PostgreSQL的管理和最佳实践,确保读者能够有效管理自己的数据库设计。
最后一部分聚焦于在实际应用程序中集成PostgreSQL。不论你是在开发动态网页、企业级应用,还是编写与数据库交互的客户端程序,本书都会介绍如何使用多种编程语言(如PHP、Perl、Java、C#、C等)连接到PostgreSQL,执行查询并处理结果集。这部分内容对于将PostgreSQL的潜力融入到你的项目中至关重要。
值得注意的是,本书基于PostgreSQL的8.0版本进行更新和修订,确保内容与最新版本保持同步。此外,书中还新增了一章,以涵盖自第一版以来的新发展和改进。
《PostgreSQL从入门到精通》是一本详尽的教程,不仅适合初学者,也对有一定经验的数据库管理员和开发者有价值。通过阅读此书,读者不仅可以掌握PostgreSQL的基本操作,还能深入理解数据库管理和编程,提升在实际项目中的应用能力。
- 1
- 2
- 3
前往页