Система управления базами данных Visual FoxPro5.0 - от начальных навыков к профессиональной работе. Крушель Е.Г - 64 стр.

UptoLike

Составители: 

110
Второй способ установления связи между индексированными таблицами
аналогичен п. 3.1.1 - осуществляется через системное меню.
Для этого зайдите в проект и выберите структуру Databases, в ней находятся БД
students.dbc, которая содержит наши три таблицы.
Проиндексируйте файл students.dbf по алфавиту фамилий. Для этого войдите в режим
Modify и в окне Table
Designer укажите для поля ФИОключ индексирования в списке
Index - Ascending (по возрастанию).
Аналогичные операции сделайте для файлов stud1.dbf
и stud2.dbf.
После индексации таблиц воспользуйтесь системным меню Window/Data Session.
Перед Вами появится диалог Data Session.
Для того чтобы открыть нужные таблицы нажмите кнопку Open, после чего появится
окно диалога Open, в котором выберите сначала одну из таблиц, например, students.dbf.
Затем нажмите кнопку ОК
. Вы вернулись в диалог Data Session. Выбранная таблица
students.dbf находится в поле Aliases (псевдонимы).
Повторите те же действия для таблиц stud1.dbf и stud2.dbf.
Выберите из списка открытых таблиц таблицу students.dbf, которая будет
родительской” (основной) в устанавливаемых отношениях. Нажмите кнопку Relations, а
затем выберите в списке порожденнуюдочернюю»)
таблицу. Первой укажите таблицу
stud1.dbf. Появится диалоговое окно Set Index Order. В этом окне находится список,
установленных в данной таблице индексов (в данном случае один и выделен синим
цветом, т. е. является активнымФИО). Нажмите кнопку ОК. После чего появится
диалог Expression Builder, в котором выберите ключ индексированияФИО (поле SET
RELATION должно содержатьФИО).
Повторите те же самые действия для таблицы stud2.dbf. Вы установили связь между
основной таблицей и порожденными.
Для того чтобы просмотреть результат Вашей работы, перейдите в поле Aliases, в
котором последовательно выбирайте каждую из таблиц, при этом нажимая кнопку
Browse. На экране откроются три окна с таблицами.
Активизируйте
таблицу students.dbf и передвигайте указатель курсора по записям
таблицы, при этом Вы увидите, что в дочерних таблицах курсор стоит на записях с той же
фамилией, на которой стоит курсор в родительской базе.
Для соответствия с примером, найдем запись с фамилией, начинающейся с букв «Лу».
Для этого нажмите кнопку Properties
в диалоге Data Session. Появится диалог Work Area
Properties. В поле Data Filter установите фильтр ФИО = «Лу». Нажмите кнопку ОК.
Теперь просмотрите таблицы см. выше. В таблицах будет высвечена записьс
фамилией Лукьянова.
Сводка команд установления связей
между открытыми базами данных:
Неиндексированные базы могут быть связаны только по номеру записи RECNO( ):
1. С помощью команды SET RELATION TO RECNO( ) INTO <exprN1> <exprC1>
[,RECNO( ) INTO <exprN2> <exprC2> ...] [ADDITIVE]
Здесь <exprN1> - номер рабочей области, с которой устанавливается связь. Можно вместо
номера <exprN1> записывать <exprC1> - обозначение (буквенное) этой рабочей области.
2. С помощью системного
меню Window/Data Session в диалоге Data Session
ADDITIVE - опция, позволяющая сохранить созданные ранее связи данной базы с другими при
добавлении новых. В отсутствие этой опции установление новой связи разрушает все
старые связи.
Индексированные базы, открытые с индексными файлами, могут быть связаны по имени
ключа индексирования (key):
1. С помощью команды SET RELATION TO <
key> INTO <exprN1> <exprC1>
                                            110

       Второй способ установления связи между индексированными таблицами
аналогичен п. 3.1.1 - осуществляется через системное меню.
    Для этого зайдите в проект и выберите структуру Databases, в ней находятся БД
students.dbc, которая содержит наши три таблицы.
    Проиндексируйте файл students.dbf по алфавиту фамилий. Для этого войдите в режим
Modify и в окне Table Designer укажите для поля ФИО – ключ индексирования в списке
Index - ↑Ascending (по возрастанию). Аналогичные операции сделайте для файлов stud1.dbf
и stud2.dbf.
    После индексации таблиц воспользуйтесь системным меню Window/Data Session.
Перед Вами появится диалог Data Session.
    Для того чтобы открыть нужные таблицы нажмите кнопку Open, после чего появится
окно диалога Open, в котором выберите сначала одну из таблиц, например, students.dbf.
Затем нажмите кнопку ОК. Вы вернулись в диалог Data Session. Выбранная таблица
students.dbf находится в поле Aliases (псевдонимы).
    Повторите те же действия для таблиц stud1.dbf и stud2.dbf.
    Выберите из списка открытых таблиц таблицу students.dbf, которая будет
“родительской” (основной) в устанавливаемых отношениях. Нажмите кнопку Relations, а
затем выберите в списке порожденную («дочернюю») таблицу. Первой укажите таблицу
stud1.dbf. Появится диалоговое окно Set Index Order. В этом окне находится список,
установленных в данной таблице индексов (в данном случае один и выделен синим
цветом, т. е. является активным – ФИО). Нажмите кнопку ОК. После чего появится
диалог Expression Builder, в котором выберите ключ индексирования – ФИО (поле SET
RELATION должно содержать – ФИО).
    Повторите те же самые действия для таблицы stud2.dbf. Вы установили связь между
основной таблицей и порожденными.
    Для того чтобы просмотреть результат Вашей работы, перейдите в поле Aliases, в
котором последовательно выбирайте каждую из таблиц, при этом нажимая кнопку
Browse. На экране откроются три окна с таблицами.
    Активизируйте таблицу students.dbf и передвигайте указатель курсора по записям
таблицы, при этом Вы увидите, что в дочерних таблицах курсор стоит на записях с той же
фамилией, на которой стоит курсор в родительской базе.
    Для соответствия с примером, найдем запись с фамилией, начинающейся с букв «Лу».
Для этого нажмите кнопку Properties в диалоге Data Session. Появится диалог Work Area
Properties. В поле Data Filter установите фильтр ФИО = «Лу». Нажмите кнопку ОК.
    Теперь просмотрите таблицы см. выше. В таблицах будет высвечена запись – с
фамилией Лукьянова.




                              Сводка команд установления связей
                              между открытыми базами данных:
 •      Неиндексированные базы могут быть связаны только по номеру записи RECNO( ):
 1. С помощью команды SET RELATION TO RECNO( ) INTO  
 [,RECNO( ) INTO   ...] [ADDITIVE]
       Здесь  - номер рабочей области, с которой устанавливается связь. Можно вместо
        номера  записывать  - обозначение (буквенное) этой рабочей области.
 2. С помощью системного меню Window/Data Session в диалоге Data Session
 ADDITIVE - опция, позволяющая сохранить созданные ранее связи данной базы с другими при
        добавлении новых. В отсутствие этой опции установление новой связи разрушает все
        старые связи.
 •      Индексированные базы, открытые с индексными файлами, могут быть связаны по имени
        ключа индексирования (key):
 1. С помощью команды SET RELATION TO  INTO