Манипулирование данными
Поддерживаются два класса операций:
- Операции, устанавливающие адрес записи и разбиваемые на два подкласса:
- прямые поисковые операторы (например, установить адрес первой записи таблицы по некоторому пути доступа);
- операторы, устанавливающие адрес записи при указании относительной позиции от предыдущей записи по некоторому пути доступа.
- Операции над адресуемыми записями.
Вот типичный набор операций:
- LOCATE FIRST
– найти первую запись таблицы T
в физическом порядке; возвращается адрес записи;
- LOCATE FIRST WITH SEARCH KEY EQUAL – найти первую запись таблицы T
с заданным значением ключа поиска k; возвращается адрес записи;
- LOCATE NEXT
– найти первую запись, следующую за записью с заданным адресом в заданном пути доступа; возвращается адрес записи;
- LOCATE NEXT WITH SEARCH KEY EQUAL – найти cледующую запись таблицы T
в порядке пути поиска с заданным значением k; должно быть соответствие между используемым способом сканирования и ключом k; возвращается адрес записи;
- LOCATE FIRST WITH SEARCH KEY GREATER – найти первую запись таблицы T
в порядке ключа поиска k
cо значением ключевого поля, большим заданного значения k; возвращается адрес записи;
- RETRIVE
– выбрать запись с указанным адресом;
- UPDATE
– обновить запись с указанным адресом;
- DELETE
– удалить запись с указанным адресом;
- STORE
– включить запись в указанную таблицу; операция генерирует и возвращает адрес записи.
Примерами типичных операций манипулирования иерархически организованными данными могут быть следующие:
- найти указанный экземпляр типа дерева БД (например, отдел 310);
- перейти от одного экземпляра типа дерева к другому;
- перейти от экземпляра одного типа записи к экземпляру другого типа записи внутри дерева (например, перейти от отдела к первому сотруднику);
- перейти от одной записи к другой в порядке обхода иерархии;
- вставить новую запись в указанную позицию;
- удалить текущую запись.
Вот примерный набор операций манипулирования данными:
- найти конкретную запись в наборе однотипных записей (например, служащего с именем Иванов);
- перейти от предка к первому потомку по некоторой связи (например, к первому служащему отдела 625);
- перейти к следующему потомку в некоторой связи (например, от Иванова к Сидорову);
- перейти от потомка к предку по некоторой связи (например, найти отдел, в котором работает Сидоров);
- создать новую запись;
- уничтожить запись;
- модифицировать запись;
- включить в связь;
- исключить из связи;
- переставить в другую связь и т.д.
Содержание раздела