- •Резниченко Валерий Анатольевич Организация баз данных и знаний
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
- •Лекция 3. Иерархическая модель данных
Лекция 3. Иерархическая модель данных
Иерархическая база данных
Иерархическая база данных - это множество иерархических структур данных.
Схемы |
|
|
|
|
Экземпляры схем |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ФКН НАУ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лекция 3. Иерархическая модель данных
Операции иерархической структуры
Выборка данных:
GET UNIQUE
GET NEXT
GET NEXT WITHIN PARENT
Манипулирование данными:
INSERT
GET HOLD
REPLACE
DELETE
ФКН НАУ |
12 |
Лекция 3. Иерархическая модель данных
Выборка данных (1)
GET UNIQUE Прямая выборка. Нахождение первого сегмента указанного типа, удовлетворяющего условию поиска. Фиксируется начальная позиция для дальнейшей навигации по иерархии
Синтаксис:
Пример:
GET UNIQUE <тип-сегмента> [WHERE <условие>];
GET UNIQUE ПРЕПОДАВАТЕЛЬ
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND КАФЕДРА.Название = "ИПЗ" AND ПРЕПОДАВАТЕЛЬ.Должность = "профессор";
13
Лекция 3. Иерархическая модель данных
Выборка данных (2)
GET NEXT
Синтаксис:
Пример:
Последовательная выборка. Выборка сегмента, расположенного вслед за текущим согласно имеющегося порядка расположения сегментов в базе данных.
GET NEXT <тип-сегмента> [WHERE <условие>];
GET NEXT ПРЕПОДАВАТЕЛЬ
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND КАФЕДРА.Название = "ИПЗ" AND ПРЕПОДАВАТЕЛЬ.Должность ="профессор";
ФКН НАУ |
14 |
Лекция 3. Иерархическая модель данных
Выборка данных (3)
Пример. Найти всех профессоров кафедры математики факультета информатики:
GET UNIQUE ПРЕПОДАВАТЕЛЬ
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND КАФЕДРА.Название = «математика" AND ПРЕПОДАВАТЕЛЬ.Должность = "профессор";
...
NT: GET NEXT ПРЕПОДАВАТЕЛЬ
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND КАФЕДРА.Название = «математика" AND ПРЕПОДАВАТЕЛЬ.Должность = "профессор";
...
goto NT
ФКН НАУ |
15 |
Лекция 3. Иерархическая модель данных
Выборка данных (4)
GET NEXT WITHIN PARENT
Синтаксис:
Последовательная выборка в пределах текущего родительского сегмента
GET NEXT WITHIN PARENT <тип-сегмента> [WHERE <условие>];
ФКН НАУ |
16 |
Лекция 3. Иерархическая модель данных
Манипулирование данными (1)
INSERT - вставка экземпляров сегментов.
Пример. Ввести сегмент о кафедре САПР факультета инфор- матики и о преподавателе Петрове этой кафедры.
|
|
|
|
|
|
КАФЕДРА.Название |
= "САПР"; |
|
|
|
КАФЕДРА.Заведующий = "Иванов"; |
|
|
|
|
КАФЕДРА.Корпус |
= 3; |
|
|
|
INSERT КАФЕДРА |
|
|
|
|
WHERE ФАКУЛЬТЕТ.Название = "информатика"; |
|
||
|
ПРЕПОДАВАТЕЛЬ.Имя |
= "Петров"; |
|
|
|
ПРЕПОДАВАТЕЛЬ.Должность = "ассистент" |
|
||
|
ПРЕПОДАВАТЕЛЬ.Адрес |
= "Проспект Мира 13/17"; |
|
|
|
INSERT ПРЕПОДАВАТЕЛЬ |
|
|
|
|
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND |
|
||
|
КАФЕДРА.Название |
= "САПР"; |
|
ФКН НАУ |
17 |
Лекция 3. Иерархическая модель данных
Манипулирование данными (2)
GET HOLD – выбор сегмента для замены REPLACE – замена сегмента.
Пример. Заменить адрес преподавателя Петрова кафедры САПР факультета информатики.
GET HOLD UNIQUE ПРЕПОДАВАТЕЛЬ
WHERE = ФАКУЛЬТЕТ.Название = "информатика" AND
КАФЕДРА.Название = "САПР" AND ПРЕПОДАВАТЕЛЬ.Имя = "Петров";
ПРЕПОДАВАТЕЛЬ.Адрес = "ул. Теремковская 1/19";
REPLACE;
ФКН НАУ |
18 |
Лекция 3. Иерархическая модель данных
Манипулирование данными (3)
GET HOLD – выбор сегмента для удаления DELETE – удаление сегмента.
Пример. Удалить сегмент о преподавателе Петрове кафедры САПР факультета информатики.
GET HOLD UNIQUE ПРЕПОДАВАТЕЛЬ
WHERE = ФАКУЛЬТЕТ.Название = "информатика" AND
КАФЕДРА.Название= "САПР" AND ПРЕПОДАВАТЕЛЬ.Имя = "Петров";
DELETE;
ФКН НАУ |
19 |
Лекция 3. Иерархическая модель данных
Преимущества иерархической модели
Развитые средства управления данными во внешней памяти
Возможность эффективного использования памяти
Возможность построения “вручную” эффективных прикладных систем
ФКН НАУ |
20 |