Сетевая модель данных Объекты модели Язык описания данных Язык манипулирования данными
Базовыми объектами модели являются: элемент данных; агрегат данных; запись; набор данных.
Определения Элемент данных то же, что и в иерархической модели, то есть минимальная информационная единица, доступная пользователю с использованием СУБД. Агрегат данных соответствует следующему уровню обобщения в модели. В модели определены агрегаты двух типов: агрегат типа вектор и агрегат типа повто- ряющаяся группа.
Агрегат данных типа вектор Агрегат типа' вектор соответствует линейному набору элементов данных. Например, агрегат Адрес может быть представлен следующим образом:
Агрегат типа повторяющаяся группа Агрегат типа повторяющаяся группа соответствует совокупности векторов данных. Например, агрегат Зарплата соответствует типу повторяющаяся группа с числом повторений 12.
Запись Записью называется совокупность агрегатов или элементов данных, моделирующая некоторый класс объектов реального мира. Понятие записи соответствует понятию «сегмент» в иерархической модели. Для записи, так же как и для сегмента, вводятся понятия типа записи п экземпляра записи. МамаПапа Сын
Набор данных Набором называется двухуровневый граф, связывающий отношением «один-ко-многим» два типа записи.
В качестве примера рассмотри м таблицу, на основе которой организуем два набора и определим связь между ними; Преподав атель ГРДеньПараАудДисцип лина Иванов201Пон1443ООП Иванов202Пон2443ООП Карпова202Вт2422ЭВМ Карпова203Вт4443ООП Карпова401Вт14221С Смирнов201Вт3422ЭВМ Смирнов203Вт4422ЭВМ
Схема
Схема связей Иванов КарповаСмирнов
Язык описания данных в сетевой модели описание базы данных - области размещения; описания записей элементов и агрегатов (каждого в отдельности); описания наборов (каждого в отдельности).
Описание БД SCHEMA IS. AREA NAME IS. RECORD NAME IS
Описание записей LOCATION MODE IS { DIRECT (напрямую) ( CALC ] DUPLICATE ARE [NOT] ALLOWED VIA SЕТ (рядом с записями владельца) SYSTEM (решать будет система)}
Описание внутренней структуры записи После описания записи в целом идет описание внутренней структуры:
Номер уровня определяет уровень вложенности при описании элементов и агрегатов данных. Первый уровень сама запись. Поэтому элементы или агрегаты данных имеют уровень начиная со второго. Если данное соответствует агрегату, то любая его составляющая добавляет один уровень вложенности. Если агрегат является вектором, то он описывается как., а если повторяющейся группой, то следующим образом:, OCCURS 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
Продолжение STOREПомещение в БД записи, сформированной в рабочей области CONNECTВключение текущем записи в текущий экземпляр набора 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