
- •Оглавление
- •История развития баз данных
- •Тенденции в мире систем управления базами данных
- •1. Реляционные системы
- •1.1 Стандартизация языка sql
- •1.2 Использование мультипроцессорных организаций
- •1.3 Интеграция и интероперабельность
- •2. Постреляционные системы
- •2.1 Базы сложных объектов, реляционная модель с отказом от первой нормальной формы
- •2.2 Активные базы данных
- •2.3 Дедуктивные базы данных
- •2.4 Темпоральные базы данных
- •2.5 Интегрированные или федеративные системы и мультибазы данных
- •2.6 Субд следующего поколения
- •2.7 Объектно-ориентированные базы данных
- •3. Распределенные субд
- •3.1 Синхронизация доступа к данным
- •3.2 Управление транзакциями
- •3.3 Поддержание копий данных в нескольких узлах сети
- •3.4 Фрагментация объектов бд
- •3.5 Алгоритмы выполнения реляционных операций
- •4. Системы бд с многоуровневой защитой
- •Состав и функции систем управления базами данных
- •Информационная модель данных, ее состав (концептуальная, логическая и физическая модели)
- •Три типа логических моделей баз данных: иерархическая, сетевая, реляционная
- •Типы взаимосвязей в модели: «один к одному», «один ко многим», «многие ко многим»
- •Обеспечение непротиворечивости и целостности данных в базе
- •Реляционная модель данных
- •1. Основные понятия реляционной модели данных
- •2. Основы реляционной алгебры
- •Нормализация баз данных
- •Этапы проектирования баз данных
- •Классификация моделей данных
- •Инфологическое моделирование предметной области.
- •Модель "сущность-связь"
- •Концептуальные и физические er-модели
- •Принципы поддержки целостности в реляционной модели данных. Целостность базы данных.
- •1. Ограничения первичного ключа
- •2. Ограничение уникальности
- •3. Ограничение внешнего ключа
- •4. Ограничение значения по умолчанию
- •Индексирование
- •Защита информации в базах данных
- •Сравнительный анализ субд
- •Критерии выбора субд при создании информационных систем
- •Администрирование базы данных
1.3 Интеграция и интероперабельность
Чтобы убедить новых потенциальных пользователей использовать новые продукты, компании-производители должны обеспечить решение проблемы использования старых баз данных. В принципе эта проблема является частным видом проблемы включения в открытые системы компонентов, которые не были на это рассчитаны с самого начала.
В большинстве случаев предлагаемые решения основываются на использовании индустриальных стандартов распределенных объектных систем (например, стандарта CORBA, разработанного OMG). Тем не менее производители СУБД вынуждены решать многочисленные проблемы для вхождения их систем в новые интегрированные среды.
2. Постреляционные системы
В этом разделе очень кратко рассматриваются основные направления исследований и разработок в области так называемых постреляционных систем, т.е. систем, относящихся к следующему поколению (хотя термин next-generation DBMS зарезервирован для некоторого подкласса современных систем).
2.1 Базы сложных объектов, реляционная модель с отказом от первой нормальной формы
Одним из основных положений реляционной модели данных является требование нормализации отношений: поля кортежей могут содержать лишь атомарные значения. Для традиционных приложений реляционных СУБД - банковских систем, систем резервирования и т.д. - это вовсе не ограничение, а даже преимущество, позволяющее проектировать экономные по памяти БД с предельно понятной структурой. Запросы с соединениями в таких системах сравнительно редки, для динамической поддержки целостности используются соответствующие средства SQL.
Однако с появлением эффективных реляционных СУБД их стали пытаться использовать и в менее традиционных прикладных системах - САПР, системы искусственного интеллекта и т.д. Такие системы обычно оперируют со сложно структурированными объектами, для реконструкции которых из плоских таблиц реляционной БД приходится выполнять запросы, почти всегда требующие соединения отношений. В соответствии с требованиями разработчиков нетрадиционных приложений появилось направление исследований баз сложных объектов. Это очень обширная область исследований, в которой затрагиваются вопросы моделей данных, структур данных, языков запросов, управления транзакциями, журнализации и т.д. Во многом эта область соприкасается с областью объектно-ориентированных БД.
2.2 Активные базы данных
По определению БД называется активной, если СУБД по отношению к ней выполняет не только те действия, которые явно указывает пользователь, но и дополнительные действия в соответствии с правилами, заложенными в саму БД.
Легко видеть, что основа этой идеи содержалась в языке SQL времени System R. На самом деле, что есть определение триггера или условного воздействия как не введение в БД правила, в соответствии с которым СУБД должна производить дополнительные действия? Плохо лишь то, что на самом деле триггеры не были полностью реализованы ни в одной из известных систем, даже и в System R. И это не случайно, потому что реализация такого аппарата в СУБД очень сложна, накладна и не полностью понятна.
Среди вопросов, ответы на которые до сих пор не получены, следующие. Как эффективно определить набор вспомогательных действий, вызываемых прямым действием пользователя? Каким образом распознавать циклы в цепочке "действие-условие-действие-..." и что делать при возникновении таких циклов? В рамках какой транзакции выполнять дополнительные условные действия и к бюджету какого пользователя относить возникающие накладные расходы?
Масса проблем не решена даже для сравнительно простого случая реализации триггеров SQL, а задача ставится уже гораздо шире. По существу, предлагается иметь в составе СУБД продукционную систему общего вида, условия и действия которой не ограничиваются содержимым БД или прямыми действиями над ней со стороны пользователя. Например, в условие может входить время суток, а действие может быть внешним, например, вывод информации на экран оператора. Практически все современные работы по активным БД связаны с проблемой эффективной реализации такой продукционной системы.
Вместе с тем, по нашему мнению, гораздо важнее в практических целях реализовать в реляционных СУБД аппарат триггеров. Заметим, что в проекте стандарта SQL3 предусматривается существование языковых средств определения условных воздействий. Реализация и будет первым практическим шагом к активным БД (как мы отмечали в разд.1, уже появились соответствующие коммерческие реализации).