Помощь в написании студенческих работ
Антистрессовый сервис

Проектирование и разработка базы данных «Магазин продажи одежды»

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Для боли комфортного управленияweb сайтом предусмотрено главное меню которое отображается на всех страничках одинаково и позволяет пользователю в любой момент получить доступ любой страничке сайта. Дляперехода между страничками используются различные ссылки. Данные ссылки реагируют на различные действия такие как: нажатие клавиши мыши, наведение и отведение курсора. Главное меню будет разработано… Читать ещё >

Проектирование и разработка базы данных «Магазин продажи одежды» (реферат, курсовая, диплом, контрольная)

База данных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

База данных — совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.

Основные классификации БД:

Классификация по модели данных: иерархическая, объектная и объектно-ориентированная, объектно-реляционная, реляционная, сетевая, функциональная.

Классификация по среде постоянного хранения:

1) Во вторичной памяти, или традиционная (англ. conventionaldatabase): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) — как правило жёсткий диск.

2) В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.

3) В оперативной памяти (англ. in-memorydatabase, memory-residentdatabase, mainmemorydatabase): все данные на стадии исполнения находятся в оперативной памяти.

4) В третичной памяти (англ. tertiarydatabase): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков.

5) Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кеш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.

Классификация по содержимому: географическая, историческая, научная, мультимедийная.

В данной курсовой работе для создания и работы с БД мы используем СУБД mySqlserver. Данная СУБД относится к СУБД реляционного типа, база данных создавалась для web приложения .

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

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

Задачей курсовой работы является проектирование и разработка базы данных «Магазина продажи одежды».

Особенности:

· Введение данных в БД осуществляется с админ зоны

· У каждого товара есть разные размеры, у каждого размера есть свое количество

· Пользователь может заказать один и тот же товар в нескольких размерах

· При добавление товара в корзину из количества на складе вычитается количество заказанных

· При удалении товара из корзины обновляются данные по количеству на складе

· Один пользователь может заказать несколько товаров в одном заказе

· Заказы могут производить как зарегистрированные так и не зарегистрированные пользователи

· Зарегистрированные пользователи могут посмотреть список заказанных ими товаров

· Администратор может просматривать все заказы которые находятся в обработке

· Из админ зоны можно распечатать чек по конкретному заказу Выделим базовые сущности:

· Администратор. Атрибуты: логин, пароль, имя, дата регистрации

· Заказ. Атрибуты: №, адрес, телефон, имя заказчика, код товара, код продукта

· Пользователь. Атрибуты: логин, пароль, имя, телефон, дата регистрации

· Категория. Атрибуты: название, краткое описание, полное описание, картинка

· Товар. Атрибуты: № категории, артикул, название, краткое описание, полное описание, картинка, размер, количество Функции БД:

· Формирование чека

· Заказ товаров

· Добавление товаров в корзину

· Удаление товаров из корзины

· Регистрация пользователя

· Обновление данных пользователя

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

· Формирование списка популярных товаров

· Формирование списка товаров добавленных в течении недели

· Поиск товарам (по артикулу, названию, краткому и полному описанию)

· Формирование чека Ограничения

· Нельзя заказать товара больше чем есть на складе

· Не зарегистрированный пользователь не может просматривать товары которые были заказаны ранее Обслуживаются следующие группы пользователей

· Администратор

· Зарегистрированный пользователь

· Не зарегистрированный пользователь

2. Проектирование БД

2.1 Построение ER-диаграммы

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

Рисунок 2.1- Концептуальная модель данных На данном рисунке изображена модель предметной области «Магазин продажи одежды», состоящая из перечня взаимосвязанных понятий со своими свойствами, характеристиками и классификацией, используемых для описания данной области.

Для описания атрибутов, которыми обладают базовые сущности, и выделения ключевых сущностей составляется ER-диаграмма, изображённая на рисунке 2.2.

Рисунок 2.2- ER-диаграмма

2.2 Построение схемы реляционной модели БД в третьей нормальной форме

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

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

На отображенных ниже таблицах содержатся данные, находящиеся в третьей нормальной форме Таблица 2.1 — «Category»

id

Name

Meta_description

description

image

Докажем что она находится в 3НФ: в описанном отношении атрибут «id» является первичным ключом. От него не зависят другие поля таблицы, и с ним не существует транзитивных связей что, следовательно, доказывает нам то, что данная модель данных находится в третьей нормальной форме.

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

Таблица 2.2 — «admin_description»

email

password

name

date

ip

Таблица 2.3 — «order_info»

id

name

phone

adress

summa

Date_zakaz

Date_dostavki

status

Таблица 2.4 — «order_status»

Id

id_user

id_product

id_orderInfo

id_razmer

count

date

Таблица 2.5 — «product»

id

id_cat

article

name

meta_description

description

date

imge

price

view

Таблица 2.6 — «product_razmer»

id

Id_product

Id_razmer

count

Таблица 2.7 — «razmer»

id

name

Таблица 2.3 — «user_description»

Id

email

password

name

phone

ip

2.3 Описание физической БД

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

Таблица 2.4-Физическая модель базы данных

Содержание поля

Имя поля

Тип данных

Примечание

Admin_description

Кодадмина

id

int

Not null, auto_incriment, primery key

email

email

varchar

Not null

Пароль

password

varchar

Not null

имя

name

varchar

Not null

дата

date

date

Not null

ip

ip

varchar

Not null

Код категории

id

int

Not null, auto_incriment, primery key

название

name

varchar

Not null

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

Meta_description

text

Not null

описание

description

text

Not null

картинка

imge

varchar

Not null

Order_info

Код заказа

id

int

Not null, auto_incriment, primery key

имя

name

varchar

Not null

Телефон

Phone

varchar

Not null

адрес

Adress

varchar

Not null

сума

summa

int

Not null

Дата заказа

Date_zakaz

date

Not null

Дата доставки

Date_dostavki

Date

Not null

Статус

Status

int

Not null

Order_status

Код

Id

int

Not null, auto_incriment, primery key

Код пользователя

Id_user

int

Not null, Внешний ключ

Код продукта

Id_product

int

Not null,

Внешний ключ

Содержание поля

Имя поля

Тип данных

Примечание

код заказа

If_orderInfo

int

Not null,

Внешний ключ

Код размера

Id_razmer

int

Not null, Внешний ключ

Количество

Count

int

Not null

Дата удаления

Date

date

Not null

product

код

Id

int

Not null, auto_incriment, primery key

Код категории

Id_cat

int

Not null, Внешний ключ

Артикул

Article

int

Not null

название

Name

varchar

Not null

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

Meta_description

text

Not null

Описание

Description

text

Not null

Дата

Date

date

Not null

Картинка

Image

varchar

Not null

Цена

Price

int

Not null

Количество заказов

View

int

Not null

Product_razmer

код

Id

int

Not null, auto_incriment, primery key

Код продукта

Id_product

Int

Not null, Внешний ключ

Код размера

Id_razmer

Int

Not null, Внешний ключ

количество

Count

int

Not null

razmer

код

Id

int

Not null, auto_incriment, primery key

название

Name

varchar

Not null

User_description

Код

Id

int

Not null, auto_incriment, primery key

логин

Email

varchar

Not null

Пароль

Password

varchar

Not null

Имя

Name

varchar

Not null

Телефон

Phone

varchar

Not null

Содержание поля

Имя поля

Тип данных

Примечание

ip

Ip

varchar

Not null

2.4 Проектирование интерфейса программы

Для боли комфортного управленияweb сайтом предусмотрено главное меню которое отображается на всех страничках одинаково и позволяет пользователю в любой момент получить доступ любой страничке сайта. Дляперехода между страничками используются различные ссылки. Данные ссылки реагируют на различные действия такие как: нажатие клавиши мыши, наведение и отведение курсора. Главное меню будет разработано на основе предложенного ниже эскиза.

Рисунок 2.3 — Эскиз главного меню Данная приложение будет открываться с помощью web-браузера, и работать с хостингом (локальным). Данная база данных «Магазин продажи одежды» (odegda2) создана заранее и предназначена для хранения данных о конкретном магазине одежды.

При нажатии кнопкой мыши на пункте главная будет отоброжиться главная страница данного сайта.

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

При нажатии кнопкой мыши на пункте Весь товар будет выводиться список всех товаров.

При нажатии кнопкой мыши на пункте Контакты будет выводиться контактная информация.

При нажатии кнопкой мыши на пункте О нас будет выводиться краткие сведения о данном сайте.

3. Программная реализация продукта

3.1 Создание структуры таблиц

Таблица «admin» предназначена для авторизации администратора (является виртуальной таблицей) Рисунок 3.1 — Структура таблицы «admin»

Таблица «admin_description» предназначена для хранения данных об администраторах Рисунок 3.2 — Структура таблицы «admin_ description»

Таблица «category» предназначена для хранения списка доступных категорий Рисунок 3.3 — Структура таблицы «category»

Таблица «order_info» предназначена для хранения информации о заказе Рисунок 3.4 — Структура таблицы «order_info»

Таблица «order_status» предназначена для хранения списка заказанных товаров, количестве, размерах и пользователе заказавшем их Рисунок 3.5 — Структура таблицы «order_status»

Таблица «product» предназначена для хранения информации о товаре Рисунок 3.6 — Структура таблицы «product»

Таблица «product_razmer» предназначена для связи таблиц «product» и «razmer» и хранения информации о количестве данного размера Рисунок 3.7 — Структура таблицы «product_razmer»

Таблица «razmer» предназначена хранения данных о доступных размерах Рисунок 3.8 — Структура таблицы «razmer»

Таблица «user» предназначена для авторизации пользователя (является виртуальной таблицей) Рисунок 3.9 — Структура таблицы «user»

Таблица «user_description» предназначена для хранения данных о пользователе интерфейс база данные магазин Рисунок 3.10- Структура таблицы «userdescription»

3.2 Формирование запросов

