Сетевая модель данных • Объекты модели • Язык описания данных • Язык манипулирования данными Базовыми объектами модели являются: элемент данных; • агрегат данных; • запись; • набор данных. • Определения • Элемент данных — то же, что и в иерархической модели, то есть минимальная информационная единица, доступная пользователю с использованием СУБД. • Агрегат данных соответствует следующему уровню обобщения в модели. В модели определены агрегаты двух типов: агрегат типа вектор и агрегат типа повторяющаяся группа. Агрегат данных типа вектор • Агрегат типа' вектор соответствует линейному набору элементов данных. • Например, агрегат Адрес может быть представлен следующим образом: Агрегат типа повторяющаяся группа • Агрегат типа повторяющаяся группа соответствует совокупности векторов данных. Например, агрегат Зарплата соответствует типу повторяющаяся группа с числом повторений 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