КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Организация процедур
Фильтрация базы данных После открытия или создания новой БД можно работать не со всей БД, а с ограниченным числом полей и записей. Для этого после ввода команд меню Database, SetUp устанавливаются поля для доступа: [X]Set Fields и фильтр для записей: [X]Filter. Для задания полей для доступа активизировать Set Fields. Появляется новое окно с форточками: поля БД (Database Fields) и поля доступа (Selected Fields). Для перемещения <Move> поля нужно выбрать имя нужного поля в форточке Database Fields и нажать Enter. Для исключения поля из доступа – то же в форточке Selected Fields. В окне установок SetUp можно включить (On) или выключить (Off) назначенную установку полей. По умолчанию все поля БД доступны для редактирования и просмотра. Для установки фильтра включить кнопку Filter. В новом окне имеется панель для записи выражения (Expression) с подсказкой допустимого типа: <expL>, кнопками справок функций и операторов: Math, String, Logical, Date. Из форточек имен полей (Field Names) и переменных (Variables) можно перемещать имена в панель для записи выражений. Для этого необходимо установить курсор на имени поля и нажать клавишу Enter. При использовании команд обращения к базе можно создать избирательное действие с помощью FOR или организовать постоянный фильтр выбора записей: SET FILTER TO <выражение> <ВК> SET FILTER TO <ВК> && снять фильтр ПРИМЕР SET FILTER TO SUMMA >50 <ВК> LIST <ВК> && Распечатаются записи с полями SUMMA > 50 В FoxPro предусмотрена возможность использования процедур, которые могут быть как внешними, так и внутренними. Частным случаем процедуры являются процедуры функции. Структура внутренней процедуры: PROCEDURE <имя процедуры> <тело процедуры> RETURN [TO MASTER/<выражение>], где параметры последней команды RETURN, дающей выход в файл верхнего уровня, имеют значения: TO MASTER – дает возврат на командный файл самого верхнего уровня, <выражение> – содержит возвращение значения, если процедура представляет функцию. Внутри процедуры может быть команда CANCEL, которая создает прерывания и выход в инструментальную среду FoxPro. Процедуры могут быть собраны в процедурный файл – внешние процедуры. Процедура вызывается в оперативную память открытием процедурного файла. SET PROCEDURE TO <имя файла> Обращения к процедуре выполняется командой: DO <имя процедуры> [WITH <список параметров>] [IN <файл>], где WITH – список передаваемых и получаемых параметров; IN – имя файла, внутри которого находится процедура. При вызове командного файла или процедуры с передачей параметров в этом случае программа, куда передаются параметры, должна начинаться с команды PARAMETERS <список параметров>
Глава 4. Работа с многотабличной базой данных. Связывание таблиц данных Работа с несколькими таблицами базы данныхОдновременная работа с несколькими БД позволяет получать сведения, хранящиеся в разных базах и принадлежащие одним и тем же объектам. Например, паспортные данные и сведения о месте работы могут храниться в разных базах данных. При извлечении всех данных необходимо воспользоваться одновременно несколькими БД. Одна из баз называется старшей, остальные – младшими. Записи в базах данных должны иметь общее поле (например, FAM), и младшие базы индексируются по этому полю. Откроем БД. Для этого необходимо в окне меню View поставить курсор на рабочие области Work Areas: A, B, C... и, нажимая Enter или SpaceBar, последовательно открыть все нужные БД по одной в каждой области. Далее проиндексируем младшие базы по полю FAM. Зададим старшую базу: выбрать имя старшей базы, нажать SpaceBar и включить кнопку <Relations>. Затем отметим младшую базу: выбрать имя младшей базы, нажать SpaceBar и задать поле связи FAM. Для старшей базы снова включим кнопку <Relations>, отметим следующую базу, зададим поле связи и т.д. В форточке Relations будет отмечаться связь параллельного типа. Последовательный тип применяется при связи по нескольким полям (в виде каскада). Для вывода данных применяются команды (в окне Command): Display all, List, Browse Fields со списком полей, записи в которых выводятся на экран. Указываются составные имена полей ("имя рабочей области_имя поля" либо "псевдоним_имя поля"), например: List A.FAM, B.FAM, B.POL, C.FAM, C.DATA_R. ПРИМЕР SELECT A USE BRIG1 SELECT B USE KADR INDEX KADRTAB IN B SELECT A SET RELATION TO BRIGTAB INTO B LIST A.FAM, B.POL, A.DATA_R. Связь вида одна_запись_с_одной – команда связывает указатель записи в активной рабочей области с указателем записи из других рабочих областей, имена которых указаны после слова INTO, по заданному общему ключевому полю. Формат команды: SET RELATION TO <КЛЮЧ> INTO <ОБЛАСТЬ>[,<КЛЮЧ>INTO <ОБЛАСТЬ>] [ADDITIVE] Связь вида одна_запись_со_многими – при этом с каждой записью из старшей базы могут быть сцеплены несколько записей из младшей базы. Связь может быть установлена сразу с несколькими базами, находящимися в разных областях. Формат команды: SET SKIP TO [<ОБЛАСТЬ1>],[<ОБЛАСТЬ2>] Прежде чем использовать команду SET SKIP TO, необходимо выполнить начальное сцепление вида связь_одна_запись_с_одной командой SET RELATION. УДАЛЕНИЕ связи вида одна_запись_со_многими осуществляется командой SET SKIP TO без параметров. ПРИМЕР. Рассмотрим пример организации связи одной базы с несколькими базами, причем эта связь будет реализована по схеме одна_запись_со_многими: Рабочие могут работать сразу в нескольких бригадах. Требуется предъявить все выработки для каждой фамилии из базы KADR.DBF: SELE A USE KADR IN A SELE B USE BRIG3 IN B INDEX BRIG3 SELE C USE BRIG5 IN B INDEX BRIG5 SELE A SET RELATION TO TAB INTO B, TAB INTO C SET SKIP TO B,C BROWSE FIELDS A.FAM:H=’ФАМИЛИЯ’,; A.TAB:H=’ТАБЕЛЬ’, B.TAB:H=’БРИГ.3’, B.VIR:’ВЫР.’,; C.TAB:H=’БРИГ.5’, C.VIR:’ВЫР.’ SET RELATION TO Результат программы:
Глава 5 Основы языка структурированных запросов (SQL)
SQL – язык запросов, основан на наборах записей. Он не имеет никаких команд для отображения или управления информацией. SQL предназначен для хранения и поиска данных. Для создания запроса можно использовать окно Command или исходный текст программного модуля. В результате запроса получается файл, содержащий данные, удовлетворяющие условию запроса. В SQL выбирается и обрабатывается множество записей, к примеру, результатом команды SEEK является конкретная запись.
Дата добавления: 2015-05-09; Просмотров: 626; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |