Реляционная модель БД онлайнового магазина
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Реляционная модель данных разработанной БД представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить донные об объектах предметной области и моделировать связи между ними.


Таблица Catalog

Наименование Назначение Тип
ID_catalog Первичный ключ Числовой
Name Наименование каталога Текстовый
Sub Первичный ключ каталога в который вложен данный каталог Числовой
option Флаг указывающий на содержание каталога числовой

 

Иерархия каталогов организована следующим образом:

– корневой каталог в поле Sub содержит ноль, который указывает скрипту что это один из корневых каталогов.

– поле option указывает на то что содержится в каталоге.

– чтобы определить какие каталоги содержаться внутри искомого каталога используется поле Sub в котором указывается первичный ключ искомого каталога.

– для получения списка товаров содержащихся в каталоге по полю ID_catalog из таблица Product делается запрос по первичному ключу.

 

Таблица Product

Наименование Назначение Тип
ID Первичный ключ Числовой
Name Наименование товара Текстовый
Cost Цена товара Числовой
ID_catalog Первичный ключ каталога в котором находиться товар Числовой
Image Имя графического файла в котором храниться фотография продукта Тестовый
File_type Расширение файла с фотографией Текстовый

 

Данная таблица служит для хранения основной информации о товаре. Выборка из данной происходить по полю ID_catalog, входной параметр для условия является первичный ключ текущего каталога. Для получения всех свойств для данного продукта надо сделать выборку из таблицы all_prod_option по полю ID_product и ID_option, где ID_product это первичный ключ нужного нам товара, ID_option это первичный ключи свойств присвоенных каталогу в котором находиться нужный нам товар.

Таблица prod_option

Наименование Назначение Тип
ID Первичный ключ Числовой
ID_catalog Первичный ключ каталога к которому относиться данное свойство Числовой
Name Наименование свойства Текстовый

 

Данная таблица предназначена для хранения записей о присвоенных свойствах товаров того или иного каталога. Для получения списка свойств для товара данной категории нужно сделать запрос с условие равенства поля ID_catalog первичному ключу нужного нам каталога.

 

Таблица all_prod_option

Наименование Назначение Тип
ID Первичный ключ Числовой
ID_option Первичный ключ из таблицы prod_option для получения наименования свойства Числовой
ID_product Первичный ключ из таблицы Product для получения основной информации о продукте Числовой
Value Значение свойства товара Текстовый

 

Данная таблица хранит в себе присвоенные значения свойств для каждого товара.

 

Таблица basket

Наименование Назначение Тип
ID Первичный ключ Числовой
ID_session Первичный ключ текущей сессии пользователя из таблицы user_session Числовой
ID_product Первичный ключь товара из таблицы Product Числовой
Quantity Количество товара в корзине Числовой

 

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

 

Таблица user_session

Наименование Назначение Тип
ID Первичный ключ Числовой
session Уникальный идентификационный ключ сессии пользователя Текстовый
date Дата создания записи Дата/время

 

Данная таблица хранит в себе данные о сессиях пользователей.

Таблицы basket и user_session служат для реализации корзины. Работают они по следующему принципу:

– при первом заходе пользователя в клиентскую часть web – приложения создается запись в таблице user_sessions из уникального номера сессии и времени захода на сайт. При этом одновременно удаляются устаревшие записи.

– при добавление товара в корзину в таблицу basket добавляются следующие данные: первичный ключ записи из таблицы user_session которая содержит текущий уникальный номер сессии, первичный ключ добавляемого товара, и его количество.

– при выводе корзины на экран делается выборка из таблицы basket где ID_session равно первичному ключу записи в таблице user_session в которой поле session равно текущему уникальному номеру сессии.

 


4.4 Разработка пользовательских приложений

 

В ходе дипломной работы будут разрабатываться два приложения:

1) приложение администратора магазина;

2) приложение пользователя.

 

4.4.1 Разработка приложения клиента магазина

Данное приложение предназначено для выполнения пользовательских функций в магазине.

Приложение отвечает за обеспечение интерфейса пользователя и обеспечивает функции сёрфинга по категориям магазина, поиск товара, просмотра списка товаров, просмотра «корзины» покупателя, покупки товара.

Для клиента не требуется авторизация. После того, как клиент зашёл в магазин, все его действия выполняются в программе с помощью набора функций, которые анализируют требуемое действие и выполняет его.

На рисунке 4.2 показаны главные ссылки между сценариями в той части сайта, которая касается пользователя. Клиент сначала открывает главную страницу, в которой перечислены все категории деталей на сайте. Отсюда можно перейти к определенной категории деталей, а затем к информации по отдельной детали.

Пользователю предоставляется ссылка, которая дает возможность добавить выбранную деталь в тележку. На этапе работы с тележкой можно произвести окончательный расчет и покинуть магазин.

 

