Аргерих Л. О языке РНР. Часть 3. Страница 126


Эти типы должны быть выделены в код программы верхнего уровня с помо­щью стандартных объектов, называемых компонентами доступа к данным (Data Access Components), или объектами доступа к данным (Data Access Ob­jects, или просто DAO).

Модель на плоских файлах

Идея этой модели совершенно проста: данные можно хранить в двоичных или в текстовых файлах. Модель состоит из текстуального описания струк­туры данных и имен, присваиваемых файлам с данными. Существуют при­ложения, в которых такой тип модели данных весьма полезен. Например, крупные поисковые механизмы на плоских файлах с индексами или хеши­рованием работают гораздо быстрее и проще обслуживаются, чем огромные хранилища данных.

В этой модели может использоваться широкий диапазон файловых струк­тур, от обычных последовательных файлов до b-деревьев, Ь*-деревьев, Ь+- деревьев, хеш-таблиц, биномиальных куч, структуры объединения-поиска и многие другие.

Рассмотрим конструкцию приложения для голосования в Интернете. Пусть есть несколько опросов и ряд вариантов в каждом из них. Модель данных на плоских файлах может выглядеть так:

Файл Polls:

Двоичный файл фиксированной длины. Название опроса: 40 байт. Вопрос: 250 байт.

Файл Options:

Двоичный файл фиксированной длины. Название опроса: 40 байт. Вариант: 80 байт. Голоса: 4 байт.

Файл

Двоичный файл переменной длины.

Структура: длина имени (1 байт) + имя + длина комментария (2 байт) + комментарий Текущий опрос:

Двоичный файл фиксированной длины, Название опроса: 40 байт.

Чтобы узнать, какое голосование является текущим, можно открыть файл Текущий опрос, прочесть 40 байт и получить Название опроса. После этого можно найти вопрос последовательным поиском названия опроса в файле

Таким же последовательным поиском можно получить все варианты. Голо­сование заключается только в том, чтобы добавить единицу к выбранному варианту. Комментарии вводятся путем дописывания данных к файлу ком­ментариев. А вот удаление данных - трудная задача. Сначала надо пометить удаляемые данные пробелами в названии опроса в опросе или варианте, а за­тем создать процедуру упаковки, которая перепишет файл, физически уда­лив записи, помеченные как удаленные. Подробнее о развитых файловых структурах можно прочесть в книге «File Structures and Object Oriented Approaches in C++» издательства Addison-Wesley (ISBN 0-201874-01-6).

Модель данных, основанная на плоских файлах, действительно полезна при работе с большими объемами данных или запросами, которые нельзя подо­гнать под стандартные запросы SQL или XML. Например, такой поисковый механизм, как Google (http://www.google.com/)%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d1%82"> http://www.google.com/)использует модель данных на плоских файлах для хранения информации, собираемой из Интернета. Дополнительное время, которое тратится на разработку, кодирование и со­провождение программ, управляющих этой информацией, компенсируется превосходной производительностью, отличающей это приложение.




Сегодня пластиковые карты можно увидеть абсолютно везде. Ведь изготовление пластиковых магнитных карт стоит совсем недорого, но это удобный инструмент в маркетинге. Убедитесь в этом сами и заходите на сайт welltonart.ru, где вы сможете заказать любые подарочные, бонусные и другие карты.