Вы находитесь на странице: 1из 30

Глава 1.

Описание и анализ предметной области

Предметная область - это часть реального мира, данные о которой мы


хотим отразить в базе данных.
Предметная область бесконечна и содержит как существенно важные
понятия и данные, так и малозначащие или вообще не значащие данные.
Важность данных зависит от выбора предметной области.
От того, насколько правильно смоделирована предметная область,
зависит успех дальнейшей разработки приложений.
Предметную область создаваемой базы данных составляет
функционирование авто-концерна.
Авто-концерн занимается продажей автомобилей марки ВАЗ
Он располагает сетью магазинов по продаже автомобилей, имеет
налаженную схему поставок с несколькими автозаводами. Для каждой
поставки обговаривается сколько и каких машин требуется доставить.
Данные о поставке и поступивших магазинах заносится в базу данных. О
поставке должно быть известно:
 Номер поставки
 Завод поставщик
 Магазин, в который придёт партия машин
 Дата поставки
 Информация о пришедших машинах
В каждом филиале существует система обслуживания клиента, в
обязанности которой входит:
 Консультирование
 Помощь выбора модели авто
 Помощь выбора конкретного авто на стоянке
 Заключение договора на продажу
Данные о продаже автомобиля заносятся в базу данных всей сети
магазинов, что позволяет вести четкий контроль и учёт автомобилей.
Также в базу данных заносятся клиенты:
 Фамилия, имя, отчество
 номер и серия паспорта
 адрес
 телефон
Что позволяет осуществлять связь с клиентами, предоставлять
постоянным клиентам скидки.
Существует также отдел технического контроля, в обязанности
которого входит обеспечение качества продукции, проверка технического
состояния автомобилей, предлагаемых в продажу.
В состав авто-концерна входит и отдел рекламы, который осуществляет
рекламирование фирмы в средствах массовой информации.
В составе фирмы существует финансовый отдел, занимающийся
подсчётом прибыли филиалов, осуществляющий распределение финансов на
различные сферы функционирования предприятия.
Все эти отделы образуют структуру предприятия.
Организационная структура сети автосалонов представлена на рисунке
1.
Генеральный директор авто-концерна

Менеджер контроля поставок и продаж

Отдел контроля

Менеджер по внешним связям

Отдел рекламы

Планирование внешней стратегии

Директор филиала (магазина)

Главный бухгалтер

Финансовое планирование

Финансовый отдел

Заместитель директора

Обслуживание

Директор исполнительного персонала

Исполнительный персонал

Бухгалтер технической части

Менеджер контроля поставок и продаж

Отдел продаж

Рисунок 1. Организационная структура сети автосалонов


Постановка задачи
Создаваемая база данных предназначена для менеджера, занимающегося
контролем реализации автомобилей и поставок.
В его обязанности входит:
 Контроль и добавление поставок и автомобилей в ней
 Контроль и добавление продажи авто
 Предоставление информации о магазинах, заводах, поставках, модельном
ряде клиенту
 Просмотр проданных автомобилей
В базе данных должна храниться информация о:
 Поставках
 Автомобилях в поставке
 Автомобилях, находящихся в продаже
 Проданных автомобилях и их владельцах
База данных должна обладать возможностями:
 Вывод информации о магазинах и заводах;
 Вывод информации о поставках и автомобилях в них
 Вывод информации о автомобилях (характеристики модели);
 Просмотр автомобилей имеющихся в магазине (продаже)
 Продажа автомобиля
 Детальный просмотр проданных автомобилей
 Добавление поставок, автомобилей, клиентов, продаж

Глава 2. Инфологическое моделирование

На втором этапе (концептуальный уровень) разработки базы данных