В данном проекте для создания запросов был использован язык SQL. Некоторые запросы используют не свойственные для чистого SQL символы, причиной является использование SQL команд в языке PHP, в котором, использует свою вариацию данного языка.

Зарос по выдачи товаров находящихся в выбранной категории

mysql_query («SELECT id, name, meta_description, date, image, price FROM product WHERE id_cat='» .$_GET[" id" ]. «'»);

Данный запрос требует от пользователя выбора одной из категорий После выбора категории мы получим следующий результат:

Запрос на поиск товара по артикулу, названию, краткому и полному описанию

mysql_query («SELECT * FROM product WHERE meta_description LIKE '%» .$_POST[" search" ]. «%' OR description LIKE '%» .$_POST['search']. «%' OR name LIKE '%» .$_POST['search']. «%' ORarticleLIKE '%» .$_POST['search']. «%'»);

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

Запрос для отображение товаров, добавленных в течении недели

mysql_query («SELECT id, name, meta_descri1ption, image, price FROM product WHERE date BETWEEN '» .$date." ' AND '" .date («Y-m-d»)." ' ORDER BY date DESC");

Аналогичным образом выполняется запрос на просмотр всех товаров.

Запрос для вывода популярных товаров

mysql_query («SELECT id, name, meta_description, image, price FROM product WHERE view>3 ORDER BY view DESC»);

Выдан такой результат в связи с тем, что товар считается популярным только в том случае, если был заказан не менее 3 раз

3.3 Оформление форм для ввода и просмотра данных и отчетов

Формы служат для взаимодействия пользователя и администратора с базой данных. В данном проекте использованы только формы ввода и редактирования данных. Так же прописаны процедуры удаления, и реализован просмотр, но без взаимодействия с формами.

Для создания форм был использован язык гипертекстовой разметки HTML и каскадные таблицы стилей CSS.

Данная форма позволяет пользователю авторизироватся на сайте Группа кнопок управления:

— при нажатие происходит проверка введенных данных

— при нажатии происходит переход на страницу регистрации Группа кнопок управления:

— при нажатии происходит проверкавведены ли корректные данные, если да то происходит процедура регистрации.

Группа кнопок управления:

— при нажатии происходит процедура заказа всех товаров находящихся в корзине.

Группа кнопок управления:

— при нажатии происходит авторизация администратора и занесение его имени в cookie.

Группа кнопок управления:

— при нажатии открывается окно выбора файла

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

Форма редактирования категории идентична, но первоначальна, заполнена данными по выбранной категории

— выпадающий список существующих категорий

— при нажатии, происходит проверка, введены ли все данные, в случае если проверка прошла удачно добавляется новый товар.

Форма редактирования товара идентична, но первоначальна, заполнена данными по выбранной категории Так же при добавлении нового заказа или обновлении данных о заказе (из админ зоны) отправляются Email письма Также можно напечатать чек по любому заказу

3.4 Создание меню БД

Для создания основного меню сайта используем эскиз из пункта 2.4- Проектирование интерфейса программы.

Вход — позволяет пользователю входить на сайт под своим логином.

Регистрация — позволяет пользователю зарегистрироваться на сайте.

Популярные — в данном пункте будет выводиться список популярных товаров (товар является популярным, если его заказали 3 и более раз).

Корзина — при входе в корзину пользователь будет видеть заказанные им товары.

При выборе категории в левом меню будут отображаться товары относящиеся в данную категорию.

Вывод

В данном курсовом проекте была разработана БД «Магазин продажи одежды».

Были разработаны следуюшие таблици: «admin_description», «category», «order_info», «order_status», «product», «product_razmer», «razmer», «user_description». Для разграничения уровней пользования данными таблицами были созданы виртуальные таблицы.

В ходе разработки было создано меню для более комфортного использования БД.

В БД создано разграничение уровней доступа на 3 группы: Администратор, зарегистрированный пользователь, не зарегистрированный пользователь.

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

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

Так же администратор может распечатывать чек по конкретному заказу.

Перечень литературы

1. Государственный стандарт Украины. ДСТУ 3008−95 «Документация. Отчеты в сфере науки и техники. Структура и правила оформления»

2. ДейтК.Дж.

Введение

в системы баз данных. — Москва — Санкт-Петербург — Киев. 2001, 1071с.

3. Мартин Грабер. SQL. — К.: Ид-во «ЛОРИ», 2003. — 644с.

4. Гарсия-Молина, Гектор, Ульман, Джефри, Уидом, Дженифер. Системы баз данных. Полный курс.: Пере.санг. — М.: Издательский дом «Вильямс», 2003. — 1088с.

5. Томас М. Конноли, Каролин Е. Бегг. Базы данных. Проектирование, реализация, сопровождение. Теория и практика. — Москва — Санкт-Петербург — Киев, 2001. 1111с.

6. Глушаков С. В., Ломотько Д. В. Базы данных (Учебный курс). — Харьков, 2002. — 504с.

7. Чекалов А. П. Базы данных: от проектирования до разработки приложений. — Спб.; БХВ-Петербург, 2003. — 384с.

Приложение 1

Заполнить форму текущей работой