Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция № 10 ИС в сетях.doc
Скачиваний:
8
Добавлен:
20.09.2019
Размер:
210.43 Кб
Скачать

5.4 Информационные системы в локальных сетях

В локальной вычислительной сети персональных ЭВМ выделяют три варианта создания информационной системы:

    • Типа файл-сервер;

    • Типа клиент-сервер;

    • Основанные на технологии интранет.

Информационную систему типа файл-сервер можно построить двумя способами:

    • С использованием несетевых СУБД, предназначенных для применения на отдельной машине;

    • С использованием сетевых СУБД, разрабатываемых для применения в локальной вычислительной сети.

Под сетевой СУБД понимается система с произвольной моделью данных (не обязательно сетевой), ориентированная на использование в сети.

Программы несетевой СУБД и используемые ими данные могут храниться на компьютере-сервере (КС) и на компьютере-клиенте (КК).

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

Если несетевая СУБД используется несколькими пользователями сети, то ее программы, а также базу данных или ее часть в целях экономии дисковой памяти эффективнее хранить на компьютере-сервере. База данных, хранимая на компьютере-сервере, называется центральной БД (ЦБД), а хранимая на компьютере-клиенте – локальной БД (ЛБД). При запуске такой СУБД на каждый компьютер-клиент пересылается полная копия основной программы СУБД и один или несколько файлов ЦБД (рис. 5.9). После завершения работы файлы центральной базы данных пересылаются с компьютера-клиента обратно на компьютер-сервер для согласования данных.

Недостаток применения несетевых СУБД – возможность нарушения целостности данных при одновременной работе с одной базой данных нескольких пользователей. Так как каждая копия СУБД функционирует, «не зная» о работе других копий, то никаких мер по исключению возможных конфликтов не принимается.

Примеры несетевых СУБД: dBase III Plus, dBase IV и FoxBase.

хранение

копирование физические

соединения

. . .

выполнение

  • копирование данных

  • копирование программ

  • связь по управлению

Рис. 5.9. Система типа файл-сервер с несетевой СУБД

Сетевые СУБД не имеют такого недостатка, т.к. в них предусмотрен «контроль соперничества». Координация доступа к данным контролируется введением блокировок к файлам, записям и даже отдельным полям записей (рис. 5.10).

В сетевых СУБД с коллективным использованием файлов БД вся обработка информации производится на КК, а функции КС сводятся к предоставлению большой дисковой памяти.

Недостатки:

  • Высокие требования к КК (высокое быстродействие и большая емкость оперативной памяти);

  • Пересылка копий файлов БД и команд управления блокировками по линиям связи существенно увеличивает нагрузку на подсистему передачи данных, что снижает производительность сети.

Примеры сетевых СУБД: FoxPro 2.5 для Windows, dBase IV, Paradox 3.5 для DOS.

В информационных системах типа клиент-сервер программы разделены на две части, называемые сервером и клиентом.

КС

ЦБД

контроль

СУБД

хранение

к опирование физические

соединения

КК

КК

ЛБД СУБД

ЦБД

ЦБД

. . .

СУБД

ЛБД

СУБД

ЛБД

выполнение

Рис. 5.10. Система типа файл-сервер с сетевой СУБД

Клиент (фронтальная программа) отвечает за интерфейс пользователем, преобразуя его запросы в команды запросов к серверной части, а, получив результат, выполняет обратное преобразование и отображение информации для пользователя.

В роли клиента выступает пользовательская (разрабатываемая для решения конкретной прикладной задачи программа) или готовая программа, имеющая интерфейс с серверной программой. Готовые клиентские программы: текстовые процессоры, табличные процессоры, СУБД Access, FoxPro и Paradox.

Сервер – основная программа, выполняющая функции управления и защиты данных в базе. Если вызов функций сервера выполняется на языке SQL, то сервер называют SQL-сервером.

В качестве сервера может использоваться ядро профессиональной СУБД (например, Informix 7.x и Sybase System 10) или некоторый SQL-сервер (например, Novell NetWare SQL и Microsoft SQL Server).

Структуру информационной системы типа клиент-сервер упрощенно можно представить в виде рис. 5.11.

Основная часть обработки информации по формированию запросов, составлению отчетов, представлению данных и т.д. выполняется на компьютере-клиенте. Полные копии файлов базы данных из компьютера-сервера на компьютер-клиент и обратно не пересылаются, т.к. для организации полноценного взаимодействия достаточно иметь на компьютере-клиенте необходимые в данный момент времени записи базы данных. Это существенно снижает траффик в сети, ослабляет требования по ресурсам к компьютеру-клиенту, позволяет создавать более эффективные и надежные информационные системы.

В последнее время на компьютерах-серверах, кроме собственно данных, хранят программы обработки данных и запросы. Это увеличивает скорость обработки данных (программы, запросы и данные находятся «рядом»), а также эффективность хранения и администрирования программ и запросов общего пользования в одном месте (на компьютере-сервере).

КС

ЦБД

контроль

Сервер БД

хранение

к опирование физические

соединения

КК

КК

ЛБД СУБД

Записи

ЦБД

Записи

ЦБД

. . .

клиент

ЛБД

клиент

ЛБД

выполнение

Рис. 5.11. Информационная система типа клиент-сервер

Хранимые на компьютере-сервере программы (процедуры) обработки данных называют хранимыми процедурами.

Разновидностью хранимой процедуры является триггер (триггерная процедура). Триггер автоматически вызывается при возникновении определенных событий (операций вставки, обновления и удаления отдельных записей, колонок и полей записей и др.) в базе данных. Пример триггера – программа, запускающая процесс посылки сообщения по электронной почте при достижении размера БД (количества записей) предельного значения.

В базе данных сервера некоторых ИС можно хранить и сами запросы, называемые хранимыми командами. Совокупность хранимых команд – это поименованная совокупность команд, получаемых в результате компиляции SQL-запроса. Хранимые команды выполняются значительно быстрее, чем соответствующий SQL-запрос, т. к. при выполнении хранимых команд не требуется синтаксический разбор запросов. Если сервер не просто сохраняет коды команд, но и производит оптимизацию сохраняемого кода, то достигается дополнительной ускорение выполнения запросов.

С хранимыми процедурами и командами связано понятие курсора. В разных СУБД это понятие несколько различается. Курсор может означать следующее:

  • Идентификатор сеанса связи пользователя с СУБД;

  • Идентификатор хранимых команд и процедур;

  • Идентификатор результирующего множества;

  • Указатель текущей строки в результирующем множестве, обрабатываемом клиентским приложением.

В настоящее время существует огромное количество универсальных (пригодных для работы с различными серверами БД) средств разработки систем типа клиент-сервер: Delphi (Borland), PowerBuilder (Powersoft), Erwin (LogicWorks), Visual Basic (Microsoft), CA-Visual Objects (Computer Associates), SQLWindows (Gupta) и другие. Кроме того, существуют средства разработки в рамках определенных СУБД (например, для Oracle 7 – Dessigner/2000). Подобные средства относятся к CASE-системам.

В среде MS Windows в информационных системах типа клиент-сервер доступ со стороны СУБД или приложений, выполненных в одной среде, к данным, порожденным другой СУБД, выполняется с помощью стандартного интерфейса ODBC (Open Database Connectivity – совместимость открытых баз данных). Схема доступа приложений к базам данных с помощью ODBC показана на рис. 5.12. Доступ приложения к данным происходит путем вызова на языке SQL стандартных функций интерфейса ODBC. На КК при этом должна функционировать операционная система MS Windows с интерфейсом ODBC.

Узел А Узел В

Рис. 5.12. Схема доступа к базе данных с помощью ODBC

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