применяется инфологическое моделирование
Для описания предметной области можно использовать естественные
слова, но их применение связано с громоздкостью и неоднозначностью
трактовки. Чаще всего используются формализованные языковые средства.
Инфологическая модель – описание предметной области, выполненное
с использованием специальных языковых средств, не зависящих от
используемых в дальнейшем программных средств.
Существуют два основных вида инфологических моделей:
1. Объект – Свойство – Отношение
2. Сущность – Связь (ER - модель)
В настоящее время наиболее распространена модель сущность-связь
(ER - Entity-Relationship). Первый вариант модели сущность-связь был
предложен в 1976 г. Питером Пин-Шэн Ченом. В дальнейшем многими
авторами были разработаны свои варианты подобных моделей (нотация
Мартина, нотация IDEF1X, нотация Баркера и др.). Кроме того, различные
программные средства, реализующие одну и ту же нотацию, могут
отличаться своими возможностями. По сути, все варианты диаграмм
сущность-связь исходят из одной идеи - рисунок всегда нагляднее текстового
описания. Все такие диаграммы используют графическое изображение
сущностей предметной области, их свойств (атрибутов), и взаимосвязей
между сущностями.
Сущность - это класс однотипных объектов, информация о которых
должна быть учтена в модели.
Каждая сущность должна иметь наименование, выраженное
существительным в единственном числе.
Атрибут сущности - это именованная характеристика, являющаяся
некоторым свойством сущности.
Связь - это некоторая ассоциация между двумя сущностями.
Связь типа один-к-одному означает, что один экземпляр первой
сущности (левой) связан с одним экземпляром второй сущности (правой).
Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы
имеем всего одну сущность, неправильно разделенную на две.
Связь типа один-ко-многим означает, что один экземпляр первой
сущности (левой) связан с несколькими экземплярами второй сущности
(правой). Это наиболее часто используемый тип связи. Левая сущность (со
стороны "один") называется родительской, правая (со стороны "много") -
дочерней.
Связь типа много-ко-многим означает, что каждый экземпляр первой
сущности может быть связан с несколькими экземплярами второй сущности,
и каждый экземпляр второй сущности может быть связан с несколькими
экземплярами первой сущности. Тип связи много-ко-многим является
временным типом связи, допустимым на ранних этапах разработки модели. В
дальнейшем этот тип связи должен быть заменен двумя связями типа один-
ко-многим путем создания промежуточной сущности.
Используя ER-модель представления данных построим схему (рисунок
2).
Рисунок 2 Инфологическая модель данных

Характеристики объектов:
 Объект «Завод» определяет характеристики завода – поставщика.
 Объект «Поставка» описывает дату поставки с завода в магазин.
 Объект «Магазин» характеризует магазины, их месторасположение и
условия хранения автомобилей.
 Объект «Автомобиль» содержит информацию о автомобилях, как
проданных, так и находящихся в продаже.
 Объект «Марка» содержит характеристики определённой модели авто.
 Объект «Покупатель» определяет клиента.
 Объект «Продажа» описывает дату продажи конкретного авто
конкретному клиенту.
Связь объектов приведена в таблице 1.
Таблица 1. Связь объектов.
Связанные объекты Вид связи
Завод – Поставка один–ко-многим
Магазин – Поставка один–ко-многим
Поставка - Автомобиль один–ко-многим
Марка - Автомобиль один–ко-многим
Покупатель - Продажа один–ко-многим
Продажа - Автомобиль один-к-одному

Глава 3. Даталогическое моделирование

На третьем уровне проектирования базы данных составляется


реляционная модель данных.
Основы реляционной модели данных были впервые изложены в статье
Е.Кодда в 1970 г. Эта работа послужила стимулом для большого количества
статей и книг, в которых реляционная модель получила дальнейшее развитие.
Наиболее распространенная трактовка реляционной модели данных
принадлежит К.Дейту. Кроме реляционной существуют иерархическая и
сетевая модели, но т.к. реляционная модель является наиболее
распространённой, удобной в обращении и «понимаемой» большим
количеством СУБД выбор падает именно на реляционную модель.
В качестве СУБД была выбрана программа Microsoft Access т.к.
 Она широко применяется
 Имеет большие возможности разработки баз данных.
 Располагает большим количеством типов полей для представления
