Типы данных


Объектно-ориентированная модель



бет6/36
Дата13.01.2022
өлшемі0,64 Mb.
#23995
1   2   3   4   5   6   7   8   9   ...   36
Байланысты:
Лекции по БД

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


3.2.1. Иерархические структуры данных

Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева.

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



Пример типа дерева (схемы иерархической БД):

Здесь Отдел является предком для Начальник и Сотрудники, а Начальник и Сотрудники - потомки Отдел. Между типами записи поддерживаются связи.



База данных с такой схемой могла бы выглядеть следующим образом (мы показываем один экземпляр дерева):

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

В IMS использовалась оригинальная и нестандартная терминология: "сегмент" вместо "запись", а под "записью БД" понималось все дерево сегментов.

3.2.2. Манипулирование данными

Примерами типичных операторов манипулирования иерархически организованными данными могут быть следующие:

  • Найти указанное дерево БД (например, отдел 310);

  • Перейти от одного дерева к другому;

  • Перейти от одной записи к другой внутри дерева (например, от отдела - к первому сотруднику);

  • Перейти от одной записи к другой в порядке обхода иерархии;

  • Вставить новую запись в указанную позицию;

  • Удалить текущую запись.
3.2.3. Ограничения целостности

Автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя. Заметим, что аналогичное поддержание целостности по ссылкам между записями, не входящими в одну иерархию, не поддерживается (примером такой "внешней" ссылки может быть содержимое поля Каф_Номер в экземпляре типа записи Куратор).

В иерархических системах поддерживалась некоторая форма представлений БД на основе ограничения иерархии. Примером представления приведенной выше БД может быть иерархия




3.3.1. Сетевые структуры данных

Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.

Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно, из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи.



Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:

  • Каждый экземпляр типа P является предком только в одном экземпляре L;

  • Каждый экземпляр C является потомком не более, чем в одном экземпляре L.

На формирование типов связи не накладываются особые ограничения; возможны, например, следующие ситуации:

  1. Тип записи потомка в одном типе связи L1 может быть типом записи предка в другом типе связи L2 (как в иерархии).

  2. Данный тип записи P может быть типом записи предка в любом числе типов связи.

  3. Данный тип записи P может быть типом записи потомка в любом числе типов связи.

  4. Может существовать любое число типов связи с одним и тем же типом записи предка и одним и тем же типом записи потомка; и если L1 и L2 - два типа связи с одним и тем же типом записи предка P и одним и тем же типом записи потомка C, то правила, по которым образуется родство, в разных связях могут различаться.

  5. Типы записи X и Y могут быть предком и потомком в одной связи и потомком и предком - в другой.

  6. Предок и потомок могут быть одного типа записи.

Простой пример сетевой схемы БД:


3.3.2. Манипулирование данными

Примерный набор операций может быть следующим:

  • Найти конкретную запись в наборе однотипных записей (инженера Сидорова);

  • Перейти от предка к первому потомку по некоторой связи (к первому сотруднику отдела 310);

  • Перейти к следующему потомку в некоторой связи (от Сидорова к Иванову);

  • Перейти от потомка к предку по некоторой связи (найти отдел Сидорова);

  • Создать новую запись;

  • Уничтожить запись;

  • Модифицировать запись;

  • Включить в связь;

  • Исключить из связи;

  • Переставить в другую связь и т.д.
3.3.3. Ограничения целостности

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



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   36




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет