Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MySQL. Библиотека профессионала - Аткинсон Л

..pdf
Скачиваний:
165
Добавлен:
24.05.2014
Размер:
10.41 Mб
Скачать

Содержит примеры проектирования и систем корпоративного уровня и подробные объяснения к ним

главы по вопросам

хранения

распределенных баз и другим сложным темам

Леоном ведущим специалистом с кодом

Леон Аткинсон

MySQL

БИБЛИОТЕКА

ПРОФЕССИОНАЛА

ЛЕОН АТКИНСОН

Москва • Санкт Петербург • Киев 2002

ББК 32.973.26 018.2.75 А92

УДК 681.3.07

Издательский дом "Вильяме" Зав. редакцией С.Н. Тригуб

Перевод с английс кого и редакция В.Р. Гинзбурга

По общим вопросам обращайтесь в Издательский дом "Вильяме" по адресу: info@williamspublishing.com, http://www.williamspublishing.com

Аткинсон, Леон.

А92 MySQL. Библиотека профессионала.: Пер. с англ. — М.: Издательский дом "Вильяме", 2002. — 624 с.: ил. — Парал. тит. англ.

ISBN 5 8459 0291 6 (рус.)

В данной книге описана программа MySQL версии 3.23 — самый последний стабиль ный выпуск, доступный на момент написания книги. Сначала излагаются основы MySQL: запросы, модели баз данных, вопросы нормализации и организации много пользовательской работы, а также транзакции. Затем систематически анализируются все ключевые аспекты программы и демонстрируются эффективные методики взаимо действия с базами данных MySQL посредством языков С, Java, PHP, Perl, Python и др.

Внимательно проверенная ведущим разработчиком MySQL Микаэлем Видениу сом, данная книга дает профессионалам именно то, что они ищут: авторитетное, подробное, богатое примерами руководство по разработке приложений MySQL кор поративного уровня.

ББК 32.973.26 018.2.75

Все названия программных продуктов являются зарегистрированными торговыми марками со ответствующих фирм.

Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни былосредствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разреше ния издательства Prentice Hall, Ptr.

ISBN 5 8459 0291 6

(рус.)

© Издательский дом "Вильяме", 2002

ISBN 0 13 066190 2

(англ.)

© Prentice Hall, Inc., 2001

Оглавление

ВВЕДЕНИЕ

14

ЧАСТЬ I. MYSQL И РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

16

Глава1.Введениев MYSQL

18

Глава2.ИнсталляцияMYSQL

32

Глава3. ВзаимодействиесMYSQL

40

Глава 4. Концепции баз данных

48

Глава 5. Реляционная модель

58

Глава 6. ЯзыкSQL

70

Глава 7. Проектирование баз данных

82

Глава8.Нормализация

96

Глава 9. Транзакции и параллельные вычисления

108

ЧАСТЬ II. СПРАВОЧНИКMYSQL

118

Глава 10. Типы данных,переменные и выражения

120

Глава 11. Типы столбцов и индексов

136

Глава 12. Встроенные функции

148

Глава 13. ИнструкцииSQL

204

Глава 14.Утилиты командной строки

260

Глава 15. Библиотека функций языкаС

330

ЧАСТЬ III. СОЗДАНИЕ КЛИЕНТОВ MYSQL

372

Глава 16. Использование библиотеки языкаС

374

Глава 17.JDBC

 

Глава 18. VBSCRIPT и ODBC

392

Глава 19. РНР

400

Глава 20. PERL

408

Глава 21.PYTHON

414

Глава 22. Библиотека MYSQL++

420

ЧАСТЬ IV. Сложные темы

426

Глава 23. Администрирование баз данных

428

Глава 24.

Физическое хранение данных

434

Глава25.

Устранение последствийкатастроф

452

6

Оглавление

 

Глава 26. Оптимизация

462

Глава27.Безопасность

484

Глава 28. Перенос данных в разные СУБД

496

Глава 29. Распределенные базыданных

510

Глава30. Работасобъектами

524

Глава 31. Расширение возможностей MYSQL

540

Приложение А. Ресурсы в Internet

554

Приложение Б. Правовые аспекты

560

Приложение В. Зарезервированные слова

572

Приложение Г. Коды ошибок MYSQL

578

Приложение Д. Руководство по оформлению SQL сценариев

594

Приложение E. Пример базы данных

598

Содержание 7

Содержание

ВВЕДЕНИЕ

14

ЧАСТЬ I. MYSQL И РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

16

Глава 1. Введение вMYSQL

18

Принципы использования баз данных

19

Преимущества баз данных

26

Недостатки баз данных

29

Зачем нужна программа MySQL

29

История MySQL

30

Глава 2. ИнсталляцияMYSQL

32

Загрузка дистрибутива

33

Инсталляция с помощью менеджера пакетов RedHat Linux

34

Инсталляция в Windows

35

Инсталляция вручную

36

Компиляция программы

37

Предоставление привилегий

37

Глава 3. Взаимодействие сMYSQL

40

Клиент серверное взаимодействие средствами TCP/IP

41

Утилиты командной строки

42

Графические клиенты

43

ODBC

45

Web интерфейсы

46

Глава 4. Концепции баз данных

48

История

49

Терминология

50

СУБД

51

Системы управления файлами

52

Иерархические базыданных

52

Сетевые базы данных

53

Реляционные базы данных

54

Объектно ориентированные базы данных

55

Объектно реляционные базы данных

56

Глава 5. Реляционная модель

58

Реляционная алгебра

59

Таблицы, строки и столбцы

59

Ключи

61

Отношения

