Об авторах
Введение
Часть I Начало работы
Глава Совместное использование РНР и PostgreSQL
Для чего требуется совместное применение РНР и PostgreSQL
Что можно делать с помощью РНР и PostgreSQL
Web-сайты, построенные на базе РНР и PostgreSQL
Резюме
Глава Установка и настройка РНР
Язык РНР
Установка Apache из исходных файлов с помощью РНР
Установка Apache в Unix-системе вместе с РНР
Конфигурирование Apache
Конфигурирование РНР
Компиляция Apache и РНР для их совместного использования
Запуск и тестирование Apache
Установка ApacheToolBox в Unix-системах
Установка Apache с поддержкой РНР в Windows-системах
Установка двоичных файлов в Linux-системе
Пакеты RPM
Пакеты Debian
Конфигурирование РНР
Резюме
Глава Основы РНР
Введение
Приложение "Hello World"
Переменные
Добавление комментариев
Выполнение PHP-кода в командной строке
Управляющие структуры и операции
Операции и операторы F/ELSE/ELSEF
Операторы WHILE и DOWHILE
Цикл FOR
Оператор SWITCH
Типы данных и функции
Переменные и имена
Автоматическое распознание типа данных
Проверка и явное преобразование типов данных
Функции
Функции вывода и работа со строками
Работа с одномерными массивами
Работа с многомерными массивами
Построение функций
Простые функции -I" Передача массивов в функцию "o >л з Функции, возвращающие более одного значения ,fe Обработка исключений
a с файлами
Выполнение базовых операций с удаленными файлами
ЗбЗ Дополнительные функции для работы с файловой системой
^ Переменные и область действия
ilS Построение пакетов
Работа с формами
Методы GET и POST
Метод GET
Метод POST
Построение форм
Передача параметров сценарию
Работа со скрытыми полями
ЗЛО Отладка PHP-кода
JJ Резюме
Г^ава Объектно-ориентированный РНР
Концепции объектной ориентации
Конструкторы и деструкторы
Наследование
Перегрузка функций
Построение классов
Простой класс
Объекты и область действия
Имитация перегрузки функций
Клонирование объектов
Работа с наследованием
Резюме
Часть II Начало работы с PostgreSQL
Глава БКонцепции реляционных и объектно-ориентированных баз данны
й Нормализация
Первая нормальная форма
Вторая нормальная форма
Третья и остальные нормальные формы
Пример
Основные операции в реляционной модели
o S- PostgreSQL как объектно-реляционная база данных
Наследование
Динамическое наследование
Статическое наследование
Технологии моделирования
Модели "сущность-отношение"
Преобразование ER-моделей в код SQL
Правила преобразования ER-моделей в код SQL
Особенности PostgreSQL
Автоматические преобразования
U ML\'
Компоненты реляционных баз данных и технические термины
Резюме
Глава Установка PostgreSQL
Установка PostgreSQL в Unix-системе
Установка двоичных файлов
Установка и удаление RPM-пакетов
Установка и удаление пакетов Debian
Запуск PostgreSQL
Установка исходного кода
Компиляция PostgreSQL
Создание кластера баз данных
Запуск и остановка PostgreSQL
Установка PostgreSQL в системах Windows
Установка инструментальных средств Cygwin
Подготовка Windows к установке PostgreSQL
Запуск PostgreSQL в системах Windows
Создание и удаление баз данных
Пользовательский интерфейс
Архитектура PostgreSQL
Почтовые администраторы и дочерние процессы
Кластер баз данных
Лицензионное соглашение
Резюме
Глава Основы SQL,
Типы данных
Построение таблиц
Построение простых SQL-операторов
Использование выражений WHERE
Отмена специальных символов
Обработка значений NULL
Составные условия
Форматирование вывода
LIMIT и OFFSET
Временные таблицы
Временные таблицы и значения типа serial,
SELECT INTO
Сравнение использования представлений и команды SELECT INTO
Обновления и удаления
Создание соединений
Агрегирование данных
COUNT
AVG
МАХ и MIN,
SUM\'
GROUP BY
HAVING
Вставка очень больших объемов данных
Индексы
Создание и удаление индексов
Исправление поврежденного системного индекса
Внутренняя структура PostgreSQL
Изменение объектов
Изменение таблиц
Изменение последовательностей
Математические функции и операции
I Резюме
Расширенный SQL
Дополнительные типы данных
Работа с геометрическими типами данных
Л Точки
Прямоугольники
Линии
Сегменты линий
Пути
Многоугольники
Окружности
Геометрические типы данных и операции
Функции для работы с геометрическими типами данных
Работа с сетевыми типами данных ,
met
cidr
macaddr
Работа с представлениями
Создание и удаление представлений
Определение правил
Работа с подвыборками
Альтернативы подвыборкам
Работа с псевдонимами и авто-соединениями
Использование псевдонимов
Авто-соединения на основе псевдонимов
Объектно-ориентированный SQL
Наследование и таблицы
Вставка и выбор данных
Правила и наследование
Изменение поведения PostgreSQL
Данные типа serial и наследование
Транзакции и блокировка
Основная идея транзакций
Запуск и подтверждение транзакций; откат
Изоляция транзакций
Система блокировки PostgreSQL
Примеры использования транзакций
Ограничения системы транзакций PostgreSQL
Ограничения
Команда CREATE TABLE и ограничения
Ограничения CHECK
Значения DEFAULT
Ограничения столбцов
Первичные ключи и идентификаторы объектов
Ограничения целостности
Основы оптимизации с помощью EXPLAIN
Использование EXPLAIN
Оптимизация запроса
Сложные соединения
Left, Right и другие
Работа с массивами
Одномерные массивы
Ограниченные массивы
Многомерные массивы
Объединение запросов и диапазоны значений
Резюме
Глава Встроенные языки
Создание SQL-функций
Пример
Удаление функций
Кэширование
Обработка значений NULL в SQL-функциях
Перегрузка функций
Операторы CASE внутри SQL-операторов
PL/pgSQL
Структура функций языка PL/pgSQL
Простой пример
Циклы и условия
Комментарии
Обработка исключений
Псевдонимы
SQL и выполнение функций
Работа с запросами
PL/pgSQL и транзакции
Создание функций, не зависящих от типа данных
Создание триггеров
Создание и удаление триггеров
pg_trigger
Простые триггеры
Зарезервированные переменные
Изменение данных с помощью триггеров
Зарезервированные переменные и функции, вызываемые функцией
Бесконечные циклы
Триггеры и наследование
Встроенные языки и функции РНР
Резюме
Глава Администрирование PostgreSQL
Администрирование пользователей и права пользователей
Управление пользователями и группами
Управление правами пользователей
GRANT
REVOKE
Привилегированные пользователи
Э Обслуживание и внутренние особенности базы данных
VACUUM и ANALYZE
WAL
Поддержка журнальных файлов
Г;ДОЗ Конфигурирование PostgreSQL
Параметры времени выполнения
Сетевая безопасность
Дополнительная аутентификация и SSL
Использование SSL
Аутентификация Kerberos
Подготовка базы данных для работы в Web
Память
Конфигурирование ядра Linux для работы с PostgreSQL
Общие рекомендации
Резюме
Часть III Взаимодействие РНР и PostgreSQL
Слава Разработка приложений, управляемых базами данных,
Подключение к базе данных
Вставка и извлечение данных
Обработка и отслеживание ошибок
Обработка очень больших объемов данных
Извлечение объектов из базы данных
Мониторинг соединений с PostgreSQL
Блокировкал
f - РНР и транзакции;
Резюме
Работа с BLOB-объектами
Работа с BLOB-объектами PostgreSQL с помощью SQL
Работа с BLOB-объектами PostgreSQL с помощью РНР
Управление загрузкой файлов на удаленный компьютер
Сохранение файлов с готовым текстом
Пример простого инструментального средства управления изображениями
- Резюме
I Глава Работа с устойчивыми соединениями с базами данных
ot Концепция устойчивых соединений с базами данных
- Пример
Устойчивые соединения и производительность
\'> Потенциальные опасности и вопросы, связанные с оборудованием
Вопросы, связанные с операционными системами
Транзакции
Резюме
Часть IV Усовершенствованные технологии разработки
Глава Работа с регулярными выражениями
Стиль Perl
Функция preg_match и основы обработки регулярных выражений
Модификаторы шаблонов
Метасимволы
Специальные символы
Функция preg_match_all
Функция pregjreplace
Функция preg_split!-
Функция preg_quote
Функция preg_grep
Стиль POSIX
Функция ereg
Функция ereg_replace
Функция eregi
Функция eregi_replace
Функция sql_regcase
Регулярные выражения и SQL
Начало работы с регулярными выражениями SQL
Отмена символов
Ключевое слово LIKE
Регулярные выражения и производительность
Резюме
Глава Управление сеансами
Управление сеансами с помощью cookie-наборов
Основы применения cookie-наборов
Потенциальные опасности
Управление сеансами
Идентификаторы сеансов
Регистрация переменных
Дополнительные возможности
Резюме
Глава Работа с динамическими документами,
изображениями и видеоклипами
Создание динамических изображений
Базовые операции
Рисование элементов
Работа со шрифтами
Альтернативные решения
ImageMagick
Gimp
Использование геометрических типов данных
Генерация динамических Flash-клипов
Установка
Начало работы
I", Генерация PDF-файлов
Работа с LaTeX
Пример кода LaTeX: счет-фактура
Генерация кода LaTeX с помощью РНР
Резюме
Работа с датами и временем
Даты и время в SQL
Типы данных, предназначенные для поддержки дат и времени ,
interval
date
time [with time zone] и time [without time zone]
timestampf with time zone]
Часовые пояса
Функции
Простые вычисления
Даты и время РНР
Функции РНР

