Similar presentations:
Теоретико-графовые модели данных. (Лекция 3)
1. ТЕОРЕТИКО-ГРАФОВЫЕ МОДЕЛИ ДАННЫХ
ТЕОРЕТИКОГРАФОВЫЕМОДЕЛИ ДАННЫХ
12.02.2017
Марченко Е.И.
1
2.
1. Иерархическая модельданных
12.02.2017
Марченко Е.И.
2
3.
Первая иерархическая СУБД IMS (InformationManagement System), фирмы IBM.
12.02.2017
Марченко Е.И.
3
4.
Поле данных - минимальная неделимаяединица данных, доступная пользователю с
помощью СУБД.
Сегмент - запись
12.02.2017
Марченко Е.И.
4
5.
Тип сегмента — это поименованнаясовокупность типов элементов данных, в
него входящих.
Экземпляр сегмента образуется из
конкретных значений полей или
элементов данных, в него входящих.
12.02.2017
Марченко Е.И.
5
6.
Ключом называется набор элементов данных,однозначно идентифицирующих экземпляр
сегмента.
12.02.2017
Марченко Е.И.
6
7.
Сегмент типа АСегмент типа В
Логически исходный сегмент
Сегмент типа С Логически подчиненные сегменты
Пример иерархических связей между сегментами
12.02.2017
Марченко Е.И.
7
8.
Схема иерархической БД представляетсобой совокупность отдельных деревьев,
каждое дерево в рамках модели
называется физической базой данных.
12.02.2017
Марченко Е.И.
8
9.
Каждая физическая БД удовлетворяет следующимиерархическим ограничениям:
в каждой физической БД существует один корневой
сегмент, т.е. сегмент, у которого нет логически
исходного (родительского) типа сегмента;
каждый логически исходный сегмент может быть
связан с произвольным числом логически подчиненных
сегментов;
каждый логически подчиненный сегмент может быть
связан только с одним логически исходным
(родительским ) сегментом.
12.02.2017
Марченко Е.И.
9
10.
12.02.2017Марченко Е.И.
10
11.
АВ
С
D
Е
Пример структуры иерархического дерева
Набор всех экземпляров сегментов, подчиненных
одному экземпляру корневого сегмента, называется
физической записью.
12.02.2017
Марченко Е.И.
11
12.
a1a2
b4
b2
b1
c1
b3
d1
c2
b5
c3
e1
d2
e2
d3
d4
e4
e3
Пример двух экземпляров дерева
a1 b1 b2 b3 c1 d1 d2 e1 a2 b4 b5 c2 d3 d4 e2 e3 e4
Запись 1
12.02.2017
Запись 2
Марченко Е.И.
12
13.
12.02.2017Марченко Е.И.
13
14.
Язык описания данныхиерархической модели
(DDL, Data Definition Language)
12.02.2017
Марченко Е.И.
14
15.
Способ доступа определяет способ организациивзаимосвязи физических записей.
1) HSAM (hierarchical sequential access method) —
иерархически последовательный метод;
2) HISAM (hierarchical index sequential access method) —
иерархически индексно-последовательный метод;
3) HDAM (hierarchical direct access method) —
иерархически прямой метод;
4) HIDAM (hierarchical index direct access method) —
иерархически индексно-прямой метод;
5) INDEX — индексный метод.
12.02.2017
Марченко Е.И.
15
16.
Внешние моделиВнешняя модель представляет собой
совокупность поддеревьев для физических
БД, с которыми работает данный
пользователь. Каждый подграф внешней
модели в обязательном порядке должен
содержать корневой тип сегмента
соответствующий физической БД
концептуальной модели.
12.02.2017
Марченко Е.И.
16
17.
Представление внешней модели называетсялогической БД и определяется
совокупностью блоков связи данного
приложения с физическими БД,
входящими в концептуальную схему БД.
12.02.2017
Марченко Е.И.
17
18.
Блок связи — РСВ (program communication bloc)— описывает связь с одной физической
БД.
Совокупность блоков РСВ образует полное
внешнее представление данного
приложения — блок спецификации
программ (PSB, program specifying block).
12.02.2017
Марченко Е.И.
18
19.
ФИЛИАЛАдрес
Руководитель
ТИПОВЫЕ МОДЕЛИ
ИНДИВИДУАЛЬНЫЕ МОДЕЛИ
Имя Стоимость Количество на складе
Номер заказа Стоимость Количество
СОСТАВ МОДЕЛИ
СОСТАВ ЗАКАЗНОЙ МОДЕЛИ
Имя ХарактеФирма–
Стоимость
блока ристика изготовитель
Имя ХарактеФирма–
Стоимость
блока ристика изготовитель
Пример иерархической БД
12.02.2017
Марченко Е.И.
19
20.
СКЛАДНомер
Адрес
Кладовщик
ИЗДЕЛИЕ
Наименование
ХАРАКТЕРИСТИКИ
Параметр
Единицы Величина
измерения
НАЛИЧИЕ
Фирма Гарантия Стоимость Количество
12.02.2017
Марченко Е.И.
20
21.
Язык манипулирования данными виерархических БД
(DML, Data Manipulation Language)
12.02.2017
Марченко Е.И.
21
22.
1. Операторы поиска данных.1). GET UNIQUE <имя сегмента> WHERE
<список поиска>
2). GET NEXT <имя сегмента> WHERE
<список аргументов поиска>
3). GET NEXT <имя сегмента> WITHIN
PARENT [where <дополнительные
условия>]
12.02.2017
Марченко Е.И.
22
23.
2. Операторы поиска данных свозможностью модификации.
Используются операторы поиска данных, но в синтаксис
добавляется слово HOLD:
GET HOLD UNIQUE <имя сегмента>
WHERE <список поиска>
12.02.2017
Марченко Е.И.
23
24.
3. Операторы модификации данных.1). DELETE
2). UPDATE
3). INSERT< имя сегмента >
12.02.2017
Марченко Е.И.
24
25.
Преимуществами иерархической модели:развитые средства управления данными
во внешней памяти на низком уровне;
возможность построения вручную
эффективных прикладных систем;
возможность эффективного
использования памяти.
12.02.2017
Марченко Е.И.
25
26.
Недостатки иерархической модели :асимметрия поиска по симметричным
запросам;
зависимость поиска от соответствия
иерархической структуры существующим
связям в предметной области;
низкий уровень языка запросов и
манипулирования данными;
12.02.2017
Марченко Е.И.
26
27.
трудность реализации «дружественных»интерфейсов пользователя;
аномалии вставки, удаления и
обновления;
дублируемость данных;
трудно реализовывать гибкие механизмы
защиты данных, целостности,
непротиворечивости.
12.02.2017
Марченко Е.И.
27
28.
2. СЕТЕВАЯ МОДЕЛЬДАННЫХ
12.02.2017
Марченко Е.И.
28
29.
Стандарт сетевой модели впервые был определен в 1975году организацией СОDASYL, которая определила
базовые понятия модели и формальный язык описания.
Базовыми объектами модели являются:
элемент данных;
агрегат данных;
запись;
набор данных.
12.02.2017
Марченко Е.И.
29
30.
Элемент данных - минимальнаяинформационная единица, доступная
пользователю с использованием СУБД.
(то же, что и в иерархической модели)
12.02.2017
Марченко Е.И.
30
31.
Агрегат данных соответствуетследующему уровню обобщения в
модели.
В модели определены агрегаты двух типов:
агрегат типа вектор и агрегат типа
повторяющаяся группа.
Зарплата
Адрес
Город
12.02.2017
Улица
дом
квартира
Марченко Е.И.
Месяц
Сумма
31
32.
Записью называется совокупностьагрегатов или элементов данных,
моделирующая некоторый класс
объектов реального мира.
(соответствует понятию «сегмент» в иерархической
модели. Для записи, так же как и для сегмента,
вводятся понятия типа записи и экземпляра записи)
12.02.2017
Марченко Е.И.
32
33.
Набором называется двухуровневый граф,связывающий отношением «один-комногим» два типа записи.
Запись типа А
Набор N
Запись типа В
12.02.2017
Член набора N
Марченко Е.И.
33
34.
Преподава Групптель
а
День недели
Иванов
4306
Понедельник
1
22-13
кид
Иванов
4307
Понедельник
2
22-13
кид
Карпова
4307
Вторник
2
22-14
БЗ и ЭС
Карпова
4309
Вторник
4
22-14
БЗиЭС
Карпова
84305
Вторник
1
22-14
БД
Смирнов
4306
Вторник
3
23-07
гвп
Смирнов
4309
Вторник
4
23-07
гвп
Иванов
Преподаватель
Ведет занятие в
Занимается у
Група
12.02.2017
№ пары Аудитория Дисципли
на
1
4306
Марченко Е.И.
2
Карпова
3
4307
4
4309
Смирнов
5
6
7
84305
34
35.
Язык описания данных в сетевой модели12.02.2017
Марченко Е.И.
35
36.
Язык описания данных имеет разделы:описание БД – области размещения;
описания записей – элементов и агрегатов
(каждого в отдельности);
описания наборов (каждого в отдельности).
12.02.2017
Марченко Е.И.
36
37.
Язык манипулирования данными всетевой модели
12.02.2017
Марченко Е.И.
37
38.
Навигационные операции осуществляютперемещение по БД путем прохождения
по связям, которые поддерживаются в
схеме БД. В этом случае результатом
является новый единичный объект,
который получает статус текущего
объекта.
12.02.2017
Марченко Е.И.
38
39.
Операции модификации осуществляютдобавление новых экземпляров отдельных
типов записей и наборов, удаление
экземпляров записей и наборов,
модификацию отдельных составляющих
внутри конкретных экземпляров записей.
12.02.2017
Марченко Е.И.
39
40.
указатели текущего состояния:текущая запись процесса (код или ключ
последней записи, с которой работала данная
программа);
текущая запись типа записи (для каждого типа
записи ключ последней записи с которой работала
программа);
текущая запись типа набор (для каждого набора с
владельцем Т1 и членом Т2 указывается, Т1 или
Т2 были последней обрабатываемой записью).
12.02.2017
Марченко Е.И.
40
41.
ПОСТАВЩИКИНазвание поставщика Название поставщика
ТОВАРЫ
Поставщики-Цены
Наименование товара
Товары-Цены
Товары-Заказы
ЦЕНЫ
Цена
Товар
Поставщик
ЗАКАЗЫ
Номер
Количество
Люди-Заказы
ЛЮДИ
ФИО
Адрес
Баланс
Все люди
12.02.2017
Марченко Е.И.
41
42.
12.02.2017Контрольные вопросы
Определите иерархическую структуру данных.
Каковы операции манипулирования
иерархической структурой данных. Приведите
примеры их использования.
Определите сетевую структуру данных.
Приведите примеры операций сетевой
структуры данных. Приведите примеры их
использования.
Марченко Е.И.
42