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

UptoLike

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

113
RETURN && Конец подпрограммы
*Подпрограмма для окончания работы по клавишам Ctrl-Home
PROCEDURE ext && ПодпрограммаКонец работы
CLOSE DATABASES && Закрытие всех файлов баз данных.
CLEAR WINDOW && Очистка окон с экрана и из памяти.
RETURN && Конец подпрограммы, возврат в Головную.
Запустите программу на выполнение и проследите, какими средствами Visual
FoxPro5.0 реализует связь.
Второй
способ установления связи между индексированными таблицами
осуществляется через системное меню.
Для этого зайдите в проект и выберите структуру Databases, в ней находятся БД
students.dbc, которая содержит наши три таблицы.
Проиндексируйте файл students.dbf по алфавиту фамилий. Для этого войдите в режим
Modify и в окне Table Designer укажите
для поля ФИОключ индексирования в списке
Index - Ascending (по возрастанию).
Аналогичные операции сделайте для файла
studolimp.dbf.
После индексации таблиц воспользуйтесь системным меню Window/Data Session.
Перед Вами появится диалог Data Session.
Откройте нужные таблицы в диалоге Data Session (students.dbf и studolimp.dbf).
Выберите из списка открытых таблиц таблицу students.dbf, которая будет
родительской в устанавливаемых отношениях. Нажмите кнопку Relations, а
затем
выберите в списке порожденную таблицу studolimp.dbf. Появится диалоговое окно Set
Index Order. В этом окне находится список, установленных в данной таблице индексов (в
данном случае один и выделен, синим цветом, т. е. является активнымФИО). Нажмите
кнопку ОК. После чего появится диалог Expression Builder, в котором выберите ключ
индексированияФИО.
После
того, как Вы установили связь Relations, нажмите кнопку 1 to many
(устанавливается связь одна_запись_со_многими). При этом откроется диалог Create
One-to-Many Relationships, в котором перенесите из поля Child Aliases в поле Selected
Aliases дочернюю таблицу studolimp. После чего нажмите кнопку ОК.
Для того чтобы просмотреть результат Вашей работы, перейдите в поле Aliases
, в
котором последовательно выбирайте каждую из таблиц, при этом нажимая кнопку
Browse. На экране откроются окна с таблицами.
Активизируйте таблицу students.dbf и передвигайте указатель курсора по записям
таблицы, при этом Вы увидите, что в дочерней таблице курсор стоит на записях с той же
фамилией, на которой стоит курсор в
родительской базе, а родительская таблица
«раздвигается» на количество записей в дочерней таблице (добавленные записи будут
заполнены символом «*», что означаетзапись по аналогии).
3.3. Установление постоянной связи RelationShip между таблицами в БД
Все устанавливаемые Вами до этого пункта связи являлись временными, т.е.
протекали в режиме сеанса Data Session: “установил- посмотрел
”.
В Visual FoxPro 5.0 Вы можете устанавливать постоянные отношения между
таблицами, которые будут поддерживаться при создании форм, отчетов и запросов. При
определении отношений одна из таблиц является родительской, а другаядочерней. Для
родительской таблицы должен быть определен первичный ключ Primary или ключ-
кандадат Candidate, а для дочернейиндекс для связи с родительской таблицей
(см.
глава 1 п.4.3.1.1).
                                         113

RETURN                                 && Конец подпрограммы

*Подпрограмма для окончания работы по клавишам Ctrl-Home
PROCEDURE ext                        && Подпрограмма “Конец работы”
 CLOSE DATABASES                     && Закрытие всех файлов баз данных.
 CLEAR WINDOW                        && Очистка окон с экрана и из памяти.
RETURN                               && Конец подпрограммы, возврат в Головную.

      Запустите программу на выполнение и проследите, какими       средствами Visual
FoxPro5.0 реализует связь.

       Второй способ установления связи между индексированными таблицами
осуществляется через системное меню.
    Для этого зайдите в проект и выберите структуру Databases, в ней находятся БД
students.dbc, которая содержит наши три таблицы.
    Проиндексируйте файл students.dbf по алфавиту фамилий. Для этого войдите в режим
Modify и в окне Table Designer укажите для поля ФИО – ключ индексирования в списке
Index    - ↑Ascending (по возрастанию). Аналогичные операции сделайте для файла
studolimp.dbf.
    После индексации таблиц воспользуйтесь системным меню Window/Data Session.
Перед Вами появится диалог Data Session.
    Откройте нужные таблицы в диалоге Data Session (students.dbf и studolimp.dbf).
    Выберите из списка открытых таблиц таблицу students.dbf, которая будет
“родительской” в устанавливаемых отношениях. Нажмите кнопку Relations, а затем
выберите в списке порожденную таблицу studolimp.dbf. Появится диалоговое окно Set
Index Order. В этом окне находится список, установленных в данной таблице индексов (в
данном случае один и выделен, синим цветом, т. е. является активным – ФИО). Нажмите
кнопку ОК. После чего появится диалог Expression Builder, в котором выберите ключ
индексирования – ФИО.
    После того, как Вы установили связь Relations, нажмите кнопку 1 to many
(устанавливается связь одна_запись_со_многими). При этом откроется диалог Create
One-to-Many Relationships, в котором перенесите из поля Child Aliases в поле Selected
Aliases дочернюю таблицу studolimp. После чего нажмите кнопку ОК.
    Для того чтобы просмотреть результат Вашей работы, перейдите в поле Aliases, в
котором последовательно выбирайте каждую из таблиц, при этом нажимая кнопку
Browse. На экране откроются окна с таблицами.
    Активизируйте таблицу students.dbf и передвигайте указатель курсора по записям
таблицы, при этом Вы увидите, что в дочерней таблице курсор стоит на записях с той же
фамилией, на которой стоит курсор в родительской базе, а родительская таблица
«раздвигается» на количество записей в дочерней таблице (добавленные записи будут
заполнены символом «*», что означает – запись по аналогии).


        3.3. Установление постоянной связи RelationShip между таблицами в БД

       Все устанавливаемые Вами до этого пункта связи являлись временными, т.е.
протекали в режиме сеанса Data Session: “установил- посмотрел”.
       В Visual FoxPro 5.0 Вы можете устанавливать постоянные отношения между
таблицами, которые будут поддерживаться при создании форм, отчетов и запросов. При
определении отношений одна из таблиц является родительской, а другая – дочерней. Для
родительской таблицы должен быть определен первичный ключ Primary или ключ-
кандадат Candidate, а для дочерней – индекс для связи с родительской таблицей (см.
глава 1 п.4.3.1.1).