8. Список доставок по заказам. По каждой доставке в БД хранятся следующие характеристики
· Дата доставки
· Время доставки
· Суммарный вес заказа
· Суммарный объем заказа
· Статус доставки
· Вид доставки
· Удаленность от МКАД – км. (0, если в пределах)
· Стоимость доставки
Доступ к данному разделу БД имеют менеджеры по продажам, администраторы, клиенты, курьеры, менеджеры отдела доставки. Редактирование данного раздела могут осуществлять администраторы и менеджеры
Для предметной области существуют следующие ограничения целостности:
Условия обязательного наличия определенных полей рассмотрены выше в описании характеристик различных разделов БД. Ограничения на доступ сотрудников к определенным таблицам контролируются запросом на ввод пароля. Необходимые пароли сотрудникам предоставляются администратором.
Заметим, что рассмотрение вопроса организации системы управления снабжением склада и точек выдачи, процесс осуществления платежей при помощи кредитной карты, процесс ценообразования, кадровое обеспечение компании и бухгалтерский учет выходят за рамки рассматриваемой предметной области. Так же стоит отметить, что в качестве системы управления разработанной базой для клиентов предполагается использовать интернет-сайт, однако разработка такого сайта выходит за рамки выполнения данного курсового проекта, поэтому основные функции управления будут представлены в виде форм, частично эмулирующих работу предполагаемого сайта. Для покупки в магазине регистрация на сайте обязательна.
Среди входных документов и других источников формирования внутренней базы данных интернет-магазина мы выделили:
1) Прайс-лист (поступает от поставщиков)
Номер | Артикул | Название | Категория | Цена | Габариты | Гарантия | Кол-во |
2) Корзина заказов (поступает с сайта)
№ Заказа | |
Категория товара | |
Подкатегория товара | |
Название товара |
3) Оформленный заказ (поступает с сайта)
№ заказа | |
Логин | |
Дата заказа | |
Время заказа | |
Стоимость заказа | |
Способ оплаты | |
Способ получения | |
Суммарный вес заказа | |
Суммарный объем заказа | |
Дата доставки | |
Время доставки | |
Удаленность от МКАД | |
Стоимость доставки | |
Вид доставки |
4) Регистрация клиентов (поступает с сайта)
Логин | |
Пароль | |
ФИО | |
Адрес | |
Дата рождения | |
Пол | |
Образование | |
Телефон 1 | |
Телефон 2 | |
Телефон 3 | |
Дата регистрации | |
Номер кредитной карты | |
Имя владельца | |
Проверочный код | |
Срок истечения |
При создании базы данных необходимо так же реализовать запросы. Важным моментом будет являться получение необходимой информации для маркетологов. Так же стоит не забывать и про клиентов, которым будет важно формировать списки товаров на основе определенных предпочтений.
Среди выходных документов мы выделили:
1) Товарный чек
Товарный чек
www.boris.ru
(495) 666-66-66
Товарный чек №
Дата
Продавец: ООО Борис
ID | Наименование | Кол-во | Цена |
Всего: сумма
Сумма прописью:
Оформлено: ООО Борис (печать)
С порядком транспортировки и эксплуатации, правилами и условиями гарантийного обслуживания, порядком и сроками возврата товара ознакомлен и согласен, перечень товаров, указанных в товарном чеке, полностью в надлежащей комплектации, надлежащего качества, оформленный гарантийный талон компании продавца или компании производителя.
Получил:______________________(Подпись)
2) Гарантийный талон
Гарантийный талон
www.boris.ru
Гарантийный талон №
Дата
ID | Наименование | Кол-во | Гарантия мес. |
Оформлено: ООО Борис (печать)
3) Маркетинговый отчет
Распределение категория проданных товаров по полу
Дата
Категория товара | Пол | Количество |
4) Отчет о новинках интернет-магазина
Новинки
Дата
Наименование товара | Средняя оценка | Цена |
5) Сводка доходности по категориям товара
Сводка доходности по категориям
Дата
Категория | Сумма |
Всего
6) Отчет по самым рейтинговым товарам магазина
Товары с наивысшими оценками
Дата
Наименование | Средняя оценка |
7) Отчет по самым популярным товарам магазина
Хиты продаж
Дата
Наименование | Продано |
8) История заказов
История заказов
Дата
Логин
№ заказа | Дата заказа | Стоимость заказа |
9) История покупок
История покупок
Дата
№ заказа
Логин
Наименование | Цена |
Сумма
10) Отчет по точкам выдачи (для сайта)
Точки выдачи
Название точки | Адрес точки | Время работы |
При проектировании базы данных интернет-магазина после описания предметной области необходимо выбрать метод построения инфологической модели (ER-модели) и СУБД, в которой будет реализован проект.
Для построения ER-модели была выбрана программа CA ERwin Data Modeler 7.3 (ERwin). Мы выбрали эту программу, потому что она позволяет наглядно отображать сложные структуры данных. Удобная в использовании графическая среда упрощает разработку базы данных и автоматизирует множество трудоемких задач, уменьшая сроки создания высококачественных и высокопроизводительных транзакционных баз данных. Наиболее важными для нас являются следующие возможности данного CASE-средства.
· Поддержка нотации IDEF1x
· Возможность совместной работы группы проектировщиков
· Описание структуры БД с помощью визуальных средств
· Автоматическая генерация файлов данных для любого типа СУБД
· Уменьшение числа рутинных операций, что облегчает и сокращает работу
Существует большое число СУБД. По функциональным возможностям СУБД бывают настольные (FoxPro, MS Access, Paradox) и корпоративные (Oracle, MS SQL Server, MySQL). Сравнивая настольные и корпоративные СУБД, можно отметить следующее: настольные СУБД просты в использовании, стоимость их эксплуатации дешевле; корпоративные СУБД имеют возможности администрирования, работы в Интернете, поддерживают большой объем данных и быстродейственны.
Для построения самой базы данных нами была выбрана СУБД MS Access. Поскольку целью данной работы не является разработка и внедрение масштабной базы интернет-магазина и разработка интернет-сайта, а база разрабатывается в учебных целях – выбирать корпоративную СУБД нецелесообразно. Microsoft Access является наиболее популярной системой управления базами данных для операционной системы Windows. Возможности разработчиков программного обеспечения, а также методы и технологии решения этих задач постоянно изменяются и совершенствуются. И с каждой новой версией Access такие решения становятся достоянием самого широкого сообщества разработчиков и пользователей.
Очень важным для нас является возможность просматривать и редактировать данные не только в виде таблицы, но и в виде формы. Представление БД в виде таблицы позволяет наблюдать сразу несколько записей одновременно, однако часто вид Таблица не позволяет полностью видеть всю информацию на экране. Формы позволяют забыть о неудобствах, возникающих при работе с таблицами, имеющими большое количество полей. В режиме Форма можно все внимание уделить одной записи, не пользуясь прокруткой для поиска нужного поля в длинной череде столбцов таблицы, а имея перед глазами всю информацию. Также для удобства работы с формой на ней можно разместить Элементы управления, например кнопки. Хочется отметить, что, так как мы проектируем базу данных интернет-магазина, то формы хорошо подойдут для эмуляции работы сайта.
При печати таблиц и запросов информация выдается практически в том виде, в котором хранится. Часто возникает необходимость представить данные в виде отчетов, которые имеют традиционный вид и легко читаются. Подробный отчет включает всю информацию из таблицы или запроса, но содержит заголовки и разбит на страницы с указанием верхних и нижних колонтитулов. Их можно создавать как самостоятельно (в режиме конструктора), так и с помощью мастера.
Мастер баз данных Microsoft Access автоматически формирует таблицы, запросы, формы и отчеты из шаблонов стандартных типов. Это полнофункциональные приложения с оптимизированной структурой данных и полным набором необходимых таблиц, форм, запросов и отчетов. Мастер запросов отбирает информацию базы данных, включая данные из нескольких таблиц, и затем определяет, как представить эти данные в соответствии с требованиями пользователей.
3. Построение инфологической (концептуальной) модели предметной областиИнфологическая модель предметной области – это формализованное описание предметной области, выполненное безотносительно к используемым в дальнейшем программным и техническим средствам. Инфологическая модель должная быть динамической и позволять легкую корректировку.
Основным требованиями, предъявляемыми к инфологической модели, можно отнести следующие:
- должна содержать всю необходимую и достаточную информацию для последующего проектирования базы данных.
- должна быть понятна лицам, принимающим участие в создании и использовании.
Описание объектов ПО и связей между ними оказывает наибольшее влияние на проектирование структуры базы данных. Представим описание объектов и связей между ними в виде Базовой ER-модели:
Представим описание объектов и связей между ними в виде логической ER-модели, основанной на методологии IDEF1X и созданной в выбранном для проектирования CASE-средстве CA ERwin Data Modeler.
На этапе логического проектирования необходимо определить типы и длины полей. После построения ER-модели в среде CA ERwin Data Modeler следует использовать метод прямого инжиниринга, позволяющий автоматически сгенерировать описание и структуру спроектированной базы данных в среде выбранной СУБД. Схема базы данных Интернет-магазина в среде MS ACCESS будет выглядеть следующим образом:
Товар (id_товара (счетчик(Длинное целое)), Цена_товара (Денежный), Возврат_разр (Логический), Вес_товара (Числовой(Одинарное с плавающей точкой)), Длина (Числовой(Одинарное с плавающей точкой)), Ширина (Числовой(Одинарное с плавающей точкой)), Высота (Числовой(Одинарное с плавающей точкой)), Изображение_товара (Поле объекта OLE), Уник_хар-ки (Поле МЕМО), Название_товара (Текстовый(200)), Категория_товара (Текстовый(100)), Подкатегория_товара (Текстовый(100)), Гарантия_мес (Числовой(Байт)))
Поставщик (Назв_поставщика (Текстовый(18)), E-mail (Текстовый(100)), Факс (Текстовый(30)), Телефон(Текстовый(50)), Прайс_лист (Гиперссылка))
Поставщик/категория (Категория_товара (Текстовый(100)), Назв_поставщика (Текстовый (18)))
Товар/оценка (id_товара (Числовой(Длинное целое)), Логин (Текстовый(30)), Оценка(Числовой(байт)))
Покупатель (Логин (Текстовый(30)), Пароль (Текстовый(30)), E-mail (Текстовый(100)), ФИО (Текстовый(100)), Адрес (Поле МЕМО), Дата_рождения (Дата/время), Дата_регистрации (Дата/время), Пол (Текстовый(1)), Образование (Текстовый(30)))
Покупатель/телефон (Телефон (Текстовый(50)), Логин (Текстовый(30))
Кредитная_карта (Номер_кред_карты (Текстовый(16)), Имя_владельца (Текстовый(100)), Проверочный_код (Числовой(Целое)), Срок_истечения (Дата/время), Логин (Текстовый(30)))
Заказ/товар (№_заказа (Числовой(Длинное целое)), id_товара (Числовой(Длинное целое))
Заказ (№_заказа (Числовой(Длинное целое)), Дата_заказа (Дата/время), Время_заказа (Дата/время), Статус_заказа (Текстовый(50)), Стоимость_заказа (Числовой(Длинное целое)), Способ_оплаты (Текстовый(30)), Способ_получения (Текстовый(30)), Логин (Текстовый(30)), Табельный_номер (Числовой(Длинное целое)), Название_точки(Текстовый(50)))
Доставка (№_заказа (Числовой(Длинное целое)), Суммарный_вес_заказа (Числовой(целое)), Суммарный_объем_заказа (Числовой(Длинное целое)), Дата_доставки(Дата/время), Время_доставки (Текстовый(30)), Удаленность_МКАД_км (Числовой (байт)), Стоимость_доставки (Денежный), Табельный_номер (Числовой(Длинное целое)), Статус_доставки (Текстовый(30)), Вид_доставки (Текстовый(40)))
Сотрудник (Табельный_номер (Счетчик(Длинное целое)), ФИО (Текстовый(100)), E-mail (Текстовый(100)), Должность (Текстовый(50)), Факс (Текстовый(30)), Телефон(Текстовый(50)))
Точка_выдачи (Название_точки (Текстовый(50)), Адрес_точки (Поле МЕМО), Время работы (Текстовый(15)), Схема_проезда(Поле объекта OLE))
Точка_выдач/Телефон (Телефон (Текстовый(50), Название_точки (Текстовый(50))
5. Выявление полного перечня ограничений целостности, присущего данной предметной областиОбеспечение целостности данных является важнейшей задачей при проектировании и эксплуатации систем обработки данных.
Целостность – это актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения. Целостность является одним из аспектов информационной безопасности наряду с доступностью – возможностью с приемлемыми затратами получить требуемую информационную услугу, и конфиденциальностью – защитой от несанкционированного прочтения.
Ограничение целостности – это набор специальных предложений, описывающих допустимые значения отдельных информационных единиц и связей между ними. Большинство ограничений целостности вызваны спецификой предметной области. Нарушение ограничений целостности может происходить по нескольким причинам: ошибки, преднамеренное нарушение, вирусы, сбои. Поэтому необходимо контролировать ограничения целостности.
Помимо упомянутых нами на стадии описания предметной области ограничений целостности, во время разработки базы данных интернет-магазина нами также были выявлены многие другие ограничения. Большинство из них контролируются непосредственно в таблицах. Поскольку ввод всех данных в таблице осуществляется через разработанные нами вспомогательные формы, также существует достаточно большое количество ограничений, которые контролируются средствами конструктора форм, а также при помощи встроенного в среду MS ACCESS визуального объектно-ориентированного языка Visual Basic. Далее будут перечислены все ограничения целостности, которые будут контролироваться в данном курсовом проекте, а также выбранные способы реализации контроля целостности для каждого из ограничений.
Ограничения, контролируемые в таблицах:
1. Текстовое поле «E-mail» в таблице «Покупатель» не может содержать пробелов или кириллических символов
Аналогичным образом ограничение на данное поле контролируется в таблицах «Сотрудник» и «Поставщик»
2. Текстовое поле «ФИО» в таблице «Покупатель» не может содержать цифр
Аналогичным образом ограничение на данное поле контролируется в таблице «Сотрудник»
3. Значения поля «Дата_рождения» в таблице «Покупатель» не может превышать текущую дату и должно быть определенного вида, что контролируется маской ввода
4. Поле «Дата_регистрации» в таблице «Покупатель», как правило, содержит дату добавления записи в таблицу, не должно превышать текущую дату и должно быть определенного вида, который контролируется маской ввода
5. Поле «Пол» в таблице «Покупатель» содержит фиксированный набор значений, контролируемых списком подстановки
6. Поле «Образование» в таблице «Покупатель» содержит фиксированный набор значений, контролируемый списком подстановки
7. Поле «Логин» в таблице «Покупатель/телефон» содержит фиксированный набор значений, источником которых является таблица «покупатель»
Аналогичным образом ограничение на данное поле контролируется в таблицах «заказ», «кредитная карта» и «товар/оценка»
8. Поле «Телефон» в таблице «Покупатель/телефон» может содержать только цифры и должно быть определенного вида, который контролируется маской ввода
Аналогичным образом ограничение на данное поле контролируется в таблицах «поставщик», «сотрудник» и «точка выдачи». Ограничение подобного рода установлено и на поле «факс» в таблицах «сотрудник» и «точка выдачи»
9. Поле «id_товара» в таблице «Товар/оценка» содержит фиксированный набор значений, источником которых является таблица «товар»
Аналогичным образом ограничение на данное поле контролируется в таблице «Заказ товар»
10. Поле «Оценка» в таблице «Товар/оценка» содержит фиксированный набор значений и позволяет оценить клиенту выбранный товар в диапазоне от 1 до 10
11. Текстовое поле «Время_работы» в таблице «Точка выдачи» может содержать только цифры и должно быть определенного диапазонного вида, который контролируется маской ввода
12.Поле «Название_точки» в таблице «Точка выдачи/телефон» содержит фиксированный набор значений, источником которых является таблица «Точка выдачи»
Аналогичным образом ограничение на данное поле контролируется в таблице «заказ»
13. Поле «Должность» в таблице «Сотрудник» содержит фиксированный набор значений, контролируемый списком подстановки
14. Поле «Номер_кред_карты» в таблице «Кредитная карта» должно содержать только цифры и быть определенного вида, который контролируется маской ввода
15. Поле «Имя_владельца» в таблице «Кредитная карта» должно содержать только латинские буквы
16. Поле «Проверочный_код» в таблице «Кредитная карта» должно быть определенного вида, который контролируется маской ввода
17. Поле «Срок_истечения» в таблице «Кредитная карта» должно быть определенного вида, который контролируется маской ввода. При этом для использования кредитной карты срок её истечения должен превышать текущую дату или быть равным ей
18. Поле «№_заказа» в таблице «Заказ» содержит фиксированный набор значений, источником которых является таблица «Заказ товар»
Аналогичным образом ограничение на данное поле контролируется в таблице «доставка»
19. Поле «Дата_заказа» в таблице «Заказ» должно быть определенного вида, который контролируется маской ввода. По умолчанию выставляется дата добавления заказа и также контролируется невозможность ввода даты, превышающей текущую
20. Поле «Время_заказа» в таблице «Заказ» должно быть определенного вида, который контролируется маской ввода. По умолчанию выставляется время добавления заказа.
21. Поле «Статус_заказа» в таблице «Заказ» содержит фиксированный набор значений, контролируемый списком подстановки
22. Поле «Способ_оплаты» в таблице «Заказ» содержит фиксированный набор значений, контролируемый списком подстановки
23. Поле «Способ_получения» в таблице «Заказ» содержит фиксированный набор значений, контролируемый списком подстановки
24. Поле «Табельный_номер» в таблице «Заказ» содержит фиксированный набор значений, источником которых является таблица «Сотрудник»
Аналогичным образом ограничение на данное поле контролируется в таблице «доставка»
25. Поле «Удаленность_МКАД» в таблице «Доставка» содержит ограничение на дальность расстояния осуществляемой доставки. Доставка ограничена радиусом 60-ти км. От МКАД
26. Поле «Статус_доставки» в таблице «Доставка» содержит фиксированный набор значений, контролируемый списком подстановки
27. Поле «Вид_доставки» в таблице «Доставка» содержит фиксированный набор значений, контролируемый списком подстановки
Ограничения, контролируемые на формах посредством Visual Basic:
1. Для организации ограничений на доступ определенных сотрудников к различным таблицам через формы на них предусмотрен ввод пароля (1111)
Private Sub Кнопка8_Click()
On Error GoTo Err_Кнопка8_Click
Dim stDocName As String
Dim stLinkCriteria, pas As String
pas = InputBox("Введите пароль", "Пароль")
If pas = "1111" Then
stDocName = ChrW(1055) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1072) & ChrW(1074) & ChrW(1097) & ChrW(1080) & ChrW(1082) & ChrW(47) & ChrW(1082) & ChrW(1072) & ChrW(1090) & ChrW(1077) & ChrW(1075) & ChrW(1086) & ChrW(1088) & ChrW(1080) & ChrW(1103)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
MsgBox ("Пароль неверный")
End If
2. При редактировании формы «Доставка» осуществляется пересчет всех вычисляемых полей (Стоимость, Суммарный вес, Суммарный объем) при смене номера заказа, а также определяется вид доставки в зависимости от влияющих на его выбор факторов (Стоимость, Суммарный вес, Суммарный объем)
Private Sub №_заказа_Click()
Суммарный_вес_заказа.Requery
Суммарный_вес_заказа = Суммарный_вес_заказа.ItemData(0)
Суммарный_объем_заказа.Requery
Суммарный_объем_заказа = Суммарный_объем_заказа.ItemData(0)
Стоимость_заказа.Requery
Стоимость_заказа = Стоимость_заказа.ItemData(0)
If Удаленность_МКАД_км.Value = 0 Then Вид_доставки.Value = "Курьер"
If (Стоимость_заказа.Value > 30000) Or (Суммарный_вес_заказа.Value >= 2.5) Or (Суммарный_объем_заказа.Value > 4000) Then Вид_доставки.Value = "Легковой транспорт"
If (Суммарный_вес_заказа.Value >= 23) Or (Суммарный_объем_заказа.Value > 25000) Then Вид_доставки.Value = "Грузовой транспорт"
If Вид_доставки.Value = "Курьер" Then Стоимость_доставки.Value = 250
If Вид_доставки.Value = "Легковой транспорт" Then Стоимость_доставки.Value = 350 + Удаленность_МКАД_км.Value * 15
If Вид_доставки.Value = "Грузовой транспорт" Then Стоимость_доставки.Value = 450 + Удаленность_МКАД_км.Value * 20
3. При редактировании поля «Удаленность_от_МКАД_км» на форме «Доставка» осуществляется пересчет стоимости доставки в зависимости от его значения
Private Sub Удаленность_МКАД_км_LostFocus()
If Вид_доставки.Value = "Курьер" Then Стоимость_доставки.Value = 250
If Вид_доставки.Value = "Легковой транспорт" Then Стоимость_доставки.Value = 350 + Удаленность_МКАД_км.Value * 15
If Вид_доставки.Value = "Грузовой транспорт" Then Стоимость_доставки.Value = 450 + Удаленность_МКАД_км.Value * 20
End Sub
4. При обращении к форме «заказ» на основании номера заказа автоматически пересчитывается стоимость заказа
Private Sub №_заказа_Click()
Стоимость_заказа.Requery
End Sub
5. При обращении к форме «заказ» при определении способа получения заказа контролируется возможность ввода точки доставки в зависимости от его выбора
Private Sub Способ_получения_Click()
If Способ_получения.Value = "Доставка" Then
Название_точки.Value = " "
Название_точки.Visible = False
End If
If Способ_получения.Value = "Самовывоз" Then
Название_точки.Visible = True
End If
... к первой фазе и является наиболее трудным и длительным во времени этапом процесса проектирования. Однако он является наиболее важным, т.к. на его базе строится большинство проектных решений. Основной задачей является сбор требований, предъявляемых к содержанию и процессу обработки данных пользователями всех уровней. Анализ требований обеспечивает согласованность целей пользователей, а также ...
... 20% от общего товарооборота, соответственно окупаемость магазина произойдет за более длинный промежуток времени, нежели чем при полном ассортименте. Получение дополнительной прибыли электронному магазину по продаже программного обеспечения, компакт дисков и dvd дисков на основании приведенных выше затрат ожидается уже с третьего - четвертого месяца, что является достаточно хорошим экономическим ...
... работы. Поэтому мы будем заострять внимание в первую очередь на вопросах, связанных с организацией системы управления базой данных нашего проекта, который будет называться «Интернет-м@г@зин – Техника для жизни». Вся необходимая для работы информация, а точнее все данные будут содержаться в специальных таблицах-отношениях. Все таблицы являются связанными мужду собой, при этом выполняются все ...
... описании предметной области (п.1.2), а также путём опроса экспертов и изучения документальных источников,/8,9,10/ определим круг запросов и задач, которые предполагается решать с использованием базы данных "Отдел Сбыта Преприятия". Задачи: · сведения о поставщиках и заказчиках; · сведения о накладных, договорах и счетах; · сведения о товарах; · возможность ...
0 комментариев