База данных «Почтовое отделение» содержит следующие сущности:
1. Сущность «Операция» - содержит информацию о проведенных операциях: код операции и вид: прием, отправку почты, или подписку на прессу;
2. Сущность «Получение» - содержит информацию о полученной почте: код операции, вид получения, данные отправителя и получателя, вес и ценность;
3. Сущность «Отправка» - содержит информацию об отправленной почте: код операции, вид отправки, данные отправителя и получателя, вес и ценность;
4. Сущность «Подписка» - содержит информацию о произведенных подписках на газету или журнал: код операции, код подписчика, шифр издания, срок и стоимость подписки.
5. Сущность «Подписчик» - содержит информацию о подписчике, а именно: код подписчика, Ф.И.О и адрес.
6. Сущность «Издание»- содержит информации о газетах и журналах доступных для подписки: шифр издания, название газеты или журнала, цена.
Рис.1. Инфологическая модель БД «Почтовое отделение».
Связь «получает» - М:1-несколько получений, являются лишь одной операцией получения.
Связь «отправляет» - М:1-несколько отправлений, являются лишь одной операцией отправления.
Связь «подписывает» - М:1-несколько подписок, являются лишь одной операцией подписка.
Связь «подписывается» - 1:М - один подписчик может оформить несколько подписок.
Связь «заказывает» - 1:М – на одно издание можно оформить несколько подписок.
Для создания эффективной базы данных важно правильно определить структуру таблиц, то есть состав полей. На этом этапе нужно руководствоваться следующими соображениями:
- Информация в таблицах не должна дублироваться;
- Желательно, чтобы каждая таблица содержала информацию только на одну тему;
- Не рекомендуется включать в таблицу данные, которые получаются в результате вычислений;
- Информацию об объекте желательно разбивать на минимальные единицы.
Рассмотрим более подробно каждую из сущностей и атрибуты, которые они должны содержать. Так же опишем непосредственно типы данных, которые должны браться для каждого из атрибутов в практической реализации базы данных. Причём типы данных могут иметь несколько иные названия в определённых, отдельно взятых СУБД.
Таблица 1. «Операция»
Название атрибута | Тип атрибута | Размер поля | Индекс |
Код операции | Numeric | 10 | Primary |
Вид операции | Character | 10 |
Таблица 2. «Получение»
Название атрибута | Тип атрибута | Размер поля | |
Код операции | Numeric | 10 | Regular |
Код получения | Numeric | 10 | Primary |
Вид получения | Character | 10 | |
Данные отправителя | Character | 40 | |
Данные получателя | Character | 40 | |
Вес | Integer | 4 | |
Ценность | Currency | 8 |
Таблица 3. «Отправка»
Название атрибута | Тип атрибута | Размер поля | |
Код операции | Numeric | 10 | Regular |
Код отправки | Numeric | 10 | Primary |
Вид отправки | Character | 10 | |
Данные отправителя | Character | 40 | |
Данные получателя | Character | 40 | |
Вес | Integer | 4 | |
Ценность | Currency | 8 |
Таблица 4. «Подписка»
Название атрибута | Тип атрибута | Размер поля | |
Код операции | Numeric | 10 | Regular |
Код подписки | Numeric | 10 | Primary |
Код подписчика | Numeric | 10 | Regular |
Шифр издания | Numeric | 10 | Regular |
Дата подписки | Date | 8 | |
Срок подписки | Date | 8 |
Таблица 5. «Подписчик»
Название атрибута | Тип атрибута | Размер поля | |
Код подписчика | Numeric | 10 | Primary |
Ф.И.О | Character | 20 | |
Адрес | Character | 20 |
Таблица 6. «Издание»
Название атрибута | Тип атрибута | Размер поля | |
Шифр издания | Numeric | 10 | Primary |
Название | Character | 10 | |
Цена | Currency | 8 |
В соответствии с данными инфологической и даталогической моделями уже можно приступать к непосредственному созданию реальной базы данных в оболочке Microsoft VFP.
Для удобства хранения данных в VFP используются проекты, которые можно создать таким образом: File-NEW-Project.При этом открывается менеджер проектов, в котором можно создать любые, связанные между собой, элементы для работы с данными. Для хранения таблиц создаем базу данных DATABASE – NEW, соответственно выбрав мастер или конструктор.
Создание таблицы БД состоит из двух этапов. На первом этапе определяется ее структура, состав полей, их имена, последовательность размещения полей в таблице, тип данных каждого поля, размер поля, ключи, индексы таблицы и другие свойства полей. На втором этапе производится создание записейтаблицы и заполнение их данными.
Для создания новой таблицы в окне базы данных выберите объект Таблицы (Tables) и нажмите кнопку Создать (New). В открывшемся окне Новая таблица (New Table) выберите один из режимов создания таблицы . При выборе режима конструктора таблиц выводится окно Таблица1: таблица. Для определения поля в окне Таблица заполняются поля Имя поля , Тип данных, Описание, Свойства поля.
Рис.2. Таблица «Отправление»
3.2 Создание Запросов
Одним из основных назначений разработанного приложения является быстрый поиск информации в базе данных и получение ответов на разнообразные вопросы. Для этих целей используются средства, называемые запросами.
Для создания запросов вы можете использовать мастер запросов, который последовательно запрашивает наименования таблиц, используемых в запросе, перечень полей таблиц, критерий упорядочения и условия фильтрации данных.
Для того чтобы создать запрос, необходимо выбрать запросы в менеджере проектов и выбрать на панели создать. После чего откроется окно «Новый запрос» в котором необходимо выбрать, с помощью чего вы хотите создать запрос. Запросы можно создавать с помощью: конструктора, мастера. При выборе конструктора запросов, мы видим, что окно разделено на две панели. Верхняя панель содержит выбранные для данного запроса таблицы. Таблицы представлены списками полей. Нижняя панель является бланком запроса, который нужно заполнить.
При формировании столбца бланка запроса необходимо знать следующее:
· Во вкладке Поле включается имя поля, используемое в запросе
· Во вкладке Объединение задается объединение таблиц
· Во вкладке Условие отбора задаются условия отбора записей
· В строке Сортировка выбирается порядок сортировки записей результата
· В строке Группировка выбирается порядок группировки записей результата
База данных содержит 8 запросов:
3 Запроса по получениям и 3 запроса по отправлениям, на вывод информации о письмах, посылках, бандеролях в отдельности, соответственно установив в качестве фильтров «письма», «посылки», «бандероли».
Запрос о возможной подписке стоимостью не более 50 грн, соответственно в поле фильтра цены установить <50.
Запрос на получение информации о подписке, которая еще действительна. В поле фильтра установив Срок подписки <DATE ()
Пример запроса используемого в базе данных:
Запрос на получение информации о действующих подписках:
Рис. 3. Запрос на выборку
Fox Pro – это прежде всего система управления базами данных. Она предназначена для хранения и получения данных, представления их в удобном виде и автоматизации часто выполняемых операций, а также разрабатывать удобные формы ввода данных и составлять сложные отчёты.
Формы позволяют создавать пользовательский интерфейс для таблиц базы данных. Формы предоставляют преимущества для представления данных в упорядоченном и привлекательном виде. Правильно разработанная форма ускоряет процесс ввода данных и минимизирует ошибки.
Формы создают из набора отдельных элементов управления: текстовые поля для ввода и редактирования данных, кнопки, флажки, переключатели, списки, метки полей, а также рамки объектов для отображения графики и объектов OLE. Простейший путь создания основной и подчинённой форм – использование «Мастера форм», который позволяет создавать формы, содержащие поля из одной или более таблиц или запросов. «Мастер форм» создает базовый внешний вид формы и добавляет текстовые поля для отображения и редактирования значений полей таблиц. Независимо от уровня владения компьютером использование «Мастера форм» заметно упрощает и ускоряет процесс создания простых форм, которые затем можно усовершенствовать в режиме конструктора. Создание форм базы данных происходит несколькими способами: авто формой, мастером и конструктором. Выбираем пункт «Создание формы с помощью мастера». Следуя указаниям «Мастера» выбираем поля для формы, которые могут браться из разных таблиц, которые имеются в создаваемом проекте. После выбора полей формы выбираем внешний вид и стиль оформления создаваемой формы, после чего задаётся имя формы.