База-данных интернет-магазина

Автор: Пользователь скрыл имя, 12 Сентября 2011 в 08:37, курсовая работа

Описание работы

Задача: спроектировать базу данных интернет-магазина. Для этого в первую очередь необходимо описать предметную область: Магазин осуществляет продажу различных категорий товаров. Без ограничения покупателей по возрасту. Оплату можно производить при помощи кредитной карты, интернет-кошельков, наличными при доставке или при получении товара в одной из точек выдачи, расположенных в Москве.

Содержание

1. Описание предметной области. Постановка задачи

2. Выбор средств проектирования и СУБД.

3. Построение инфологической (концептуальной) модели предметной области

4. Проектирование логической структуры базы данных

5. Выявление полного перечня ограничений целостности, присущего данной предметной области

6. Проектирование физической структуры базы данных

7. Организация ввода данных в БД

8. Организация корректировки БД

9. Описание информационных потребностей пользователей и выбор способов их реализации

10. Разработка интерфейса

11. Реализация проекта в среде конкретной СУБД

12. Список использованной литературы

Работа содержит 1 файл

база данных.docx

— 879.38 Кб (Скачать)

  Доставка (№_заказа (Числовой(Длинное целое)), Суммарный_вес_заказа (Числовой(целое)), Суммарный_объем_заказа (Числовой(Длинное  целое)), Дата_доставки(Дата/время), Время_доставки (Текстовый(30)), Удаленность_МКАД_км (Числовой (байт)), Стоимость_доставки (Денежный), Табельный_номер (Числовой(Длинное  целое)), Статус_доставки (Текстовый(30)), Вид_доставки (Текстовый(40))) Сотрудник (Табельный_номер (Счетчик(Длинное целое)), ФИО (Текстовый(100)), E-mail (Текстовый(100)), Должность (Текстовый(50)), Факс (Текстовый(30)), Телефон(Текстовый(50))) Точка_выдачи (Название_точки (Текстовый(50)), Адрес_точки (Поле МЕМО), Время работы (Текстовый(15)), Схема_проезда(Поле объекта OLE)) Точка_выдач/Телефон (Телефон (Текстовый(50), Название_точки (Текстовый(50)) 
 
 
 
 
 
 
 
 
 

  Выявление полного перечня ограничений  целостности, присущего данной предметной области

  Обеспечение целостности данных является важнейшей  задачей при проектировании и  эксплуатации систем обработки данных.

  Целостность – это актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения. Целостность является одним из аспектов информационной безопасности наряду с  доступностью – возможностью с приемлемыми  затратами получить требуемую информационную услугу, и конфиденциальностью –  защитой от несанкционированного прочтения. Ограничение целостности – это набор специальных предложений, описывающих допустимые значения отдельных информационных единиц и связей между ними. Большинство ограничений целостности вызваны спецификой предметной области. Нарушение ограничений целостности может происходить по нескольким причинам: ошибки, преднамеренное нарушение, вирусы, сбои. Поэтому необходимо контролировать ограничения целостности. Помимо упомянутых нами на стадии описания предметной области ограничений целостности, во время разработки базы данных интернет-магазина нами также были выявлены многие другие ограничения. Большинство из них контролируются непосредственно в таблицах. Поскольку ввод всех данных в таблице осуществляется через разработанные нами вспомогательные формы, также существует достаточно большое количество ограничений, которые контролируются средствами конструктора форм, а также при помощи встроенного в среду 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 = " "

Информация о работе База-данных интернет-магазина