Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 28
Текст из файла (страница 28)
4.11).В сетевых СУБД с коллективным использованием файлов БД по-прежнему вся обработка информации производится на КК, а функции КС сводятся к предоставлению большой дисковой памяти. Такой подход нельзясчитать эффективным, так как для обеспечения приемлемой скорости процесса обработки информации КК должен обладать высоким быстродействием и иметь большую емкость оперативной памяти.
Кроме того, пересылкакопий файлов БД и команд управления блокировками по линиям связи существенно увеличивает нагрузку на подсистему передачи данных, что снижает общую производительность сети.Примерами сетевых СУБД являются: FoxPro 2.5 для Windows, dBase IY,Paradox 3.5 для DOS.Информационные системы типа клиент-серверотличаются от системтипа файл-сервер прежде всего тем, что программы СУБД функциональноразделены на две части, называемые сервером и клиентом. Между клиентскойи серверной частями системы возможны различные варианты распределенияфункций (подраздел 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) — наиболее простой и доступный способдоступа в сети Интернет. Позволяет выполнять пересылку любых типовфайлов (включая тексты, изображения, звуковые файлы) по адресам электронной почты в любую точку планеты за короткий промежуток времени влюбое время суток.