Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Зв’язок типу один-запис-з-одним




SET RELATION TO [ <ключ> INTO <область>

[, <ключ> INTO <область> …]

[ADDITIVE] ]

– зв’язує вказівник запису в активній робочій області з вказівником записів з інших робочих областей, імена яких вказані після слова INTO, по заданому загальному полю (ключу).

Єдина умова - файл, з яким встановлюється зв’язок, повинен бути проіндексований по цьому полю.

Якщо із старшим файлом, який вже зв'язаний з іншим, необхідно зв’язати інший третій (4-й,5-й,…), потрібно до всіх наступних команд SET RELATION включити слово ADDITIVE.

SET RELATION TO без параметрів розриває зв’язок між таблицями.

 

Наприклад

Є три таблиці kartotec, pos, pidr

           
   
  Картотека співробітн
*   Табельний № ПІБ Код посади. Код підрозділу ............

 

     
  Довідник підрозділів
*   Код підрозд Назва  

 

 
  Довідник посад
*   Код посади Назва посади Ставка  

 

 

 

 


Спочатку потрібно проіндексувати таблиці:

use pos

index on kod_pos tag k_pos

use pidr

index on kod_pidr tag k_pidr

 

Встановлюємо тимчасові зв’язки

procedure sv

sele 1

use kartotec

sele 2

use pos

set order to tag k_pos

sele 3

use pidr

set order to tag k_pidr

 

sele 1

set relation to kod_pos into pos && зв‘язуємо поле kod_pos з таблиці kartotec з таблицею pos

set relation to kod_pidr into pidr additive && зв‘язуємо поле kod_pidr з таблиці kartotec з таблицею pos

browse fields FIO: h=”П.І.Б.”, dol.nazv_dol: h=”Посада”, podr.nazv_p: h=”Підрозділ”

 

 

Зв’язок типу один-запис-з-багатьма

SET SKIP TO [<область 1> [, <область 2>]…]

Працює аналогічно зв‘язку “один запис – з – одним”.

Можна сказати, що ми зв’язуємо не таблицю Договір з довідниками, а навпаки – один запис у довіднику з декількома записами з таблиці Договір.

Спочатку потрібно встановити SET RELATION, а потім вказуємо SET SKIP TO

 

Наприклад дані взято з таблиць

Structure for database: D:\FOXPRO\PROB\DOGOVOR.DBF

Number of data records: 5

Date of last update: 12/07/97

Field Field Name Type Width Dec Index
  N Numeric      
  KOD_PR Numeric     Asc
  KOD_TOV Numeric     Asc
  KOL Numeric      
  DATA Date      

 

Structure for database: D:\FOXPRO\PROB\PREDPR.DBF

Number of data records: 2

Date of last update: 12/07/97

Field Field Name Type Width Dec Index
  KOD_PR Numeric     Asc
  NAME Character      
  ADR Character      
  R_S Numeric      

 

Structure for database: D:\FOXPRO\PROB\TOVAR.DBF

Number of data records: 2

Date of last update: 12/07/97

Field Field Name Type Width Dec Index
  KOD_TOV Numeric     Asc
  NAME Character      
  CENA Numeric      

Master index: D:\FOXPRO\PROB\PREDPR.CDX TAG: KOD_PR

Master index: D:\FOXPRO\PROB\DOGOVOR.CDX TAG: KOD_PR

Master index: D:\FOXPRO\PROB\TOVAR.CDX TAG: KOD_TOV

 

Procedure SV2

Use predpr in a order kod_pr

use dogovor in b order kod_pr

use tovar in c order kod_tov

 

sele b

set relation to kod_tov into tovar

sele a

set relation to kod_tov into dogovor

set skip to dogovor

 

summa=0

browse fields name:h=”Підприємство”,;

b.N:h=”№ договора”,b.data:h=”Дата”,;

c.name:h=”Товар”,b.kol:h=”Кількість”,;

summa=b.kol*c.cena:h=”Сума”

close data

 

Отримаємо

Підприємство № договора Дата Товар Кількість Сума
Электрон   12/12/97 TV   77.50
************   05/05/97 IBM   200.00
************   05/05/97 TV   108.50
Протон   05/05/97 IBM   140.00
************   07/07/97 TV   263.50

 

Постійні зв’язки між таблицями

Встановити постійні зв‘язки між таблицями можна за допомогою команд SQL:

SET ALTER TABLE < ім’я дочірньої таблиці >

ADD FOREIGN KEY < ключ > TAG < ключ >

REFERENCES < ім’я батьківської таблиці >

Знищити постійні зв‘язки:

 

ALTER TABLE < ім’я таблиці >

DROP FOREIGN KEY TAG <ключ> SAVE

 

Ці команди будуть розглядатися пізніше при вивченні команд мови SQL

 


Список літератури

 

1. Каратыгин С., Тихонов А., Тихонова Л., Visual FoxPro 5. К вершинам мастерства. -М.: Восточная книжная компания, 1997.

2. Горев А. Разработка приложений в Microsoft Visual FoxPro 5.0

3. Баженова И.Ю. Visual FoxPro 6.0.-М.:ДиалогМИФИ,2000-416с.

4. Сосински Б. Разработка приложений в среде Visual FoxPro 5.: - К.: Диалектика, 1997.

5. foxtalk.newmail.ru

6. www.sourceoffsite.com

7. homepage.msn.com

 

 

Зміст

 

  1. Лабораторна робота №1 …………………………………………………………… 5
  2. Лабораторна робота №2 …………………………………………………………… 29
  3. Лабораторна робота №3 …………………………………………………………… 48
  4. Лабораторна робота №4 …………………………………………………………… 74

Список літератури ……………………………………………………………………... 86

 

 

Для нотаток

 





Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 291 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наглость – это ругаться с преподавателем по поводу четверки, хотя перед экзаменом уверен, что не знаешь даже на два. © Неизвестно
==> читать все изречения...

4688 - | 4242 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.