Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[2 курс] Базы данных.docx
Скачиваний:
1
Добавлен:
20.08.2020
Размер:
33.68 Кб
Скачать

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

В качестве основных признаков деления СУБД выделяют «вид программы», «характер использования», «модель данных».

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

К СУБД относятся:

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

Они имеют развитый интерфейс, поддерживающий любые действия с данными (создание/редактирование/добавление/удаление таблиц)

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

  2. Персональные СУБД обеспечивают возможность создания персональных баз данных и недорогих приложений. Такие персональные СУБД могут работать как отдельно от остальных систем, так и выступать в роли клиентских частей в многопользовательских СУБД. Например, FoxPro, Access, Paradox.

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

  • централизованные (обычные) – в них данные программы управления находятся на одном узле

  • децентрализованные – в них данные программы управления находятся в разных углах. Децентрализованные делятся на однородные и неоднородные. Неоднородность проявляется в модели данных, типами данных, в структуре языков запросов и т.д.

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

В зависимости от возможности распараллеливания процессов многопользовательские СУБД делятся на СУБД с последовательной и параллельной обработкой. Параллельная обработка возможна только в многопроцессорной вычислительной системе.

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

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

Язык описания данных – высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания структур данных.

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

QBE – язык запросов по образцу. В основном обладает свойствами языка манипулирования данными.

SQL – структурированный язык запросов. Сочетает в себе свойства обоих языков.

Все перечисленные функции СУБД в свою очередь используют функции низкого уровня.

  1. Управление данными во внешней памяти – в различных системах могут сильно отличаться. Могут использоваться файловые системы ОС, управление различными функциями.

  2. Управление буферами оперативной памяти - Однако объем таких буферов всегда меньше объемов внешней памяти, поэтому в памяти хранятся только части данных. Правильные алгоритмы буферизации позволяют ускорить работу с часто используемой информацией.

  3. Управление транзакциями – механизм транзакций используется для поддержания целостности данных. Транзакция – это логически неделимая последовательность операций над данными, которая отслеживается от начала и до конца. Если по каким-то причинам транзакция остается незавершенной, то она отменяется полностью. В зависимости от времени выделяют обычные и продолжительные транзакции. Продолжительные транзакции могут протекать в течении часов/недель/месяцев. Они, как правило, возникают в процессе проектирования и разработки сложных систем большим числом разработчиков. Транзакции могут быть плоскими (т.е. содержат только одно действие), а также вложенными (т.е. транзакция состоит из маленьких подзадач). Транзакции обладают тремя свойствами:

    1. Атомарность – выполняются все операции одной транзакции, либо не одна из них

    2. Серализуемость – взаимное влияние двух отдельных транзакций всегда отсутствует

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

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

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

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

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