Автор: Пользователь скрыл имя, 12 Сентября 2011 в 08:37, курсовая работа
Задача: спроектировать базу данных интернет-магазина. Для этого в первую очередь необходимо описать предметную область: Магазин осуществляет продажу различных категорий товаров. Без ограничения покупателей по возрасту. Оплату можно производить при помощи кредитной карты, интернет-кошельков, наличными при доставке или при получении товара в одной из точек выдачи, расположенных в Москве.
1. Описание предметной области. Постановка задачи
2. Выбор средств проектирования и СУБД.
3. Построение инфологической (концептуальной) модели предметной области
4. Проектирование логической структуры базы данных
5. Выявление полного перечня ограничений целостности, присущего данной предметной области
6. Проектирование физической структуры базы данных
7. Организация ввода данных в БД
8. Организация корректировки БД
9. Описание информационных потребностей пользователей и выбор способов их реализации
10. Разработка интерфейса
11. Реализация проекта в среде конкретной СУБД
12. Список использованной литературы
Название_точки.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![Суммарный_вес_заказа].
Суммарный_вес_заказа.
Суммарный_объем_заказа.
Me![Суммарный_объем_заказа].
Суммарный_объем_заказа.
Стоимость_заказа.Requery
Me![Стоимость_заказа].
Стоимость_заказа.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.
На рисунках ниже представлены разработанные таблицы:
Таблица «Товар»
Таблица «Поставщик/категория»
Таблица «Товар/оценка»
Таблица «Покупатель»
Таблица «Кредитная_карта»
Таблица «Заказ/товар»
Таблица «Доставка»
Таблица «Сотрудник»
Таблица «Точка_выдачи»
Организация ввода данных в БД
База
данных состоит из взаимосвязанных
таблиц, которые наполняются записями.
Ведение базы данных подразумевает
под собой возможность
-через раздел СУБД «Таблицы», производя действия по изменению, добавлению или удалению непосредственно в таблице;
-через раздел СУБД «Формы», выполняя необходимые действия в таблице через интерфейс формы;
через раздел СУБД «Запросы», выполняя запросы на обновление, добавление или удаление данных.
Существует 3 способа ввода данных: ввод с клавиатуры; сохранение данных, сформированных иными программными средствами; импорт из других источников. В нашей базе данных мы использовали ввод с клавиатуры. В процессе ввода информации были использованы следующие приемы: перенос значений полей из предыдущих записей; замена ввода выбором из списка, вспомогательные запросы для полей, которые необходимо вычислять (напр. суммарный вес или общая стоимость заказа).Ввод информации в базу данных может осуществляться путем ввода данных в таблицу. Но такой способ имеет многие очевидные недостатки. Поэтому для этих целей обычно используются экранные формы. Формы – это окна, через которые пользователь взаимодействует с программным кодом приложения и объектами данных. Ввод данных при помощи форм очень простой в использовании. С помощью форм также можно осуществлять полноценную навигацию по таблице.