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