21.1. Ориентация на расширенную
реляционную модель
Одним из основных положений
реляционной модели данных является
требование нормализации отношений:
поля кортежей могут содержать лишь
атомарные значения. Для
традиционных приложений
реляционных СУБД - банковских
систем, систем резервирования и т.д.
- это вовсе не ограничение, а даже
преимущество, позволяющее
проектировать экономные по памяти
БД с предельно понятной структурой.
Запросы с соединениями в таких
системах сравнительно редки, для
динамической поддержки
целостности используются
соответствующие средства SQL.
Однако с появлением эффективных
реляционных СУБД их стали пытаться
использовать и в менее
традиционных прикладных системах -
САПР, системах искусственного
интеллекта и т.д. Такие системы
обычно оперируют сложно
структурированными объектами, для
реконструкции которых из плоских
таблиц реляционной БД приходится
выполнять запросы, почти всегда
требующие соединения отношений. В
соответствии с требованиями
разработчиков нетрадиционных
приложений появилось направление
исследований баз сложных объектов.
Основной смысл этого направления
состоит в том, что в руки
проектировщиков даются настолько
же мощные и гибкие средства
структуризации данных, как те,
которые были присущи иерархическим
и сетевым системам базам данных.
Однако важным отличием является
то, что в системах баз данных,
поддерживающих сложные объекты,
сохраняется четкая граница между
логическим и физическим
представлениями таких объектов. В
частности, для любого сложного
объекта (произвольной сложности)
должна обеспечиваться возможность
перемещения или копирования его
как единого целого из одной части
базы данных в другую ее часть или
даже в другую базу данных. Это очень
обширная область исследований, в
которой затрагиваются вопросы
моделей данных, структур данных,
языков запросов, управления
транзакциями, журнализации и т.д. Во
многом эта область соприкасается с
областью объектно-ориентированных
БД. (И в этой области настолько же
плохо обстоят дела с теоретическим
обоснованием.)
Близкое, но, вообще говоря,
основанное на других принципах
направление представлено
системами баз данных, основанных на
реляционной модели, в которой не
обязательно поддерживается первая
нормальная форма отношений.
Напомним, что требование
атомарности значений, которые
могут храниться в элементах
кортежей отношений, является
базовым требованием классической
реляционной модели. Приведение
исходного табличного
представления предметной области к
"плоскому" виду является
обязательным первым шагом в
процессе проектирования
реляционной базы данных на основе
принципов нормализации. С другой
стороны, абсолютно очевидно, что
такое "уплощение" таблиц хотя
и является необходимым условием
получения неизбыточной и
"правильной" схемы
реляционной базы данных, в
дальнейшем потенциально вызывает
выполнение многочисленных
соединений, наличие которых может
свести на нет все преимущества
"хорошей" схемы базы данных.
Так вот, в
"ненормализованных"
реляционных моделях данных
допускается хранение в качестве
элемента кортежа кортежей
(записей), массивов (регулярных
индексированных множеств данных),
регулярных множеств элементарных
данных, а также отношений. При этом
такая вложенность может быть, по
существу, неограниченной. Если
внимательно продумать эти идеи, то
станет понятно, что они приводят
(только) к логически обособленным
(от физического представления)
возможностям иерархической модели
данных. Но это уже не так уж и мало,
если учесть, что к настоящему
времени фактически полностью
сформировано теоретическое
основание реляционных баз данных с
отказом от нормализации. Скорее
всего, в этой теории все еще имеются
темные места (они наличествуют даже
в классической реляционной теории),
но тем не менее большинство
известных теоретических
результатов реляционной теории уже
распространено на
ненормализованную модель, и даже
такой пурист реляционной модели,
как Дейт, полагает возможным
использование ограниченной и
контролируемой реляционной модели
в SQL-3.
Предыдущая
глава || Оглавление
|| Следующая глава
|