Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Систем управления базами данных




 

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

Важнейшие требования к информационным системам — хране­ние и обработка данных — не были реализованы возможностями си­стем управления файлами, существовавшими в 60-х гг.; отсутствова­ли, поддержание логически связанных файлов, средства восстановле­ния данных в системе после сбоев и параллельная работа нескольких пользователей; не был реализован язык манипулирования данными.

В начале 70-х гг. разработан новый вид программного обеспече­ния — системы управления базами данных (Data Base Management System — DBMS), позволивший структурировать, систематизировать и организовать данные для их компьютерного хранения и обработки. Системой управления базами данных (СУБД) называют программную систему, предназначенную для создания на ЭВМ общей базы данных для множества приложений; поддержания ее в актуальном состоя­нии и обеспечения эффективного доступа пользователей к содержа­щимся в ней данным в рамках предоставленных им полномочий. СУБД предназначена, таким образом, для централизованного управления базой данных как социальным ресурсом в интересах всей совокупности пользователей.

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

СУБД первого поколения имели ряд существенных недостатков: отсутствие стандарта внешних интерфейсов и обеспечиваемости переносимости прикладных программ. Однако эти СУБД оказались весьма долговечны: разработанное на их основе программное обеспечение используется и сегодня и большие ЭВМ (mainframe) содержат огромные массивы актуальной информации.

Разработка Е. Коддом реляционной теории подтолкнула к со­зданию следующего класса СУБД. Особенностями второго поколе­ния являются применение реляционной модели данных и развитый! язык запросов SQL. Простота и гибкость модели данных позволили, ей стать доминирующей и занять лидирующие позиции на соответ­ствующем секторе рынка.

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

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

замкнутые — имеют собственные самостоятельные языки обще­ния пользователей с БД; они обеспечивают непосредственное обще­ние с системой в режиме диалога, позволяют работать без програм­мистов;

открытые — для общения с БД используется язык программиро­вания, «расширенный» операторами языка манипулирования данны-<„ ми (ЯМД); в этом случае необходимо присутствие квалифицирован­ного программиста;

по числу поддерживаемых СУБД уровней моделей данных:

одно-, двух-, трехуровневые системы. Теоретически обоснован выбор трехуровневой архитектуры данных; однако на практике СУБД для ПК часто объединяют концептуальный и внутренний уровни представления;

по выполняемым функциям:

операционные — иные виды обработки по получению информа­ции, не хранящейся в явном виде в БД;

информационные — позволяют организовать хранение данных, поиск и выдачу нужных данных из БД и поддерживать их целесооб­разность и актуальность;

по сфере применения:

универсальные — настраиваются на любую предметную область путем создания соответствующей БД и прикладных программ;

проблемно-ориентированные — ориентация на определенные процедуры обработки данных, присущих конкретной области при­менения;

по допустимым режимам работы:

пакетный;

телеобработка.

 

Основные функции систем управления

Базами данных

1. Управление данными во внешней памяти.

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

2. Управление буферами оперативной памяти.

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

3. Управление транзакциями.

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

4. Журнализация и восстановление БД после сбоев.

Одно из основных требований к СУБД — надежное хранение данных во внешней памяти. Под надежностью хранения понимает­ся: СУБД должна быть в состоянии восстановить последнее согласо­ванное состояние БД после аппаратного или программного сбоя. Поддержание надежного хранения данных в БД требует избыточно­сти хранения данных, причем та их часть, которая используется для восстановления должна храниться особо надежно. Наиболее распро­страненный метод поддержания такой избыточности — это ведение журнала изменений базы данных. Во всех случаях придерживаются «упреждающей» записи в журнал (так называемый протокол Write Ahead Log). Эта стратегия заключается в том, что запись об измене­нии любого объекта БД должна попасть во внешнюю память журна­ла раньше, чем она попадет во внешнюю память основной части БД. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.

5. Поддержание языков БД.

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...