Создание базы данных для интернет- магазина

Автор работы: Пользователь скрыл имя, 28 Марта 2014 в 10:01, курсовая работа

Краткое описание

В ходе выполнения курсовой работы реализованы следующие ф-ии интернет магазина:
БД хранящая информацию, система регистрации пользователя, верификация email адреса(проверка на подлинность), система оформления заказов на любое кол-во товаров, административная панель управления позволяющая управлять базой данных товаров
Реализована система защиты от взлома, запрос логина и пароля для входа в административную панель, также реализована дополнительная защита с помощью проекта Recaptcha от копании Google, система защиты пользователького интерфейса построена на проверке подлинности email адреса и возможностью смены пароля
Для защиты от спама поисковые формы защищены от ввода спец символов MySql, с помощью функции HtmlSpecialChars

Прикрепленные файлы: 1 файл

Курс КИС.doc

— 490.50 Кб (Скачать документ)

 

Введение

Информационные технологии можно рассматривать как элемент и функцию информационного общества, направленную на регулирование, сохранение, поддержание и совершенствование системы управления нового сетевого общества. Если на протяжении веков информация и знания передавались на основе правил и предписаний, традиций и обычаев, культурных образцов и стереотипов, то сегодня главная роль отводится технологиям. Информационные технологии упорядочивают потоки информации на глобальном, региональном и локальном уровнях. Они играют ключевую роль в формировании техноструктуры, в повышении роли образования и активно внедряются во все сферы социально-политической и культурной жизни, включая домашний быт, развлечения и досуг.

Анализ предметной области

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

Для реализации такой БД будет использована СУБД: 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 типа, администратор и обычный пользователь

Администратор имеет доступ к административной панели управления, должен иметь право удалять изменять вносить данные в следующие таблицы:

  1. Товары (основная) (goods)
  2. Товары (фотографии) (goods_photo)
  3. Категории (category)
  4. Подкатегории (subcategory)
  5. Производители (manufacturer)
  6. Заказ (общая) (order_common)
  7. Заказ (товары) (order_goods)

Администратор должен иметь возможность просматривать данные таблицы:

  1. Пользователи (user)
  2. Товары (комментарии)

Пользователи должны иметь возможноть просматривать данные следующих таблиц, отображаемых на сайте:

 

  1. Товары (основная) (goods)
  2. Товары (фотографии)  (goods_photo)
  3. Товары (комментарии)
  4. Категории  (category)
  5. Подкатегории (subcategory)
  6. Производители (manufacturer)
  7. Заказ (общая) (order_common), только заказы самого пользователя
  8. Заказ (товары) (order_goods), только заказы самого пользователя

Пользователи должны иметь право изменять данные в следующих таблицах:

  1. Заказ (общая) (order_common), только свои заказы
  2. Заказ (товары) (order_goods),только свои заказы
  3. Пользователи (user),только собственные данные(кроме email)

 

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

 

Структура базы данных интернет-магазина:

Всего таблиц: 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

email

e-mail

 

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 – ключевые слова

 

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