Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книга1(полный конспект).docx
Скачиваний:
55
Добавлен:
23.12.2018
Размер:
49.16 Mб
Скачать

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

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

1. Главным отличием иерархической модели от сетевой является ее древовидная структура. Запись – владелец самой высшей иерархии называется корневой. Совокупность корневой записи и множества подчиненных ей записей других типов называется деревом. В связи с этим доступ к любой записи осуществляется только по пути от корневой записи.

2. Групповые отношения в иерархической модели не именуются. Владелец называется исходной записью, а член группового отношения – подчиненной.

3. Иерархическая запись осуществляется набором (конкатенацией) ключей от корневой записи до идентифицируемой.

В рассматриваемом примере с тахеометрической съемкой корневой записью является участок (рис. 5.2) с подчиненными – станция и пикет.

Рис.6.2.

Для поиска записи на уровне пикет необходимо пройти путь: участок – станция – пикет.

Пусть в рассматриваемой иерархической модели (рис. 6.2) номер участка обозначается через N, станции через M, а пикета через K. Примем в качестве ключей записей их номера. Тогда полный ключ записи «пикет» будет NMK. Полагая N = 6, число станций 3,запишем значение ключа для пикета с номером 356, снятого со второй станции: 62356.

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

6.6. Реляционная модель данных

Слово «реляционная» происходит от английского relation – отношение. В реляционных моделях отношения представляются в таблице. Строки таблиц называются кортежами, а столбцы – атрибутами. Следует отметить, что в последнее время кортежи называют записями, а атрибуты – полями. Примером такой модели данных может быть журнал тахеометрической съемки (таблица 6.2).

Таблица 6.2.Журнал тахеометрической съемки

Номер пикета

Дальномерные расстояния

Отсчет по горизонтальному кругу

Отсчет по вертикальному кругу

Превышения

Расстояния

Высота

362

106,0

159 16

1 17

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

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

Отметим, что в данном случае поля «Превышение», «Горизонтальное расстояние», «Высота» являются вычисляемыми.

База данных в реляционной модели представляет собой таблицу (отношение) с определенными полями (атрибутами).

Перечень атрибутов базы данных (отношения) и ее свойств называется схемой базы данных (отношения).

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

Горизонтальное разбиение.

В этом случае на входе имеется одно отношение, а на выходе – два с одними и теми же полями и записями, выбранными по условию.

Например, пусть из одного отношения ПЛАН (таблица 6.3) необходимо составить два. В одном из них в записях используются маcштабы меньшие 1:2000, а в другом равные и большие (таблицы 6.4 , 6.5).

Таблица 6.3. Исходное отношение ПЛАН

Масштаб

Сечение рельефа

ФИО

Номер участка

1:2000

1

Иванов Н.П.

4

1:5000

1

Сидоров Н.И.

5

1:1000

1

Петров Н.В.

6

1:2000

1

Ефимов Л.Н.

7

Таблица 6.4.Результирующее отношение ПЛАН 1

Масштаб

Сечение рельефа

ФИО

Номер участка

1:5000

1

Сидоров Н.И.

5

Таблица 6.5.Результирующее отношение ПЛАН 2

Масштаб

Сечение рельефа

ФИО

Номер участка

1:2000

1

Иванов И.И.

4

1:1000

1

Петров Н.В.

6

1:2000

1

Ефимов Л.Н.

7

Вертикальное разбиение (Проекция).

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

Если, например, спроецировать отношение ПЛАН по атрибутам масштаб и сечение рельефа, то получим следующее отношение (таблица 6.8).

Таблица 6.6.Спроецированное отношение

Масштаб

Сечение рельефа

1:2000

1

1:5000

1

1:1000

1

Соединение.

В этом случае отношение А и В соединяются по общим атрибутам. Пусть отношение ПЛАН будет А, а отношение В - ДИСПЕТЧЕР (таблица 6.7).

Таблица 6.7.Отношение ДИСПЕТЧЕР

ФИО

НОМЕР УЧАСТКА

НОМЕР СООТВЕТСТВИЯ

Иванов И.П.

3

1

Иванов Н.П.

4

2

Сидоров Н.И.

5

3

Петров Н.В.

6

4

Тогда соединение этих отношений по атрибуту – НОМЕР УЧАСТКА будет:

Таблица 6.8.Соединенное отношение

Масштаб

Сечение рельефа

ФИО

НОМЕР УЧАСТКА

НОМЕР СООТВЕТСТВИЯ

1:2000

1

Иванов Н.П.

4

2

1:5000

1

Сидоров Н.И.

5

3

1:1000

1

Петров Н.В.

6

4

Деление.

При делении отношения А и В в результирующем находятся только те атрибуты отношения А, которых нет в В. Число записей определено условием, задаваемым отношением В.

Пусть исходным будет соединенное отношение. Разделим его на отношение «делитель» (таблица 6.9).

Таблица 6.9.Делитель

Масштаб

Сечение рельефа

1:2000

1

Результирующим будет отношение «результат деления».

Таблица 6.10.Результат деления

ФИО

НОМЕР УЧАСТКА

НОМЕР СООТВЕТСТВИЯ

Иванов Н.П.

4

2

Декартово произведение.

Декартово произведение АхВ двух множеств А (а1а2), В (в1в2) есть третье множество С (а1в1, а1в2, а2в1, а2в2). В соответствии с ним декартово произведение отношений «Делитель» и «Результат деления» будет отношение «произведение».

Таблица 6.11.Произведение

Масштаб

Сечение рельефа

ФИО

НОМЕР УЧАСТКА

НОМЕР СООТВЕТСТВИЯ

1:2000

1

Иванов Н.П.

4

2

В данном примере множества А и В состоят каждое из своей составляющей.

Объединение.

Это самая простая операция. На входе появляются два абсолютно одинаковых отношения А и В. Они различаются лишь числами и значениями полей. Результатом будет отношение, которое охватывает все записи А и прибавляет к ним записи В.

Пересечение.

В этом случае из двух отношений А и В строится результирующее отношение С. В нем содержатся только те записи отношения А, которые есть в В.

Операции Пересечения и Деления выполняются лишь по определенному атрибуту.

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