Разработка базы данных для
накопительных и скидочных систем в магазине продажи одежды
Содержание
Введение
Глава 1. Анализ предметной области
1.1 Общее описание предметной области "накопительная и скидочная система в магазине продажи одежды"
1.2 Описание работы системы
Глава 2. Инфологическое проектирование модели базы данных
2.1 Схема "сущность-связь". Нотация Питера Чена
2.2 Реляционная модель базы данных
Глава 3. Проектирование базы данных на языке SQL
3.1 Заполнение данных
3.2 Вывод данных для отчетности
Заключение
Список использованной литературы
Приложение
База данных - представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).
База данных - совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.
MySQL (My Structured Query Language) - это популярная система управления базами данных (СУБД), очень часто применяемая в сочетании с PHP.
Целью курсовой работы является закрепление основ и углубление знаний в области проектирования структуры базы данных, разработке и реализации модели базы данных, а также в приобретении практических навыков проектирования реляционной базы данных.
Курсовая работа состоит из введения, трех глав, заключения и списка использованной литературы.
Во введении обоснована необходимость создания базы данных, изложены цели и задачи преследуемые при проектировании, дана информация о средствах разработки.
В первой главе проведен анализ предметной области. В данной главе определяются основные понятия предметной области, необходимые для дальнейшего описания работы используемых методов.
Во второй главе решаются вопросы инфологического проектирования модели базы данных посредством создания ER-диаграммы и разработки реляционной модели. Описываются необходимый набор сущностей, отражающих предметную область и информационные потребности пользователей, а также необходимый набор атрибутов каждой сущности. Дается описание состава отношений базы данных и набора атрибутов каждого отношения.
В третьей главе происходит непосредственное проектирование базы данных путем создания выражений на языке SQL, а так же происходит создание необходимых выражений, выполняющих выборку данных из созданной базы данных и решающих поставленные задачи.
В заключении курсовой работы перечисляются и
анализируются полученные результаты, формируются выводы по результатам создания
базы данных.
Сильная конкуренция в условиях современного бизнеса диктует свои условия руководителям торговых предприятий. Продуманная дисконтная система, система скидок в магазине - это важный аргумент в конкурентной борьбе.
Что такое дисконтная система?
Дисконтная система (дисконтная политика) - это набор правил, условий, которые обуславливают способы предоставления скидок покупателям. Это методы работы с клиентами, регулирующие сам процесс передачи товара или оказания услуги, целью которых является удержание покупателя, формирование у него положительного образа вашей компании, повышение лояльности вашего клиента по отношению к вашему бизнесу, путем предоставления ему определенных выгод.
Дисконтная система. Это система (программа), в которой ведется непосредственно учет клиентов: хранится информация о совершенных покупках, личные данные и т.п., задаются условия для предоставления скидок покупателям. Функциональность дисконтной системы зависит от задач, которые ставит перед собой торговое предприятие.
Дисконтные карты. По технологии изготовления и применения дисконтные карты могут быть простым куском пластика, или содержать штрих код или магнитную полосу для считывания сканером или ридером магнитных карт. Дисконтная карта - часть имиджевой стратегии компании, на нее, как правило, наносят изображение, соответствующее корпоративному стилю.
Для запуска скидочных карт или купонов в магазине обязательно нужна программа, которая может автоматически рассчитывать скидки по карте и вести их учет! Иначе, как вы можете быть уверены, что скидка не пошла в карман продавцу? Ведь проверить сколько человек посетило магазин с карточками и получили по ним скидки вручную очень сложно.
Задачей курсовой работы является проектирование и разработка
базы данных "Накопительная и скидочная система в магазине продажи
одежды".
· Составить информацию о покупателе
· Обновление данных клиента
· Добавление нескольких размеров к одному товару
· Один товар на нескольких цветах
· Разделить товары на категории и подкатегории
· Собрать картинок товара с разных ракурсов
· Полное информация про производителей товара
· Узнать о сумме продаж
· Собрать информацию продавцов
· Внедрить дисконтную систему
· Предоставлять скидок на покупки
· Поиск товара
· Формирование чека
· Назначить размеры скидок
· Назначить тип для дисконтных карт
· Для карты "BRONZE” назначить скидку 5%
· Для карты "SILVER” назначить скидку 7%
· Для карты "GOLD” назначить скидку 10%
· Для карты "PLATINA" назначить скидку 20%
Рисунок 2.1 Нотация Питера Чена. Схема "сущность-связь"
Информационно-логическая модель отображает данные предметной области в виде совокупности информационных объектов и связей между ними. Эта модель представляет данные, подлежащие хранению в базе данных.
Сущность или информационный объект - это информационное описание некоторого реального объекта, процесса, явления или события. Сущность образуется совокупностью взаимосвязанных реквизитов, представляющих качественные и количественные характеристики предметной области.
Сущность может иметь множество реализаций - экземпляров. Например, каждый экземпляр объекта Преподаватель представляет конкретное физическое лицо. Экземпляр характеризуется совокупностью конкретных значений атрибутов и должен однозначно идентифицироваться значением ключа сущности, который может состоять из одного или нескольких ключевых атрибутов. Атрибут или несколько атрибутов, значения которых уникальным образом идентифицируют каждый экземпляр сущности, являются потенциальным ключом данной сущности. Потенциальных ключей может быть несколько. Таким образом, атрибуты подразделяются на ключевые и альтернативные. Значения каждого атрибута выбираются из соответствующего множества значений, включающего все потенциальные значения, которые могут быть присвоены атрибуту. Это множество значений называется доменом.
Исследовав предметную область, выделили следующие сущности
. Товары
. Категории
. Характеристики товара
. Картинки товара
. Производители
. Сведение о покупке
. Чек
. Продавцы
. Клиент
. Дисконт карта
. Тип дисконт карт
А так же определен перечень необходимых атрибутов для
каждой сущности и проведена их классификация:
Таблица 1
Сущность
Атрибут
Товары
Индекс Имя Цена Описание Индекс производителя
Наличие на складе фото
Категории
Индекс Индекс родителя Имя Описание фото
Характеристики товара
Индекс Индекс товара Название характеристики
Цена из за характеристики Значение характеристики
Картинки товара
Индекс Индекс товара Фото Титул
Производители
Индекс Имя Инфо Логотип Контакты Сайт Страна
Сведение о покупке
Индекс Индекс чека Индекс продукта Индекс
количество Сумма
Чек
Индекс Дата Индекс клиента Скидка Итого Индекс
продавца
Продавцы
Индекс Фамилия Имя Отчество День рождения
Телефон Адрес
Клиент
Индекс Имя Фамилия Отчество Пол День рождения
Телефон Email
Дисконт карта
Индекс Серия номер Тип Накопления Индекс
клиента
Тип дисконт карт
Индекс Имя Скидка в % Описание фото
Описание основных связей между сущностями (рисунок
2.1):
база предметная область модель
Таблица 2
№
Сущность
Связь
Сущность
Тип
1
Товары
имеет
Характеристики товара
Один ко многим
2
Товары
принадлежит
Категория
Многие к одному
3
Продавцы
отдают
Чек
Один ко многим
4
Сведение о Покупке
суммируется
Чек
Один ко многим
5
Товары
продается
Сведение о Покупке
Многие к одному
6
Товары
фотографируют
Картинки товара
Один ко многим
7
Производители
производят
Товары
Один ко многим
8
Клиент
берет
Чек
Один ко многим
9
Клиент
имеет
Дисконт карта
Один ко одному
10
Дисконт карта
принадлежит
Тип дисконт карт
Многие к одному
После создания ER-диаграммы стало возможным создание
реляционной модели базы данных, отражающей состав отношений базы данных и набор
атрибутов каждого отношения (рисунок 2.2).
Рисунок 2.2 Реляционная модель базы данных
Описание таблиц базы данных:
Таблица 3. Атрибуты таблицы "Категории"
(categories)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс категории
FK NOT NULL
parent_id
INTEGER (11)
индекс родителя
category_name
Varchar (255)
название категории
description
TEXT (255)
описание
category_image
Varchar (45)
картинка
Таблица 4. Атрибуты таблицы
"Производители" (manufacturers)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
name
Varchar (255)
название
info
Varchar (255)
информация
logo
Varchar (45)
логотип
site
Varchar (45)
web сайт
phone
Varchar (45)
телефон номер
country
Varchar (45)
страна
Таблица 5. Атрибуты таблицы "Товары"
(product)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
FK NOT NULL
manufacturer_id
Varchar (255)
производитель
name
Varchar (45)
название
description
TEXT (255)
описание
price
DECIMAL (20,2)
цена
image
Varchar (45)
картинка
quantity
INTEGER (11)
количество на складе
Таблица 6. Атрибуты таблицы "Характеристики товара"
(Product_properties)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
FK NOT NULL
product_id
INTEGER (11)
товар
property_name
Varchar (255)
название
property_value
Varchar (255)
величина, значение
property_price
DECIMAL (10,2)
цена если зависит от характеристики
Таблица 7. Атрибуты таблицы "Картинки товара"
(Product_images)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
FK NOT NULL
product_id
INTEGER (11)
товар
image
Varchar (255)
фото
title
Varchar (255)
титул
Таблица 8. Атрибуты таблицы "Товар-Категория"
(product-category)
Ограничения
Название столбцов
Тип данных
Описание
FK NOT NULL
product_id
INTEGER (11)
товар
FK NOT NULL
category_id
INTEGER (11)
категория
Таблица 9. Атрибуты таблицы "Сведение о
покупке" (purchases)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
FK NOT NULL
chek_id
INTEGER (11)
чек
FK NOT NULL
product_id
INTEGER (11)
товар
quantity
INTEGER (11)
количество
sum
DECIMAL (20,2)
сумма
Таблица 10. Атрибуты таблицы "Чек"
(chek)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
date
DATETIME
время с датой
FK NOT NULL
client_id
INTEGER (11)
клиент
discount
INTEGER (2)
скидка %
itogo
DECIMAL (20,2)
сумма
FK NOT NULL
seller_id
INTEGER (11)
продавец
Таблица 11. Атрибуты таблицы "Продавцы"
(seller)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
surname
Varchar (45)
фамилия
name
Varchar (45) lname
Varchar (45)
отчество
birthday
DATE
день рождения
phone
Varchar (45)
телефон
address
Varchar (255)
адрес
Таблица 12. Атрибуты таблицы "Клиент"
(client)
ОграниченияНазвание столбцовТип данныхОписание
PK NOT NULL
id
INTEGER (11)
индекс
surname
Varchar (45)
фамилия
name
Varchar (45)
имя
lname
Varchar (45)
отчество
sex
Varchar (45)
пол
birthday
DATE
день рождения
phone
Varchar (45)
телефон
email
Varchar (45)
почта
Таблица 13. Атрибуты таблицы "Дисконт карта"
(discount card)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
serial_number
INTEGER (30)
серия номер
FK NOT NULL
type_id
INTEGER (11)
тип
FK NOT NULL
client_id
INTEGER (11)
клиент
accumulations
DECIMAL (20,2)
накопления
Таблица 14. Атрибуты таблицы "Тип дисконт
карт" (type_dcard)
Ограничения
Название столбцов
Тип данных
Описание
PK NOT NULL
id
INTEGER (11)
индекс
name
Varchar (45)
имя
description
TEXT (255)
описание
image
Varchar (45)
фото
discount
INTEGER (2)
скидка
Таблица 15. Данные для заполнения таблицы
"product_properties"
id
product_id
property_name
property_value
property_price
1
1
size
xl
2
1
size
xll
3
2
size
l
4
2
color
red
5
3
size
xll
6
3
color
black
7
4
size
xll
8
4
color
white
9
5
size
xll
10
5
color
white
11
6
size
xll
12
6
color
white
13
7
size
xll
14
7
color
white
15
8
size
xll
16
8
color
white
17
9
size
xll
18
9
color
white
Таблица 16. Данные для заполнения таблицы
"product_images"
id
product_id
image
title
1
1
foto1
foto
2
2
foto2
foto
3
3
foto3
foto
4
1
foto1.1
foto
5
1
foto1.2
foto
6
4
foto4
foto
7
5
foto5
foto
8
5
foto5
foto
9
5
foto5
foto
"
Таблица 17. Данные для заполнения таблицы
"categories"
id
parent_id
category_name
description
category_image
1
men's
мужская одежда
1
2
woman's
женская одежда
2
3
kid's
детская одежда
3
4
1
jackets
мужской жакет
4
5
1
shirts
мужские рубашки
5
6
1
jeans
мужские брюки джинси
6
7
2
dresses
женские платя
7
8
2
sweaters
женские свитеры
8
9
2
woman_jeans
женские брюки
9
10
3
bodysuits
боди для малышей
10
11
3
jackets
детские куртки
11
12
3
sleepwear
детские ночные вещи
12
Таблица 18. Данные для заполнения таблицы
"product_category"
product_id
category_id
1
4
2
5
3
6
4
7
5
8
6
9
7
10
8
11
9
12
Таблица 19. Данные для заполнения таблицы
"manufacturers"
id
name
info
logo
site
phone
country
1
gucci
фирма gucci
logo1
www.gucci.com
99999999
Uzbekistan
2
armani
фирма армани
logo2
www.armani.com
22222222
Uzbekistan
3
versaci
фирма
logo3
www.versace.com
111111111
Uzbekistan
Таблица 20. Данные для заполнения таблицы
"client"
id
surname
fname
lname
sex
birthday
phone
email
1
scofield
michael
man
1988-01-11
+998974248220
qwert@gmail.com <mailto:qwert@gmail.com>
2
cyrus
miley
woman
1989-02-12
+998946628220
miley@gmail.com <mailto:miley@gmail.com>
3
finch
brian
man
1986-01-01
+998946418222
brian@gmail.com
4
morro
edvard
man +998973308220
morro@gmail.com
Таблица 21. Данные для заполнения таблицы
"purchases"
id
chek_id
product_id
quantity
sum
1
1
1
3
150000.00
2
2
6
2
200000.00
3
2
7
2
100000.00
4
3
8
2
160000.00
5
3
1
1
50000.00
6
4
9
1
100000.00
Таблица 22. Данные для заполнения таблицы
"product"
id
manufacturer_id
name
description
price
image
quantity
1
1
shirt t1
материал, дизайн и тд.
50000.00
photo1
10
2
2
jeans t1
материал, дизайн и тд.
80000.00
photo2
10
3
3
jacket
материал, дизайн и тд.
100000.00
photo3
10
4
2
plate
материал, дизайн и тд.
50000
photo4
10
5
2
sviter
материал, дизайн и тд.
80000
photo5
10
6
2
jeans w
материал, дизайн и тд.
100000
photo6
10
7
1
bodi kids
материал, дизайн и тд.
50000
photo7
10
8
1
jacket
материал, дизайн и тд.
80000
photo8
10
9
1
clothes
материал, дизайн и тд.
100000
photo9
10
Таблица 23. Данные для заполнения таблицы
"chek"
id
date
client_id
discount
itogo
seller_id
1
2015-01-01 00: 00: 00
1
5
100000.00
1
2
2015-01-01 00: 00: 00
2
7
300000
2
3
2015-01-01
3
10
210000
1
4
2015-01-01
4
20
100000
2
Таблица 24. Данные для заполнения таблицы
"seller"
id
surname
name
lname
birthday
phone
address
1
obidov
javlon
lname
1993-09-04
+998998048220
tashkent city, region yunusabad
2
erkinov
sardor
lname
1994-05-22
+998936664444
tashkent city, region olmazor
3
erkinov
anvar
lname
1993-10-10
+998946666666
tashkent city, region shaykhontokhur
4
gomez
selena
lname
1992-10-10
+998909999999
tashkent city, region chilonzor
Таблица 25. Данные для заполнения таблицы
"discount_card"
id
serial_number
type_id
client_id
accumulations
1
12345678
1
1
100000
2
00000001
2
2
1500000
3
00000002
3
3
5000000
4
00000003
4
4
15000000
Таблица 26. Данные для заполнения таблицы
"type_dcard"
id
name
description
image
discount
1
bronze
nominal 100000
imag1
5
2
silver
nominal 1500000
imag2
7
3
gold
nominal 5000000
imag3
10
4
platina
nominal 15000000
imag4
20
1. Информация о всех продуктах:
SELECT * FROM product;
Рисунок 3.2.1 Результат запроса №1
1. Информация о всех покупателях:
SELECT * FROM client;
Рисунок 3.2.2 Результат запроса №2
2. Запрос продуктов которых производителем является
"Armani” (id=2):
SELECT * FROM product WHERE manufacturer_id=2;
Рисунок 3.2.3 Результат запроса №3
3. Сумма покупки клиента у которого id равен 1:
SELECT itogo FROM chek WHERE client_id=1;
Рисунок 3.2.4 Результат запроса №4
4. SELECT SUM (itogo) FROM chek WHERE date BETWEEN
‘2014-01-01’ AND ‘2016-01-01’;
Рисунок 3.2.5 Результат запроса №5
5. Сумма продаж продавца которого id равен 1:SUM (itogo)
FROM chek WHERE seller_id=1;
Рисунок 3.2.6 Результат запроса №6
6. Информация о дисконтных карт с упорядочиванием по
типу карты:
SELECT * FROM discount_card ORDER BY type_card;
Рисунок 3.2.7 Результат запроса №7
7. Какой товар продался, название, сумма и количество:
SELECT product. name, sum, purchases. quantity
FROM purchases INNER JOIN product ON purchases. product_id=product. id;
Рисунок 3.2.8 Результат запроса №8
При работе над курсовым проектом была проделана работа над
исследованием предметной области, выполнено инфологическое и даталогическое
проектирование, выявлены сущности и бизнес-процессы.
Были выполнены следующие действия:
· Создана реляционная база данных и модель
"Сущность-связь", с последующим указанием связей между сущностями;
· Созданы несколько таблиц в программе MySQL
и были заполнены конкретной информацией, с помощью языка SQL;
· Выполнены несколько запросов, касающихся
вывода нужной нам информации.
На данный момент база данных отвечает всем требованиям,
предоставляемым к учебным базам данных, и практически в полной мере использует
возможности СУБД MySQL.
1. Бен
Форта "SQL". 2005.
2. Семенова
И.И. "Сборник упражнений по стандарту SQL". 2005.
. Abraham
Silberschatz, Henry F. Korth, S. Sudarshan - Database System Concepts, 6th
Edition. 2011.
. Кевин
Янк - PHP и MySQL. От новичка к профессионалу. 2013.
. Tim
Converse, Joyce Park, Clark Morgan - PHP5 and MySQL Bible. 2004.
. Л.
Аткинсон - MySQL. Библиотека профессионала. 2002.
CREATE SCHEMA IF NOT EXISTS `shop` DEFAULT CHARACTER SET
utf8;TABLE IF NOT EXISTS `shop`. `categories` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`parent_id` INT (11),
`category_name` VARCHAR (255) NOT NULL,
`description` TEXT (255) NULL DEFAULT NULL,
`category_image` VARCHAR (45) NULL DEFAULT NULL,KEY
(`id`),INDEX `id_UNIQUE` (`id` ASC),`fk_categories_categories_idx` (`parent_id`
ASC),`fk_categories_categories`KEY (`parent_id`)`shop`. `categories`
(`id`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDBCHARACTER SET = utf8;TABLE IF
NOT EXISTS `shop`. `manufacturers` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR (255) NULL DEFAULT NULL,
`info` VARCHAR (255) NULL DEFAULT NULL,
`logo` VARCHAR (45) NULL DEFAULT NULL,
`site` VARCHAR (45) NULL DEFAULT NULL,
`phone` VARCHAR (45) NULL DEFAULT NULL,
`country` VARCHAR (45) NULL DEFAULT NULL,KEY (`id`),INDEX
`id_UNIQUE` (`id` ASC))= InnoDBCHARACTER SET = utf8;TABLE IF NOT EXISTS `shop`.
`product` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`manufacturer_id` INT (11) NOT NULL,
`name` VARCHAR (45) NOT NULL,
`description` TEXT (255) NULL DEFAULT NULL,
`price` DECIMAL (20,2) NOT NULL,
`image` VARCHAR (45) NULL DEFAULT NULL,
`quantity` INT (11) NOT NULL,KEY (`id`),INDEX `id_UNIQUE`
(`id` ASC),`fk_product_manufacturers1_idx` (`manufacturer_id`
ASC),`fk_product_manufacturers1`KEY (`manufacturer_id`)`shop`. `manufacturers`
(`id`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDBCHARACTER SET = utf8;TABLE IF
NOT EXISTS `shop`. `product_properties` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`product_id` INT (11) NOT NULL,
`property_name` VARCHAR (255) NOT NULL,
`property_value` VARCHAR (255) NOT NULL,
`property_price` DECIMAL (10,2) NULL DEFAULT NULL,KEY
(`id`),INDEX `id_UNIQUE` (`id` ASC),`fk_product_properties_product1_idx`
(`product_id` ASC),`fk_product_properties_product1`KEY (`product_id`)`shop`.
`product` (`id`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDBCHARACTER SET =
utf8;TABLE IF NOT EXISTS `shop`. `product_category` (
`product_id` INT (11) NOT NULL,
`categories_id` INT (11) NOT
NULL,`fk_product_category_categories1_idx` (`categories_id`
ASC),`fk_product_category_product1_idx` (`product_id`
ASC),`fk_product_category_categories1`KEY (`categories_id`)`shop`. `categories`
(`id`)DELETE NO ACTIONUPDATE NO ACTION,`fk_product_category_product1`KEY
(`product_id`)`shop`. `product` (`id`)DELETE NO ACTIONUPDATE NO ACTION)=
InnoDBCHARACTER SET = utf8;TABLE IF NOT EXISTS `shop`. `discount_card` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`serial_number` INT (30) NOT NULL,
`type_dcard` INT (11) NOT NULL,
`client_id` INT (11) NOT NULL,
`accumulations` DECIMAL (20,2) NOT NULL,KEY (`id`),INDEX
`id_UNIQUE` (`id` ASC),`fk_discount_card_type_dcard1_idx` (`type_dcard`
ASC),`fk_discount_card_client1_idx` (`client_id`
ASC),`fk_discount_card_type_dcard1`KEY (`type_dcard`)`shop`. `type_dcard`
(`id`)DELETE NO ACTIONUPDATE NO ACTION,`fk_discount_card_client1`KEY
(`client_id`)`shop`. `client` (`id`)DELETE NO ACTIONUPDATE NO ACTION)=
InnoDBCHARACTER SET = utf8;TABLE IF NOT EXISTS `shop`. `client` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`surname` VARCHAR (45) NULL DEFAULT NULL,
`name` VARCHAR (45) NOT NULL,
`lname` VARCHAR (45) NULL DEFAULT NULL,
`sex` VARCHAR (45) NOT NULL,
`birthday` DATE NULL DEFAULT NULL,
`phone` VARCHAR (45) NOT NULL,
`email` VARCHAR (45) NULL DEFAULT NULL,KEY (`id`),INDEX
`id_UNIQUE` (`id` ASC))= InnoDBCHARACTER SET = utf8;TABLE IF NOT EXISTS `shop`.
`seller` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`surname` VARCHAR (45) NOT NULL,
`name` VARCHAR (45) NOT NULL,
`lname` VARCHAR (45) NOT NULL,
`birthday` DATE NOT NULL,
`phone` VARCHAR (45) NULL DEFAULT NULL,
`address` VARCHAR (255) NOT NULL,KEY (`id`),INDEX `id_UNIQUE`
(`id` ASC))= InnoDBCHARACTER SET = utf8;TABLE IF NOT EXISTS `shop`.
`product_images` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`product_id` INT (11) NOT NULL,
`image` VARCHAR (255) NOT NULL,
`title` VARCHAR (255) NOT NULL,KEY (`id`),INDEX `id_UNIQUE`
(`id` ASC),`fk_product_images_product1_idx` (`product_id`
ASC),`fk_product_images_product1`KEY (`product_id`)`shop`. `product`
(`id`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDBCHARACTER SET = utf8;TABLE IF
NOT EXISTS `shop`. `purchases` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`chek_id` INT (11) NOT NULL,
`product_id` INT (11) NOT NULL,
`quantity` INT (11) NOT NULL,
`sum` DECIMAL (20,2) NOT NULL,KEY (`id`),INDEX `id_UNIQUE`
(`id` ASC),`fk_purchases_product1_idx` (`product_id`
ASC),`fk_purchases_chek1_idx` (`chek_id` ASC),`fk_purchases_product1`KEY (`product_id`)`shop`.
`product` (`id`)DELETE NO ACTIONUPDATE NO ACTION,`fk_purchases_chek1`KEY
(`chek_id`)`shop`. `chek` (`id`)DELETE NO ACTIONUPDATE NO ACTION)=
InnoDBCHARACTER SET = utf8;TABLE IF NOT EXISTS `shop`. `type_dcard` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR (45) NOT NULL,
`description` TEXT (255) NULL DEFAULT NULL,
`image` VARCHAR (45) NOT NULL,
`discount` INT (2) NOT NULL,KEY (`id`),INDEX `id_UNIQUE`
(`id` ASC))= InnoDBCHARACTER SET = utf8;TABLE IF NOT EXISTS `shop`. `chek` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`date` DATETIME NOT NULL,
`client_id` INT (11) NOT NULL,
`discount` INT (2) NULL DEFAULT NULL,
`itogo` DECIMAL (20,2) NOT NULL,
`seller_id` INT (11) NOT NULL,KEY (`id`),INDEX `id_UNIQUE`
(`id` ASC),`fk_chek_seller1_idx` (`seller_id` ASC),`fk_chek_client1_idx`
(`client_id` ASC),`fk_chek_seller1`KEY (`seller_id`)`shop`. `seller`
(`id`)DELETE NO ACTIONUPDATE NO ACTION,`fk_chek_client1`KEY
(`client_id`)`shop`. `client` (`id`)DELETE NO ACTIONUPDATE NO ACTION)=
InnoDBCHARACTER SET =
utf8;SQL_MODE=@OLD_SQL_MODE;FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;INTO
`shop`. `categories` (`category_name`, `description`, `category_image`) VALUES
('men\'s', 'мужская одежда', '1');INTO `shop`. `categories` (`category_name`,
`description`, `category_image`) VALUES ('woman\'s', 'женская одежда',
'2');INTO `shop`. `categories` (`category_name`, `description`,
`category_image`) VALUES ('kid\'s', 'детская одежда', '3');INTO `shop`.
`categories` (`parent_id`, `category_name`, `description`, `category_image`)
VALUES ('1', 'jackets', 'мужской жакет', '4');INTO `shop`. `categories`
(`parent_id`, `category_name`, `description`, `category_image`) VALUES ('1',
'shirts', 'мужские рубашки', '5');INTO `shop`. `categories` (`parent_id`,
`category_name`, `description`, `category_image`) VALUES ('1', 'jeans',
'мужские брюки джинси', '6');INTO `shop`. `categories` (`parent_id`,
`category_name`, `description`, `category_image`) VALUES ('2', 'dresses',
'женские платя', '7');INTO `shop`. `categories` (`parent_id`, `category_name`,
`description`, `category_image`) VALUES ('2', 'sweaters', 'женские свитеры',
'8');INTO `shop`. `categories` (`parent_id`, `category_name`, `description`,
`category_image`) VALUES ('2', 'woman_jeans', 'женские брюки', '9');INTO
`shop`. `categories` (`parent_id`, `category_name`, `description`,
`category_image`) VALUES ('3', 'bodysuits', 'боди для малышей', '10');INTO
`shop`. `categories` (`parent_id`, `category_name`, `description`,
`category_image`) VALUES ('3', 'jackets', 'детские куртки', '11');INTO `shop`.
`categories` (`parent_id`, `category_name`, `description`, `category_image`)
VALUES ('3', 'sleepwear', 'детские ночные вещи', '12');INTO `shop`.
`manufacturers` (`name`, `info`, `logo`, `site`, `phone`, `country`) VALUES
('gucci', 'фирма gucci', 'logo1', 'www.gucci.com', '99999999',
'Uzbekistan');INTO `shop`. `manufacturers` (`name`, `info`, `logo`, `site`,
`phone`, `country`) VALUES ('armani', 'фирма армани', 'logo2',
'www.armani.com', '22222222', 'Uzbekistan');INTO `shop`. `manufacturers`
(`name`, `info`, `logo`, `site`, `phone`, `country`) VALUES ('versaci', 'фирма
', 'logo3', 'www.versace.com', '111111111', 'Uzbekistan');INTO `shop`.
`product` (`manufacturer_id`, `name`, `description`, `price`, `image`,
`quantity`) VALUES ('1', 'shirt t1', 'материал, дизайн и тд. ', '50000.00',
'photo1', '10');INTO `shop`. `product` (`manufacturer_id`, `name`,
`description`, `price`, `image`, `quantity`) VALUES ('2', 'jeans t1',
'материал, дизайн и тд. ', '80000.00', 'photo2', '10');INTO `shop`. `product`
(`manufacturer_id`, `name`, `description`, `price`, `image`, `quantity`) VALUES
('3', 'jacket', 'материал, дизайн и тд. ', '100000.00', 'photo3', '10');INTO
`shop`. `product` (`manufacturer_id`, `name`, `description`, `price`, `image`,
`quantity`) VALUES ('2', 'plate', 'материал, дизайн и тд. ', '50000.00',
'photo4', '10');INTO `shop`. `product` (`manufacturer_id`, `name`,
`description`, `price`, `image`, `quantity`) VALUES ('2', 'sviter', 'материал,
дизайн и тд. ', '80000.00', 'photo5', '10');INTO `shop`. `product`
(`manufacturer_id`, `name`, `description`, `price`, `image`, `quantity`) VALUES
('2', 'jeans w', 'материал, дизайн и тд. ', '100000.00', 'photo6', '10');INTO
`shop`. `product` (`manufacturer_id`, `name`, `description`, `price`, `image`,
`quantity`) VALUES ('1', 'bodi kids', 'материал, дизайн и тд. ', '50000.00',
'photo7', '10');INTO `shop`. `product` (`manufacturer_id`, `name`,
`description`, `price`, `image`, `quantity`) VALUES ('1', 'jacket', 'материал,
дизайн и тд. ', '80000.00', 'photo8', '10');INTO `shop`. `product`
(`manufacturer_id`, `name`, `description`, `price`, `image`, `quantity`) VALUES
('1', 'clothes', 'материал, дизайн и тд. ', '100000.00', 'photo9', '10');INTO
`shop`. `product_category` (`product_id`, `categories_id`) VALUES ('1',
'4');INTO `shop`. `product_category` (`product_id`, `categories_id`) VALUES
('2', '5');INTO `shop`. `product_category` (`product_id`, `categories_id`)
VALUES ('3', '6');INTO `shop`. `product_category` (`product_id`, `categories_id`)
VALUES ('4', '7');INTO `shop`. `product_category` (`product_id`,
`categories_id`) VALUES ('5', '8');INTO `shop`. `product_category`
(`product_id`, `categories_id`) VALUES ('6', '9');INTO `shop`.
`product_category` (`product_id`, `categories_id`) VALUES ('7', '10');INTO
`shop`. `product_category` (`product_id`, `categories_id`) VALUES ('8',
'11');INTO `shop`. `product_category` (`product_id`, `categories_id`) VALUES
('9', '12');INTO `shop`. `product_properties` (`product_id`, `property_name`, `property_value`)
VALUES ('1', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('1', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('2', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('2', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('3', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('3', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('4', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`, `property_name`,
`property_value`) VALUES ('4', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('5', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('5', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('6', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('6', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('7', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('7', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('8', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('8', 'color', 'red');INTO `shop`.
`product_properties` (`product_id`, `property_name`, `property_value`) VALUES
('9', 'size', 'XL');INTO `shop`. `product_properties` (`product_id`,
`property_name`, `property_value`) VALUES ('9', 'color', 'red');INTO `shop`.
`product_images` (`product_id`, `image`, `title`) VALUES ('1', 'foto1',
'foto');INTO `shop`. `product_images` (`product_id`, `image`, `title`) VALUES
('2', 'foto2', 'foto');INTO `shop`. `product_images` (`product_id`, `image`,
`title`) VALUES ('3', 'foto3', 'foto');INTO `shop`. `product_images`
(`product_id`, `image`, `title`) VALUES ('1', 'foto1.1', 'foto');INTO `shop`.
`product_images` (`product_id`, `image`, `title`) VALUES ('1', 'foto1.2',
'foto');INTO `shop`. `product_images` (`product_id`, `image`, `title`) VALUES
('4', 'foto4', 'foto');INTO `shop`. `product_images` (`product_id`, `image`,
`title`) VALUES ('5', 'foto5', 'foto');INTO `shop`. `product_images`
(`product_id`, `image`, `title`) VALUES ('5', 'foto5', 'foto');INTO `shop`.
`product_images` (`product_id`, `image`, `title`) VALUES ('5', 'foto5',
'foto');INTO `shop`. `type_dcard` (`name`, `description`, `image`, `discount`)
VALUES ('bronze', 'nominal 100000', 'imag1', '5');INTO `shop`. `type_dcard`
(`name`, `description`, `image`, `discount`) VALUES ('silver', 'nominal
1500000', 'imag2', '7');INTO `shop`. `type_dcard` (`name`, `description`,
`image`, `discount`) VALUES ('gold', 'nominal 5000000', 'imag3', '10');INTO
`shop`. `type_dcard` (`name`, `description`, `image`, `discount`) VALUES
('platina', 'nominal 15000000', 'imag4', '20');INTO `shop`. `client`
(`surname`, `name`, `sex`, `birthday`, `phone`, `email`) VALUES ('scofield',
'michael', 'man', '1988-01-11', '+998946628220', 'qwert@gmail.com');INTO
`shop`. `client` (`surname`, `name`, `sex`, `birthday`, `phone`, `email`)
VALUES ('cyrus', 'miley', 'woman', '1989-02-12', '+998946628220',
'qwert@gmail.com');INTO `shop`. `client` (`surname`, `name`, `sex`, `birthday`,
`phone`, `email`) VALUES ('finch', 'brian', 'man', '1986-01-01',
'+998946628220', 'qwert@gmail.com');INTO `shop`. `client` (`surname`, `name`,
`sex`, `birthday`, `phone`, `email`) VALUES ('morro', 'edvard', 'man',
'1980-01-01', '+998946628220', 'qwert@gmail.com');INTO `shop`. `discount_card`
(`serial_number`, `type_dcard`, `client_id`, `accumulations`) VALUES
('12345678', '1', '1', '100000');INTO `shop`. `discount_card` (`serial_number`,
`type_dcard`, `client_id`, `accumulations`) VALUES ('00000001', '2', '2',
'1500000');INTO `shop`. `discount_card` (`serial_number`, `type_dcard`,
`client_id`, `accumulations`) VALUES ('00000002', '3', '3', '5000000');INTO
`shop`. `discount_card` (`serial_number`, `type_dcard`, `client_id`,
`accumulations`) VALUES ('00000003', '4', '4', '15000000');INTO `shop`.
`seller` (`surname`, `name`, `lname`, `birthday`, `phone`, `address`) VALUES
('Obidov', 'Javlon', 'lname', '1993-09-04', '+998998048220', 'tashkent city,
region yunusabad');INTO `shop`. `seller` (`surname`, `name`, `lname`,
`birthday`, `phone`, `address`) VALUES ('Erkinov', 'Sardor', 'lname',
'1994-05-22', '+998998048220', 'tashkent city, region yunusabad');INTO `shop`.
`seller` (`surname`, `name`, `lname`, `birthday`, `phone`, `address`) VALUES
('Erkinov', 'Anvar', 'lname', '1993-10-10', '+998998048220', 'tashkent city,
region yunusabad');INTO `shop`. `seller` (`surname`, `name`, `lname`,
`birthday`, `phone`, `address`) VALUES ('Gomez', 'Selena', 'lname',
'1992-10-10', '+998998048220', 'tashkent city, region yunusabad');INTO `shop`.
`chek` (`date`, `client_id`, `discount`, `itogo`, `seller_id`) VALUES
('2015-01-01 00: 00: 00', '1', '5', '100000.00', '1');INTO `shop`. `chek`
(`date`, `client_id`, `discount`, `itogo`, `seller_id`) VALUES ('2015-01-01 00:
00: 00', '2', '7', '300000', '3');INTO `shop`. `chek` (`date`, `client_id`,
`discount`, `itogo`, `seller_id`) VALUES ('2015-01-01 00: 00: 00', '3', '10',
'210000', '1');INTO `shop`. `chek` (`date`, `client_id`, `discount`, `itogo`,
`seller_id`) VALUES ('2015-01-01 00: 00: 00', '4', '20', '100000', '3');INTO
`shop`. `purchases` (`chek_id`, `product_id`, `quantity`, `sum`) VALUES ('1',
'1', '3', '150000.00');INTO `shop`. `purchases` (`chek_id`, `product_id`,
`quantity`, `sum`) VALUES ('2', '6', '2', '200000.00');INTO `shop`. `purchases`
(`chek_id`, `product_id`, `quantity`, `sum`) VALUES ('2', '7', '2',
'100000.00');INTO `shop`. `purchases` (`chek_id`, `product_id`, `quantity`,
`sum`) VALUES ('3', '8', '2', '160000.00');INTO `shop`. `purchases` (`chek_id`,
`product_id`, `quantity`, `sum`) VALUES ('3', '1', '1', '50000.00');INTO
`shop`. `purchases` (`chek_id`, `product_id`, `quantity`, `sum`) VALUES ('4',
'9', '1', '100000.00');
2.2
Реляционная модель базы данных
Глава 3.
Проектирование базы данных на языке SQL
3.1
Заполнение данных
3.2 Вывод
данных для отчетности
Сумма покупок в период 2014-01-01 и 2016-01-01:
Заключение
Список
использованной литературы
Приложение