Проектирование базы данных "Почтовое отделение"
ВВЕДЕНИЕ
В настоящее время в связи с развитием компьютерной техники появилась возможность автоматизировать многие процессы, также увеличился объем обрабатываемой информации. И возникла объективная необходимость автоматизировать большую часть сферы человеческой деятельности.
Для автоматизации обработки данных в начале 70-х годов были предложены программы, специально предназначенные для управления данными – системы управления базами данных (СУБД).
В самом общем смысле база данных – совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объекта и их взаимосвязей в рассматриваемой предметной области. В базе данных может храниться множество таблиц с однотипными записями. Один из типов баз данных - это документы, набранные с помощью текстовых редакторов и сгруппированные по темам. Другой тип - файлы электронных таблиц, объединяемые в группы по характеру их использования.
С ростом популярности СУБД в 70-80-х годах появилось множество различных моделей данных. У каждой из них имелись свои достоинства и недостатки, которые сыграли ключевую роль в развитии реляционной модели данных, появившейся во многом благодаря стремлению упростить и упорядочить первые модели данных.
В зависимости от способа установления связей между данными с компьютерно–ориентированным описанием на языке конкретной СУБД, разрабатывались различные модели логической организации данных: иерархическая, сетевая и реляционная.
Использование баз данных и информационных систем становится неотъемлемой составляющей деловой деятельности современного человека и функционирования преуспевающих организаций. В связи с этим большую актуальность приобретает освоение принципов построения и эффективного применения соответствующих технологий и программных продуктов: систем управления базами данных, CASE-систем автоматизации проектирования, средств администрирования и защиты баз данных и других.
От правильного набора инструментальных средств создания информационных систем, определения подходящей модели данных, обоснования рациональной схемы построения баз данных, организация запросов к хранимым данным и ряда других моментов во многом зависят эффективность функционирования разрабатываемых систем. Все это требует осознанного применения теоретических положений и инструментальных средств разработки баз данных и информационных систем.
АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
Сфера деятельности почтовых отделений характеризуется большими массивами информации и объёмом выполняемых работ.
Задача почтовых отделений заключается в своевременной доставке газет, журналов, писем, телеграмм, бандеролей жителям своих районов. Для этого им необходима единая информационная система, в которой будет отслеживаться поступление и последующая доставка всех писем, телеграмм и бандеролей населению и различным организациям, а также доставка газет и журналов по подписке на потовых отделениях населению и организациям. Качество и своевременность доставки писем, телеграмм и бандеролей будет зависеть от того, насколько продуманы каналы обмена ими между почтовыми отделениями и непосредственная их доставка получателям. А доставка газет и журналов жителям и организациям, которые подписались на их получение, зависит от своевременного заказа необходимых газет и журналов на типографиях, оплаты и доставки их на почтовые отделения, а также от своевременной их доставки получателям.
2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
2.1 Объект и назначение разработки
Объектом разработки является база данных для почтовых служащих, работающих в единой системе почтовых отделений. Она должна отображать весь перечень газет и журналов, которые имеются на подписку, данные подписчиков на эти газеты и журналы, а также прием и отправку писем, посылок и бандеролей.
В базе данных должны храниться сведения о газетах и журналах, поступающих в почтовое отделение, и подписка на определенные издания. Учет приема и отправки писем и бандеролей.
Цель моей работы заключается в проектировании и разработке системы управления базой данных «Почтовые отделения». Разрабатываемая мною база данных может быть использована для создания единой информационной системы почтовых отделений. В ней можно будет отслеживать пересылку писем, бандеролей, подписки на газеты и журналы.
Достижение цели осуществляется посредством комплекса задач:
проектирование и создание таблиц для хранения данных;
ввод данных;
разработка других элементов базы, предназначенных для просмотра, редактирования и вывода информации.
Сведения о газетах и журналах должны включать в себя следующую информацию:
уникальный шифр издания;
название газеты или журнала;
Ф.И.О. редактора газеты или журнала.
Сведения о подписке, должны содержать:
- Код подписки;
- Шифр издания;
Название газеты или журнала;
Личные данные подписчика;
Срок подписки, с учетом стоимости.
Также в этой базе данных должны храниться сведения о принятых и отосланных письмах и бандеролях. Они должны включать:
Код операции;
Вид операции:
Прием;
Отправка.
Вид приема или отправки:
Посылка;
Письмо;
Бандероль.
Данные отправителя;
Данные получателя;
Ценность;
Вес с учетом стоимости;
Отчет о получении и выдаче.
Основными задачами СУБД будет являться:
1. Учет приема и отправки писем, посылок и т.д.;
2. Получение информации по коду операции;
3. Получение информации о газетах и журналах для подписки;
4. Учет подписчиков и срока подписки;
5. Получение сведений о подписке по коду подписки.
2.2 Требования к СУБД
1. База данных должна обеспечивают возможность получения:
а) информации об оказанных услугах почтовой связи;
б) информации о пользователях (отправителях и адресатах) услугами почтовой связи;
в) информации о почтовых отправлениях.
2. Создаваемая базы данных о пользователях услугами почтовой связи и базы данных об оказанных услугах почтовой связи должны соответствовать оборудованию почтового отделения, в том числе и программному обеспечению, обеспечивающему выполнение установленных действий.
3. Из базы данных о пользователях услугами почтовой связи обеспечивается возможность получения информации о пользователе услугами почтовой связи и о почтовом адресе пользователя услугами почтовой связи по персональным данным и (или) почтовому адресу.
4. Из базы данных об оказанных пользователям услугах почтовой связи обеспечивается возможность получения информации об оказанных услугах почтовой связи по персональным данным и (или) почтовому адресу пользователя услугами почтовой связи.
5. Контроль почтовых отправлений осуществляется в процессе их обработки в сетях оператора почтовой связи. При передаче почтовых отправлений в упаковочной таре (мешках, ящиках и другой упаковочной таре), должна учитываться плата за вес и упаковку отправления.
6. В сетях почтовой связи, включая объекты почтовой связи, обеспечивается защита от несанкционированного доступа персонала, обслуживающего сети почтовой связи.
7. Исключение избыточности в данных.
2.3 Выбор среды разработки
В соответствии с поставленными задачами и требованиями, одной из СУБД позволяющей разработать БД почтового отделения, является Microsoft Visual FoxPro. Удобство использования и мощность встроенных средств делает диапазон информационных систем, построенных с применением FoxPro, весьма широким – от локальных разработок для домашнего применения до серьезных профессиональных проектов, распределенных по сети баз данных, включающих сотни тысяч записей и сложнейшие правила обработки данных.
СУБД VFP поддерживает реляционную модель представления данных. Она функционирует под управлением операционных систем Windows 98, Windows XP и выше. СУБД VFP имеет стандартизованный интерфейс приложений Windows. В ней реализованы возможности программирования с использованием структурированного языка запросов Structured Query Language (SQL).
VFP поддерживает традиционные для офисных приложений механизмы связывания и встраивания объектов Object Linking and Embedding (OLE) и динамического обмена данными Dynamic Data Exchange (DDE).
Большинство действий по работе с элементами баз данных можно выполнить с помощью следующих средств: команд основного меню, кнопок панелей инструментов, команд контекстного меню и комбинаций клавиш, диалогового окна Command.
База данных является основным компонентом проекта приложения. К основным элементам базы данных можно отнести таблицы, запросы, отчеты, макросы и модули.
Для работы с БД имеется стандартное окно, из которого можно вызвать любой ее объект для просмотра, выполнения, разработки или модификации. Пользователь может для работы с БД разработать свой интерфейс, основу которого обычно составляют формы.
2.4 Требования к аппаратному обеспечению
Так как разработка базы данных производится на Microsoft Visual FoxPro, которая является высокопроизводительной СУБД, для функционирования её необходимы минимальные требования системы:
- Операционная система не ниже Windows 98;
- Процессор с частотой обновления не менее 2 Гц;
- 512 Мб физической памяти;
- Не менее 300 Мб доступного пространства на локальном диске.
2.5 Основные этапы проектирования базы данных «Почтовое отделение»:
Общее проектирование системы;
Проектирование структуры данных: выбор полей для включения в таблицы;
Проектирование и связывание таблиц;
Проектирование полей: правила ввода данных и проверки допустимости их значения;
Проектирование запросов;
Проектирование форм и отчетов;
Проектирование средств автоматизации: создание меню.
2.6 Инфологическая модель данных
Информационно-логическая модель отображает данные предметной области в виде совокупности информационных объектов и связей между ними. Эта модель представляет данные, подлежащие хранению в базе данных. При разработке модели данных могут использоваться два подхода. В первом подходе сначала определяются основные задачи, для решения которых строится база, и выявляются потребности задач в данных. При втором подходе сразу устанавливаются типовые объекты предметной области. Наиболее рационально сочетание обоих подходов. Это связано с тем, что на начальном этапе, как правило, нет исчерпывающих сведений обо всех задачах.
База данных «Почтовое отделение» содержит следующие сущности:
Сущность «Операция» - содержит информацию о проведенных операциях: код операции и вид: прием, отправку почты, или подписку на прессу;
Сущность «Получение» - содержит информацию о полученной почте: код операции, вид получения, данные отправителя и получателя, вес и ценность;
Сущность «Отправка» - содержит информацию об отправленной почте: код операции, вид отправки, данные отправителя и получателя, вес и ценность;
Сущность «Подписка» - содержит информацию о произведенных подписках на газету или журнал: код операции, код подписчика, шифр издания, срок и стоимость подписки.
Сущность «Подписчик» - содержит информацию о подписчике, а именно: код подписчика, Ф.И.О и адрес.
Сущность «Издание»- содержит информации о газетах и журналах доступных для подписки: шифр издания, название газеты или журнала, цена.
Рис.1. Инфологическая модель БД «Почтовое отделение».
Связь «получает» - М:1-несколько получений, являются лишь одной операцией получения.
Связь «отправляет» - М:1-несколько отправлений, являются лишь одной операцией отправления.
Связь «подписывает» - М:1-несколько подписок, являются лишь одной операцией подписка.
Связь «подписывается» - 1:М - один подписчик может оформить несколько подписок.
Связь «заказывает» - 1:М – на одно издание можно оформить несколько подписок.
2.7 Даталогическая модель данных
Для создания эффективной базы данных важно правильно определить структуру таблиц, то есть состав полей. На этом этапе нужно руководствоваться следующими соображениями:
Информация в таблицах не должна дублироваться;
Желательно, чтобы каждая таблица содержала информацию только на одну тему;
Не рекомендуется включать в таблицу данные, которые получаются в результате вычислений;
Информацию об объекте желательно разбивать на минимальные единицы.
Рассмотрим более подробно каждую из сущностей и атрибуты, которые они должны содержать. Так же опишем непосредственно типы данных, которые должны браться для каждого из атрибутов в практической реализации базы данных. Причём типы данных могут иметь несколько иные названия в определённых, отдельно взятых СУБД.
Таблица 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.
3. Реализация базы данных «Почтовое отделение».
Для удобства хранения данных в VFP используются проекты, которые можно создать таким образом: File-NEW-Project.При этом открывается менеджер проектов, в котором можно создать любые, связанные между собой, элементы для работы с данными. Для хранения таблиц создаем базу данных DATABASE – NEW, соответственно выбрав мастер или конструктор.
3.1 Создание таблиц
Создание таблицы БД состоит из двух этапов. На первом этапе определяется ее структура, состав полей, их имена, последовательность размещения полей в таблице, тип данных каждого поля, размер поля, ключи, индексы таблицы и другие свойства полей. На втором этапе производится создание записей> >таблицы и заполнение их данными.
Для создания новой таблицы в окне базы данных выберите объект Таблицы (Tables) и нажмите кнопку Создать (New). В открывшемся окне Новая таблица (New Table) выберите один из режимов создания таблицы . При выборе режима конструктора таблиц выводится окно Таблица1: таблица. Для определения поля в окне Таблица заполняются поля Имя поля , Тип данных, Описание, Свойства поля.
Рис.2. Таблица «Отправление»
3.2 Создание Запросов
Одним из основных назначений разработанного приложения является быстрый поиск информации в базе данных и получение ответов на разнообразные вопросы. Для этих целей используются средства, называемые запросами.
Для создания запросов вы можете использовать мастер запросов, который последовательно запрашивает наименования таблиц, используемых в запросе, перечень полей таблиц, критерий упорядочения и условия фильтрации данных.
Для того чтобы создать запрос, необходимо выбрать запросы в менеджере проектов и выбрать на панели создать. После чего откроется окно «Новый запрос» в котором необходимо выбрать, с помощью чего вы хотите создать запрос. Запросы можно создавать с помощью: конструктора, мастера. При выборе конструктора запросов, мы видим, что окно разделено на две панели. Верхняя панель содержит выбранные для данного запроса таблицы. Таблицы представлены списками полей. Нижняя панель является бланком запроса, который нужно заполнить.
При формировании столбца бланка запроса необходимо знать следующее:
Во вкладке Поле включается имя поля, используемое в запросе
Во вкладке Объединение задается объединение таблиц
Во вкладке Условие отбора задаются условия отбора записей
В строке Сортировка выбирается порядок сортировки записей результата
В строке Группировка выбирается порядок группировки записей результата
База данных содержит 8 запросов:
3 Запроса по получениям и 3 запроса по отправлениям, на вывод информации о письмах, посылках, бандеролях в отдельности, соответственно установив в качестве фильтров «письма», «посылки», «бандероли».
Запрос о возможной подписке стоимостью не более 50 грн, соответственно в поле фильтра цены установить <50.
Запрос на получение информации о подписке, которая еще действительна. В поле фильтра установив Срок подписки <DATE ()
Пример запроса используемого в базе данных:
Запрос на получение информации о действующих подписках:
Рис. 3. Запрос на выборку
3.3 Создание форм
Fox Pro – это прежде всего система управления базами данных. Она предназначена для хранения и получения данных, представления их в удобном виде и автоматизации часто выполняемых операций, а также разрабатывать удобные формы ввода данных и составлять сложные отчёты.
Формы позволяют создавать пользовательский интерфейс для таблиц базы данных. Формы предоставляют преимущества для представления данных в упорядоченном и привлекательном виде. Правильно разработанная форма ускоряет процесс ввода данных и минимизирует ошибки.
Формы создают из набора отдельных элементов управления: текстовые поля для ввода и редактирования данных, кнопки, флажки, переключатели, списки, метки полей, а также рамки объектов для отображения графики и объектов OLE. Простейший путь создания основной и подчинённой форм – использование «Мастера форм», который позволяет создавать формы, содержащие поля из одной или более таблиц или запросов. «Мастер форм» создает базовый внешний вид формы и добавляет текстовые поля для отображения и редактирования значений полей таблиц. Независимо от уровня владения компьютером использование «Мастера форм» заметно упрощает и ускоряет процесс создания простых форм, которые затем можно усовершенствовать в режиме конструктора. Создание форм базы данных происходит несколькими способами: авто формой, мастером и конструктором. Выбираем пункт «Создание формы с помощью мастера». Следуя указаниям «Мастера» выбираем поля для формы, которые могут браться из разных таблиц, которые имеются в создаваемом проекте. После выбора полей формы выбираем внешний вид и стиль оформления создаваемой формы, после чего задаётся имя формы.
После создания формы можно перейти в режим конструктора и откорректировать содержащиеся в форме поля, кнопки и т.д.
Формы, используемые в базе данных: операции, подписка, получения, отправка.
Пример формы «Отправления»
Рис.4. Форма «Отправления»
отправка |
подписка |
|||||
сведения |
опеации |
сведения |
||||
письма |
отправка |
получение |
подписка |
дешевая |
||
посылки |
действующая |
|||||
бандероли |
получение |
отчет |
||||
отчет |
сведения |
|||||
письма |
||||||
посылки |
||||||
бандероли |
||||||
отчет |
Схема 2:схема связи форм
3.4 Создание отчетов
Отчёт представляет собой специальный тип непрерывных форм, предназначенных для печати. Для создания отчёта, который можно распечатать и распределить между потребителями, комбинируются данные в таблицах, запросах и даже формах. Распечатанная версия формы может служить отчётом. Можно создавать отчёты как из одной таблицы, так и из нескольких пользуясь связями.
В основном отчёты проще всего построить при помощи «Мастера отчётов». Он старается создать оптимальный вариант окончательного отчёта с первой попытки. Обычно мастер в достаточной степени приближается к законченному варианту, так что тратиться намного меньше времени на редактирование базового отчёта мастера.
В базе данных используется 3 отчета: отправления, получения, подписка
Пример отчета, используемого в базе данных:
Рис.5 Отчет «Подписка»
4. Инструкция пользователя
СУБД «Почтовое отделение» создана для удобного хранения, просмотра и исправления информации на аптечном складе. Главная форма является первым шагом в работе с этой СУБД. Описание главной формы:
Кнопка «Отправления» открывает форму, которая содержит полную информацию об отправлениях.
Кнопка «Получения» открывает форму, которая содержит полную информацию о получениях.
Кнопка «Подписка» открывает форму, которая содержит полную информацию о подписках.
Форма «Получения» содержит:
Кнопка «письма» открывает форму содержащую информацию о полученных письмах.
Кнопка «посылки» открывает форму содержащую информацию о полученных посылках.
Кнопка «бандероли» открывает форму содержащую информацию о полученных бандеролях.
Кнопка «Отчет» открывает отчет по получениям.
Форма «Отправка» содержит:
Кнопка «письма» открывает форму содержащую информацию об отправленных письмах.
Кнопка «посылки» открывает форму содержащую информацию об отправленных посылках.
Кнопка «бандероли» открывает форму содержащую информацию об отправленных бандеролях.
Кнопка «Отчет» открывает отчет по отправке.
Форма «Подписка» содержит:
Кнопка «Действующая» открывает форму, которая отображает информацию о действующих подписках.
Кнопка «Дешевая » открывает форму, которая содержит информацию о недорогой подписке.
Кнопка «Отчет» открывает отчет по подписке.
ЗАКЛЮЧЕНИЕ
Проектирование базы данных представляет собой длительный и трудоемкий процесс. Качество созданной базы данных зависит от анализа предметной области и выбранной методологии проектирования. При неполном анализе предметной области в процессе эксплуатации созданной базы данных может возникать избыточное дублирование данных, а так же различные аномалии, что, скорее всего, приведет к потере необходимых данных и повторному проектированию базы данных. Процесс последующего проектирования базы данных не менее ответственный, так как необходимо четко выявить необходимые сущности и согласно связям между ними сформировать отношения. Процесс реализации базы данных средствами СУБД является преобразованием выполненного проектирования на ЭВМ.
Целью являлось проектирование базы данных «Почтовые отделения» средствами СУБД FOXPRO.
Первый этап проектирования заключается в тщательном анализе предметной области работы почтовых отделений. Задача почтовых отделений заключается в закупке печатных изданий. Эти печатные издания составляет редактор, типографии их печатают и поставляют согласно заказам почтовых отделений. В ходе анализа предметной области были выявлены группы параметров для каждого из объектов, информация о которых будет храниться в проектируемой базе данных. Были также выявлены:
ограничения, накладываемые на информацию, которая будет храниться в базе данных;
перечень запросов на предоставление справочной информации;
возможные изменения информации, которая будет храниться в базе данных, а также добавление новой и удаление ненужной информации;
перечень отчетов, которые будут необходимы работникам, которые будут обслуживать проектируемую базу данных.
Результаты проведенного анализа должны быть сгруппированы должным образом и представлены в виде отчета на бумажном носителе.
Второй этап проектирования делится на две фазы, первая из них это выбор методологии проектирования, а вторая – проектирование базы данных «Почтовые отделения». Для проектирования моей базы данных я выбрал метод «сущность-связь» и метод нормальных форм.
Третий этап проектирования заключается в реализации базы данных «Почтовые отделения» с помощью СУБД Microsoft Visual FOXPRO.
Полученную базу данных можно использовать в экспериментальных или показательных целях для проектирования полнофункциональной информационной системы с единой базой данных для работы почтовых отделений.
СПИСОК ЛИТЕРАТУРЫ
Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2001. – 304с.
Хомоненко А.Д., Гридин В.В. Microsoft Access. Быстрый старт. – СПб.: БХВ-Петербург, 2003. – 304с.
Золотова С.И. Практикум по Access. – М.: Финансы и статистика, 2004. – 144с.
Тиори Т., Фрай Дж. Проектирование структур баз данных: В 2-х кн. Кн. 1. Пер. с англ. – М.: Мир, 1985. – 287с.
Чамберлин Д.Д., Астрахан М.М., Эсваран К.П., Грифитс П.П., Лори Р.А., Мел Д.В., Райшер П., Вейд Б.В. SEQUEL 2: унифицированный подход к определению, манипулированию и контролю данных //СУБД. - 1996. - №1. - С.144-159.
Чаудхари С. Методы оптимизации запросов в реляционных системах //СУБД. - 1998. - №3. - С.22-36.
Чен П. Модель "сущность-связь" - шаг к единому представлению о данных //СУБД. - 1995. - №3. - С.137-158.