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

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

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

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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  Название_точки.Visible = False

  End If

  If Способ_получения.Value = "Самовывоз" Then

  Название_точки.Visible = True

  End If

  6. При обращении к форме «Корзина  заказов», эмулирующей подобный  функционал сайта автоматически  определяется следующий номер  заказа

  Private Sub Form_Current()

  Me![Список12].SetFocus

  Список12.ListIndex = 0

  Поле14.Value = Список12.Value + 1

  End Sub

  7. При обращении к форме «Корзина  заказов», эмулирующей подобный  функционал сайта контролируется  возможность осуществления оформления  заказа только при условии  добавления в корзину хотя  бы одной единицы товара, а  также невозможность выбора подкатегории, не принадлежащей выбранной категории 

  Private Sub ПолеСоСписком2_Click()

  ПолеСоСписком4.Value = ""

  ПолеСоСписком6.Value = ""

  If ПолеСоСписком2.Value <> "" And ПолеСоСписком4.Value <> "" And ПолеСоСписком6.Value <> "" Then

  Кнопка18.Visible = True

  Else

  Кнопка18.Visible = False

  End If

  End Sub

  Private Sub ПолеСоСписком4_Click()

  ПолеСоСписком6.Value = ""

  If ПолеСоСписком2.Value <> "" And ПолеСоСписком4.Value <> "" And ПолеСоСписком6.Value <> "" Then

  Кнопка18.Visible = True

  Else

  Кнопка18.Visible = False

  End If

  End Sub

  Private Sub ПолеСоСписком4_GotFocus()

  Me.Refresh

  End Sub

  Private Sub ПолеСоСписком6_Click()

  If ПолеСоСписком2.Value <> "" And ПолеСоСписком4.Value <> "" And ПолеСоСписком6.Value <> "" Then

  Кнопка18.Visible = True

  Else

  Кнопка18.Visible = False

  End If

  End Sub

  Private Sub ПолеСоСписком6_GotFocus()

  Me.Refresh

  End Sub

  Аналогичным образом происходит проверка на категории  и подкатегории при обращении  к форме «Оценка», эмулирующей  подобный функционал сайта

  8. При обращении к форме «Оформление  заказа», эмулирующей подобный  функционал сайта, осуществляется  пересчет всех вычисляемых полей  (Стоимость, Суммарный вес, Суммарный  объем) при смене номера заказа, а также определяется вид доставки  в зависимости от влияющих  на его выбор факторов (Стоимость,  Суммарный вес, Суммарный объем)

  Список69.Requery

  Me![Список69].SetFocus

  Список69.ListIndex = 0

  №_заказа.Value = Список69.Value

  Суммарный_вес_заказа.Requery

  Me![Суммарный_вес_заказа].SetFocus

  Суммарный_вес_заказа.ListIndex = 0

  Суммарный_объем_заказа.Requery

  Me![Суммарный_объем_заказа].SetFocus

  Суммарный_объем_заказа.ListIndex = 0

  Стоимость_заказа.Requery

  Me![Стоимость_заказа].SetFocus

  Стоимость_заказа.ListIndex = 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

  9. При обращении к форме «Оформление  заказа», эмулирующей подобный  функционал сайта при редактировании  поля «Удаленность_от_МКАД_км» на  форме «Доставка» осуществляется  пересчет стоимости доставки  в зависимости от его значения

  Private Sub Удаленность_МКАД_км_LostFocus()

  If Вид_доставки.Value = "Курьер" Then Стоимость_доставки.Value = 250

  If Вид_доставки.Value = "Легковой транспорт" Then Стоимость_доставки.Value = 350 + Удаленность_МКАД_км.Value * 15

  If Вид_доставки.Value = "Грузовой транспорт" Then Стоимость_доставки.Value = 450 + Удаленность_МКАД_км.Value * 20

  End Sub

  10. При обращении к форме «Оформление  заказа», эмулирующей подобный  функционал сайта при редактировании  поля «Логин» проверяется условие  на его существование в БД  для возможности оформления заказа

  Dim i As Long, f As Boolean

  Список144.Requery

  Me![Список144].SetFocus

  Список144.ListIndex = 0

  f = False

  For i = 0 To Список144.ListCount - 1

  Список144.ListIndex = i

  If Список144.Value = Логин.Value Then f = True

  Next i

  If f = False Then MsgBox ("Сначала зарегистрирутесь")

  End Sub

  Аналогичным образом происходит проверка при  обращении к форме «Оценка  товара клиентом», эмулирующей подобный функционал сайта

  11. При обращении к форме «Регистрация»,  эмулирующей подобный функционал  сайта при регистрации нового  пользователя проверяются условия  на обязательность заполнения  определенных полей

  Private Sub Кнопка70_Click()

  On Error GoTo Err_Кнопка70_Click

  Dim stDocName As String

  stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1088) & ChrW(1077) & ChrW(1075) & ChrW(1080) & ChrW(1089) & ChrW(1090) & ChrW(1088) & ChrW(1072) & ChrW(1094) & ChrW(1080) & ChrW(1102)

  DoCmd.OpenQuery stDocName, acNormal, acEdit

  stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1090) & ChrW(1077) & ChrW(1083) & ChrW(1077) & ChrW(1092) & ChrW(1086) & ChrW(1085) & ChrW(32) & ChrW(49)

  DoCmd.OpenQuery stDocName, acNormal, acEdit

  If Поле92 <> "" Then

  stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1090) & ChrW(1077) & ChrW(1083) & ChrW(1077) & ChrW(1092) & ChrW(1086) & ChrW(1085) & ChrW(32) & ChrW(50)

  DoCmd.OpenQuery stDocName, acNormal, acEdit

  End If

  If Поле100 <> "" Then

  stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1090) & ChrW(1077) & ChrW(1083) & ChrW(1077) & ChrW(1092) & ChrW(1086) & ChrW(1085) & ChrW(32) & ChrW(51)

  DoCmd.OpenQuery stDocName, acNormal, acEdit

  End If

  If Номер_кред_карты <> "" Then

  stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1080) & ChrW(1090) & ChrW(1100) & ChrW(32) & ChrW(1082) & ChrW(1088) & ChrW(1077) & ChrW(1076) & ChrW(1080) & ChrW(1090) & ChrW(1085) & ChrW(1091) & ChrW(1102) & ChrW(32) & ChrW(1082) & ChrW(1072) & ChrW(1088) & ChrW(1090) & ChrW(1091)

  DoCmd.OpenQuery stDocName, acNormal, acEdit

  End If

  DoCmd.SetWarnings False

  If Me.Dirty Then Me.Dirty = False

  DoCmd.Close

  Exit_Кнопка70_Click:

  Exit Sub

  Err_Кнопка70_Click:

  MsgBox Err.Description

  Resume Exit_Кнопка70_Click

  End Sub 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

  Физическая  модель – это привязка логической модели к конкретной среде хранения и методам хранения данных. При  проектировании физической модели базы данных необходимо описать среду  и метод хранения информации. Для  этого необходимо изучить особенности  организации данных выбранной СУБД. Для проектирования базы данных для  Интернет-магазина была выбрана СУБД MS Access. Для хранения данных в этой СУБД используются таблицы. В них  хранится вся информация о предметной области. Наша база данных включает несколько  взаимосвязанных таблиц. Объекты, которые  были описаны при построении инфологической модели предметной области, в базе данных являются таблицами. Представим описание объектов и связей между ними в  виде физической ER-модели, сованной на методологии IDEF1X, созданной в выбранном  для проектирования CASE-средстве CA ERwin Data Modeler.

  На  рисунках ниже представлены разработанные  таблицы:

  Таблица «Товар» 

    

  Таблица «Поставщик/категория»

    

  Таблица «Товар/оценка» 

    
 
 

  Таблица «Покупатель»

  

  Таблица «Кредитная_карта»

    
 
 
 
 
 
 

  Таблица «Заказ/товар»

  

  Таблица «Доставка»

    
 

  Таблица «Сотрудник» 

    

  Таблица «Точка_выдачи»

    
 
 
 
 
 
 
 

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

  База  данных состоит из взаимосвязанных  таблиц, которые наполняются записями. Ведение базы данных подразумевает  под собой возможность управления записями: их добавление, изменение, удаление. Реализация данных возможностей возлагается  на СУБД.Существует несколько способов реализации управления базой данных в MS ACCESS. В частности, любое из указанных  действий можно выполнить тремя  способами:

  -через раздел СУБД «Таблицы», производя действия по изменению, добавлению или удалению непосредственно в таблице;

  -через раздел СУБД «Формы», выполняя необходимые действия в таблице через интерфейс формы;

  через раздел СУБД «Запросы», выполняя запросы  на обновление, добавление или удаление данных.

  Существует 3 способа ввода данных: ввод с  клавиатуры; сохранение данных, сформированных иными программными средствами; импорт из других источников. В нашей базе данных мы использовали ввод с клавиатуры. В процессе ввода информации были использованы следующие приемы: перенос  значений полей из предыдущих записей; замена ввода выбором из списка, вспомогательные запросы для  полей, которые необходимо вычислять (напр. суммарный вес или общая  стоимость заказа).Ввод информации в базу данных может осуществляться путем ввода данных в таблицу. Но такой способ имеет многие очевидные  недостатки. Поэтому для этих целей  обычно используются экранные формы. Формы  – это окна, через которые пользователь взаимодействует с программным  кодом приложения и объектами  данных. Ввод данных при помощи форм очень простой в использовании. С помощью форм также можно  осуществлять полноценную навигацию  по таблице.

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