ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Базы данных
Добавлен: 28.11.2018
Просмотров: 10873
Скачиваний: 43
6.3 Экстенсиональная и интенсиональная части базы данных
131
В настоящее время существуют СУБД, способные обрабатывать данные в опе-
ративной памяти на качественно высоком уровне. Использование СУБД такого
класса позволяет пользователям обрабатывать данные в несколько раз быстрее, чем
в случае с работой при обращении непосредственно к жестким дискам. Обычно
для БД, поддерживаемых в оперативной памяти, их состояние сохраняется в неко-
торых контрольных точках в виде дисковых копий. Такие контрольные точки воз-
никают в периоды наименьшей активности пользователей.
6.3 Экстенсиональная и интенсиональная части
базы данных
Абстрагируясь от конкретных СУБД и внимательно анализируя реальное со-
держимое базы данных, можно заметить наличие трех различных видов информации.
Во-первых, это информация, характеризующая структуры пользовательских
данных (описание структурной части схемы базы данных). Такая информация
в случае реляционной базы данных сохраняется в системных таблицах (отноше-
ниях-каталогах) и содержит главным образом имена основных таблиц, имена и ти-
пы данных их атрибутов.
Во-вторых, это собственно наборы записей, содержащие пользовательские дан-
ные, сохраняемые в определенных разработчиками таблицах.
Наконец, в-третьих, это правила, определяющие ограничения целостности ба-
зы данных, триггеры и представления. В реляционных системах правила опять
же сохраняются в системных таблицах-каталогах, хотя плоские таблицы далеко не
идеально подходят для этой цели [1].
Информация первого и второго вида в совокупности явно описывает объекты
(сущности) реального мира, моделируемые в базе данных. Другими словами, это
явные факты, предоставленные пользователями для хранения в БД. Эту часть базы
данных принято называть экстенсиональной [1].
Информация третьего вида служит для руководства СУБД при выполнении
различного рода операций, задаваемых пользователями. Ограничения целостности
могут блокировать выполнение операций обновления базы данных, триггеры вы-
зывают автоматическое выполнение специфицированных действий при возникно-
вении специфицированных условий, определения представлений вызывают явную
или косвенную материализацию представляемых таблиц при их использовании.
Эту часть базы данных принято называть интенсиональной [1]; она содержит не
непосредственные факты, а информацию, характеризующую семантику предмет-
ной области.
Несложно заметить, что в реляционных базах данных на первом месте сто-
ит экстенсиональная часть, а интенсиональная часть несет вспомогательную на-
грузку. Однако эти части не могут существовать по отдельности — они фактически
дополняют друг друга.
132
Глава 6. Физическая организация баз данных
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Контрольные вопросы по главе 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. Перечислите основные составляющие базы данных.
2. Назовите основные типы индексов.
3. Поясните метод доступа к данным посредством хеширования.
4. В чем заключается оптимизация работы с базой данных?
Глава 7
СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ
ДАННЫХ
7.1 СУБД первого поколения
Широкое распространение первые СУБД получили в начале 80-х годов, хотя
первые наработки в области создания баз данных появились в конце 60-х. В основу
построения некоторых наиболее ранних СУБД положены иерархическая и сетевая
модели данных. Нельзя не отметить СУБД переходного типа, приближенные к ре-
ляционным, — системы с инвертированными файлами.
При создании первых СУБД внимание обращалось на способность систем хра-
нить данные сложной структуры и значительного объема и использовать установ-
ленные связи между информационными элементами при проектировании прило-
жений. Не менее важным достоинством являлась возможность обеспечения отно-
сительной независимости программ от структур хранения в том смысле, что если
в БД происходили структурные изменения, не затрагивающие подсхему программы
(части структуры БД, доступной программе), то не было необходимости вносить
изменения в программу.
Внешнее взаимодействие с такими СУБД осуществлялось путем обращения
к программе СУБД из программы приложения, написанной на одном из базовых
языков программирования (Ассемблер, КОБОЛ. PL/1), и эти системы стали назы-
вать системами с базовым языком. При этом СУБД выполняла лишь простые опе-
рации выборки записей, удовлетворяющих определенным условиям и в определен-
ной последовательности (навигация по структуре), а также операции включения,
замены и удаления записей. Но все эти операции осуществлялись с учетом зафик-
сированной структуры БД, что существенно сокращало алгоритмическую часть
программы, касающуюся согласованной выборки связанных записей, и снижало
риск нарушения структурной целостности БД [2].
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.
Этот список можно продолжить, поскольку на рынке СУБД в настоящее время
царит изобилие. Несмотря на это, идеологии реляционных СУБД имеют много
общего:
• в основе представлений данных лежат плоские таблицы, аналогичные по-
нятию отношений реляционной модели данных;
• строки таблицы аналогичны понятию кортежа отношения;
• поля таблицы аналогичны атрибуту отношений.
В современных реляционных СУБД широко используется понятие домена, пер-
вичного и внешнего ключа. Поле таблицы реляционной СУБД не может принимать
множественное значение, т. е. в одной строке записи не может быть несколько зна-
чений одного поля.
Все реляционные СУБД можно разделить на два типа: файл-серверные и клиент-
серверные СУБД.
Принципиальное различие двух подходов состоит в технологии взаимодей-
ствия программ-приложений и СУБД. Модель или архитектура клиент-сервер яв-
ляется формой распределенной обработки, где вычислительные мощности разде-
ляются среди объединенных, связанных сетью компьютеров. Приложение функци-
онально разделено на две или более программы, которые выполняются на различ-
ных компьютерах и связаны друг с другом путем передачи сообщений по сети.
7.2 СУБД второго поколения — реляционные СУБД
135
Приложения-клиенты выполняются на рабочей станции пользователя, прило-
жение-сервер выполняется на более мощном компьютере — сервере. Клиент посы-
лает запросы к серверу БД, на сервере средствами СУБД этот запрос обрабатыва-
ется, результаты обработки запроса передаются клиенту (рис. 7.1).
Рис. 7.1 – Принцип организации взаимодействия в архитектуре клиент-сервер
Целесообразно поручать мощному серверу выполнять крупные задачи, а кли-
ентскому компьютеру — простые задачи, насколько это возможно в конкретной ре-
ализации. В этом заключается совместная обработка данных. Задачи обработки
БД, выполнения вычислений и другие задачи, требующие высокой производитель-
ности, выполняются сервером, тогда как клиент занят диалогом и графическими
изображениями. База данных, построенная с учетом сети и совместной обработки,
называется распределенной БД.
На рисунке 7.2 изображен пример двухзвенной клиент-серверной архитектуры.
На практике могут использоваться и многозвенные конструкции, например отдель-
но может выделяться сервер для функционирования СУБД и БД, отдельно сервер
приложений, на котором устанавливается программа, отдельно клиентская часть.
При файл-серверном подходе обработка запроса к БД происходит непосред-
ственно на компьютере средствами СУБД, установленной на этом компьютере,
и с которого этот запрос был послан. При этом сама база данных может находиться
удаленно на выделенном файл-сервере. Фактически, для обработки запроса СУБД
переносит все необходимые данные с сервера на компьютер клиента (рис. 7.2), что
естественно снижает быстродействие при работе с большими объемами данных.
Рис. 7.2 – Принцип организации взаимодействия в архитектуре файл-сервер