Л. Партыка, И. И. Попов системы управления базами данных


Установление связи файлов данных



бет112/215
Дата29.01.2022
өлшемі4,64 Mb.
#115817
1   ...   108   109   110   111   112   113   114   115   ...   215
Байланысты:
Голицына О Л Партыка Т Л Попов И И Системы

Установление связи файлов данных. В то время как команда join устанавливает физическую связь данных (создавая новый файл), команда set relation устанавливает логическую связь данных, не изменяя физического содержания таблиц, а синхронно извлекая из файлов данных связанные записи. При перемещении указателя текущей записи по основному файлу автоматически перемещаются указатели на активные записи в зависимых (их может быть несколько) файлах (рис. 3.15, б). Связывание файлов является необходимой операцией при работе с большими БД, включающими более двух файлов, поскольку оно обеспечивает работу SQL, реализующего большинство операций манипулирования данными.

Формат команды:

set relation to@KOD = [<выражение> 1 into <номер_рабочей_области>1 | <псевдоним_файла>1 -[,<выражение>2 into <номер_рабочей_области>2 |<псевдоним_файла>...]

[in <номер_рабочей_области> | <псевдоним_файла>] [additive]]

Параметры

<выражение>1 задает реляционное выражение, которое устанавливает отношение между основной и зависимой таблицами. В качестве реляционного выражения обычно используется выражение управляющего индекса зависимой
таблицы;

into  <номер_рабочей_области>1 | <псевдоним файла> 1 - задает для зависимой таблицы номер рабочей области


(<номер_рабочей_области>1)  или псевдоним  (<псевдоним_файла>1);

<выражение>2 INTO <номер_рабочей_области>2 | <псевдоним_файла> 2 ... и т. д. — с помощью одной команды set  relation можно построить несколько отношений между одной основной и различными зависимыми
таблицами;

in <номер_рабочей_области> задает рабочую область основной таблицы,  in  <псевдоним_файла> задает псевдоним основной таблицы. Если аргументы опущены, основная таблица должна быть открыта в выбранной в данный


момент рабочей области;

additive сохраняет все уже существующие в текущей рабочей области отношения и создает заданное отношение.


Если опустить ключевое слово additive, все отношения в текущей рабочей области разрываются, после чего создается заданное отношение.

Рассмотрим пример:

select 1 use file_l

select 2 use file_2 index field_l

select 3 use file_3 index field_2

select 1


set relation to field_l into 1

field_2 into 2

additive

Здесь текущий файл (file_1) связывается с зависимыми файлами (f ile_2 и f ile_3), после чего записи зависимых файлов «берутся на буксир» и сопровождают записи текущего файла при перемещении. Предполагается, что зависимые файлы индексированы, причем индексные выражения соответствуют полям fieldl и field_2. Тогда в каждый момент времени из зависимых файлов активными будут записи, содержащие значения f ield_l и f ield_2 текущей записи основного файла.

Выдав команду set relation to без аргументов, вы удалите все отношения, установленные в выбранной в данный момент рабочей области. Команду set relation off можно использовать для удаления отдельных отношений типа родитель/потомок.

В Приложениях 5 и 6 приводятся задание на лабораторную работу по основным возможностям, командам и функциям FoxPro и пример отчета о работе, иллюстрирующий большинство из рассмотренных команд системы.




Достарыңызбен бөлісу:
1   ...   108   109   110   111   112   113   114   115   ...   215




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет