Базы и банки данных

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 13-1. Схема автоматизированной информационной системы

 

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

Под базой данных(англ. «database») обычнопонимается именованная совокупность данных, отображающая состояние объектов и их отношений в рассматриваемой предметной области. Характерной чертой БД является постоянство: данные постоянно накапливаются и используются; состав и структура данных, необходимых для решения прикладных задач обычно постоянны и стабильны во времени. Отдельные или даже все элементы данных могут меняться – но и это есть проявление постоянства – постоянная актуальность.

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

Банк данных (БНд) – система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного многоцелевого использования данных. Банк данных – совокупность баз данных[1].

Иногда в составе БНд выделяют архивы. Основанием для этого является особый режим использования данных — только часть данных находится под оперативным управлением СУБД. Все остальные данные (архивы) обычно располагаются на носителях, оперативно не управляемых СУБД. Одни и те же данные в разные моменты времени могут входить как в БД, так и в архивы. БНд могут не иметь архивов. Если они есть, то в состав БНд может входить и система управления архивами.

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

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

СУБД обеспечивает:

● описание и сжатие данных;

● манипулирование данными (запись, поиск, выдачу, изменение содержания);

● физическое размещение (изменение размеров блоков данных, записей, использование занимаемого пространства, сортировку);

● защиту от сбоев, поддержку целостности и восстановление;

● работу с транзакциями и файлами;

● безопасность данных.

 

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

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

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

Разработка Е. Коддом реляционной теории подтолкнула к созданию следующего класса СУБД, особенностями которого являются применение реляционной модели данных и развитый язык запросов SQL. Простота и гибкость модели данных позволили ей стать доминирующей и занять лидирующие позиции на соответствующем секторе рынка. В 1980 году фирма Ashton Tate (США) выпустила программу dBASE, послужившую началом активного создания и использования СУБД для ПЭВМ. Специалисты отмечают ряд негативных моментов реляционных моделей, например, невозможность представления и манипулирования данными сложной структуры (тексты, пространственные данные), что послужило поводом совершенствования систем и создания новой модели данных.

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

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

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

Гибридные системы управления базами данных объединяют положительные качества реляционных и объектно-ориентированных систем. Они соединяют средства обработки транзакций реляционных СУБД с поддержкой многочисленных типов данных объектно-ориентированных СУБД. Гибридные СУБД используют язык структурированных запросов (SQL).

Наиболее известные современные СУБД: Oracle, LotusApproach, MicrosoftAccess, BorlanddBase, BorlandParadox, MicrosoftVisualFoxPro, MicrosoftVisualBasic, а также баз данных MicrosoftSQLServer и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер» и другие.

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

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

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

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

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

       Многократное использование данныхиспользование данные различным образом;

       Простота – возможность легко узнать и понять пользователю, какие данные имеются в его распоряжении;

       Легкость использования осуществление (процедурно) простого доступа к данным (все сложности доступа к данным должны быть скрыты в СУБД);

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

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

       Язык взаимодействия конечных пользователей с системой – обеспечение конечным пользователям возможности получения данных без использования прикладных программ;

       База данных – основа будущего наращивания прикладных программ. Базы данных должны обеспечивать возможность быстрой и дешёвой разработки новых приложений;

       Сохранение затрат умственного труда: при внесении изменений в БД существующие программы и логические структуры данных (на создание которых обычно затрачивается много человеко-лет) не должны переделываться;

       Наличие интерфейса прикладного программирования – простота и эффективность выполнения прикладными программами запросов на данные; программы должны быть изолированы от расположения файлов и способов адресации данных;

       Распределенная обработка данныхфункционирование в условиях вычислительных сетей с обеспечением эффективного доступа пользователей к любым данным распределенной БД, размещённым в любой точке сети;

       Адаптивность и расширяемость:для увеличения производительности БД должна быть настраиваемой; настройка не должна вызывать перезапись прикладных программ. Поставляемый с СУБД набор предопределённых типов данных должен быть расширяемым – наличие в системе средств определения новых типов, отсутствие различий в использовании системных и определенных пользователем типов;

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

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

       Вспомогательные средствадолжны позволять разработчику или администратору БД предсказать и оптимизировать производительность системы;

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

 

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

 

 

К оглавлению

Назад к разделу "Тема 13. Информационные хранилища данных"

Вперед к разделу "Типология БД"



[1] Термин «банк данных» используется сравнительно редко, и некоторыми авторами признается архаичным. В современной, в основном переводной литературе, понятие банк данных определяется как система баз данных. По нашему мнению, «банк данных» вполне адекватное и более широкое понятие.