БАНК ДАННЫХ. ОСНОВНЫЕ ПОНЯТИЯ.
(по книге: Ревунков Г.И. и др. Базы и банки данных. М., 1992.).
БнД - может рассматриваться в узком и широком смысле этого понятия. В узком БнД=Бд + СУБД. В широком БнД =АС
(автоматизированная система)Банк данных
(БнД) - это АИС, включающая в свой состав комплекс специальных методов и средств (математических, информационных, программных, языковых, организационных, технических) для поддержания динамической информационной модели предметной области с целью обеспечения обработки информационных запросов пользователя.Услугами БнД пользуется обычно большое число пользователей. Поэтому в БнД предусматривается специальное средство приведения всех запросов к единой терминологии - словарь данных. Кроме того, используются специальные методы эквивалентных грамматических преобразований запросов для построения оптимальных процедур их обработки, специальные методы доступа к одним и тем же данным различных пользователей при совпадении во времени поступивших запросов - механизм транзакций.
Обычно со стороны внешних пользователей к БнД формулируются следующие требования. БнД должен:
Преимущества централизации управления данными
:БнД через СУБД обеспечивает независимость прикладных программ от данных, чтобы не выполнять трудоемких ручных операций по внесению соответствующих изменений в прикладные программы.
Рассматривая д. как один из ресурсов АС, можно сказать, что БнД централизованно управляет этим ресурсом в интересах всей системы. Наличие централизованного управления данными - главная отличительная черта БнД.
БнД - информационная система, реализующая централизованное управление д. в интересах всех пользователей АС. (Средство интеграции д.).
В банках знаний (БнЗ) задачи интегрируются как по данным, так и по их обработке, возрастает интеллектуализация этих систем, цель которых - максимальное удовлетворение запросов пользователей. (Отличительная особенность - наличие “интелектуального интерфейса” поддерживающего терминологию предметной области).
БнД как автоматизированная система.
БнД в узком смысле включает в состав две основные компоненты:
В широком смыле БнД - это АС.
Управляет БнД администратор банка данных (АБД).
Словарь данных (СД) представляет собой специальную систему в составе БнД, предназначенную для хранения единообразной информации обо всех ресурсах данных конкретного банка.
В словаре содержатся сведения об объектах, их свойствах и отношениях для данной ПО, сведения о д., хранимых в базе (наименования д., их структуре, связи с другими д.), об их возможных значениях и форматах представления, об источниках их возникновения, о кодах защиты, разграничениях доступа к д. со стороны пользователей.
СД призван способствовать уменьшению избыточности и противоречивости д., хранить централизованное описание д, позволяющее централизованно вводить в систему новые типы данных или изменять описание существующих либо удалять устаревшие типы данных. Кроме того, СД позволяет пользователям системы и АБД пользоваться единообразной терминологией по данной предметной области при решении вопросов, связанных с обслуживанием запросов в БнД.
Преимущество использования СД - в централизованном накоплении и описании суммарного ресурса данных
системы как на этапах проектирования БД, так и на этапах ее функционирования.Если СУБД не имеет в своем составе программных средств введения словаря, то обычно разрабатывается, так называемый, независимый СД.
В системах с интегрированным словарем описания данные хранятся в единственном экземпляре в СД и используются при работе системы.
В системе с независимым словарем существует дублирование описаний д. - в СУБД и в СД, что повышает вероятность избыточности и противоречивости д., хранимых как в библиотеках СУБД, так и в словаре.
В зависимости от сложности ИС группа АБД может состоять как из одного, так из нескольких человек. В состав служебных функций АБД входит функция принятия решений об изменениях в состоянии БД.
Основной функцией АБД является обеспечение структур д. и взаимосвязь между ними, эффективных для обслуживания именно всего коллектива пользователей. Это функция администрирования БД.
БнД отличаются тем, что их внедрение и последущая эксплуатация занимает довольно продолжительное время. Поэтому функции АБД являются долгосрочными и направлены на координацию всех этапов проектирования, реализации и ведения БД.
На стадии проектирования АБД выступает основным идеологом, руководит всеми работами по разработке или приобретению ПО, обучение обслуживающего персонала и т.п.
На стадии эксплуатации отвечает за нормальную эксплуатацию и функционирвание БнД, управляет режимом работы, отвечает за сохранность данных.
Функции АБД:
АРХИТЕКТУРА БнД.
СУБД реализует отображение (прямое и обратное):
Модель
<- > хранимая БДВ описании отображения, кроме указания соответствий между полями записей модели и полями хранимых записей, указываются все необходимые сведения о хранимых д.: в каком коде они представлены, как они упорядочены, какие существуют индексы, где расположены те или иные д., с какими данными они связаны, какие методы доступа необходимо использовать для манипулирования хранимыми д. и т.п.
Часть задач обработки д. целесообразно возложить на ОС, используя ее программы методов доступа. Т.о. обеспечивается относительная независимость операций хранения д от используемых технических средств. Т.е. вводится понятие внутренней модели БД:
Модель ---- Внутренняя модель ---- физическая БД
При проектировании СУБД разрабатываются собственные методы доступа к хранимым записям (внутренней модели), базирующиеся на методах доступа ОС. Во внутренней модели БД должна быть представлена в виде совокупности хранимых файлов, для которых известна структура хранимых записей, определены служебные поля, реализующие необходимые связи между записями, известны методы доступа СУБД к этим записям и т.д. В состав СУБД включаются средства преобразования хранимых записей к виду физического представления на машинном носителе и обратно.
На рис.1. представлена архитектура БнД.
Рис. 1.
Пользователи составляют свои ПП, используя только термины модели данных (МД). СУБД, получив запрос из ПП, организует запрос (на считывание, напр., из физической БД необходимой порции д. с носителя в буфер) к ОС. Т.о. в буферной памяти СУБД окажутся хранимые записи, имеющие структуру в соответствии со схемой ВнМД.
Затем выполняется требуемое отображение хранимых записей в записи модели, а затем передача их в РО ПП, которая их затребовала.
Эта схема решает вопрос независимости ПП от д., однако требует знания модели д. пользователем, что не всегда оправдано. Следовательно, необходимо внешнее представление д. Логическое представление в МД является “синхронизирующим”, сама модель - концептуальной моделью.
Между внешней и концептуальной моделями также должно быть реальзовано отображение.
При таком подходе на внешнием уровне поддерживаются органиченные модели ПО, видимые отдельными приложениями (пользователями). На концептуальном уровне поддерживается модель ПО для всех приложений. Уровень хранимых данных - внутренний уровень. Такая архитектура БнД придает ему способность к адаптации к возможным изменениям как в ПП, так и в самих д. в силу независимости схем ВнС, КС, ВС. КС - стабильная и нечувствительная к изменениям во ВнС и ВС.
Централизация и децентрализация процессов обработки данных.
Централизация процессов обработки д. позволяет устранить такие надостатки как несвязанность, противоречивость и избыточность д. в ИС, обеспечивает возможность стандартизиции представления д., санкционированного доступа и т.п. Однако по мере роста БД, использование их в территориально разнесенных организациях приводит к тому, что централизованная СУБД плохо справляется с ростом числа обрабатываемых транзакций. Это приводит к снижению общей надежности и производительности системы при обработке запросов пользователей.
Децентрализация процессов обработки д. в ИС позволяет повысить общую производительность системы вследствие распределения нагрузки по нескольким узлам обработки (хотя и за счет снижения требований к целостности и противоречивости д. и их безопасности).
+ Доводы в пользу распределения обработки:
+Доводы в пользу централизации д.:
В одной и той же системе одни д. могут быть централизованными, другие - децентрализованными. Основная задача при проектировании распределенной БД - распределение д. по сети.