Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие по Базам данных.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.3 Mб
Скачать

Физическая модель

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

Поскольку физическая модель требует конкретных формулировок, она зависит как от программного обеспечения, так и от оборудования. Используемые структуры хранения зависят от программного обеспечения (СУБД, ОС) и от типа носителя. Конкретные требования в физической модели требуют от проектировщика БД глубоких знаний аппаратных средств и программного обеспечения используемых при реализации проекта БД.

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

1.4 Модели баз данных

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

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

Хотя иерархическая модель не играет существенной роли на современном рынке БД, есть ряд причин, по которым стоит разобрать ее основные свойства:

основные идеи этой модели БД лежат в основе разработки современных БД;

ограничения, имеющиеся в иерархической модели, позволяют по-новому взглянуть на проектирование БД;

некоторые важнейшие концепции этой модели применяются и в современных моделях БД.

Пример иерархической структуры приведен на рис.1.

Рис. 1 Иерархическая структура

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

каждый предок может иметь несколько потомков;

каждый потомок имеет только одного предка.

В такой иерархической структуре достаточно просто проследить и компоненты БД и существующие между ними связь типа 1:М.

Древовидная структура не может быть непосредственно воспроизведена в ПК, т.к. он не может видеть логическую структуру. Вместо этого дерево определяется цепочкой, отображающей маршрут от сегмента-предка к сегменту-потомку, начиная слева. Эту древовидную структуру можно представить в виде ориентированного графа.

Тогда иерархический маршрут к сегменту (узлу) с именем D можно представить в виде:

И зделие Узел А Сборка А Деталь А Деталь В Узел В Узел С Сборка В Деталь С Деталь D

Такой иерархический маршрут называют левосторонний обход графа.

Иерархическая модель эффективна в независимости от количества транзакций, в которые вовлечены остающиеся постоянными во времени связи 1:М. Например, система учета банковских счетов хорошо укладывается в иерархическую модель:

банковский счет каждого клиента может быть предметом множества операций (связь 1:М);

операции над счетами могут совершаться или по дебету, или по кредиту. Поэтому основные связи между банковским счетом клиента и операциями, которые по нему совершаются, фиксированы;

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

Преимущества иерархической модели:

простота идеи. Структура интуитивно понятна. Поэтому достаточно легко можно себе представить всю БД;

безопасность. Обеспечивается СУБД;

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

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

эффективность. Эта модель эффективна, когда в БД содержится большой объем данных со связью 1:М и выполняется большое количество транзакций.

Из-за явного превосходства над системой файлов иерархические БД быстро стали доминировать на рынке 70-х годов. Это стало предпосылкой создания больших БД (на mainframe).

Однако, иерархическая модель имеет свои недостатки:

сложность реализации. От проектировщиков и программистов требуется достаточно высокий уровень подготовки;

сложность управления. Любые изменения в структуре БД, например, перемещение сегментов, вызовут необходимость изменений во всех прикладных программах. Хотя иерархическая БД обеспечивает целостность БД, в то же время она дает возможность удалить один сегмент, что приведет к автоматическому удалению всех сегментов-потомков;

недостаток структурной независимости. Структурная независимость имеет место, если изменения в структуре БД не влияют на возможность доступа СУБД к данным. Для навигации по заданным сегментам используется маршрут физического хранения. Программист должен знать маршрут к соответствующим сегментам;

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

В конце 1970-х начале 80-х годов иерархические БД стали терять свою популярность. Стали разрабатываться альтернативные модели данных. Одной из таких моделей стала сетевая модель данных.