63

8

Содержание

 

 

Реляционные операции

64

 

Является ли MySQL настоящей реляционнойСУБД

69

Глава6. Язык SQL

70

 

SQL — языкчетвертого поколения

71

 

Определение данных

72

 

Вставка записей

74

 

Обновление записей

74

 

Удаление записей

75

 

Запросы

75

 

Объединения

77

 

Упорядочение результатов запроса

79

 

Группировка результатов запроса

80

 

Ограничение числа возвращаемых записей

80

 

Изменение определения таблицы

81

Глава 7. Проектирование баз данных

82

 

Спецификация требований

83

 

Спецификация проекта

87

 

Составление схемы базы данных

88

 

Реализация модели

92

 

Тестирование

94

 

Планированиежизненногоцикла

95

Глава 8. Нормализация

96

 

Зачем нужнанормализация

98

 

Первая нормальная форма

98

 

Вторая нормальная форма

100

 

Третья нормальная форма

102

 

Нормальная форма Бойса Кодда

103

 

Четвертая нормальная форма

104

 

Денормализация

105

Глава 9. Транзакции и параллельные вычисления

108

 

Параллельные запросы

ПО

 

Транзакции

110

 

Блокировки

114

 

Последовательности

116

ЧАСТЬ П. СПРАВОЧНИКMYSQL

118

Глава 10. Типы данных, переменные и выражения

120

 

Типыданных

121

 

Переменные

124

 

Операторы

125

 

Выражения

133

 

Имена спробелами

134

Содержание

9

Глава 11. Типы столбцов и индексов

136

Числа

137

Строки

140

Значения даты/времени

143

Альтернативные типы данных

145

Индексы

145

Глава 12. Встроенные функции

148

Отладка и конфигурирование

150

Управляющие функции

152

Статистические функции

157

Математические функции

160

Строки

169

Функции работы с датой и временем

187

Прочие функции

201

Процедуры

202

Глава 13. ИнструкцииSQL

204

Комментарии

205

Полный список инструкций

206

Глава 14. Утилиты командной строки

260

Переменные среды

261

Конфигурационные файлы

262

Полный список утилит

263

Глава 15. Библиотека функций языкаС

330

Типы данных

331

Клиентские функции

336

Функции работы с массивами

360

Функции работы с наборами символов

360

Функции работы с файлами

362

Функции обработки ошибок

364

Функции работы схэш таблицами

365

Функции работы сосписками

365

Функцииуправленияпамятью

366

Функции работы с опциями

367

Функции обработки паролей

367

Функции обработки строк

367

Функции работы с потоками

370

ЧАСТЬ III. СОЗДАНИЕ КЛИЕНТОВMYSQL

372

Глава 16. Использование библиотеки языкаС

374

Подготовка программы

375

Извлечение данных

376

Изменение данных

379

10

Содержание

 

Глава17.JDBC

 

 

Подготовка программы

385

 

Извлечение данных

387

 

Изменение данных

389

Глава 18. VBSCRIPT иODBC

392

 

Подготовкапрограммы

393

 

Извлечение данных

396

 

Изменение данных

397

Глава 19. РНР

400

 

Подготовка программы

401

 

Извлечение данных

402

 

Изменениеданных

404

Глава 20. PERL

408

 

Подготовка программы

409

 

Извлечениеданных

410

 

Изменение данных

411

Глава 21. PYTHON

414

 

Подготовка программы

415

 

Извлечение данных

416

 

Изменение данных

418

Глава 22. Библиотека MYSQL++

420

 

Подготовка программы

421

 

Извлечение данных

422

 

Изменение данных

424

ЧАСТЬ IV. Сложные темы

426

Глава 23. Администрирование баз данных

428

 

Ответственность

429

 

Обеспечение доступности данных

429

 

Поддержание целостности данных

430

 

Подготовка к катастрофе

432

 

Поддержка пользователей

432

 

Разработка и внедрение стандартов

433

Глава 24. Физическое хранение данных

434

 

Способ хранения таблиц и базданных

435

 

Выделенные разделы

436

 

Типы таблиц

436

 

Столбцы

442

 

Блокировкитаблиц

444

Индексы

444

 

Дескрипторы файлов

446

Содержание

11

Системная память

447

Журнальные файлы

447

Глава 25. Устранениепоследствий катастроф

452

Проверка и восстановление таблиц

453

Резервное копирование и восстановление

456

Глава 26. Оптимизация

462

Предварительные действия

463

Тесты производительности

464

Оптимизация проекта

468

Оптимизация приложений

469

Оптимизация запросов

470

Оптимизация инструкций

473

Обслуживание таблиц

475

Настройка конфигурации сервера

475

Перекомпиляция MySQL

477

Глава27. Безопасность

484

Схема привилегий

485

Задание привилегий

491

Обеспечение безопасности

493

Глава 28. Перенос данных в разныеСУБД

496

Переключение между СУБД

497

Устранение несовместимостей

498

Использование режимаANSI

504

Уникальные свойстваMySQL

504

Глава 29. Распределенные базы данных

510

Концепции распределенных баз данных

511

Отложенная синхронизация

514

Репликация в MySQL

516

Запуск нескольких серверов

521

Глава30. Работа с объектами

524

Объектно ориентированная модель

525

Сериализация объектов

527

Объектно реляционные связи

529

Глава31.Расширение возможностейMYSQL

540

Библиотека функций отладки

541

Создание наборов символов

545

Создание функций

549

Создание процедур

553

Приложение А. Ресурсы в Internet

554

Официальные списки рассылки

555

Архивы списков рассылки

556