Проектирование и защита информационных систем. Иван Андреевич Трещев

Чтение книги онлайн.

Читать онлайн книгу Проектирование и защита информационных систем - Иван Андреевич Трещев страница 4

Проектирование и защита информационных систем - Иван Андреевич Трещев

Скачать книгу

отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. [87]

      MySQL— свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой SunMicrosystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

      Рисунок 18

      Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. [88,89]

      Используя PHPи MySQL, был написан полностью модуль по проведению Интернет-олимпиад, начата разработка модулей по сбору показателей и успеваемости студентов. При этом были выявлены некоторые трудности, которые заставили перейти на другие средства разработки и управления базами данных. Среди проблем можно назвать следующие:

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

      PHP предоставляет разработчикам большое количество самых разнообразных функций, которые попали в язык из расширений, создаваемых разными группами программистов. В результате синтаксис языка не согласован, например, часть функций для работы с массивами начинается с префикса array_, другая часть этим префиксом не обладает. Названия части строковых функций начинается с префикса str, другие функции таким префиксом не обладают. В тех же строковых функциях обрабатываемая строка может передаваться как в качестве первого, так и в качестве последнего аргумента, что вызывает путаницу у программистов, и, следовательно, требует постоянного обращения к документации. Некоторые задачи, например, разбиение строки на массив или подстроки, решаются несколькими функциями. [90,91]

      Другая причина отсутствия ортогональности в PHP заключается в особенностях появления этого языка на свет.

      Отсутствие обратной совместимости между версиями языка

      Нижесказанное относится в большей степени к php> =5.3.0. Версии PHP <5.3.0 сохраняет весьма хорошую обратную совместимость.

      Отсутствие поддержки многобайтовых кодировок в ядре языка

      Поддержка строк с многобайтовыми кодировками, такими как UTF-8 реализуется через отдельные расширения mbstring и iconv, на уровне ядра поддержка отсутствует, однако с версии PHP 4.2.0 есть возможность переопределять стандартные функции работы со строками, подменяя их на аналоги из mbstring.

      Отсутствие поддержки многопоточности

      В языке не предусмотрена возможность создания многопоточных приложений и отсутствует поддержка

Скачать книгу