Использование системы управления базами данных в обработке заказов
До сих пор во всех рассматриваемых примерах использовались двумерные файлы. В дальнейшем мы будем рассматривать применение MySQL, одной из широко известных систем управления реляционными базами данных. Что это дает?
Проблемы, связанные с использованием двумерных файлов
При работе с двумерными файлами возникает ряд проблем:
Когда двумерные файлы становятся большими, работа с ними существенно замедляется.
Поиск конкретной записи или группы записей в двумерном файле затруднено. Если записи упорядочены, для поиска по ключевому полю можно использовать какой-либо из видов бинарного поиска в сочетании с применением записей фиксированной длины. Если нужно найти информацию, соответствующую определенному шаблону (например, найти всех клиентов, проживающих в Твери), придется прочесть и проверить каждую из записей в отдельности.
Решение задачи одновременного доступа может оказаться проблематичным. Уже было показано, как блокируются файлы, но это может привести к образованию описанного выше состояния состязаний. Кроме того, это может привести к образованию "узкого места" в системе. При достаточно интенсивном трафике на сайте большой группе пользователей, возможно, долго придется ждать разблокирования файла, прежде чем они смогут разместить свои заказы. Если ожидание продлится слишком долго, люди обратятся за покупкой в другое место.
Вся рассмотренная до сих пор обработка файлов сводилась к последовательной обработке, по условиям которой считывание начиналось с начала файла и выполнялось до его конца. При необходимости вставить записи или удалить их из середины файла (т.е. при необходимости реализации произвольного доступа), это может оказаться затруднительным — в конце концов, придется прочитать весь файл. При работе с крупными файлами данных этот процесс сопряжен с существенными накладными расходами
Помимо ограничений, налагаемых правами доступа к файлам, не существует приемлемого способа обеспечения различных уровней доступа к данным.
Как эти проблемы решаются с помощью систем управления реляционными базами данных
Система управления реляционными базами данных (СУРБД) успешно решает все эти проблемы:
СУРБД могут обеспечить более быстрый доступ к данным, чем двумерные файлы. При этом MySQL, ситема управления базами данных, описанная дальше, обладает одними из самых высоких показателей приоизводительности среди всех СУРБД.
В СУРБД можно легко реализовать запрос на извлечение наборов данных, соответствующих определенным критериям.
СУРБД обладает встроенными механизмами обработки параллельных обращений, освобождая программиста от этой обязанности.
СУРБД обеспечивает произвольный доступ к данным.
СУРБД обладают встроенными системами определения прав доступа. MySQL обладает особенно большими возможностями в этой области.
Возможно, главная побудительная причина импользования СУРБД состоит в том, что все, или, по меньшей мере, большинство, функциональных возможностей, которыми, по всеобщему мнению, должны обладать системы хранения данных, в ней уже реализованы. Конечно, можно было бы создать собственную библиотеку РНР функций, но зачем же заново изобретать велосипед?
В дальнейшем мы рассмотрим работу реляционных баз данных в целом и особенно то, как установить и задействовать MySQL для создания веб-сайтов с поддержкой баз данных.
Дальше мы рассмотрим, что представляют собой массивы и как их использовать при обработке данных.