date и mktime
checkdate
gettimeofday
gmtime
?gmmktime
gmstrftime и strftime
localtime
time
strtotime
lOmicrotime
Совместное использование РНР и PostgreSQL
Резюме
Настройка PostgreSQL
Сравнение постоянных и временных параметров настройки
Оптимизатор
Основные положения GEQO
Помощь оптимизатору
Генерация образцов данных
Определение индексов
Оптимизация запросов с помощью команды Vacuum
Оптимизация запросов за счет использования кэширования
Соединения и помощь оптимизатору
Мониторинг производительности
Оптимизация на этапе компиляции
Настройка РНР\'
Резюме
Глава XML
Базовые концепции<
) Технологии XML
Основы XML
Построение простого приложения на основе XML
XMLHPostgreSQL
Установка
Использование модуля
Проверка правильности документа
Доступ к документу
Проблемы, возникающие при работе с XML
Резюме
Глава Вопросы обеспечения безопасности„
Потенциальные опасности
Защита системы
Безопасность сервера
Безопасность на уровне приложения
Безопасность базы данных
Аутентификация пользователя с помощью Apache и РНР
Apache
РНР
Резюме
Часть V Практические примеры
Глава Web-приложения
Почтовые системы
Основы
Отправка сообщений электронной почты
Работа с IMAP и РОРЗ

