54
2.5.2 Понятие рабочей области
Каждая таблица вместе со своими индексными файлами открывается в
отдельной рабочей области. Количество рабочих областей зависит от версии
FoxPro. Все рабочие области имеют порядковые номера. Например, от 1 до 25
для версии Visual FoxPro 3.0 . Кроме того, первые десять рабочих областей
имеет однобуквен-ные имена от А до J. Не все команды FoxPro могут
обрабатывать порядковые номера рабочих
областей, поэтому при открытии
табличного файла рабочей области можно присвоить псевдоним (ALIAS).
Псевдоним пишется буквами латинского алфавита, причем первый символ
обязательно буква, а последующие символы могут быть и буквами, и цифрами,
допускается и символ подчеркивания. Пробелы при составлении псевдонима не
допустимы. Желательно в качестве псевдонима использовать осмысленное
сочетание из трех-четырех
букв. Более длинные псевдонимы желательно не
использовать, так как при написании программных кодов обращение к
таблицам производится по псевдонимам рабочих областей, в которых они
открыты. При открытии таблиц не обязательно соблюдать строгую нумерацию
рабочих областей. В любой момент времени может быть открыто много
рабочих областей, но только одна рабочая область будет
текущей или активной.
Для назначения текущей рабочей области используют команду:
SELECT <номер рабочей области | псевдоним рабочей области>
Для доступа к полям таблицы используются префиксы. Для текущей
рабочей области префиксом является точка. Для пассивных рабочих областей
префиксом является конструкция из двух символов -> минуса и знака больше.
Для старших версий FoxPro, начиная с
3.0, допускается использование точки
как одного префикса для всех рабочих областей. При обращении к какому-либо
полю следует указать псевдоним рабочей области, в которой открыта таблица,
затем префикс и потом имя нужного поля.
2.5.3 Установление взаимосвязи «один-к-одному»
При установлении взаимосвязи, как правило, в родительской таблице
берут первичный ключ, а в дочерней таблице — внешний ключ. Причем эти оба
ключа являются общим полем. Текущей делают ту рабочую область, где
находится дочерняя таблица, и с помощью команды SET RELATION TO к
дочерней таблице подключают одну или несколько родительских таблиц,
открытых в пассивных рабочих
областях.
Формат команды:
SET RELATION TO [<выр.1> INTO <псевдоним рабочей области 1> ] [,
<выр.2> INTO <псевдоним рабочей области 2> ] [...] [ADDITIVE]
Назначение опций:
<выр.1> <выр.2>... — имена общих полей между дочерней таблицей и
несколькими родительскими таблицами.