| |
но у каждой записи в специальном поле хранить идентификатор ее "ро-
дителя", мы вскоре поговорим об этом чуть подробнее.
Базы данных также лишены еще одного крупного недостатка файлов: с ними нет про-
блем с совместным доступом к данным. Ведь вполне может оказаться, что ваш сце-
нарий запустят два одновременно заглянувших на страничку человека. Конечно,
если
сценарий обновляет какой-то файл в процессе своей работы, могут возникнуть про-
блемы, если не принять надлежащих мер по блокировке файла. Кроме того, нужно
минимизировать время обновления файла, а это не всегда возможно. С базами дан-
Глава 26. Работа с базой данных MySQL 363
ных таких проблем не существует, потому что разработчики предусмотрели их (про-
блем) решение на самом низком уровне и с максимальной эффективностью.
В довершение, чаще всего работа с базами данных происходит быстрее, чем с
файла-
ми. В первых обычно предусмотрена эффективная организация хранения информа-
ции, минимизирующая время доступа и поиска. Например, вполне реально за прием-
лемое время найти среди десятков тысяч записей какую-то определенную (скажем,
по
заданному идентификатору). Или провести поиск по нескольким мегабайтам текста
какого-то ключевого слова и обнаружить все записи, которые его содержат.
Устройство MySQL
Одна из самых популярных СУБД, которые используются в Web-
программировании, — MySQL. Она предназначена для создания небольших (сравни-
тельно, конечно — скажем, не более 100 Мбайт) баз данных, и поддерживает
некото-
рое подмножество языка запросов SQL.
SQL — специально разработанный стандарт языка запросов к базам данных. В нем
присутствуют такие команды, как:
r создание/удаление таблицы;
r создание записей в заданной таблице;
r поиск/удаление записей;
r обновление некоторых полей указанной записи.
Немного подробнее с языком SQL мы будем разбираться чуть позже.
А пока давайте посмотрим, что из себя представляет MySQL.
MySQL — это программа-сервер, постоянно работающая на компьютере. Клиентские
программы (например, сценарии) посылают ей специальные запросы через механизм
сокетов (то есть при помощи сетевых средств), она их обрабатывает и запоминает
результат. Затем, также по специальному запросу клиента, весь этот результат
или
его часть передается обратно.
Почему всегда передается не весь результат? Очень просто: дело в том, что
размер
результирующего набора данных может быть слишком большим, и на его передачу
по сети уйдет чересчур много времени. Да и редко когда бывает нужно получать
сра-
зу весь вывод запроса (то есть все записи, удовлетворяющие выражению запроса).
Например, нам может потребоваться лишь подсчитать, сколько записей удовлетворя-
е
|
|