Получение данных
Вложения и другие компоненты сообщений электронной почты
Получение информаиии о состоянии
Резюме по почтовым системам
Разработка Web-магазина
Начало работы
Товарные тележки, управляемые cookie-значениями
Товарные тележки, управляемые сеансом
Сбор пользовательских данных
Построение системы управления содержимым
Способ отображения данных
Управление данными в базе данных
Поддержка данных в таблицах
Создание диаграмм биржевой стоимости акций
РНР и серверы приложений

Понятие сервера приложений
Построение простых приложений с помощью PHPLens

Установка PHPLens
Примеры применения PHPLens
Другие серверы приложений
Резюме
("лава Расширение функциональных возможностей PostgreSQL,
| Тип данных, определяемый пользователем
Построение индексов подстрок
Установка
Базовые концепции и пример
Алгоритмы толерантного поиска
Проблемы, вызываемые регулярными выражениями
Алгоритм Soundex
Установка
Использование Soundex-кодов
Soundex-коды и индексы
Расстояния Левенштейна
Metaphone
t, Резюме
яава Системы с высокой степенью готовности
М Понятие высокой степени готовности
Что такое высокая степень готовности?
Вопросы, связанные с оборудованием
Вопросы, связанные с сетями
$ Построение безотказных приложений
Простой пример
Реализация тотального мониторинга
U Резюме
сть VI Проблемы переноса,
Глава Перенос
Перенос в PostgreSQL из MySQL
Краткое руководство по установке
Перенос данных в PostgreSQL
Перенос функций
Перенос в PostgreSQL из Oracle
Резюме
!редметный указатель