Базы данных. Уровни данных. Нормальные формы схем отношений. Аксиома дополнения (добавления). Способы размещения с применением Хэш-функции, страница 22

  Для  Update

При изменении значения первичного ключа в родительской табл. в зависимости от используемой опции возможны действия:

 Cascade--автоматически осуществляется каскадное изменение всех соответствующих значений дочерней табл.

Restruct-- не позволяет изменять значения полей первичного ключа в родительской табл., если в дочерней табл. имеется хотя бы одна запись содержащая ссылку на изменяемую запись

Ignore-- позволяет изменять значения полей первичного ключа в родительской табл. независимо от существования связанной записи  в  дочерней табл. Целостность данных не поддерживается.

При  DELETE и INSERT можно записать тоже самое.

Модификация БД в зависимости от др БД

UPDATE TO <ключевое поле> FROM  <обл> REPLASE <имя> WITH  <выр>

[RANDOM]

Команда UPDATE применяет поля активной БД перечисленные не перед словом WITH на выражения  указанные после него. Такие выражения могут быть построены с участием полей др. БД из указанной раб. обл. Обновление производится только для тех записей для которых в обоих файлах совпадают значения ключевого поле. При этом желательно чтобы обе БД были упорядочены, т. е проиндексированные по ключевому полю. Акт. БД может быть и не упорядоченной. В этом случае необходимо использовать опцию [RANDOM]  

Функция анализа условий

IIF (<усл>,<выр1>, <выр2>)

Эта функция выдает значение выр1 если условие истина и выор2 если ложно.

SET FILTER TO <усл>

Эта функция позволяет установить     FOR условие для всех без искл. Команд обработки данных. Данная команда действует на ту базу, которая откр. и активна в данный момент, т. е. Для каждой БД может быть установлен свой фильтр записи.

Начальный поиск:

LOCATE FOR <усл>[<границы>][WHILE <усл>]

Данная команда осуществляет последовательный поиск одной самой первой записи в БД, удовлетворяющей заданному FOR усл. Среди записей находящихся в заданных табл. до тех пор пока соблюдается WHILE усл. В случае если границы и WHILE  усл. отсутствуют, то поиск ведется во всем файле, начиная с первой записи. Команда которая продолжает поиск записи, начатой ранее командой  LOCATE            является CONTINE.

  LOOK UP( <поле1>,<выр>,<поле2>)

Данная функция ищет первое вхождение искомого выр. В указанном поле2 акт. БД и возвращает поле1 из этой же БД.         

 APPEND FROM -копирование в существующий файл БД.

APPEND FROM <имя файла>[FIELDS

<имя>] [WHILE <усл>][FOR <усл>] TYPE <тип файла>

Данная команда добавляет в акт. БД данные из некоторой др. БД или текстового файла. Она не создает новый файл, а лишь дописывает записи в конец существующего. Из файла- источника добавляются только поля одноименные с полями дополняемого файла.

Работа с одномерными массивами

При описании массива командой DEMENTION  все элементы получают логический тип со значением ЛОЖЬ. В дальнейшем элементы в результате присваивания могут получать новые типы и значения. Тип каждого отд. Элемента определяется результатом последней команды присваивания (=,STORE, SCATTER) разрешено повторное описание существующего массива, причем имеющиеся данные не могут быть утрачены.

  SCATEER[FIELDS <поля>] TO <массив> [BLANK]

Данная команда последовательно переносит значения полей только из текущей записи активного файла БД последовательные элементы одномерного массива. Все такие  переменные получат те же типы и размеры что и поля БД. Если массив ранее не был описан или его длина недостаточна, то он будет создан этой командой. Если здесь использовать опцию BLANK, то создается множество незаполненных элементов массива, они будут иметь тот же тип и размер что и поля БД. Если опция FIELDS не заданна то переносятся все поля записи.         

 GATHER FROM <массив>[FIELDS <поле>]   

Действие обратно команде SCATEER, т.е команда переписывает поля текущей записи в элементы массива.

Лекция 1.12

Работа с двумерными массивами.

COPYTOARRAY <массив>[for <условие>] [fields <поля>][<границы>][while<условие>]