Иерархическая модель данных

Понятие модели данных

Виды моделей данных

Тема 4

 

 

Данные, хранимые в БД, имеют определенную логическую структуру, т.е. описываются некоторой моделью представления данных (моделью данных).

Модель данных – это совокупность взаимосвязанных структур данных, операций над ними и множества ограничений для хранимых данных.

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

Кроме того, в последние годы появились и стали более активно внедряться на практике постреляционная, многомерная и объектно-ориентированная модели (см. табл. 1.1). Разрабатываются также всевозможные системы, основанные на моделях данных, расширяющих известные модели и интегрирующих их возможности. В некоторых СУБД поддерживаются одновременно несколько моделей данных.

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

В 1970 году американским математиком Эдгаром Коддом была предложена реляционная модель, являющаяся в настоящее время наиболее распространённой. Э. Кодд явился и автором многомерной модели, широко используемой в хранилищах данных. Начиная с 90-х годов, разрабатывается и применяется объектно-ориентированная модель данных.

 

Описание отображаемой предметной области в иерархической модели данных базируется на гипотезе о том, что моделируемую область можно рассматривать как иерархию объектов.

Вся предметная область, представляющая некоторый класс объектов, разбивается на подклассы, каждый подкласс на подклассы более низкого уровня и т.д. Это модель типа дерево.[2]

Иерархическая модель организует данные в виде структуры, состоящей из узлов и ветвей (рис. 4.1). Наивысший уровень называется корнем. На нижних уровнях находятся предки по отношению к нижестоящим узлам и потомки по отношению к вышестоящим. Каждый потомок может быть связан только с одним предком, а один предок может иметь 0, 1 или N потомков. Доступ к каждому потомку выполняется через его непосредственного предка, и существует единственный иерархический путь доступа к любому узлу, начинающийся с корня дерева. В схеме иерархической БД узлы иерархической модели представляют сущности (информационные объекты), а дуги – связи между ними. Для БД определен порядок обхода – «сверху - вниз», «слева - направо». В иерархической БД для поддержания целостности данных должно выполняться правило: никакой потомок не может существовать без своего предка.

Достоинствами этой модели являются простота понимания и использования. Такая модель удобна для работы с иерархически упорядоченной информацией. Иерархическая модель данных, как показала практика, позволяет эффективно использовать память компьютера и демонстрирует достаточно высокую скорость выполнения основных операций над данными.

Недостатки модели – в первую очередь, ее не универсальность: для большинства задач требуется дублирование данных, возможна потеря данных, связи «многие - ко - многим» (см. ниже) могут быть реализованы только искусственно при избыточности данных; а во вторую очередь – допустимость только навигационного принципа доступа к данным, (последовательным перемещением по БД для нахождения требуемой записи), записи извлекаются по одной, и чтобы извлечь некое множество данных, нужно повторять операции извлечения повторно. Непосредственный доступ по ключу (см. ниже), как правило, возможен только к объекту самого высокого уровня (корневому). Для обработки информации с достаточно сложными логическими связями иерархическая модель подходит плохо, поскольку становится громоздкой и сложной для понимания обычного пользователя.

На иерархической модели основано сравнительно небольшое число СУБД. Типичным представителем иерархических БД является IMS (Information Management System) компании IBM. Другие примеры: зарубежные системы PC/Focus, Team-Up и Data Edge, а также отечественные разработки - Ока, ИНЭС и МИРИС [24, С.29-32].