Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 28
Текст из файла (страница 28)
Между клиентскойи серверной частями системы возможны различные варианты распределенияфункций (подраздел 4.2).хранениекопированиеЛЦБД\\Л БДКК/>^ СУБДвыполнениеРис. 4.11. Система типа файл-сервер с сетевой С У Б ДЧасть 1. Основы136построениябазданныхКлиент, или фронтальная программа, отвечает за интерфейс с пользователем, для чего принимает и проверяет синтаксис вводимых пользователемзапросов, преобразует их в команды запросов к серверной части, а при получении результатов выполняет обратное преобразование и отображение информации для пользователя.В роли клиента выступает пользовательская (разрабатываемая для решения конкретной прикладной задачи программа) или готовая программа, имеющая интерфейс с серверной программой. В качестве готовых клиентскихпрограмм могут использоваться текстовые процессоры, табличные процессоры и даже СУБД (например, Access, FoxPro и Paradox).Сервер является основной программой, выполняющей функции управления и защиты данных в базе.
На сервере принимаются запросы к базе со стороны клиентов с проверкой их полномочий, последующим выполнением ивозвратом результатов, обеспечивается параллельный доступ к данным, контролируется соблюдение ограничений целостности, реализуются функцииуправления восстановлением. В случаях, когда вызов функций сервера выполняется на языке SQL, а именно так часто и происходит, его называют SQLсервером.В качестве сервера может использоваться ядро профессиональной реляционной СУБД (например, Informix 7.x и Sybase System 10) или некоторыйSQL-сервер (например, Novell NetWare SQL и Microsoft SQL Server).Структуру информационных систем типа клиент-сервер упрощенно можно представить как показано на рис.
4.12.КСЦБДконтре)ль|сервер БД\/записиЦБДЛВД-ККклиент////выполнение\\/\\_ДзаписивыполнениеЛБДклиентРис. 4.12. Информационная система типа клиент-сервер4. Информационныесистемыв сетях137Основная часть обработки информации по формированию запросов, составлению отчетов, представлению данных в удобной для пользователя видеи т. д. выполняется на КК.
Полные копии файлов БД из КС на КК и обратно(как в случае систем на базе сетевых С У Б Д ) не пересылаются, посколькудля организации полноценного взаимодействия, как правило, достаточноиметь на КК необходимые в данный момент времени записи БД. Все этосущественно снижает траффик в сети, ослабляет требования по ресурсам кКК, позволяет создавать более эффективные и надежные информационныесистемы.В последнее время на компыотере-сервере, кроме собственно данных, хранят программы обработки данных и запросы. Это обеспечивает увеличениескорости обработки данных (программа обработки либо запрос находится «рядом» с данными), а также эффективность хранения и администрирования программ и запросов общего пользования в одном месте (на компьютере-сервере).Хранимые на компьютере-сервере программы (процедуры) обработки данных называют хранимымипроцедурами.Разновидностью хранимой процедуры является так называемый триггер.Триггер (триггерная процедура) автоматически вызывается при возникновении определенных событий в БД.
В качестве событий могут быть следующие: операции вставки, обновления и удаления отдельных записей, колоноки полей записей и другие. Примером триггера является программа, запускающая процесс посылки сообщения по электронной почте при достижении размера БД (количества записей) предельного значения.В БД сервера некоторых систем можно хранить и сами запросы, называемые хранимыми командами. Совокупность хранимых команд — это поименованная совокупность команд, получаемых в результате компиляции SQLзапроса. Хранимые команды в ы п о л н я ю т с я значительно быстрее, чемсоответствующий SQL-запрос. Основная причина ускорения состоит в том,что при выполнении хранимых команд не требуется синтаксический разборзапросов. Дополнительное ускорение выполнения запросов может быть получено в тех случаях, когда сервер БД не просто сохраняет коды команд запросов, а производит оптимизацию сохраняемого кода.С хранимыми процедурами и командами связано понятие курсора, отличающееся от привычного понятия курсора как указателя текущей позициина экране монитора.
В разных СУБД — это близкие, но несколько отличающиеся понятия. Наиболее широко это понятие трактуется в С У Б Д SQLBase.Здесь курсор может означать следующее:• идентификатор сеанса связи пользователя с СУБД;• идентификатор хранимых команд и процедур;• идентификатор результирующего множества;• указатель текущей строки в результирующем множестве, обрабатываемом клиентским приложением.Часть 1. Основы построения138базданныхПрограммы сервера (основные, хранимые процедуры и триггеры) могутбыть выполнены как обычные программы (Windows 95/98), пёоаеай (WindowsNT/2k), либо как специально загружаемые модули сетевой ОС (NLM-модули в сети Novell). Программы клиента в общем случае хранятся на КС или наКК, или в обоих местах.В настоящее время среди программных продуктов существует огромноеколичество универсальных (в смысле пригодности работы с различными серверами БД) средств разработки систем типа клиент-сервер, к числу которыхотносятся: Delphi (Borland), Power Builder (Powersoft), ERwin (LogicWorks),Visual Basic (Microsoft), CA-Visual Objects (Computer Associates), SQLWindows (Gupta) и другие.
Кроме того, существуют средства разработки врамках определенных СУБД (например, для Oracle 7 — Designer/2000). Всеподобные средства, как правило, относятся к CASE-системам (раздел 7).При построении информационных систем типа клиент-сервер возникаетпроблема доступа со стороны СУБД или приложений, разработанных в одной среде, к данным, порожденным другой СУБД. В среде Windows эта проблема решается с помощью стандартного интерфейса ODBC (Open DatabaseConnectivity — совместимость открытых баз'данных) фирмы Microsoft. Основное его назначение заключается в обеспечении унифицированного доступа к локальным и удаленным базам данных различных производителей.Схема доступа приложений к базам данных с помощью ODBC показана нарис.
4.13. Доступ приложения к данным происходит путем вызова на языкеSQL стандартных функций интерфейса ODBC. На компыотере-клиенте приэтом должна функционировать операционная система MS Windows с интерфейсом ODBC.Взаимодействие приложения с данными производится с помощью менеджера (диспетчера) драйверов, который подключает необходимый драйвер вУзел АУзел ВСУБД(сервер)БДОССетевое ПОРис. 4.13. Схема доступа к Б Д с помощью O D B C4. Информационныесистемыв сетях139соответствии с форматом данных СУБД. Драйвер СУБД, используя сетевыесредства, как правило, коммуникационные модули конкретной СУБД, передает SQL-операторы серверу СУБД.
Результаты выполнения запросов на сервере передаются обратно в приложение.Рассмотренные схемы функционирования С У Б Д и внешних приложенийкасаются наиболее типичных вариантов их построения.4 . 5 . Информационные с и с т е м ыв Интернете и интранетеОбработка информации в среде Интернет существенно отличается от обработки информации в локальной сети и, тем более, на отдельном компьютере. Перечислим наиболее важные из них:1. Большая протяженность коммуникационных линий, что сказывается навременных характеристиках обмена.
Кроме того, большая удаленность лишаетсмысла загрузку программ с одного компьютера на другой и не позволяетвыполнять пересылку больших объемов данных в реальном масштабе времени, как в сетевых С У Б Д локальных сетей.2. Взаимодействие распределенных элементов И С происходит с помощьюобмена пакетами или сообщениями. Отдельные программные компоненты И Смогут быть одного или различных производителей. В последнем случае особую роль приобретает решение проблемы поддержки стандартов на сетевыепротоколы и на язык SQL.3.
Сеть Интернет отличает от остальных глобальных сетей то, что по масштабам она больше всех других сетей (объединяет другие сети) и принципыее организации оказывают существенное влияние на использование в сетибаз данных.Перед рассмотрением моделей и механизмов использования БД дадимкраткую характеристику Интернета.ХарактеристикаИнтернетаОсновными видами услуг (сервиса), предоставляемых пользователям приподключении к Интернету, являются:• электронная почта (E-mail);•телеконференции (UseNet);• система эмуляции удаленных терминалов (TelNet);• поиск и передача двоичных файлов ( F T P ) ;• поиск и передача текстовых файлов с помощью системы меню (Gopher);• поиск и передача документов с помощью гипертекстовых ссылок ( W W Wили «Всемирная паутина»).140Часть 1. ОсновыпостроениябазданныхСоздание и развитие этих способов связано с историей Интернета. Каждый из них характеризуется своими возможностями и различием в организации протоколов обмена информацией.
Под протоколом, в общем случае, понимается набор инструкций, регламентирующих работу взаимосвязанныхсистем или объектов в сети.Электронная почта (E-mail) — наиболее простой и доступный способдоступа в сети Интернет. Позволяет выполнять пересылку любых типовфайлов (включая тексты, изображения, звуковые файлы) по адресам электронной почты в любую точку планеты за короткий промежуток времени влюбое время суток. Для передачи сообщения необходимо знать электронныйадрес получателя.
Работа электронной почты основана на последовательной передаче информации по сети от одного почтового сервера к другому,пока сообщение не достигнет адресата. К достоинствам электронной почтыотносятся высокая оперативность и низкая стоимость. Недостаток электронной почты состоит в ограниченности объема пересылаемых файлов.Система телеконференций UseNet разработана как система обмена текстовой информацией.
Она позволяет всем пользователям Интернета участвовать в групповых дискуссиях, называемых телеконференциями, в которыхобсуждаются всевозможные проблемы. Сейчас в мире насчитывается более10 тысяч телеконференций. Информация, посылаемая в телеконференции,становится доступной любому пользователю Интернета, обратившемуся вданную телеконференцию. В настоящее время телеконференции позволяютпередавать файлы любых типов. Для работы с телеконференциями наиболеечасто используются средства программ просмотра и редактированияWeb-документов.TelNet — это протокол, позволяющий одному компьютеру использоватьресурсы другого (удаленного) компьютера.
Другими словами — это протоколудаленного терминального доступа в сети.FTP (File Transfer Protocol) — это протокол, позволяющий передавать файлы произвольного формата между двумя компьютерами сети. Программноеобеспечение FTP разработано по архитектуре «клиент-сервер» и разделенона две части: серверную (FTP-сервер) и клиентскую. FTP-клиент, в общемслучае, позволяет пользователям просматривать файловую систему FTP-cepвера и производить с ней обмен файлами (выгружать файлы своего компьютера, загружать, переименовывать и удалять файлы удаленного компьютера).Достоинством данного протокола является возможность передачи файлов любого типа, в том числе исполняемых программ.