4.4.2 Разработка приложения администратора магазина

Данное приложение предназначено для выполнения административных функций в магазине. При этом приложение выполняется на сервере, а пользователь управляет им через web-интерфейс.

Чтобы начать администрировать магазин, необходимо авторизоваться с правами администратора. После авторизации, для администратора предоставляется несколько отличная версия пользовательского интерфейса сайта. Администратор по-прежнему будет иметь возможность просматривать категории и автодетали, но вместо доступа к покупательской тележки он может переходить к определенной детали или категории, а затем редактировать либо удалять её.

На рисунке 4.3 показан интерфейс администратора.

Разработка сценариев, одновременно пригодных как для обычных пользователей, так и для администратора, позволяет сэкономить время трудозатраты.

 

 


5. Описание интерфейсов сайта

 

5.1 Описание интерфейса приложения администратора магазина

 

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

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

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

При выводе каталога переменной $what_print присваивается значение «print_catalog».

В зависимости от производимых операций переменной $action присваиваться следующие значений «add_catalog», «del_catalog».

При добавление каталога используется следующий шаблон

<link rel= «stylesheet» type= «textcssform>

«%CURRENT_CATALOG%» заменяется на ID каталога в котором создается новый. После нажатия кнопки «Добавить» в скрипт передаются переменные для создания нового каталога.

Вывод списка продуктов.

При выводе списка продуктов переменной $what_print присваивается значение «print_product».

В зависимости от производимых операций переменной $action присваиваться следующие значений «add_product», «del_product», «edit_product».

Добавление товаров. На данной странице происходит добавление товаров. Здесь необходимо ввести информацию о товаре.

При добавление нового товара используется следующий шаблон

<link rel= «stylesheet» type= «textcssform-data»>

Название<br>

<input class= «smile_inp» name= «name» type= «text»><br>

Цена<br>

<input class= «smile_inp» name= «cost» type= «text»><br>

Фото<br>

<input class= «smile_inp» type= «file» name= «imgfile»><br>

<input type = «hidden» name = «id_catalog»

value = «%CURRENT_CATALOG%»"><br>

<input type= «submit» name = «upload» value = «Выполнить»><br>

< удаление товаров. Здесь можно отредактировать информацию о товаре или вовсе удалить его.

При редактирование свойств товара используется следующий шаблон

<link rel= «stylesheet» type= «textcssspan><td><td>

<input class= «smile_inp» name= «id_%ID%» type= «text» value = «%VALUE%»>

<tr>

<table>

<input type = «hidden» name = «catalog» value = «%CURRENT_CATALOG%»>

<input type = «hidden» name = «ID_product» value = «%PRODUCT%»>   

<input type= «submit» name = «save_option» value = «Сохранить»><br>

<css» href=»..catalog.css»>

<form>

<input class= «smile_inp» name= «name_option» type= «text»>

<input type = «hidden» name = «id_catalog»

value = «%CURRENT_CATALOG%»>

<input type = «hidden» name = «action» value = «add_option»>

<input type = «hidden» name = «what_print» value = «print_option»>

<br>

<input type= «checkbox» name= «show_on_top» value= «1»>

Показывать в списке товаров<br>

<input type= «submit» value = «Выполнить»>

<css» href=»..catalog.css»>

<form>

<input class= «smile_inp» name= «name_option»

type= «text» value= "%VALUE%»>

<input type = «hidden» name = «id_catalog»

value = «%CURRENT_CATALOG%»>

<input type = «hidden» name = «action» value = «edit_option»>

<input type = «hidden» name = «what_print» value = «print_option»>

<input type = «hidden» name = «id_option» value = «%ID_OPTION%»>

<br>

<input type= «checkbox» name= «show_on_top»

value= «1»%SHOW_ON_TOP%> Показывать в списке товаров<br>

<input type= «submit» value = «Выполнить»>

</form>

«%VALUE%» заменяется на название выбранной для редактирования опции.

«%CURRENT_CATALOG%» заменяется на ID каталога для которого создается новые свойство.

«%ID_OPTION%» заменяется на ID выбранной для редактирования опции.

После нажатия кнопки «Выполнить» в скрипт передаются переменные для редактирования свойства.

При выполнение скрипта производятся следующие действия:

– проверяется зарегистрирован ли пользователь в системе. В случает отрицательного результата выводиться ошибка и выполнение скрипта прекращается.

– проверяем на существование необходимых переменных, в случае их отсутствия присваиваются значения определенные по умолчанию.

– проверяется существование переменной $action, если переменная существует то выполняется то или иное действие над каталогом в зависимости от значения переменной. Если она не существует скрипт переходит к выполнению следующего пункта.

– в зависимости от значения переменной $what_print скрипт генерирует содержание html-страницы.




Дата: 2019-05-29, просмотров: 136.