К сетевым относятся файл-серверные, клиент-серверные и распределенные СУБД.
В файл-серверных СУБД все данные размещаются на одной достаточно мощной машине - файл-сервере. Безусловным достоинством СУБД этого типа является относительная простота ее создания и обслуживания. Между локальными и файл-серверными вариантами СУБД нет особых различий, так как в них все части собственно СУБД (кроме данных) находятся на компьютере клиента. Недостатком файл-серверных систем является значительная нагрузка на сеть. СУБД этого типа могут успешно использоваться в небольших локальных сетях с числом клиентских мест до нескольких десятков. Следовательно, они прекрасно подходят для использования в учебных компьютерных лабораториях, где число машин обычно не превышает двух десятков.
Клиент-серверные системы значительно снижают нагрузку на сеть, так как клиент общается с данными через специализированного посредника - сервер БД, который размещается на машине с данными. Серверы БД представляют собой относительно сложные программы. К ним относятся MicrosoftSQLServer, SybaseSQLServer, Oracle, DB2, InterBase и т.д. Клиент-серверные СУБД масштабируются до сотен и тысяч клиентских мест. Так как разрабатываемая система создается для кафедры, такой масштаб не требуется и нет смысла разрабатывать довольно сложный клиент-сервер.
Распределенные СУБД - это вообще явление глобальное, содержащее несколько десятков и сотен серверов, обслуживающее десятки и сотни тысяч клиентских мест.
Итак, система обучения языкам программирования разрабатывается как файл-серверная СУБД. Так как программный продукт рассчитан на использование в учебных лабораториях, где, как правило, имеется в наличии до двух десятков ЭВМ, то его можно установить на наиболее мощной ЭВМ, которая будет файл-сервером.
В качестве средства разработки программной оболочки автоматизированной системы документооборота выбрано PHP 4. Его достоинства перечислены ниже.
Итак, для создания программного комплекса используются следующие методы и средства ПО:
Предлагаемый комплекс программ позволяет запустить полноценный веб-сервер Apache с поддержкой PHP, Perl и сервер MySQL на машине, работающей под управлением MSWindows 95/98/Me/NT/2000/XP. Как правило, при установке не требуется никакой настройки, комплекс может использоваться даже неподготовленными пользователями. Тем не менее, он может найти применение не только для обучения азам веб-программирования, но и для отладки интерактивных сайтов, программ, использующих базу данных MySQL, написанных на языках PHP и Perl.
Основные отличия комплекса то аналогів.
1. Модульность и расширяемость. Нет необходимости выкачивать многомегабайтные дистрибутивы отдельных компонентов. Базовая версия предлагаемого комплекса Apache+PHP+Perl+MySQL имеет размер всего около 1.9Мб и при этом полностью функционален. В случае необходимости Вы можете докачать с сайта разработчиков дополнительные комплекты, содержащие интерпретатор Perl с различными модулями, библиотеки, расширяющие возможности PHP и обеспечивающими работу с архивами, графикой, базами данных, отличными от MySQL и т.д.
2. Компоненты комплекса уже сконфигурированы для работы Конечно, для оптимизации работы и включения дополнительных возможностей необходимо редактировать конфигурационные файлы, но базовые возможности доступны сразу же после установки! В состав пакета включен также установщик, который значительно упрощает процедуру конфигурирования при "переезде" пакета в другую директорию.
3. Программы, входящие в состав комплекса, написаны различными разработчиками; их особенности иногда могут затруднить совместное функционирование этих продуктов. Возможны также принципиальные различия различных версий одной и той же программы, что зачастую затрудняет установку и настройку. Компоненты предлагаемого пакета конфигурировались и тестировались для обеспечения полноценной работы в составе комплекса.
4. PHP работает в качестве модуля веб-сервера Apache, что позволяет отлаживать программы авторизации пользователей и открывает доступ к ряду дополнительных возможностей. Необходимо отметить, что сторонними разработчиками чаще всего предлагается работать с интерпретатором PHP как CGI-программой, что несколько ограничивает возможности. Наш пакет предусматривает такую возможность, но штатным режимом все же является режим функционирования как модуля Apache, что наиболее распространено на платформе UNIX.
Состав комплекса.
Состав базового комплекта:
1. Apache: выполняемые файлы, дистрибутивные и адаптированные конфигурационные файлы.
2. PHP: выполняемые файлы, модуль для веб-сервера Apache, дистрибутивный и адаптированный конфигурационный файл, библиотека GD - пока без поддержки формата GIF.
3. MySQL выполняемые файлы, файлы сообщений об ошибках на русском и английском, база данных mysql.
4. Панель управления базой данных MySQL - phpMyAdmin, а также скрипт, упрощающий добавление нового пользователя MySQL.
5. Perl: выполняемые файлы, модули отсутствуют.
6. Отладочная "заглушка" для sendmail (/usr/sbin/sendmail), не отправляющая письма, а записывающая их в файл /tmp/! sendmail. txt.
7. Система автоматического поиска виртуальных хостов и обновления системного файла hosts, а также конфигурации Apache. Благодаря ей добавление нового виртуального хоста (или домена третьего уровня) заключается в простом создании каталога в /home (см. по аналогии с уже существующими хостами) и перезапуске комплекса. Все изменения вносятся в конфигурационные и системные файлы автоматически, но вы можете управлять этим процессом при помощи механизма шаблонов хостов.
На официальном сайте доступны дополнения, расширяющие возможности базового комплекта:
PHP версии 3 в виде CGI-программы;
модули и документация для Apache;
модули и документация для PHP;
модули и документация Perl;
сервер MySQL с поддержкой транзакций, документация;
модули поддержки технологии Parser;
другие популярные модули.
Версии программ, входящих в состав комплекса
Apache 1.3.27 (октябрь 2002 г)
PHP 4.3 0 (30 декабря 2002)
phpMyAdmin 2.3 0 (август 2002 г)
MySQL 3.23.53 (ноябрь 2002 г)
ActivePerl 5.6.1.631 (январь 2002 г)
Во всей истории вычислительной техники можно проследить две основных области ее использования. Первая область - применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Развитие этой области способствовало интенсификации методов численного решения сложных математических задач, развитию класса языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ.
Вторая область - это использование средств вычислительной техники в автоматических или автоматизированных информационных системах. В самом широком смысле информационная система представляет собой программно-аппаратный комплекс, функции которого состоят в надежном хранении информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно такие системы имеют дело с большими объемами информации, и эта информация имеет достаточно сложную структуру.
Вторая область использования вычислительной техники возникла несколько позже первой. Это связано с тем, что на заре вычислительной техники возможности компьютеров по хранению информации были очень ограниченными.
Но поскольку в информационных системах требуется поддержка сложных структур данных, эти индивидуальные средства управления данными составляли существенную часть информационных систем, практически повторяясь (как программные компоненты) от одной системы к другой. Стремление выделить общую часть информационных систем, ответственную за управление сложно структурированными данными явилось первой побудительной причиной создания СУБД, которая, возможно, могла бы представлять некоторую общую библиотеку программ, доступную каждой информационной системе.
Однако очень скоро стало понятно, что невозможно обойтись такой общей библиотекой программ, реализующей над стандартной базовой файловой системой более сложные методы хранения данных.
Согласованность данных является ключевым понятием баз данных. На самом деле, если информационная система поддерживает согласованное хранение информации в нескольких файлах, можно говорить о том, что она поддерживает базу данных. Если же некоторая вспомогательная система управления данными позволяет работать с несколькими файлами, обеспечивая их согласованность, можно назвать ее системой управления базами данных. Уже только требование поддержания согласованности данных в нескольких файлах не позволяет обойтись библиотекой функций: такая система должна обладать некоторыми собственными данными (метаданными) и даже знаниями, определяющими целостность данных.
По логическому представлению структуры данных СУБД делятся на несколько типов: реляционные, сетевые и иерархические. Главная характеристика, определяющая тип - это используемое представление данных.
Основной структурой в иерархических моделях данных является "дерево". Особенности такого представления в наличии корня - единственной точки входа в дерево, и что каждый порожденный узел имеет только одного родителя. Недостатком этой системы является высокая избыточность. Одна запись БД - это совокупность деревьев. Через эту структуру нельзя построить отношение N: N (многие-ко-многим).