Автор работы: Пользователь скрыл имя, 28 Марта 2014 в 10:01, курсовая работа
В ходе выполнения курсовой работы реализованы следующие ф-ии интернет магазина:
БД хранящая информацию, система регистрации пользователя, верификация email адреса(проверка на подлинность), система оформления заказов на любое кол-во товаров, административная панель управления позволяющая управлять базой данных товаров
Реализована система защиты от взлома, запрос логина и пароля для входа в административную панель, также реализована дополнительная защита с помощью проекта Recaptcha от копании Google, система защиты пользователького интерфейса построена на проверке подлинности email адреса и возможностью смены пароля
Для защиты от спама поисковые формы защищены от ввода спец символов MySql, с помощью функции HtmlSpecialChars
Введение
Информационные технологии можно рассматривать как элемент и функцию информационного общества, направленную на регулирование, сохранение, поддержание и совершенствование системы управления нового сетевого общества. Если на протяжении веков информация и знания передавались на основе правил и предписаний, традиций и обычаев, культурных образцов и стереотипов, то сегодня главная роль отводится технологиям. Информационные технологии упорядочивают потоки информации на глобальном, региональном и локальном уровнях. Они играют ключевую роль в формировании техноструктуры, в повышении роли образования и активно внедряются во все сферы социально-политической и культурной жизни, включая домашний быт, развлечения и досуг.
Анализ предметной области
Для функционирования интернет магазина требуется база данных которая будет хранить данные о пользователях, о товарах и прочие сопутствующие данные(комментарии к товарам, комментарии пользователей фотографии товаров и т.д)
Для реализации такой БД будет использована СУБД: MySQL, оболочка phpMyAdmin
PHPMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.
На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Подавляющее большинство российских провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных.
Приложение распространяется под лицензией GNU General Public License и поэтому многие другие разработчики интегрируют его в свои разработки, например XAMPP, Denwer, AppServ, Open Server.
Проект на данный момент времени локализован на более чем 62 языках.
Начиная с версии 3.0.0, phpMyAdmin присоединился к инициативе GoPHP5 и отказался от поддержки совместимости с устаревшими версиями PHP и MySQL. Для работы phpMyAdmin 3.0.0 и выше, требуется наличие PHP 5.2 и MySQL 5. Для использования старых версий PHP и MySQL, продолжает развиваться вторая ветка скрипта (2.x), однако её поддержка ограничивается закрытием найденных уязвимостей, новых функций в неё не добавляется.
В своих ранних версиях phpMyAdmin не позволял:
Из-за чего возник аналогичный скрипт Adminer (бывший phpMinAdmin) поставляемый как единый php-файл. Известен и ряд других веб-интерфейсов к MySQL, напр. Chive[2], разработанный с использованием Yii.
Основная часть:
Анализ предметной области
Для реализации интернет магазина потребуется база данных, сайт который будет работать с этой базой данных, административная панель управления БД, пользовательский интефейс
Требуется создать базу данных для интернет-магазина,: задача базы данных хранить информацию о пользователях, товарах и заказах, хранить описание товаров, наименование категорий товаров и подкатегорий и комментарии к товарам
Также требуется разработать два интерфейса для работы с базой данных, который был бы понятен пользователю не знакомому с языками программирования
Административный интерфейс работы должен содержать в себе основные запросы к таблицам БД, внесение\изменение\удаление данных
Пользовательский интерфейс должен содержать просмотр\изменение данных своего аккаунта(телефон адрес ФИО и т.д, ф-ия изменения пароля, регистрация аккаунта), просмотр своих заказов, товаров отложенных в корзину
Пользователи разделены на 2 типа, администратор и обычный пользователь
Администратор имеет доступ к административной панели управления, должен иметь право удалять изменять вносить данные в следующие таблицы:
Администратор должен иметь возможность просматривать данные таблицы:
Пользователи должны иметь возможноть просматривать данные следующих таблиц, отображаемых на сайте:
Пользователи должны иметь право изменять данные в следующих таблицах:
данные в таблицу «пользователи» вносятся либо через систему регистрации аккаунта, либо напрямую через СУБД, через интерфейсы управления данные не вносятся
Структура базы данных интернет-магазина:
Всего таблиц: 14 (на момент написания документации)
№ |
Название таблицы на русском |
Название на английском (в БД) |
Описание |
1 |
Пользователи |
user |
Хранит основные данные о пользователях (e-mail, пароль, ФИО, город, номер телефона, адрес доставки, статус, прочую информацию) |
2 |
Товары (основная) |
goods |
Хранит основную информацию о товаре (название, товара, цена, код подкатегории (СВЯЗАНА С ТАБЛИЦЕЙ «подкатегории»), количество товара на складе, комментарии для администратора |
3 |
Товары (фотографии) |
goods_photo |
Хранит информацию о фотографиях товара – код фотографии, код товара, ссылку на фотографию, а также параметр который указывает является ли фотография главной (СЯЗАНА С ТАБЛИЦЕЙ «товары») |
4 |
Товары (комментарии) |
goods_comments |
Хранит информацию о комментариях к товару – текст комментария, код пользователя оставившего комментарий, код товара к которому относится данный комментарий, дату и время создания комментария (СВЯЗАНА с 2 таблицами – «пользователи», и «товары» по полям «код пользователя» и «код товара». ФУНКЦИЯ В РАЗРАБОТКЕ |
5 |
Товары (отзывы |
goods_rewiews |
Хранит информацию об отзывых к товарам – текст отзыва, код пользователя, код товара, дата и время создания отзыва, СВЯЗАНА с 2 таблицами (пользователи и товары) так же как и таблица «Товары.Комментарии». ФУНКЦИЯ В РАЗРАБОТКЕ |
6 |
Категории |
category |
Хранит информацию о категориях – код категории, название категории, описание категории, данные для SEO (мета-описание категории), мета-теги категории. |
7 |
Подкатегории |
subcategory |
Хранит информацию о подкатегориях – код подкатегории, код категории, название подкатегории, данные для SEO (мета-описание подкатегории, мета-теги подкатегории) . СВЯЗАНА с таблицей «Категории» по полю код категории (то есть каждая подкатегория привязана к категории). |
8 |
Производители |
manufacturer |
Хранит информацию о производителях товара – код производителя, название производителя, данные для SEO (мета-описание производителя, мета-теги производителя). СВЯЗАНА С ТАБЛИЦЕЙ «товары» - то есть у каждого товара есть производитель. |
9 |
Активация пользователя |
user_activation |
Хранит данные об активации учётной записи пользователя (активировал или нет). Таблица связана с таблицей «пользователь» по полю «код пользователя». Для каждого пользователя в данной таблице есть только одна запись. Также активацию/не активацию аккаунта пользователя отслеживает поле «статус» в таблице «Пользователь» |
10 |
Восстановление e-mail пользователя |
user_recovery |
Хранит данные о восстановлении доступа к аккаунтам пользователей. Восстановление доступа производиться через e-mail, указанный пользователем в профиле. Таблица связана с таблицей «Пользователи». |
11 |
Журнал заходов в панель управления сайта |
log_admin_logins |
Хранит данные о входах администратора в панель управления сайтом. (IP-адрес, дата и время входа) ФУНКЦИЯ В РАЗРАБОТКЕ |
12 |
Журнал поиска на сайте |
log_site_search |
Хранит данные о поисковых запросах на сайте. Текст запроса, дата и время запроса. Пустые запросы не учитываются. |
13 |
Заказ (общая) |
order_common |
Хранит данные о заказах (общие данные) – код заказа, код пользователя, дата и время создания заказа, ФИО заказчика, город заказчика, телефон заказчика, тип доставки заказа, адрес доставки заказа, комментарии и пожелания к заказу. Заказ связан с таблицей «Пользователи» по полю «Код пользователя»! Это очень важно! |
14 |
Заказ (товары) |
order_goods |
Хранит данные о товарах которые заказал пользователь – код заказа, код товара, количество товара в заказе, общую стоимость по позиции. Данная таблица связана с таблицей «Заказ (общая)» по полю «Код заказа». |
1) Пользователи (user)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
user_id |
Код пользователя (PK) |
Первичный ключ |
2 |
|||
3 |
password |
Пароль |
|
4 |
phone |
Телефон |
|
5 |
lastname |
Фамилия |
|
6 |
name |
Имя |
|
7 |
secondname |
Отчество |
|
8 |
birthday_date |
Дата рождения |
|
9 |
city |
Город |
|
10 |
delivery_address |
Адрес доставки |
|
11 |
sex |
Пол |
|
12 |
status |
Статус (активирован / не активирован аккаунт) |
|
13 |
registration_datetime |
Дата и время регистрации на сайте |
2) Товары (основная) (goods)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
goods_id |
Код товара (PK) |
Первичный ключ |
2 |
subcategory_id |
Код подкатегории (FK) |
Внешний ключ |
3 |
title |
Название товара |
|
4 |
description |
Описание товара |
|
5 |
cost |
Цена товара в рублях |
|
6 |
admin_comment |
Комментарии администратора |
Видны только администратору |
7 |
creation_datetime |
Дата и время создания товара |
|
8 |
goods_show |
Отображение товара на сайте (да / нет) |
|
9 |
in_stock |
Количество товара на сайте |
|
10 |
manufacturer_id |
Код производителя товара |
Внешний ключ |
11 |
seo_metatags |
Метатеги для SEO (ключевые слова) |
3) Товары (фотографии)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
photo_id |
Код фотографии (PK) |
Первичный ключ |
2 |
goods_id |
Код товара (FK) |
Внешний ключ |
3 |
photo_link |
Ссылка на файл фотографии |
|
4 |
photo_description |
Описание фотографии |
|
5 |
photo_is_main |
Фото главное? |
Переключатель (фото главное? – да / нет) yes / no |
4) Товары.Комментарии – Функция и таблица в разработке!
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
|||
2 |
|||
3 |
|||
4 |
|||
5 |
5) Товары.Отзывы – Функция и таблица в разработке!
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
|||
2 |
|||
3 |
|||
4 |
|||
5 |
6) Категории (category)
№ |
Название поля в БД |
Название поля на русском |
Комментарии |
1 |
category_id |
Код категории (PK) |
Первичный ключ |
2 |
category_title |
Название категории |
|
3 |
category_description |
Описание категории |
|
4 |
category_show |
Отображение категории на сайте (Да / Нет) |
|
5 |
category_seo_description |
SEO – описание категории |
|
6 |
category_seo_keywords |
SEO – ключевые слова |
Информация о работе Создание базы данных для интернет- магазина