данных различных типов
 Имеется поддержка целостности данных
 Осуществление проверки вводимых данных
При переходе от инфологической модели к даталогической
производится нормализация.
Для нормализации необходимо:
1. Исключение аномалий
 Вставки
 Редактирования
2. Нормализация отношений
 Первая нормальная форма (1NF )
Отношение находится в 1NF если на пересечении каждого столбца и
каждой строки находятся неделимые элементарные значения атрибутов, и не
содержатся повторяющиеся группы.
 Вторая нормальная форма (2NF)
Отношение находится в 2NF если выполняются условия 1NF и каждый
неключевой атрибут функционально полно зависит от первичного ключа.
 Третья нормальная форма (3NF)
Отношения находятся в 3NF если выполняются условия 2NF и все
неключевые атрибуты взаимно независимы и полностью зависят от
первичного ключа.

Таблица 2. Структура таблицы «Завод»


Имя поля Тип данных Особенности поля
Название Текстовый
Адрес Текстовый
Телефон Числовой
код завода Счётчик Ключевое поле

Таблица 3. Структура таблицы «Поставка»


Имя поля Тип данных Особенности поля
код магазина Текстовый
Код завода Текстовый
дата поставки Числовой Маска ##.##.####
код поставки Счётчик Ключевое поле
Таблица 4. Структура таблицы «Магазин»
Имя поля Тип данных Особенности поля
Название Текстовый
Адрес Текстовый
Телефон Числовой Маска ###\-##\-##
код магазина Счётчик Ключевое поле
Стоянка Текстовый

Таблица 5. Структура таблицы «Покупатель»


Имя поля Тип данных Особенности поля
Ф И О покупателя Текстовый
Адрес Текстовый
Телефон Числовой Маска ###\-##\-##
паспорт Текстовый
код покупателя Счётчик Ключевое поле

Таблица 6. Структура таблицы «Продажа»


Имя поля Тип данных Особенности поля
код покупателя Текстовый Совпадения допускаются
код авто Текстовый
дата поставки Числовой Маска ##.##.####

Таблица 7. Структура таблицы «Автомобиль»


Имя поля Тип данных Особенности поля
код марки Числовой
номер двигателя Числовой Маска 0000000
номер кузова Текстовый Маска "XTA-"000000"-V-"0000000
Цвет Текстовый
транзитный номер Текстовый 0000\->LL<\-00"rus"
код поставки Числовой
Статус Текстовый Значение по умолчанию: 0
код авто Счётчик Ключевое поле

Таблица 8. Структура таблицы «Марка»


Имя поля Тип данных Особенности поля
название модели Числовой
объём двигателя Числовой
мощность двигателя Текстовый
тип кузова Текстовый
тип двигателя Текстовый
Привод Числовой
кол-во дверей Текстовый
Цена Денежный Формат поля: Евро
код марки Счётчик Ключевое поле

Эти таблицы организованы в структуру (рисунок 3).


Связь таблиц производится через ключевые поля, причем связи
обеспечивают целостность данных, находящихся в таблицах.

Рисунок 3. Схема данных


Глава 4. Алгоритм решения задачи

рисунок 4. Блок-схема
рисунок 5. Блок-схема (продолжение)

Алгоритм выполнения программы проиллюстрирован на рисунке 4 и 5.


Программа предоставляет возможность:
 Просмотр данных
 Добавление данных
 Печать

Глава 5. Инструкция пользователя

При запуске программы на экране появляется главная форма (рисунок


6).
Рисунок 6. Главная форма

Из которой можно попасть в интересующие разделы базы данных.


Кнопки, просмотра и редактирования данных находятся на четырёх
вкладках:
1. Информация
2. Поставки
3. Проданные авто
4. Ассортимент
Рассмотрим подробнее каждую вкладку.
Информация
На этой вкладке находятся четыре кнопки:
 «Наши магазины».
