Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_АКОБМИ.pdf
Скачиваний:
176
Добавлен:
17.05.2015
Размер:
1.95 Mб
Скачать

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

Тип организации СУБД определяется так же степенью структурированно-

сти записей в составе БД. Различают сильноструктурированные и слабоструктурированные записи.

Сильноструктурированная запись – запись, построенная в соответствии с фиксированным, заранее определённым форматом всех элементов описания. К таким данным относятся, например, сведения о микросхемах и других элементах в БД САПР, сведения о сотрудниках в БД отдела кадров организации и др. СУБД, предназначенные для хранения сильноструктурированных записей получили название фактографических СУБД.

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

Организация технического обеспечения АСОИ оказывает влияние на структуру информационного обеспечения и в первую очередь баз данных. Если БД сконцентрирована в одном узле вычислительной сети, то она называется сосредоточенной, в противном случае – распределённой. Если информационное обслуживание с помощью БД относится ко всей АСОИ, то БД называют общей (интегрированной или центральной), а если к отдельной подсистеме или к отдельному пакету прикладных программ, то локальной БД.

2.2 Типы баз данных

Для разных задач целесообразно использовать различные типы баз данных, поскольку, конечно, базу данных сведений о сотрудниках какого-то небольшого коллектива и базу данных о каком-нибудь банке, имеющем филиалы во всех концах страны, надо строить по-разному. /

В настоящее время различают четыре типа баз данных:

Автономные БД

Файл-серверные БД

Многоярусные БД

БД на платформе «Клиент/сервер».

98

2.2.1 Автономные базы данных

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

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

2.2.2 Файл-серверные базы данных

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

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

свозможным одновременным доступом нескольких пользователей к одной и той же информации. Например, при проектировании приложений, работающих

сподобными базами данных, должны быть решены такие проблемы: что делать, если пользователь прочел некоторую запись и, пока он ее просматривает и собирается изменить, другой пользователь меняет или удаляет эту запись.

99

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

Другой недостаток связан с тем, что забота о целостности данных при такой организации работы возлагается на программы клиентов. Если они недостаточно тщательно продуманы, в базу данных легко занести ошибки, которые могут отразиться на всех пользователях.

2.2.3 Многоярусные базы данных

Это новый и многообещающий путь обработки данных в сети. Иногда этот способ организации баз данных называется multi-tier — многонитевые. В этом термине под нитью понимается один из множества потоков данных, обменивающихся одновременно с базой данных.

Наиболее распространен трехярусный вариант:

На нижнем уровне на компьютерах пользователя расположены приложения клиентов, обеспечивающие пользовательский интерфейс.

На втором уровне расположен сервер приложений, обеспечивающий обмен данными между пользователями и распределенными базами данных. Сервер приложений размещается в узле сети, доступном всем клиентам

На третьем уровне расположен удаленный сервер баз данных, принимающий информацию от серверов приложений и управляющий ими.

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

вывода. Второй, средний (middleware) уровень — это рабочие станции и серверы приложений, то есть значительно более серьезные машины, на которых выполняются программы, критичные к загрузке процессора. Третий и последний уровень — мощные специализированные серверы баз данных.

Многоярусная организация — наиболее сложный, гибкий и эффективный способ работы с базами данных. При этом надо отметить, что на нижнем уровне — на компьютерах пользователя не требуется установки Borland Database Engine (BDE). В этом заключается одно из преимуществ многоярусных распределенных баз данных.

2.2.4Базы данных клиент/сервер

Для больших баз данных с множеством пользователей часто используются

100

базы данных на платформе клиент/сервер.

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

Таким образом, информационная система построенная по принципу клиент/сервер, состоит обычно из трех основных компонентов:

сервер БД, который и является собственно СУБД и управляет хранением данных, доступом, защитой, резервным копированием, отслеживает целостность данных и выполняет запросы клиента:

клиенты, представляющие собой различные приложения пользователей

ивыполняющие запросы к серверу, проверяющие допустимость данных и получающие ответы от него;

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

В функции сервера БД входит не только непосредственное обслуживание данных. Обязательно предусматриваются системы блокировки и управления многопользовательским доступом, элементы ограждения данных от несанкционированного доступа, структуры оптимизации запросов к БД.

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

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

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

Основные преимущества клиент/серверных по сравнению с аналогичными информационными системами заключаются в следующем.

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

ив качестве результата передает клиенту только интересующую информацию, а не всю БД.

Во-вторых, преимуществом архитектуры клиент/сервер является возможность хранения правил доступа и обработки на сервере, что позволяет избежать дублирования кода в различных приложениях, использующих общую БД. Кро-

101

ме того, любая манипуляция с данными может быть произведена только в рамках этих правил. Часть кода, связанного с обработкой данных, как правило, реализуется в виде хранимых процедур сервера, что позволяет еще более ускорить работу клиентского приложения за счет уменьшения его размеров, а это в свою очередь означает, что требования к рабочим станциям могут быть не такими высокими Это в конечном итоге снижает общую стоимость информационной системы даже при использовании дорогостоящей СУБД и мощного сервера БД.

Рис.2.1. Упрощенная схема БД на платформе клиент/сервер

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

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

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

В базах данных клиент/сервер возникает дополнительная проблема спроектировать приложение так, чтобы оно максимально использовало воз-

102