Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Модели данных
Под моделью базы данных обычно понимаются структура базы и методы работы с ней. В общем случае понятиями, на основе которых строится модель, являются объекты и отношения между ними. Подобную модель данных, функционирующую на сервере, и можно называть базой данных. Существует несколько видов моделей, и постоянно развиваются новые модели, отвечающие конкретным требованиям, предъявляемым новыми концепциями.

 

Иерархическая модель
Иерархическая модель (ИМ) представляется связанным графом типа дерева. Вершины деревьев располагаются на разных иерархических уровнях. Иерархическая БД состоит из упорядоченного набора деревьев. Тип дерева в целом представляет собой иерархически организованный набор типов записей.

На иерархическую модель налагается целый список ограничений и правил:
- Все типы связей должны быть функциональными (1:1, 1:М, М:1).
- Дерево представляет собой неориентированный граф, не содержащий циклов.
- Тип дерева состоит из одного корневого типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева).
- В дереве каждый узел связан только с одним родительским узлом (любой сын может иметь не более родного отца, а любой отец — множество сыновей).
- Ветвь дерева соответствует типу связи исходный—порожденный. о Доступ к каждому порожденному узлу выполняется непосредственно через исходный узел.
- Все экземпляры данного типа потомка с общим экземпляром типа предка называются близнецами. Для БД определен полный порядок обхода —сверху вниз, слева направо.
- Существует единственный линейный иерархический путь доступа к любому узлу, начиная с корня дерева.

На рис. 1.14 приведен пример базы данных с иерархической моделью. База данных имеет два уровня. Узел содержит 2 потомка.

 

 

У иерархической модели есть и определенные недостатки:
- Операции манипулирования данными в иерархических системах ориентированы прежде всего на поиск информации сверху вниз, то есть по конкретному экземпляру сегмента-отца можно найти все экземпляры сегментов-сыновей. Обратный поиск затруднен, а часто и невозможен.
- Происходит дублирование данных на логическом уровне.
- Для представления связи M:N необходимо дублирование деревьев.
- В ИМ автоматически поддерживается целостность ссылок между предками и потомками.

Никакой потомок не может существовать без своего родителя. Целостность по ссылкам между записями, не входящими в одну иерархию, не поддерживается. Поэтому невозможно хранение в БД порожденного узла без соответствующего исходного. Аналогично, удаление исходного узла влечет удаление всех порожденных узлов (деревьев), связанных с ним.

 



   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru