Вопрос 30 базы и банки данных. СУБД. Основные определения и понятия , функции. Их структура и обеспечение надежности

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

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

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

Логическую структуру хранимых в базе данных называют моделью представления данных. К основным моделям представления данных (моделям данных) относятся следующие: иерархическая, сетевая, ре­ляционная, постреляционная, многомерная и объектно-ориентирован­ная.

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

Централизованные БД хранятся в памяти одной машины, но возможен распределенный доступ к ней с различных рабочих станций сети.

Распределенная БД состоит из нескольких частей, хранимых на разных ЭВМ вычислительной сети.

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


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

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

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

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

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

Рассмотрим, какие из имеющихся на рынке программ имеют отношение к БД и в какой мере они связаны с базами данных.

К СУБД относятся следующие основные виды программ:

•полнофункциональные СУБД;

•серверы БД;

•клиенты БД;

•средства разработки программ работы с БД.

 

По характеру использования СУБД делят на персональные и многополь­зовательские.

Персональные СУБД обычно обеспечивают возможность создания пер­сональных БД и недорогих приложений, работающих с ними. Персональ­ные СУБД или разработанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К пер­сональным СУБД, например, относятся VisualFoxPro, Paradox, Clipper, dBase, Access и др.

Многопользовательские СУБД включают в себя сервер БД и клиент­скую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многополь­зовательским СУБД относятся, например, СУБД Oracle и Informix.

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

С точки зрения пользователя, СУБД реализует функции хранения, из­менения (пополнения, редактирования и удаления) и обработки информа­ции, а также разработки и получения различных выходных документов.

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

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

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

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

• управление данными во внешней памяти;
•управление буферами оперативной памяти;

• управление транзакциями;

• ведение журнала изменений в БД;

• обеспечение целостности и безопасности БД.

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

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

Необходимость буферизации данных и как следствие реализации функ­ции управления буферами оперативной памяти обусловлено тем, что объем оперативной памяти меньше объема внешней памяти.

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

Механизм транзакций используется в СУБД для поддержания целостно­сти данных в базе. Транзакцией называется некоторая неделимая последо­вательность операций над данными БД, которая отслеживается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы обо­рудования, ошибки в программном обеспечении, включая приложение) тран­закция остается незавершенной, то она отменяется.

Транзакции присущи три основных свойства:

• атомарность (выполняются все входящие в транзакцию операции или ни одна);

• сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

• долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции).

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

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

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

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

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

Обеспечение целостности БД составляет необходимое условие успеш­ного функционирования БД, особенно для случая использования БД в сетях.

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

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



Архитектура СУБД.

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

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

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

Концептуальная схема должна содержать:

· объекты и атрибуты предметной области;

· связи между объектами;

· ограничения, накладываемые на данные;

· семантическую информацию о данных;

· обеспечение безопасности данных;

· поддержку целостности данных.

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

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

· распределение дискового пространства для хранения данных и индексов;

· описание подробностей сохранения записей (типы, размеры элементов данных и др.);

· сведение о размещении записей;

· сведения о сжатии записей и выбранных методах шифрования.

СУБД отвечает за установление соответствия между всеми тремя уровнями и поддержку их непротиворечивости.

В структуре программного комплекса СУБД можно выделить:

Процессор запросов – преобразует запросы в последовательность низкоуровневых инструкций для контроллера БД.

Транслятор с ЯОД – преобразует его команды в набор таблиц, содержащих метаданные. Эта информация хранится в системном каталоге, а управляющая информация – в заголовке файлов.

Транслятор с ЯМД – преобразует внедренные в прикладные программы операторы в вызовы стандартных функций базового языка. Взаимодействует с процессором запросов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: