Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[конспект] Технологии баз данных [v0.8.1].pdf
Скачиваний:
79
Добавлен:
21.03.2016
Размер:
1.3 Mб
Скачать

§1. Основные функции систем управления базами данных (СУБД)

1.1. Основные понятия

Определение 1. Системой баз данных (database system) называется компьютизированная система хранения записей, т. е. компьютизированная система, основное назначение которой — хранение информации и предоставление пользователям средства её извлечения и модификации.

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

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

По частоте доступа и модификации данные можно разделить на архивные, перманентные и временные.

Определение 2. Данные называются архивными (archived data), если они крайне редко используются и не подлежат изменению. Данные называются перманентными (условно-постоянно хранимыми, стойкими, persistent data), если обычно не запрашиваются и редко изменяются. Данные называ-

ются временными (переменными, динамическими, transient data), если они требуются для доступа и обработки в течение небольшого количества времени.1

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

Определение 3. Базой данных называется некоторый набор перманентных данных, используемых прикладными программными средствами какого-либо предприятия2.

Определение 3’. Базой данных называется совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей предприятия2.

База данных хранит не только рабочие данные предприятия, но и их описания, называемые метаданными (meta-data, т. е. данные о данных ), в совокупности образующие системный каталог

(словарь данных, system catalog).

Данные и базы данных можно трактовать другим образом. Ведь данные являются заданными фактами3, из которых можно вывести другие факты. А тогда база данных является множеством истинных высказываний (фактов).

Определение 4. Предметная (прикладная) область (application domain) — это совокупность объ-

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

1 Альтернативное (в некоторых случаях более удачное) определение стойких и переменных данных заключается в том, что стойкие данные существуют с самого начала сессии до её конца, а переменные данные — создаются/имеют смысл и уничтожаются/сбрасываются в течение одной сессии.

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

3 Заметим, что в логике высказываний заданные факты называются истинными высказываниями, а значит, о них можно однозначно сказать, истинны они или ложны.

5

Элементы предметной области называются сущностями, среди которых есть связи, соединяющие другие сущности.

В широком смысле система баз данных фактически является синонимом информационной системы и в упрощенном варианте состоит из 4 компонентов:

Данные (data)

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

Аппаратное обеспечение (hardware)

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

Программное обеспечение (software)

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

Пользователи (users)

По полномочиям можно разделить на 3 отчасти перекрывающиеся группы:

Прикладные программисты — отвечают за написание прикладных программ (пакетных или интерактивных), использующих базу данных.

Конечные пользователи — работают с системой баз данных в интерактивном режиме

Администраторы базы данных — ответственны за реализацию решений администраторов данных1.

Определение 5. Системой управления базой данных (СУБД, database management system, DBMS)

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

Определение 6. Моделью данных (data model) называется абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Объекты моделируют структуру данных, а операторы — поведение данных.

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

Вкачестве примеров можно отметить следующие модели данных:

1.Плоская модель (flat model) — все данные хранятся в одном двумерном массиве, где значения каждого из столбцов (их можно назвать полями) принадлежат одному классу, состоящего из однотипных или логически близких значений, а значения каждой из строк (можно назвать записями) связаны между собой семантически.

2.Иерархическая модель (hierarchical model) — данные представляются с помощью упорядоченного набора нескольких экземпляров одного типа дерева. Тип дерева состоит из одного «корневого» типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи.

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

6

3.Сетевая модель (network model) — обобщение иерархической модели. Сетевая база данных состоит из набора экземпляров каждого типа из заданного в схеме базы данных набора типов записи и набора экземпляров каждого типа из заданного набора типов связи.

4.Реляционная модель (relational model) — данные представляются посредством строк (кортежей) в таблицах (отношениях). Каждая строка (кортеж) состоит из столбцов (атрибутов), отражающих некоторые свойства строки (кортежа).

5.Объектно-ориентированная модель (object-oriented model) — данные моделируются в виде объектов, их атрибутов, методов и классов.

6.Объектно-реляционная модель (object-relational model) — похожа на реляционную мо-

дель, только добавлена поддержка некоторых элементов объектно-ориентированного подхода, а именно объекты, классы и наследование.

1.2. Преимущества использования баз данных

Отметим некоторые преимущества подхода, предусматривающего использование баз данных,

связанные с наличием централизованного управления1:

Возможность совместного доступа к данным

Кданным могут обращаться сразу несколько приложений базы данных, а также требования новых приложений по доступу к данным могут быть удовлетворены без необходимости добавления новых данных в базу.

Сокращение избыточности данных

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

Устранение противоречивости данных

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

Возможность поддержки транзакций3

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

Обеспечение целостности (integrity) данных

Гарантируется — насколько это возможно — правильность (в т.ч. согласованность) данных в базе. Для этого устанавливаются ограничения целостности (integrity constraints), которые будут применяться при любой попытке внести какие-либо изменения в данные.

Организация защиты данных

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

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

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

3 Транзакция (transaction) — это логическая единица работы (точнее, логическая единица работы базы данных), обычно включающая несколько операций базы данных.

7

Возможность согласования противоречивых требований

Зная общие требования всего предприятия (а не требования каждого отдельного пользователя), администратор базы данных (в соответствии с указаниями администратора данных) может структурировать базу данных таким образом, чтобы обслуживание было наилучшим для всего предприятия.

Возможность введения стандартизации

Независимость от данных

Физическая независимость — приложения не зависят от любых конкретных способов физического представления данных или выбранных методов доступа к ним.

Логическая независимость — изменения в логической структуре базы данных не влияют на работу пользователей и приложений.

1.3. Функции систем управления базами данных

Определение данных

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

Манипулирование данными

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

Планируемые запросы — их необходимость была предусмотрена заранее. Характерны для операционных или производственных приложений.

Непланируемые запросы — они не предусмотрены заранее, а возникли по какой-то причине. Характерны для приложений поддержки принятия решений.

Оптимизация и выполнение

Поиск эффективного способа выполнения каждого из запросов и только затем его выполнение (получение или обработка данных).

Защита и поддержка целостности данных

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

Восстановление данных и поддержка параллельности

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

Поддержка словаря данных (системного каталога)

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

Обеспечение наилучшей производительности

СУБД должна выполнять все указанные функции с максимально возможной эффективностью.

Литература

1.Дейт К. Дж. Базы данных и управление ими / пер. с англ. К. А. Птицына // Введение в системы баз данных (глава 1). — 8-е изд. — М. : Издательский дом „Вильямс“, 2005.

2.Дейт К. Дж. Система управления базой данных / пер. с англ. К. А. Птицына // Введение в системы баз данных. — 8-е изд. — М. : Издательский дом „Вильямс“, 2005. — С. 87—91.

8