- •Резниченко Валерий Анатольевич Организация баз данных и знаний
- •Лекция 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. Сетевая модель данных
Первая, последняя запись в экземпляре набора
Синтаксис:
FIND FIRST|LAST [имязаписи] RECORD IN [имянабора] SET
Пример:
FIND FIRST Lecture RECORD IN Has SET;
TEACHER |
|
T1 |
|
T2 |
|
Has |
|
|
|
|
|
LECTURE |
L1 |
L2 |
L3 |
L4 |
L5 |
|
|
|
|
|
|
Is_taught_at |
|
|
|
|
|
SUBJECT |
S1 |
|
|
S2 |
S3 |
Текущий экземпляр набора “Has”
L1 - первая запись-член набора “Has”
Error_Status != 0 – экземпляр набора не имеет записей-членов
ФКН НАУ |
21 |
ЛекцияНахождение4. Сетевая модельзаписиданных-владельца
текущего Синтаксис: экземпляра набора
FIND OWNER OF [имянабора] SET
Пример:
FIND OWNER OF Has SET
TEACHER |
T1 |
T2 |
Текущий экземпляр набора “Has” |
|
|||
Has |
|
|
L2 - текущая запись-член набора “Has” |
|
|
|
|
LECTURE |
L1 L2 |
L3 L4 |
L5 |
Is_taught_at |
|
|
T1 - запись-владелец набора “Has” |
|
|
|
|
SUBJECT |
S1 |
S2 |
S3 |
ФКН НАУ |
22 |
Лекция 4. Сетевая модель данных
Пример
X = ”T1”;
FIND Teacher RECORD BY DATABASE KEY X; FIND LAST Lecture RECORD IN Has SET;
FIND OWNER OF Is_taught_at SET; FIND LAST Lecture RECORD IN Is_taught_at SET; FIND NEXT Lecture RECORD IN Has SET;
FIND OWNER OF Is_taught_at SET;
T1
L3
S2
L4
L5
S3
|
TEACHER |
|
|
|
|
T1 |
|
|
|
T2 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Has |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
L1 |
|
L2 |
|
L3 |
|
L4 |
|
L5 |
|
|
|
LECTURE |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Is_ taught_at |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
ФКН НАУ |
|
|
|
|
|
S1 |
|
|
S2 |
S3 |
|
||||
SUBJECT |
|
|
|
|
23 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лекция 4. Сетевая модель данных
Запоминание экземпляра записи
Создать экземпляр записи в РОП;
Выполнить команду STORE.
Синтаксис:
STORE [типзаписи] RECORD
Пример:
STORE Teacher RECORD
Вставка производится в экземпляр текущего набора
ФКН НАУ |
24 |
Лекция 4. Сетевая модель данных
Присоединение экземпляра записи из БД к
экземпляру набора
Сделать требуемый экземпляр набора текущим
Сделать присоединяемый экземпляр записи текущим
Выполнить команду INSERT
Синтаксис:
INSERT [типзаписи] RECORD INTO [типнабора] SET
Пример:
x=31; FIND Teacher RECORD BY DATABASE KEY x; y=24; FIND Lecture RECORD BY DATABASE KEY y; INSERT Lecture RECORD INTO Has SET;
ФКН НАУ |
25 |
Лекция 4. Сетевая модель данных
Отсоединение экземпляра записи от экземпляра набора
Сделать требуемый экземпляр записи текущим
Выполнить команду REMOVE
Синтаксис:
REMOVE [типзаписи] RECORD FROM [типнабора] SET
Пример: Удалить все лекции у преподавателя с ID 31.
x=31; FIND Teacher RECORD BY DATABASE KEY x; Loop: FIND NEXT Lecture RECORD IN Has SET; IF Error_Status=0 THEN
BEGIN; REMOVE Lecture RECORD FROM Teacher SET; GO TO Loop;
END;
ФКН НАУ |
26 |
Лекция 4. Сетевая модель данных
Изменение экземпляра записи
Команда MODIFY копирует значение записи из РОП в текущий экземпляр записи БД.
Пример: Заменить у преподавателя с ключом базы данных 31 имя на «Иванов».
x=31; FIND Teacher RECORD BY DATABASE KEY x; GET Teacher RECORD;
Teacher.Name = ”Иванов”; MODIFY RECORD;
ФКН НАУ |
27 |
Лекция 4. Сетевая модель данных
Удаление экземпляра записи из БД
Команда DELETE удаляет текущий экземпляр записи из БД
Владелец набора может быть удален, когда в этом наборе отсутствуют записи-члены
Синтаксис:
DELETE [типзаписи] RECORD
Пример: Удалить лекцию с ID 21.
x=21; FIND Lecture RECORD BY DATABASE KEY x; DELETE Lecture RECORD;
ФКН НАУ |
28 |
Лекция 4. Сетевая модель данных
Преимущества и недостатки
Сетевая модель в принципе обладает всеми теми же преимуществами и недостатками, что и иерархическая модель данных.
Единственным принципиальным отличием сетевой структуры по сравнению с иерархической является возможность непосредственно представлять связи типа многие-ко-многим.
ФКН НАУ |
29 |