Реферат: Курсовик по FoxPro
Предмет составления базы данных – поступление товаров на склад. Составим концептуальную модель представления реальности в базе данных. Согласно условию, единственным объектным множеством является объектное множество “товары”. В его состав входит бесчисленное количество объектов – “степлеры”, “дискеты”, “карандаши” и др. Каждый из этих объектов обладает одинаковым по структуре множеством атрибутов (признаков). Каждый из атрибутов характеризует конкретный объект с какой-либо стороны: количество, качество, цена и т.д.
Пример: объект “клавиатуры” входит в состав объектного множества “товары” и обладает следующими атрибутами: наименование (клавиатуры), цена за единицу товара (150 р), количество единиц товара (3), единица измерения товара (штука), дата поступления (01.04.2001), качество товара (среднее), поставщик (Тайвань).
1.2 Описание предметной области в виде диаграммы
На основании предыдущего пункта составим концептуальную модель будущей базы данных в виде диаграммы “объекты-связи”.
Рисунок 1.1.1 – Диаграмма “объекты - связи”.
2 Составление словаря данных
На основании модели данных составим словарь данных. Словарь данных – это система, в которой хранятся сведения об объектах, их атрибутах, о значениях и форматах представления данных. Опишем назначение и свойства полей реляционной таблицы “товары”.
– Наименование товара. Служит первичным ключом, по которому можно получить доступ к любой строке таблицы. Тип данных – строковый (Character), длина – 20 символов. Ширина поля – 20 символов. Возможные значения – названия товаров, имеющих отношение к офису.
– Цена единицы товара. Хранит цену определенного вида товаров. Тип данных – денежный (Currency) точностью до 4 знаков после запятой. Ширина поля – 8 символов. Возможные значения ограничены шириной поля.
– Количество единиц товара. Хранит число единиц товара, находящихся в данный момент на складе. Тип данных – целый (Integer). Ширина поля – 4 символа. Возможные значения ограничены шириной поля.
– Единица измерения. Хранит название единицы измерения товара. Тип данных - строковый (Character), длина – 15 символов. Ширина поля – 15 символов. Возможные значения – в соответствии с первым полем таблицы.
– Дата поступления. Хранит число, месяц и год поступления товара. Тип данных – выражение даты (Date). Ширина поля – 8 символов. Возможные значения записываются в формате: мм/дд/гггг, где мм – номер месяца (01..12), дд – день (01..31), гггг – номер года.
– Качество товара. Хранит условную оценку качества поступившего товара. Тип данных – строковый (Character), длина – 7 символов. Ширина поля – 7 символов. Возможные значения – ‘высокое’, ’среднее’, ’низкое’.
– Поставщик. Хранит название страны – производителя данного товара. Тип данных – строковый (Character), длина – 20 символов. Ширина поля – 20 символов. Возможные значения ограничены корректными названиями стран.
3 Составление структуры базы данных
На основании диаграммы и словаря данных составим структуру базы данных “Goods”. Поскольку на диаграмме изображено только одно объектное множество, то, следовательно, в базу данных будет входить только одна реляционная таблица. Перечислим и дадим названия полям таблицы “Table_Goods” в соответствии с диаграммой:
Таблица 3.1 – Поля таблицы “Table_Goods”
Значение поля | Имя поля | Тип | Длина |
Наименование | Name_unit | Character | 20 |
Цена за единицу товара | Price_unit | Currency | |
Количество | Amount | Integer | |
Единица измерения | Unit_measure | Character | 5 |
Дата поступления | Date_recep | Date | |
Качество товара | Quality_goods | Character | 7 |
Поставщик | Supplier | Character | 20 |
Общая сумма ( вы- числяемое поле) |
Sum=Amount*Price_unit |
Numeric |
4 Составление программных запросов к базе данных
Приступим к программной реализации базы данных. Вообще следует отметить, что в Visual FoxPro существуют 2 пути реализации почти любой задачи: визуальный и программный. В первом случае необходимые действия выполняются с помощью команд меню самого FoxPro и специализированных мастеров. Во втором – с помощью встроенного языка программирования, унаследованного еще от ранних версий. Во всех случаях мы будем пользоваться вторым способом, кроме самого создания базы данных. Дело в том, что на первом этапе необходимо создать так называемый проект Visual FoxPro, в состав которого в дальнейшем будут входить все без исключения используемые нами компоненты. Для большей наглядности желательно создавать проект “вручную”. Кроме того, существуют 2 вида таблиц FoxPro: свободные и связанные, т.е. входящие в состав баз данных. Наша таблица относится ко второму типу, в то время как команда CREATE TABLE создает свободную таблицу. С учетом этого, создание базы данных проведем визуально, а все остальные манипуляции – программно.
4.1 Создание базы данных
База данных создается с помощью Диспетчера проектов Visual FoxPro. Сначала создадим новый проект. Назовем его Kurs и разместим его в папке MyProject.
Рисунок 4.1.1 – Окно диспетчера проектов
Все компоненты, которые мы сможем создать, можно связать с проектом, при этоим они будут храниться в “родном” каталоге проекта.
Теперь можно создавать базу данных. Щелкнув правой кнопкой мыши на подраздел “Базы данных” раздела “Данные”. Необходимо ввести имя будущей базы данных. Новую базу данных сохраняем в папке проекта. После этого появляется окно Дизайнера баз данных. С его помощью можно добавлять в базу данных новые компоненты: таблицы, запросы, локальные и удаленные представления, соединения и внедренные процедуры.
Рисунок 4.1.2 – Окно Дизайнера баз данных
С помощью Дизайнера баз добавим в проект таблицу.
После присвоения имени новой таблице создаем ее структуру в соответствии с заданием. Структура таблицы представляет собой список полей и их характеристику: тип данных, размер, длину символьного представления (для типа Character) и др. В поле “Caption” можно указать надпись-заголовок столбца для каждого поля, которая будет высвечиваться при отображении таблицы.
Рисунок 4.1.5 – Создание структуры таблицы
После завершения ввода можно просмотреть полученную структуру пустой таблицы, выбрав в меню команду Browse.
Заполнить таблицу можно при помощи той же команды, если выбрать в меню “Edit” пункт “Append mode” (“Режим добавления”). Результат заполнения таблицы данными показан на рисунке 4.1.6.
Рисунок 4.1.6 – Записи таблицы Table_Goods.
4.2 Выполнение фильтрации, индексации, поиск записей
В FoxPro есть команда
SET FILTER TO <условие>,
которая позволяет установить FOR-условие для всех без исключения команд обработки данных. Здесь <условие> указывает на то, какие именно записи могут быть доступны для обработки.
Выполним фильтрацию по полю “Поставщик”. Если после этого, например, написать команду BROWSE, то это будет эквивалентно BROWSE FOR supplier=’Россия’.
Рисунок 4.2.1 – Результат фильтрации по полю supplier.
Создание индексных файлов в базах данных преследует цель ускорения поиска записей и для упорядочения записей в таблицах. Вообще в FoxPro существуют 2 типа индексных файлов: *.idx (обычный индексный файл) и *.cdx (составной индексный файл, содержащий несколько индексов). В нашем случае требуется произвести индексацию по одному полю – полю “Количество товара”, поэтому создаем обычный индексный файл indtab.idx в папке проекта с помощью команды:
INDEX on amount to C:\MY_WORKS\TRANSF~1\MYPROJ~1\indtab
Следует отметить, что такое индексирование проводится только по возрастанию. Отобразим полученный результат с помощью команды LIST
LIST amount, name_unit, price_unit
Полученный результат отображен на рисунке 4.2.1