- •Лекция 3. Модели данных План:
- •1. Реляционная модель
- •2. Системы инвертированных списков
- •1) Простота и понятность схемы данных.
- •1) Отсутствие стандартных средств идентификации отдельных записей.
- •3. Иерархическая модель
- •4. Сетевая модель
- •5. Объектно-ориентированная модель
- •6. Инкапсуляция, наследование, полиморфизм
1) Простота и понятность схемы данных.
2) удобство реализации на ЭВМ.
3) эффективная обработка данных.
Недостатки:
1) Отсутствие стандартных средств идентификации отдельных записей.
2) сложность описания иерархических и сетевых связей.
3) сложность обращения к записям для пользователя.
3. Иерархическая модель
В иерархической модели связи между данными можно описать с помощью упорядоченного графа (дерева):
Структуры данных
Для описания структуры (схемы) иерархической БД на некотором языке программирования используется тип «дерево». Данный тип схож с типом «запись» языка Паскаль. Как и там, в типе «дерево» допускается вложенность типов, т.е. данный тип является составным. Подтипы также являются типом «дерево».
Пример типа дерева (схемы иерархической БД):
Здесь Отдел является предком для Начальник и Сотрудники, а Начальник и Сотрудники - потомки Отдел. Между типами записи поддерживаются связи.
Корневым называется тип, который имеет подчиненные типы и сам не является подтипом. Подчиненный тип (подтип) является потомком по отношению к типу, который выступает для него в роли предка (родителя). Потомки одного и того же типа являются близнецами по отношению друг к другу.
В целом тип «дерево» представляет собой иерархически организованный набор типов «запись».
База данных с такой схемой могла бы выглядеть следующим образом (мы показываем один экземпляр дерева):
Для БД определен полный порядок обхода - сверху-вниз, слева-направо.
Манипулирование данными
Примерами типичных операторов манипулирования иерархически организованными данными могут быть следующие:
Поиск указанного экземпляра БД (например, дерева со значением 310 в поле Отд_номер);
Переход от одного дерева к другому или переход от одной записи к другой внутри дерева (например, от отдела - к первому сотруднику);
Вставка или удаление записи в указанную позицию;
Ограничения целостности
Автоматически поддерживается целостность ссылок между предками и потомками.
Основное правило: никакой потомок не может существовать без своего родителя. Заметим, что аналогичное поддержание целостности по ссылкам между записями, не входящими в одну иерархию, не поддерживается.
Достоинства:
1) эффективное использование памяти ЭВМ.
2) быстрота выполнения основных операций.
3) эффективна при работе с иерархически упорядоченной информацией.
Недостатки:
1) громоздкость модели.
2) сложность логических связей.
3) сложность понимания для обычного пользователя.
4. Сетевая модель
Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных.
Для описания схемы сетевой БД используются две группы типов: «запись» и «связь». Тип «связь» определяется для двух типов «запись»: предка и потомка. В сетевой модели данных, в отличие от иерархической, запись-потомок может иметь произвольное число записей-предков (сводных родителей).
Простой пример сетевой схемы БД:
Манипулирование данными
Примерный набор операций может быть следующим:
Найти конкретную запись в наборе однотипных записей (инженера Сидорова);
Перейти от предка к первому потомку по некоторой связи и от потомка к предку (к первому сотруднику отдела 310 или найти отдел Сидорова);
Перейти к следующему потомку в некоторой связи (от Сидорова к Иванову);
Создать новую запись, уничтожить запись, модифицировать запись;
Включить в связь, исключить из связи, переставить в другую связь и т.д.
Ограничения целостности
В принципе их поддержание не требуется, но иногда требуют целостности по ссылкам (как в иерархической модели).
Достоинства:
1) эффективное использование памяти ЭВМ.
2) быстрота выполнения основных операций.
3) допустимость образования произвольных связей.
Недостатки:
1) сложность и жесткость схемы БД.
2) ослабление контроля целостности связей (обратная сторона достоинства №3).
3) сложность понимания и выполнения обработки информации в БД обычным пользователем.