Сетевая модель данных

advertisement
Сетевая модель данных
• Объекты модели
• Язык описания данных
• Язык манипулирования
данными
Базовыми объектами
модели являются:
элемент данных;
• агрегат данных;
• запись;
• набор данных.
•
Определения
• Элемент данных
— то же, что и в
иерархической
модели, то есть
минимальная
информационная
единица,
доступная
пользователю с
использованием
СУБД.
• Агрегат данных
соответствует
следующему
уровню обобщения
в модели. В
модели
определены
агрегаты двух
типов: агрегат типа
вектор и агрегат
типа повторяющаяся группа.
Агрегат данных типа вектор
• Агрегат типа' вектор соответствует
линейному набору элементов данных.
• Например, агрегат Адрес может быть
представлен следующим образом:
Агрегат типа повторяющаяся
группа
• Агрегат типа повторяющаяся группа
соответствует совокупности векторов
данных. Например, агрегат Зарплата
соответствует типу повторяющаяся
группа с числом повторений 12.
Запись
• Записью называется совокупность агрегатов или
элементов данных, моделирующая некоторый
класс объектов реального мира.
• Понятие записи соответствует понятию «сегмент»
в иерархической модели.
• Для записи, так же как и для сегмента, вводятся
понятия типа записи п экземпляра записи.
Мама
Папа
Сын
Набор данных
• Набором называется двухуровневый
граф, связывающий отношением
«один-ко-многим» два типа записи.
В качестве примера рассмотрим таблицу, на основе
которой организуем два набора и определим связь
между ними;
Преподав ГР
атель
Иванов
201
День
Пара
Ауд
Пон
1
443
Дисцип
лина
ООП
Иванов
202
Пон
2
443
ООП
Карпова
202
Вт
2
422
ЭВМ
Карпова
203
Вт
4
443
ООП
Карпова
401
Вт
1
422
1С
Смирнов
201
Вт
3
422
ЭВМ
Смирнов
203
Вт
4
422
ЭВМ
Схема
Схема связей
Иванов
Карпова
202
201
Смирнов
203
401
Язык описания данных в
сетевой модели
• описание базы данных - области
размещения;
• описания записей — элементов и
агрегатов (каждого в отдельности);
• описания наборов (каждого в
отдельности).
Описание БД
SCHEMA IS <Имя БД>.
AREA NAME IS <Имя физической
области>.
RECORD NAME IS <Имя записи
(уникальное)>
Описание записей
LOCATION MODE IS { DIRECT
(напрямую) (
CALC <Имя программы* USING
<[Список пер,>]
DUPLICATE ARE [NOT] ALLOWED
VIA <Имя набора> SЕТ (рядом с
записями владельца)
SYSTEM (решать будет система)}
Описание внутренней
структуры записи
• После описания записи в целом идет
описание внутренней структуры:
<Имя уровня> <Имя данного>
<Шаблон> <Тип>
• Номер уровня определяет уровень вложенности при описании
элементов и агрегатов данных. Первый уровень — сама запись.
Поэтому элементы или агрегаты данных имеют уровень начиная
со второго. Если данное соответствует агрегату, то любая его
составляющая добавляет один уровень вложенности.
• Если агрегат является вектором, то он
описывается как
<Номер уровня> <Имя агрегата>.<Номер
уровня> <Имя 1-й сост>,
• а если — повторяющейся группой, то
следующим образом:
<Номер уровня> <Имя агрегата>, OCCURS <N>
TIMES
где N — среднее количество элементов в
группе.
Описание набора
• SET NAME IS <Имя набора>
OWNER IS (<Имя владельца> |
SYSTEM).
Порядок включения новых
экземпляров'члена данного
набора
• ORDER PERMANENT INSERTION IS
{SORTED | NEXT | PREV | LAST |
FIRST}
• описывается член набора с
указанием способа включения и
способа исключения экземпляра
• MEMBER IS <Имя члена набора>
{AUTOMATIC | MANUAL}
{MANDATORY | OPTIONAL} KEY
IS (ACCENDING | DESCENDING) <Имя
элемента данных>
Язык манипулирования
данными в сетевой
модели
• Навигационные операции осуществляют
перемещение по БД путем прохождения по
связям, которые поддерживаются в схеме
БД. В этом случае результатом является
новый единичный объект, который получает
статус текущего объекта.
• Операции модификации осуществляют как
добавление новых экземпляров отдельных
типов записей, так и экземпляров новых
наборов, удаление экземпляров записей и
наборов, модификацию отдельных
составляющих внутри конкретных
экземпляров записей.
Операторы
манипулирования данными
в
сетевой
модели
READY Обеспечение доступа данного
FINISH
FIND
GET
процесса или пользователя к
БД(сходна по смыслу с операцией
открытия файла)
Окончание работы с БД
Группа операции, устанавливающих
указатель найденного объекта на
текущий объект
Передача найденного объекта в
рабочую область. Допустима только
после FIND
Продолжение
Помещение в БД записи,
сформированной в рабочей области
CONNECT Включение текущем записи в
текущий экземпляр набора
STORE
DISCONNE Исключение текущей записи из
CT
текущего экземпляра набора
MODIFY
ERASE
Обновление текущей записи
данными из рабочей области
Пользователя
Удаление экземпляра текущей
записи
Типы операций поиска
1. По ключу (запись должна быть описана
через CALC USING ...)'
FIND <Имя записи> RECORD BY CALC KEY
<Имя параметра>
2. Последовательный просмотр записей
данного типа:
FIND DUPLICATE <Имя записи> RECORD BY
CALC KEY
Типы операций поиска
(продолжение)
3. Найти владельца текущего
экземпляра набора;
FIND OWNER OF CURRENT <Имя
набора> SET
4. Последовательный просмотр
записей-членов текущего экземпляра
набора:
FIND (FIRST | NEXT) <Имя записи>
RECORD IN CURRENT <Имя
набора>SET
Типы операций поиска (продолжение)
5. Просмотр записей—членов экземпляра
набора, специфицированных рядом полей;
FIND [DUPLICATE] <Иия записи> RECORD IN
CURRENT <Иия набора> SET USING
<Список
полей>
6. Сделать текущей записью процесса
текущий экземпляр набора:
FIND CURRENT OF <Имя набора> SET
7. Установить текущую запись процесса:
FIND CURRENT OF <Имя записи> RECORD
концептуальная модель торговопосреднической организации.
Программа печати заказов, сделанных
Петровым
ФИО = "Петров"
FIND Люди RECORD BY CALC KEY
FIND FIRST Заказы RECORD IN
CURRENT Люди-Заказы SET
WHILE NOT FAIL DOFIND
OWNER OF CURRENT Товары-Заказы
SET
GET Товары
PRINT НаимТовара
FIND NEXT Заказы RECORD IN
CURRENT Люди-Заказы SET
END
Download