Файл: Базы данных - уч. пособие.pdf

Добавлен: 28.11.2018

Просмотров: 10873

Скачиваний: 43

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

6.3 Экстенсиональная и интенсиональная части базы данных

131

В настоящее время существуют СУБД, способные обрабатывать данные в опе-

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

6.3 Экстенсиональная и интенсиональная части
базы данных

Абстрагируясь от конкретных СУБД и внимательно анализируя реальное со-

держимое базы данных, можно заметить наличие трех различных видов информации.

Во-первых, это информация, характеризующая структуры пользовательских

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

Во-вторых, это собственно наборы записей, содержащие пользовательские дан-

ные, сохраняемые в определенных разработчиками таблицах.

Наконец, в-третьих, это правила, определяющие ограничения целостности ба-

зы данных, триггеры и представления. В реляционных системах правила опять
же сохраняются в системных таблицах-каталогах, хотя плоские таблицы далеко не
идеально подходят для этой цели [1].

Информация первого и второго вида в совокупности явно описывает объекты

(сущности) реального мира, моделируемые в базе данных. Другими словами, это
явные факты, предоставленные пользователями для хранения в БД. Эту часть базы
данных принято называть экстенсиональной [1].

Информация третьего вида служит для руководства СУБД при выполнении

различного рода операций, задаваемых пользователями. Ограничения целостности
могут блокировать выполнение операций обновления базы данных, триггеры вы-
зывают автоматическое выполнение специфицированных действий при возникно-
вении специфицированных условий, определения представлений вызывают явную
или косвенную материализацию представляемых таблиц при их использовании.
Эту часть базы данных принято называть интенсиональной [1]; она содержит не
непосредственные факты, а информацию, характеризующую семантику предмет-
ной области.

Несложно заметить, что в реляционных базах данных на первом месте сто-

ит экстенсиональная часть, а интенсиональная часть несет вспомогательную на-
грузку. Однако эти части не могут существовать по отдельности — они фактически
дополняют друг друга.


background image

132

Глава 6. Физическая организация баз данных

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Контрольные вопросы по главе 6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Перечислите основные составляющие базы данных.

2. Назовите основные типы индексов.

3. Поясните метод доступа к данным посредством хеширования.

4. В чем заключается оптимизация работы с базой данных?


background image

Глава 7

СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ

ДАННЫХ

7.1 СУБД первого поколения

Широкое распространение первые СУБД получили в начале 80-х годов, хотя

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

При создании первых СУБД внимание обращалось на способность систем хра-

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

Внешнее взаимодействие с такими СУБД осуществлялось путем обращения

к программе СУБД из программы приложения, написанной на одном из базовых
языков программирования (Ассемблер, КОБОЛ. PL/1), и эти системы стали назы-
вать системами с базовым языком. При этом СУБД выполняла лишь простые опе-
рации выборки записей, удовлетворяющих определенным условиям и в определен-
ной последовательности (навигация по структуре), а также операции включения,
замены и удаления записей. Но все эти операции осуществлялись с учетом зафик-
сированной структуры БД, что существенно сокращало алгоритмическую часть
программы, касающуюся согласованной выборки связанных записей, и снижало
риск нарушения структурной целостности БД [2].


background image

134

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

СУБД первого поколения были представлены системами IMS (иерархическая

СУБД), IDS (сетевая СУБД), ADABAS (СУБД с инвертированными файлами) и со-
ответствующими им отечественными СУБД ОКА, БАНК-ОС, ДИСОД.

Мы не будем подробно останавливаться на этих СУБД, поскольку в настоящее

время они практически нигде не находят широкого применения. При необходимо-
сти с их описанием Вы сможете познакомиться в предыдущем издании данного
учебного пособия [20].

7.2 СУБД второго поколения — реляционные СУБД

7.2.1 Архитектура СУБД второго поколения

В начале 80-х годов с началом широкого распространения персональных ком-

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

• FoxPro (другие реализации систем на базе СУБД dBase), разработанная

фирмой Fox Technologies и впоследствии купленная Microsoft;

• Access — разработка корпорации Microsoft;

• Oracle — разработка корпорации Oracle;

• MS SQL Server — разработка корпорации Microsoft;

• MySQL — свободно-распространяемая СУБД, разработку которой осуществ-

ляет корпорация Oracle.

Этот список можно продолжить, поскольку на рынке СУБД в настоящее время

царит изобилие. Несмотря на это, идеологии реляционных СУБД имеют много
общего:

• в основе представлений данных лежат плоские таблицы, аналогичные по-

нятию отношений реляционной модели данных;

• строки таблицы аналогичны понятию кортежа отношения;

• поля таблицы аналогичны атрибуту отношений.

В современных реляционных СУБД широко используется понятие домена, пер-

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

Все реляционные СУБД можно разделить на два типа: файл-серверные и клиент-

серверные СУБД.

Принципиальное различие двух подходов состоит в технологии взаимодей-

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


background image

7.2 СУБД второго поколения — реляционные СУБД

135

Приложения-клиенты выполняются на рабочей станции пользователя, прило-

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

Рис. 7.1 – Принцип организации взаимодействия в архитектуре клиент-сервер

Целесообразно поручать мощному серверу выполнять крупные задачи, а кли-

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

На рисунке 7.2 изображен пример двухзвенной клиент-серверной архитектуры.

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

При файл-серверном подходе обработка запроса к БД происходит непосред-

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

Рис. 7.2 – Принцип организации взаимодействия в архитектуре файл-сервер