Классика баз данных - статьи

       

Классика баз данных - статьи


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

  1. интегрировать и поддерживать важный класс представлений (view);
  2. обеспечивать при определенных эволюционных изменениях стабильность данных и программ;
  3. значительно легче понимать сложные модели и более естественным образом формулировать запросы;
  4. использовать более семантичный подход к проектированию баз данных;
  5. осуществлять дополнительную оптимизацию на более низких уровнях реализации.

Родовой тип формализуется множеством инвариантных свойств. Если абстракции должны сохраняться, то эти свойства должны удовлетворяться всеми отношениями в базе данных. Предлагается инициирующий механизм для автоматической поддержки таких инвариантов во время выполнения операций обновления. Дается простое отображение иерархий агрегации/обобщения на структуры наборов CODASYL.

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



Содержание раздела