Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД(4 курс).doc
Скачиваний:
20
Добавлен:
21.04.2019
Размер:
716.29 Кб
Скачать

38,2.11 Операторы доступа и поиска командного языка системы Visual foxpro.

Операторы это элементарные командные единицы Вашей программы. При работе с VFP, Вам доступно окно Command, позволяющее выполнять эти команды поодиночке, в принципе, последовательное выполнение операторов и есть работа Вашего приложения. Конечно же, на практике дело обстоит несколько сложнее, так как мы имеем дело с системой, управляемой событиями, но в первом приближении, можно представить дело именно так: "Ваше приложение представляет набор некоторых, команд, выполнение которых и есть работа Вашего приложения".

Операторы (команды) VFP могут быть как простыми, так и очень сложными и длинными, равно как и команда, выполняемая оператором, может быть простой, а может быть и весьма сложной и емкой. Конечно же, здесь мы не ставим перед собой цель подробно объяснить все команды VFP, для этого у нас попросту нет ни времени, ни сил, ни объема, и, в конце концов, для этого существует Help (справочная информация), но несколько простых оператором мы рассмотрим.

Итак, оператором в VFP считается одна строка программы. Пустые строки игнорируются. Если оператор не умещается на одной строке, или программисту кажется более наглядным разместить один оператор на нескольких строках, то это можно сделать, поставив в конце строки, которую требуется продолжить символ "точка с запятой", например, здесь приведен один оператор: SELECT ; Name, Address ; FROM Customers ; INTO TABLE Forieners ; WHERE not Country = Россия

39,2.12 Установление отношения в базе данных в субд Visual FoxPro.

Между таблицами существует четыре типа отношений. Это "один-к-одному", "один-ко-многим", "много-к-одному", "много-ко - многим". Все эти типы отношений поддерживаются в Visual FoxPro.

Отношение "один-к-одному" означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. В качестве примера можно рассмотреть отношения между списком служащих предприятия и таблицей, содержащей их служебные характеристики.

Наиболее часто встречающимся является тип отношения "один-ко-многим". В качестве примеров могут быть рассмотрены отношения между покупателем и купленными им товарами, между предприятием и работающими на нем сотрудниками.

Отношение "много-к-одному" можно сравнить с отношением "один-ко-многим", рассматриваемое с другой точки зрения. Например, между клиентами и сделанными им заказами существует отношение "один-ко-многим". С другой стороны, если в качестве исходной точки рассматривать заказы, то между сделанными заказами и клиентами получается отношение "много-к-одному".

В качестве примера отношения "много-ко-многим" можно привести пример магазина оптовой торговли. Данный тип отношений существует между списком товаров, производимых предприятиями-поставщиками, и списком товаров, заказанных потребителями.

 Как правило, в Visual FoxPro при создании форм, отчетов и запросов используется несколько таблиц, между которыми установлены постоянные отношения. Такие таблицы называются связанными. Из двух связанных таблиц одна является главной, а другая — подчиненной. Главную таблицу называют родительской, а подчиненную — дочерней. При создании индексов для родительской таблицы должен быть определен ключ типа Primary

(Первичный) или типа Candidate (Кандидат), а для дочерней таблицы — индекс для связи с родительской таблицей типа Regular (Обычный).

.

Рис. 4.21. Отображение связи между таблицами

40,2.13 Установление отношения с использованием команды SET RELATION в СУБД Visual FoxPro.

становить связь между таблицами

SET RELATION TO [eExpression1 INTO nWorkArea1 |

cTableAlias1 [, eExpression2 INTO nWorkArea2 |

cTableAlias2 ] [IN nWorkArea | cTableAlias]

[ADDITIVE]]

43,3.1 ОТНОШЕНИЯ И СХЕМЫ ОТНОШЕНИЙ. ФОРМАЛИЗАЦИЯ ОТНОШЕНИЙ. КЛЮЧ ОТНОШЕНИЯ, ВЫДЕЛЕННЫЙ КЛЮЧ, СУПЕРКЛЮЧ.

Схема отношений:

R={А1,…..Ап}

Каждому имени атрибута поставлено в соответствие множество допустимых значений атрибутов (домен)

Ключ – множество имен атрибутов , значения которых однозначно определяют кортеж.

Домен- каждому имени атрибута Аи ставиться в соответствие множество допустимых значений Ди

Di=dom(Ai)

Отношение. Обозначим через D=D1 U D2 U……Dn

r(R)- конечное множество отношений {t1,….,tn}

кортеж – строка в таблице, значение кортежа на Ai атрибуте t(Ai)

Отношение r со схемой R – это конечное множество отображений из множества имен атрибутов в Д, причем каждое отображение t должно удовлетворять следующим ограничениям:

t(Ai) принадлежит Di

исключается любое упорядочение имен атрибутов в схеме

ключ- К с R со следующим свойством:

для любого t1 и t2 принадлежащих R выполняется условие, что t1(k)≠t2(K) и ниодно собственное подмножество К ‘ не обладает этим свойством

Суперключ- ключ отношения r(R) является подмножеством K={B1,…..Bn}cR сос следующим свойством :

для любого t1 и t2 принадлежащих r существует такое BcK, что значение кортежа t1(k)≠t2(K)

Ключи бывают выделенные и неявные.

Выделенный ключ определен ключом при описании схемы и при вводе кортежей СУБД будет контролировать уникальность этого ключа.

Неявные ключи получаются из значений регулярных отношений.

44,3.2 ОБНОВЛЕНИЕ ОТНОШЕНИЙ (УДАЛЕНИЕ, ДОБАВЛЕНИЕ, ЗАМЕНА).

      1. Добавление

ADD(r,A1=d1, A2=d2,….,An=Dn)

Ошибки: вводимый кортеж не соответствует схеме.

Некоторые значения кортежа не соответствует схеме

Описанный кортеж совпадает по ключу с уже введенным кортежем

      1. Удаление

Del(r,A1=d1,……,An=dn)

K={B1,….,Bn}

Del(r,B1=e1,….,Bn=en)

      1. Изменение

СН(r, A1=d1,……,An=dn,C1=l1,…..Cn=ln)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]