Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Язык запросов SQL




Математическая обработка таблиц

Манипулирование файлам и таблицами

Просмотр имен файлов на диске выполняется по команде

Dir[<Диск>] [<маска>] [То Printer | To File <файл>]

Команда выводит на экран/принтер/файл имена файлов из указанного диска и директории. По умолчанию команда предъявляет имена не всех файлов, а только файлов DBF.

Команда Erase<файл> удаляет неактивный в данный момент файл любого типа.

Команда Rename<старое имя файла> То <новое имя файла> осу­ществляет переименование любого неактивного файла. Расширение имени файла обязательно.

Команда Copy File<имя файла-оригинала> То <имя файла-копии> выполняет копирование любого неактивного файла в новый файл с тем же или другим именем. Расширение файлов указывается обязательно.

Команда Copy Tо<имя нового файла> <границы>[Fields <поля>] [For <условие1>] [While <условие2>] [Type <тип файла > ] осуществляет копирование открытого файла DBF в новый файл.

В новый файл могут копироваться как все поля таблицы, так и только перечисленные в списке Fields. Если указаны условия и/или границы, то копироваться будут только удовлетворяющие им записи. По умолчанию область действия команды - весь файл (ALL). При отсутствии фразы Type новый файл будет также файлом таблицы с расширением DBF. Указание типа позволит сформировать новые файлы иных типов, пригодные как для просмотра и редактирования в текстовых редакторах, так для обработки в других средах (описание типов можно получить командой Help Copy File).

Следующая команда добавляет в активную таблицу данные из некоторой другой таблицы или текстового файла:

Append From<имя файла-источника> [Fields <поля>]

[For <условие>] [While <условие>] [Type <тип файла>]

Если параметр Type опущен, копируется файл DBF. Эта команда является близкой по смыслу к предыдущей, но она не создает новый файл, а лишь дописывает записи в конец существующего файла. Из файла-источника добавляются только поля, одноименные с полями дополняемого файла. Параметр Fields позволяет копировать не все такие поля, а лишь перечисленные. Эта команда в формате является удобным средством перенесения данных из ASCII-файла в DBF-файл. Такие данные вообще могут готовиться и вне СУБД, в любом текстовом ASCII- редакторе.

Во многих случаях желательно иметь возможность командным образом создавать новый файл таблицы со структурой, аналогичной или близкой некоторому другому DBF-файлу. Эта возможность предоставляется командой Copy Structure То <имя нового файла> [Fields <поля>]. Команда копирует структуру активной таблицы (или ее часть) в пустой файл.

В FoxPro имеются средства для получения количеств, сумм, средних и некоторых других величин. Рассмотрим эти команды.

Count[<границы>] [While <условие1>] [For <условие2>]

[То <переменная>]

Этой командой подсчитывается число записей в заданных грани­цах, удовлетворяющих условиям, которое заносится в <переменную>.

Sum/Average [<границы>] [While <условие>] [For <условие>]

<список выражений> [Tо <переменные> | Tо Array <массив>]

По команде Sum/Average формируется сумма/среднее перечис­лен­ных числовых полей и выражений в указанные <переменные> или <массив>.

Calculate<границы> [While <условие>] [For <условие>]

<список выражений> [Tо <переменные> | Tо array <массив>]

Команда Calculate позволяет вести математические расчеты в таблице. Список выражений может содержать любую комбинацию следующих внутренних для данной команды функций: Cnt() (число записей в таблице), Avg/Max/Min/Sum(<Выр>) (среднее/максимальное/ми­ни­маль­ное/сум­ма). Эти команды по умолчанию имеют в качестве области действия всю таблицу (ALL).

Total On<выражения> [<границы>] [While <условие>] [For <условие>]

[Fields <имена полей>] [To <файл>]

Командой создается новый файл, куда последовательно зано­сятся суммы числовых полей для тех записей, которые имеют одинаковое значение <выражения>. Все такие записи исходного файла образуют одну запись в новом файле, где числовые поля будут суммами всех полей записей исходного файла, а остальные поля равны значениям полей первой по порядку записи с заданным ключом. Исходный активный файл должен быть отсортирован или проиндексирован по заданному ключу.

Структура нового файла будет идентична структуре исходного файла. Список полей может содержать имена только числовых полей, по ко­торым выполняется суммирование. Отсутствие списка означает сум­ми­ро­вание для всех числовых полей файла.

В FoxPro включены команды языка запросов SQL (Structured Query Language) (п. 1.3.8.3). Детальное описание команд с примерами можно получить в спра­воч­ной системе Visual FoxPro. Рассмотрим примеры.

 
 

Пример создания базы данных “Выпуск изделий” (п. 1.5.2.) с таблицами и связями (рисунок 2.4.23.1).

Рис. 2.4.23.1. Логическая модель базы данных “Выпуск изделий”

 

CLOSE DATABASES && закрытие всех баз

CLEAR && очистка экрана

CREATE DATABASE “Выпуск изделий“ && создание базы “Выпуск изделий“

CREATE TABLE “Типы изделий“; && создание таблицы “Типы изделий“

(KTI i PRIMARY KEY NOT NULL,; && ключевое поле с кодом типа изделия

NTI c(20) UNIQUE NOT NULL) && поле с наименованием типа изделия

CREATE TABLE “Изделия“; && создание таблицы “Изделия“

(KI i PRIMARY KEY NOT NULL,; && ключевое поле с кодом изделия

NI c(20) UNIQUE NOT NULL,; && поле с наименованием изделия

KTI i,; && поле с кодом типа изделия

FOREIGN KEY KTI TAG KTI REFERENCES “Типы изделий“) && связь

CREATE TABLE “Подразделения“; && создание таблицы “Подразделения“

(KP i PRIMARY KEY NOT NULL,; && ключевое поле с кодом подраздел.

NP c(20) UNIQUE NOT NULL) && поле с наименованием подразделения

CREATE TABLE “Выпуск изделий“; && создание таблицы “Выпуск изделий“

(KP i NOT NULL,; && поле с кодом подразделения

KI i NOT NULL,; && поле с кодом изделия

DVI d NOT NULL,; && поле с датой выпуска изделия

KVI n(10,0); && поле с количеством выпущенных изделий

DEFAULT 1,; && значение по умолчанию равно 1

SI n(14,2); && поле с себестоимостью изделия

CHECK (KVI>=0) ERROR “Количество отрицательное число!“,; &ошибка

FOREIGN KEY KI TAG KI REFERENCES “Изделия“,; && связь

FOREIGN KEY KP TAG KP REFERENCES “Подразделения“) && связь

SET SAFETY OFF && блокировка вывода предупреждений

MODIFY DATABASE && просмотр структуры базы данных (рисунок 2.4.23.1)

CLOSE DATABASE && закрытие базы данных

DELETE DATABASE “Выпуск изделий“ DELETETABLES && удаление базы




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


Дата добавления: 2014-12-10; Просмотров: 417; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.