Открывает отчет характеристики магазинов сети (рисунок 7).
 «Заводы поставщики».
Открывает список заводов – поставщиков (рисунок 8).
 Печать отчёта Заводов и магазинов.
Рисунок 7. Отчёт по магазинам

рисунок 8. Отчёт по заводам


Поставки
На этой вкладке находится три кнопки:
 Просмотреть поставки.
Открывает форму просмотра поставки и автомобилей в них (рисунок
8).
 Просмотреть подробные отчёты
Открывает форму детального просмотра поставок (рисунок 9). На ней
расположены три кнопки просмотра по магазину, по заводу и по магазину и
заводу, которые открывают отчёт просмотра по магазину (рисунок 10), по
заводу (рисунок 11) и по магазину и заводу (рисунок 12) соответственно.
 Добавить поставку и авто
Открывает форму, в которой можно добавить автомобиль в поставку и
внести новую поставку (рисунок 13).
Например, добавим новую поставку с завода «Вазтранс» в магазин
«РусАвто на Варшавке» от 20.08.2003. И добавим в неё две машины
(рисунок 14 ) и (рисунок 15).
Проверим добавление поставки в отчёте просмотра поставок по
магазину и заводу (рисунок 16 ).
рисунок 8. Форма просмотра поставок и автомобилей в них

рисунок 9. Форма детального просмотра поставок


рисунок 10 . Просмотр поставок по магазину

рисунок 11 . Просмотр поставок по заводу


рисунок 12 . Просмотр поставок по заводу и магазину

рисунок 13.Форма добавления поставок и автомобилей


рисунок 14. Добавление первого авто рисунок 15. Добавление второго
авто

рисунок 16. Проверка добавления поставки.


Проданные авто
На этой вкладке находятся две кнопки:
 Просмотреть данные по клиентам и автомобилям
Открывает форму для просмотра проданных автомобилей и их
владельцев (рисунок 17).
 Просмотреть подробные отчёты
Открывает форму для подробного просмотра данных (рисунок 18).
Выбрав в поле со списком магазин, и нажав соответствующую кнопку
можно просмотреть проданные автомобили по магазинам (рисунок 19),
выбрав марку – подробный отчёт по проданным машинам конкретной модели
(рисунок 20), выбрав из списка покупателя (рисунок 21) – купленные им
автомобили. Также возможно просмотреть все продажи за указанный период
(рисунок 22).

рисунок 17. Форма для просмотра проданных автомобилей и их


владельцев
рисунок 18. Форма для подробного просмотра проданных автомобилей

рисунок 19 . Просмотр проданных авто по магазину


рисунок 20 . Просмотр проданных авто по модели

рисунок 21 . Просмотр проданных авто по покупателю

рисунок 22 . Просмотр проданных авто по дате


Ассортимент
На этой вкладке размещены три кнопки:
 Модельный ряд
При нажатии этой кнопки появляется список моделей автомобилей,
которыми торгует авто-концерн.
 Печать модельного ряда.
 Совершить продажу авто.
Нажатие этой кнопки выводит на экран форму продажи автомобиля
(рисунок 22). В этом окне можно как добавить покупателя (если клиент
покупает машину впервые в этой фирме), так и выбрать из покупателей
(которые покупают автомобиль не первый раз). Например выберем
покупателя: Князев А.А.. Выбрав покупателя надо нажать кнопку «Выбрать
клиента» и перейти к выбору автомобиля. Выбор авто осуществляется
сначала по модели, а затем выбор конкретного автомобиля, в зависимости от
пожеланий клиента. Допустим он покупает жёлтую девяносто девятку.
Затем нажать кнопку внизу окна. Появится окно окончательного заключения
договора (рисунок 23), в котором надо нажать кнопку «Установить дату»,
затем внести дату продажи и нажать кнопку «Договор заключён». После
этого появится сообщение о том, что машина продана (рисунок 24).
Затем проверим его покупку в подробных отчетах вкладки
«Проданные авто» (рисунок 25).
рисунок 22. Форма продажи автомобиля

рисунок 23. Окно окончательного заключения договора

рисунок 24. Сообщение о том, что машина продана


рисунок 25..Проверка продажи
Заключение

В результате разработки базы данных автомобильного концерна была


изучена предметная область, полученные данные были структурированы. На
их основании построена инфологическая модель данных, затем, после
нормализации даталогическая. В качестве СУБД выбрана программа MS
Access. После был составлен интерфейс на основании языка
программирования MS Visual Basic и был доработан «вручную».
Созданная база данных должна существенно упростить работу отдела
поставок и продаж. Достаточно простой интерфейс позволит быстро
просмотреть и добавить поставки, а также составить договор о продаже
автомобиля.
Внедрение компьютерной техники в любое производство позволяет
хранить и обрабатывать информацию, отказавшись от несовершенной
документальной формы.
Приложение

В создании базы данных был использован язык программирования MS


Visual Basic. С его помощью автоматически были созданы кнопки перехода
по записям, кнопки добавления, сохранения записей. А также добавлены
коды необходимые для корректного добавления продажи и поставки. Для
украшения интерфейса были использованы логотипы, созданные с помощью
графического редактора Ulead PhotoImpact XL.
Исходный код программы на добавление продажи
Form_Форма_продажа
При загрузке формы
Private Sub Form_Load()
Form_Форма_продажа.дата_сделки.Visible = False
Form_Форма_продажа.Кнопка39.Enabled = False
End Sub
Кнопка Установить дату
Private Sub Кнопка35_Click()
Form_Форма_продажа.дата_сделки.Visible = True
Form_Форма_продажа.Кнопка39.Enabled = True
…………………………………………………
End Sub
Кнопка Договор Заключён
Private Sub Кнопка39_Click()
Form_ассортим_подчформ.статус = 1
Form_Форма_продажа.код_покупателя77 =
Form_Форма_договор.Полепокуп
Form_Форма_продажа.код_авто77 = Form_Форма_договор.Полеавто
MsgBox ("Покупка совершена. Спасибо за покупку")
…………………………………………………
End Sub
Form_ассортим
При загрузке формы
Private Sub Form_Load()
Form_ассортим.Кнопка8.Enabled = True
Form_ассортим.Кнопка9.Enabled = True
End Sub
Form_ассортим_подчформ
При загрузке формы
Private Sub Form_Load()
Form_ассортим_подчформ.Кнопка27.Enabled = True
Form_ассортим_подчформ.Кнопка28.Enabled = True
End Sub
Кнопка Выбрать авто
Private Sub Кнопка30_Click()
Form_Форма_договор.Полеавто =
Form_ассортим_подчформ.код_авто777
Form_ассортим_подчформ.Кнопка27.Enabled = False
Form_ассортим_подчформ.Кнопка28.Enabled = False
Form_ассортим.Кнопка8.Enabled = False
Form_ассортим.Кнопка9.Enabled = False
End Sub
Form_Форма_покупатель
При загрузке формы
Private Sub Form_Load()
Form_Форма_покупатель.Кнопка17.Enabled = True
Form_Форма_покупатель.Кнопка18.Enabled = True
Form_Форма_покупатель.Кнопка19.Enabled = True
End Sub
Кнопка Выбрать покупателя
Private Sub Кнопка26_Click()
Form_Форма_договор.Полепокуп =
Form_Форма_покупатель.код_покупателя777
Form_Форма_покупатель.Кнопка17.Enabled = False
Form_Форма_покупатель.Кнопка18.Enabled = False
Form_Форма_покупатель.Кнопка19.Enabled = False
End Sub
Исходный код программы на добавление автомобиля в поставке
Form_Форма_авто
При загрузке формы
Private Sub Form_Load()
Form_Форма_авто.код_поставки = Form_Форма_поставка.код_поставки
End Sub
Размещено на Allbest.ru

Оценить