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


Реализовать модель с плоскими файлами в РНР просто благодаря наличию множества функций для работы с файлами, таких как flock(), fwriteQ, fgets(), fputs(), fopen(), fclose(), fseek(), ftell(), unlink(), file_exists(), fi- lesize() и т. д. Об этих функциях рассказано в главе 9.

Модель реляционной базы данных

Сегодня это наиболее распространенный подход для веб-приложений. С по­мощью команд SQL данные вставляются, удаляются и модифицируются. Модель описывается диаграммой сущностей-связей (ERD), в которой указы­ваются сущности и связи между ними. Затем ERD преобразуется в таблич­ную структуру, и между таблицами устанавливаются связи. Посмотрим, как можно смоделировать наше приложение для опроса на основе реляцион­ной базы данных:

Таблица Polls: pollid integer(4)

pollname varchar(40) question varchar(200)

Таблица Options: pollid integer(4) option votes

Таблица Comments: pollid integer(4) comment text

Эта структура похожа на модель с плоскими файлами, но файлы заменены таблицами. Внутреннее устройство таблиц нас не должно волновать - им за­нимается СУБД. Не надо обновлять или удалять каждую запись, потому что для этого есть команды SQL.

СУБД обычно дают следующие преимущества:

♦ Высокая целостность данных (не гарантируемая файлами)

♦ Улучшенная непротиворечивость данных при множественном доступе

♦ Улучшенная защита

♦ Стандартный язык запросов

♦ Различные представления, основанные на одних и тех же структурах

♦ Независимость от файловых структур

♦ Устранение избыточности информации

♦ Отображение в объекты

♦ Экономия дискового пространства благодаря объединению таблиц без по­терь

Недостатки таковы:

♦ СУБД работают медленнее, чем файлы

♦ СУБД требуют дополнительного программного обеспечения

♦ Коммерческие СУБД бывают дороги

РНР отлично подходит для программирования баз данных. Он поддержива­ет большинство имеющихся сегодня СУБД, включая Oracle, MySQL, Post­greSQL, Sybase и DB2 (подробнее об этом рассказано в главах 17-19). Су­ществует проверенная стратегия, с помощью которой строится или исполь­зуется класс абстракции базы данных, который может выполнять все обыч­ные операции с базой данных. Базу данных можно легко заменить без особых модификаций кода, написанного для определенной платформы.

Выбор уровня данных для приложения не требует изменений в коде логики приложения и уровне представления (что облегчает сопровождение кода). Однако полная независимость в смысле хранения данных лучше всего до­стигается на пути абстрагирования.




Телефон уже давно стал показателем статуса человека. Потому если вам необходимо подчеркнуть свой высочайший статус, то тут оригинальные телефоны верту это именно то, что вам необходимо. Заходите на сайт vertu-online.ru и вы подберете самый лучший для себя телефон.