- •Резниченко Валерий Анатольевич Организация баз данных и знаний
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
- •Лекция 4. Сетевая модель данных
Лекция 4. Сетевая модель данных
Циклы и петли
Цикл |
Петля |
|
ИЗДЕЛИЕ |
ЗАВОД |
Состоит из |
|
|
|
УЗЕЛ |
КОНТРАКТ |
|
|
Состоит из |
|
ДЕТАЛЬ |
ИЗДЕЛИЕ |
|
ФКН НАУ |
11 |
Лекция 4. Сетевая модель данных
Варианты сетевой структуры данных
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Двухуровневая схема |
|
Многоуровневая схема |
|
Схема с |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
циклами |
|
||||||
|
|
|
Без ветв- |
|
С ветвле- |
|
Без ветв- |
|
С ветвле- |
|
|
||||||||
|
|
|
лений |
|
ниями |
|
лений |
|
ниями |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Иерархические
структуры
Сетевые
структуры
Петли (одноуро- вневые циклы)
ФКН НАУ |
12 |
Лекция 4. Сетевая модель данных
Приложение и СУБД
Рабочая область пользователя (РОП) содержит:
индикаторы текущего состояния,
записи,
статус ошибки.
ФКН НАУ |
13 |
Лекция 4. Сетевая модель данных
Операции сетевой модели данных
Выборка данных:
FIND (поиск записи)
GET (выбора записи)
Манипулирование данными:
STORE (запоминание нового экземпляра записи)
INSERT (вставка записи-члена в экземпляр набора)
REMOVE (удаление записи-члена из экземпляра
набора)
DELETE (удаление текущей записи)
MODIFY (модификация текущей записи)
ФКН НАУ |
14 |
Лекция 4. Сетевая модель данных
Операции выбора данных
FIND
GET
Прямой поиск. Находит требуемую запись и соответствующим образом изменяет индикаторы текущего состояния. Это множество команд, которые находят конкретный экземпляр записи. Позволяет :
найти запись по ключу
найти запись-член в экземпляре набора
просмотреть экземпляры набора, имеющие записи с заданными значениями полей
найти владельца набора
Помещает найденную запись в РОП.
ФКН НАУ |
15 |
Лекция 4. Сетевая модель данных
Нахождение записи по ключу БД
Синтаксис:
FIND [имязаписи] RECORD BY DATABASE KEY [переменная]
Пример:
X=10;
FIND Faculty RECORD BY DATABASE KEY X;
If Error_Status=0 then GET Faculty;
Else Print "Not Found !";
ФКН НАУ |
16 |
Лекция 4. Сетевая модель данных
Нахождение записи по ее полям
Чтобы найти запись по ее полям, такие поля должны быть
определены в схеме БД как, так называемые, CALC-ключи.
Синтаксис:
FIND [имязаписи] RECORD BY CALCKEY
Пример: Найти запись лекции, у которой поле LID равно «L3». (Поле LID определено как CALC-поле)
Lecture.LID = "L3";
FIND Lecture RECORD BY CALCKEY;
|
|
|
TEACHER |
|
T1 |
T2 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
Найденная запись |
|
|
|
|
Has |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
L1 L2 |
L3 L4 |
L5 |
|
|
|
|
|
LECTURE |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ФКН НАУ |
|
Is_taught_at |
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
17 |
|||
|
|
|
|
|
|
|
|
|||||
SUBJECT |
|
|
|
S1 |
S2 |
S3 |
Лекция 4. Сетевая модель данных
Просмотр экземпляра набора
Экземпляр набора может быть представлен как «кольцо», состоящее из экземпляра-владельца и экземпляров членов набора. Записи-члены набора упорядочены.
TEACHER |
T1 |
|
|
T2 |
|
|
T1 |
|
T2 |
|
Has |
|
|
|
|
|
|
|
|
|
|
LECTURE |
L1 |
L2 |
L3 |
L4 |
L5 |
L1 |
L2 |
L3 |
L4 |
L5 |
Is taught at |
|
|
|
|
|
|
|
|
|
|
SUBJECT |
S1 |
|
|
S2 |
S3 |
S1 |
|
|
S2 |
S3 |
ФКН НАУ |
18 |
Лекция 4. Сетевая модель данных
Следующая запись-член в экземпляре набора
Синтаксис:
FIND NEXT [имязаписи] RECORD IN [имянабора] SET
Пример:
FIND NEXT Lecture RECORD IN Has SET;
TEACHER |
|
T1 |
|
T2 |
|
Has |
|
|
|
|
|
LECTURE |
L1 |
L2 |
L3 |
L4 |
L5 |
|
|
|
|
|
|
Is_taught_at |
|
|
|
|
|
SUBJECT |
S1 |
|
|
S2 |
S3 |
Текущий экземпляр набора “Has”
L2 - текущая запись-член набора “Has”
L3 - следующая запись-член набора “Has”
Error_Status != 0 – достигнут конец записей-членов в экземпляре набора
ФКН НАУ |
19 |
Лекция 4. Сетевая модель данных
Предыдущая запись в экземпляре набора
Синтаксис:
FIND PRIOR [имязаписи] RECORD IN [имянабора] SET
Пример:
FIND PRIOR Lecture RECORD IN Has SET;
TEACHER |
|
T1 |
|
T2 |
|
Has |
|
|
|
|
|
LECTURE |
L1 |
L2 |
L3 |
L4 |
L5 |
|
|
|
|
|
|
Is_taught_at |
|
|
|
|
|
SUBJECT |
S1 |
|
|
S2 |
S3 |
|
|
|
|
|
ФКН НАУ
Текущий экземпляр набора “Has”
L3 - текущая запись-член набора “Has”
L2 - Предыдущая запись-член набора “Has”
Error_Status != 0 – достигнуто начало записей-членов в экземпляре набора
20