Систем управления базами данных
Всю историю вычислительной техники можно представить как развитие двух основных направлений ее использования: для решения сложных математических расчетов, выполнение которых невозможно вручную, и, собственно, интересующее нас - использование вычислительной техники в автоматизированных информационных системах. Под информационной системой следует понимать программно-аппаратный комплекс, функции которого состоят в надежном хранении информации, предоставлении пользователю удобного интерфейса и, что особенно важно, выполнении специфических операций по преобразованию и поиску необходимой информации. Важнейшие требования к информационным системам — хранение и обработка данных — не были реализованы возможностями систем управления файлами, существовавшими в 60-х гг.; отсутствовали, поддержание логически связанных файлов, средства восстановления данных в системе после сбоев и параллельная работа нескольких пользователей; не был реализован язык манипулирования данными. В начале 70-х гг. разработан новый вид программного обеспечения — системы управления базами данных (Data Base Management System — DBMS), позволивший структурировать, систематизировать и организовать данные для их компьютерного хранения и обработки. Системой управления базами данных (СУБД) называют программную систему, предназначенную для создания на ЭВМ общей базы данных для множества приложений; поддержания ее в актуальном состоянии и обеспечения эффективного доступа пользователей к содержащимся в ней данным в рамках предоставленных им полномочий. СУБД предназначена, таким образом, для централизованного управления базой данных как социальным ресурсом в интересах всей совокупности пользователей.
В настоящее время практически невозможно представить информационную поддержку современного учреждения без применения профессиональных СУБД. Однако существующий сегодня уровень возможностей программных продуктов данного направления был достигнут не сразу: эволюция СУБД прошла путь от систем, опиравшихся на иерархическую и сетевую модель данных, до систем так называемого третьего поколения, для которых характерны идеи объектно-ориентированного подхода. СУБД первого поколения имели ряд существенных недостатков: отсутствие стандарта внешних интерфейсов и обеспечиваемости переносимости прикладных программ. Однако эти СУБД оказались весьма долговечны: разработанное на их основе программное обеспечение используется и сегодня и большие ЭВМ (mainframe) содержат огромные массивы актуальной информации. Разработка Е. Коддом реляционной теории подтолкнула к созданию следующего класса СУБД. Особенностями второго поколения являются применение реляционной модели данных и развитый! язык запросов SQL. Простота и гибкость модели данных позволили, ей стать доминирующей и занять лидирующие позиции на соответствующем секторе рынка. Многие разработчики сегодня выделяют ряд негативных момен-j, тов в реляционной модели, среди которых невозможность представления и манипулирования данными сложной структуры (тексты, пространственные данные). Это заставляет вести работы по совершенствованию систем второго поколения или создания новой модели данных. Для СУБД третьего поколения характерны использование предложений, касающихся управления объектами и правилами, управления распределенными данными, языков программирования ' четвертого поколения (4GL), технологии тиражирования данных и других достижений в области обработки данных. Сегодня СУБД этого поколения применяются в деловой сфере достаточно активно не только как незаконченные технические решения, но и как готовые; продукты, дающие возможности разработчикам активно использовать мощные средства управления данными.
Системы управления базами данных можно классифицировать, используя различные признаки: по используемому языку общения: замкнутые — имеют собственные самостоятельные языки общения пользователей с БД; они обеспечивают непосредственное общение с системой в режиме диалога, позволяют работать без программистов; открытые — для общения с БД используется язык программирования, «расширенный» операторами языка манипулирования данны-<„ ми (ЯМД); в этом случае необходимо присутствие квалифицированного программиста; по числу поддерживаемых СУБД уровней моделей данных: одно-, двух-, трехуровневые системы. Теоретически обоснован выбор трехуровневой архитектуры данных; однако на практике СУБД для ПК часто объединяют концептуальный и внутренний уровни представления; по выполняемым функциям: операционные — иные виды обработки по получению информации, не хранящейся в явном виде в БД; информационные — позволяют организовать хранение данных, поиск и выдачу нужных данных из БД и поддерживать их целесообразность и актуальность; по сфере применения: универсальные — настраиваются на любую предметную область путем создания соответствующей БД и прикладных программ; проблемно-ориентированные — ориентация на определенные процедуры обработки данных, присущих конкретной области применения; по допустимым режимам работы: пакетный; телеобработка.
Основные функции систем управления Базами данных 1. Управление данными во внешней памяти. Функция управления данными во внешней памяти включает в себя обеспечение необходимых структур внешней памяти как для непосредственного хранения данных, так и для служебных целей, например для ускоренного доступа к данным в некоторых случаях (обычно используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем. Однако пользователи не должны знать, использует ли СУБД файловую структуру или нет. Существует множество способов организации внешней памяти баз данных. Как и все решения, принимаемые при создании баз данных, конкретные методы организации внешней памяти необходимо выбирать вместе со всеми остальными решениями.
2. Управление буферами оперативной памяти. СУБД обычно работают с базами данных значительных размеров; по крайней мере, этот размер превышает доступный объем оперативной памяти. Понятно, что если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью внешней памяти. Единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. И даже если операционная система производит общесистемную буферизацию, этого недостаточно для целей СУБД, которая располагает гораздо большей информацией о полезности буферизации той или иной части базы данных. В развитых СУБД поддерживается свой набор буферов оперативной памяти с собственной дисциплиной замены буферов. При управлении буферами необходимо разрабатывать и применять согласованные алгоритмы буферизации, журнализации и синхронизации. Заметим, что существует собственное направление СУБД, ориентированное на постоянное присутствие всей БД в оперативной памяти (ОП). Это направление основывается на предположении, что в предвидимом будущем объем оперативной памяти может быть настолько велик, что позволит не беспокоиться о буферизации. 3. Управление транзакциями. Транзакция — это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется и СУБД фиксирует изменения БД, произведенные ею, во внешней памяти, либо ни одно из этих изменений никак не отражается в состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД (например, необходимость объединения элементарных операций над файлами). Поддержание механизма транзакций — необходимое условие даже однопользовательских СУБД. Но понятие транзакции гораздо важнее в многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД. При соответствующем механизме управления транзакциями пользователь может почувствовать себя единственным пользователем СУБД.
4. Журнализация и восстановление БД после сбоев. Одно из основных требований к СУБД — надежное хранение данных во внешней памяти. Под надежностью хранения понимается: СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после аппаратного или программного сбоя. Поддержание надежного хранения данных в БД требует избыточности хранения данных, причем та их часть, которая используется для восстановления должна храниться особо надежно. Наиболее распространенный метод поддержания такой избыточности — это ведение журнала изменений базы данных. Во всех случаях придерживаются «упреждающей» записи в журнал (так называемый протокол Write Ahead Log). Эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем она попадет во внешнюю память основной части БД. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя. 5. Поддержание языков БД. Для работы с БД используются специальные языки, в целом называемые языками БД. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с БД.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|