Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая ЗИНИН АС.docx
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
570 Кб
Скачать
☆

2.5 Таблица заказов

По идеи в таблицу заказов мы должны собирать следующие данные: ключ заказа, ключ покупателя, ключ способов доставки, дату заказа, ключ статуса заказа, примечание к заказу. Мы назовем таблицу заказов – orders. Она будет иметь следующую структуру:

  1. orders_id – это поле будет счетчиком и первичным ключем таблицы orders. Тип поля mediumint(50) unsigned

  2. customer_id – ключ покупателя. Тип поля mediumint(10) unsigned

  3. date – дата совершения заказа, тип поля datetime

  4. dostavka_id – ключ способа доставки, тип поля tinyint(3) unsigned

  5. status – ключ статуса заказа, тип поля tinyint(2) unsigned

Первичный ключ таблицы orders – order_id.

Теперь мы приступим непосредственно к написанию SQL кода для добавления нашей таблицы в базу данных. Выполним следующий запрос к базе данных:

CREATE TABLE IF NOT EXISTS `orders` (

`order_id` mediumint(50) unsigned NOT NULL AUTO_INCREMENT,

`customer_id` mediumint(10) unsigned NOT NULL,

`date` datetime NOT NULL,

`dostavka_id` tinyint(3) unsigned NOT NULL,

`status` tinyint(2) NOT NULL DEFAULT '0',

PRIMARY KEY (`order_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

В результате мы получили следующую структуру.

Таблица заказов

2.6 Таблица заказанных товаров

Мы создали таблицу orders, где мы сохраняем ключ заказа, ключ покупателя, ключ способов доставки, дату заказа, ключ статуса заказа. Но в таблицу orders мы не сохраняем товары, которые заказал покупатель, а это для функциональности интернет-магазина очень немаловажный момент. Мы не будем сохранять данные о заказанных товарах в таблице orders, так как это будет не очень рационально по отношению к структуре таблице и это весьма осложнить выборку данных. Для этого дела мы создадим отдельную таблицу, где мы будет собирать товары, которые заказал покупатель. Назовем эту таблицу «zakaz_tovar».

Создадим структуру таблицы:

  1. zakaz_tovar_id, - счетчик, тип данных int(10) unsigned AUTO_INCREMENT

  2. orders_id – ключ заказа, тип данных mediumint(50) unsigned

  3. goods_id – ключ товара, тип данных int(10) unsigned AUTO_INCREMENT

  4. quantity – количество заказанного товара, тип данных tinyint(3) unsigned

Поскольку в нашем интернет-магазине можно при заказе товара указать его количество мы в таблице zakaz_tovar добавили поле quantity. Теперь мы приступим к написанию SQL кода, для добавление нашей таблицы базу данных.

SQL код:

CREATE TABLE IF NOT EXISTS `zakaz_tovar` (

`zakaz_tovar_id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`orders_id` mediumint(50) unsigned NOT NULL,

`goods_id` int(10) unsigned NOT NULL,

`quantity` tinyint(3) unsigned NOT NULL,

PRIMARY KEY (`zakaz_tovar_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

В результате мы получили:

Таблица заказанных товаров

2.7 Итоги создания базы данных

В итоге мы получили нормализованную базу данных по всем стандартам нормализации, то есть нормальных форм. В итоге у нас получилось 7 таблиц это не много и не мало для базового функционала стандартного интернет-магазина. Теперь мы можем наполнить нашу базу данных временными данными и разрабатывать SQL выборки.

Схема базы данных