Информатика (Visual FoxPro) / METOD1 / TEMA2 / VFP_T2
.docМАТЕРИАЛЫ
для самостоятельной подготовки в период учебной практики на 2 курсе
Тема 2: «Создание и использование таблиц с данными»
Цель работы: Освоение основных понятий и методов формирования табличных представлений данных в формате DBF.
Изучаемые команды СУБД Visual FoxPro: SET DEFAULT TO, USE, COPY TO, APPEND FROM, BROWSE, GO, DELETE, RECALL, PACK, REPLACE, INDEX, SET INDEX TO, SET ORDER TO, REINDEX, SET FILTER TO
-
Обратиться к Visual FoxPro. Установить путь по умолчанию к своей папке на рабочем диске с помощью команды
SET DEFAULT TO < маршрут доступа к своей папке>
-
Открыть таблицу из файла KLIENTY.DBF. Запомнить команду, появившуюся в командном окне. Используя предложение «Просмотреть (View)» главного меню и «Отобразить (Browse)» вывести на экран содержимое таблицы. Сколько столбцов (атрибутов, полей) и строк (кортежей, записей) содержится в этой таблице? По заголовкам полей определить характер содержащейся в них информации.
-
Создать копию таблицы с помощью команды
COPY TO KLIENTYa.DBF
Закрыть таблицу KLIENTY.DBF вводом в командном окне команды
USE
Открыть созданную таблицу-копию KLIENTYa.DBF и вывести ее на экран. Отобразить структуру таблицы, выбрав в главном меню предложение «Просмотреть (View)» и «Проектирование таблицы (Table Designer)». По выведенной на закладке «Поля (Fields)» информации определить характеристики каждого поля таблицы.
Произвести копирование части информации из таблицы KLIENTYa.DBF с помощью команды
COPY TO KLIENTYb.DBF FIELDS FIRM, ADRES FOR CITY=”Москва”
Открыть таблицу KLIENTYb.DBF. Сколько полей и записей в этой таблице?
Вновь открыть таблицу KLIENTYa.DBF и создать еще одну копию содержащейся в ней информации с помощью команды
COPY TO KLIENTY.TXT SDF
Просмотреть содержимое созданного файла и определить, чем отличается эта копия от созданной ранее.
Применить к таблице еще одну команду копирования
COPY STRUCTURE TO KLIENTYc.DBF
Открыть вновь созданную таблицу KLIENTYc.DBF и, просмотрев ее содержание, определить ее отличие от исходной таблицы. Сколько полей и записей в этой таблице?
-
Применить к открытой таблице KLIENTYc.DBF команду добавления записей из другой таблицы
APPEND FROM KLIENTY
Сколько записей после этого содержится в таблице KLIENTYc.DBF? Добавить в эту же таблицу записи из текстового файла с помощью команды
APPEND FROM KLIENTY.TXT SDF
Сколько записей стало содержаться в таблице после этой команды?
Добавить в эту же таблицу 2 записи с помощью ручного ввода с помощью команды
APPEND
Значения полей во вводимых записях задать самостоятельно в соответствии со смыслом этих полей. С помощью команды
BROWSE
просмотреть таблицу и определить, в какое место добавились введенные данные. По статусной строке в нижней части экрана определить, какие номера получили записи, введенные вручную.
-
Используя команду
GO 201
сделать текущей запись с номером 201. При просмотре таблицы определить, как отмечается текущая запись. Выбрать предложение «Таблица (Table)» главного меню и «Отметить запись для удаления (Delete Records)». В появившемся окне установить значение диапазона записей (Scope) «До конца таблицы (Rest)» и нажать кнопку «Удалить (Delete)». Записать команду, появившуюся в командном окне. Просмотреть таблицу и убедиться, что число записей в таблице не изменилось, а записи, начиная с 201-й и до конца таблицы, отмечены черными метками в крайней левой колонке.
Сделать текущей запись с номером 401. Выбрать предложение «Таблица (Table)» главного меню и «Восстановить записи (Recall Records)». Установить в появившемся окне значение диапазона записей (Scope) «Следующие (Next)» и в окне счетчика записей – значение 2. Записать команду, появившуюся в командном окне. При просмотре таблицы убедиться, что число записей не изменилось, но исчезли черные метки у записей 401 и 402.
Устранить оставшиеся отмеченными записи из таблицы с помощью команды
PACK
При просмотре таблицы убедиться, что число записей изменилось и что в ней остались только записи, не имевшие черных меток.
-
Сделать текущей запись с номером 17. Просмотреть таблицу и ввести в поле GLAVA этой записи значение «Семенов Семен Семенович». Изменить значение поля CITY в той же записи на значение «Кулешов» с помощью команды
REPLACE CITY WITH “ Кулешов “
Сделать текущей запись с номером 201. Заменить в последних записях таблицы значения поля GLAVA на «Попов Александр Петрович», поля CITY – на «Омск» с помощью команды
REPLACE REST GLAVA WITH “Попов Александр Петрович“, CITY WITH “Омск“
При просмотре таблицы проверить корректность результата выполненной операции.
-
Создать упорядоченные по полям GLAVA, OBLAST и CITY представление таблицы. Для этого сформировать 3 индексных файла с помощью команд
INDEX ON GLAVA TO I_GL
INDEX ON OBLAST TO I_OBL
INDEX ON CITY TO I_CIT
Просмотреть содержимое своей папки на рабочем диске и убедиться, что в результате выполнения команд там появились файлы I_GL.IDX, I_OBL.IDX и I_CIT.IDX.
Установить сформированные индексы с помощью команды открытия индексных файлов
SET INDEX TO I_GL, I_OBL, I_CIT
Просмотреть таблицу и убедиться, что действует упорядочение по первому из перечисленных индексов - по полю GLAVA. Включить упорядочение по полю OBLAST с помощью команды
SET ORDER TO I_OBL
Просмотреть таблицу и убедиться, что получен требуемый результат. Последовательно перемещая указатель текущей записи по таблице сверху вниз убедиться, что номера записей не совпадают с их положением (порядковым номером) в представлении таблицы.
Сделать текущей запись 140 и изменить в ней значение поля OBLAST на «Якутия-Саха». Просмотреть таблицу и убедиться, что упорядочение по полю OBLAST нарушено в этой записи. Для восстановления упорядочения с учетом внесенного исправления ввести команду
REINDEX
Вновь просмотреть таблицу и удостовериться в получении требуемого результата.
Закрыть индексные файлы и отменить упорядочения таблицы командой
SET INDEX TO
Просмотреть таблицу и убедиться, что она вернулась к исходному виду.
Создать комплексный индексный файл, включающий все три указанных выше индекса по полям GLAVA, OBLAST и CITY. Для этого при открытой для просмотра таблице выбрать предложения «Просмотреть (View)» главного меню и «Проектирование таблицы (Table Designer)». В появившемся окне выбрать закладку «Индексы (Indexes)» и в каждой строке таблицы ввести поочередно имена индексов (I_GL, I_OBL, I_CIT), тип индексов (Regular) и имена полей (GLAVA, OBLAST и CITY). Просмотреть содержимое своей папки на рабочем диске и убедиться, что там появился комплексный индексный файл с именем KLIENTYс.CDX. Проверить возможность упорядоченного представления таблицы, например, по наименованию города. Для этого ввести команду
SET INDEX TO I_CIT
и просмотреть таблицу. После этого отменить действие индексов командой
SET ORDER TO 0
-
Создать представление таблицы с наложением на нее фильтра, задающего требования к записям, включаемым в представление. Пусть требуется получить список фирм, находящихся в городе Самаре. Для этого наложим на таблицу фильтр с помощью команды
SET FILTER TO CITY=”Самара”
Просмотреть представление таблицы и убедиться, что получен требуемый результат. После этого получим список фирм, расположенных в Красноярском крае с помощью команды
SET FILTER TO OBLAST=”Красноярский край”
Просмотреть представление таблицы и определить число записей, охваченных действием фильтра.
Отменить действие фильтра командой
SET FILTER TO
Просмотреть представление таблицы и убедиться, что она вернулась к исходному виду.
-
Изучить процедуру создания новой таблицы на следующем примере. Пусть требуется создать таблицу, которая будет использоваться в отделе кадров и в которой предполагается хранить сведения о студентах, обучающихся в университете. Самостоятельно обосновать набор атрибутов (полей) таблицы, их типы, размеры. Выбрать имена полей и всей таблицы. После этого выбрать предложения «Файл (File)» и «Создать (New)» главного меню, в появившемся окне выбрать «Таблица (Table)», нажать кнопку «Новый файл (New File)» и ввести параметры полей создаваемой таблицы. После этого сохранить таблицу в своей папке с выбранным именем. Сразу после этого ввести вручную (см.п.4) 3-4 записи в созданную таблицу.
Контрольные вопросы:
-
Для чего нужно устанавливать путь по умолчанию к своей папке на рабочем диске?
-
Можно ли при отображении открытой таблицы выводить на экран не все ее поля?
-
Какие копии открытой таблицы можно получить? Можно ли, например, получить из таблицы KLIENTY.DBF информацию по полям FIRM и CITY в формате Excel?
-
Из каких источников можно использовать информацию для наполнения таблицы?
-
Изменяется ли число записей в активной таблице при использовании команд COPY, APPEND, DELETE?
-
Если по ошибке были отмечены для удаления записи с 34 по 56, то какую команду надо ввести, чтобы исправить эту ошибку?
-
После какой команды уже невозможно восстановить записи, отмеченные для удаления?
-
Какая команда могла бы заменить значение поля CITY в записях с №№22-25 открытой таблицы на значение «неизвестно»?
-
Для чего могут применяться упорядоченные представления таблиц?
-
Если открыто сразу несколько индексов, то как получить требуемое упорядоченное представление таблицы?
-
Чем отличается комплексный индекс от совокупности отдельных индексов?
-
Как, не закрывая индексных файлов, обеспечить возврат таблицы к исходному представлению?
-
Для каких целей на таблицу можно наложить некоторый фильтр?
-
Изменяется ли число записей в таблице при наложении на нее фильтра по какому-то условию?
-
После наложения на таблицу фильтра по некоторому условию можно ли вывести на экран содержимое записи, не удовлетворяющей условию фильтра?
-
Как создать новую таблицу (ответ представить в виде алгоритма)?