Интернет-магазин "Компьютеры и оргтехника"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ementvidint(11)Вид каталогаnazvvarchar(50)Текстовое название товараfotovarchar(50)Путь к рисунку товараopisanietextТекстовое описание товараzenafloatЦена товара

tovar_zakaz - заказанные товары

ПолеТипФункционалОписаниеidint(11)Уникальный код новостиauto_incrementid_zakazint(11)Код заказа (заказчика)id_tovarint(11)Код товараkolint(11)Количество товараsummafloatСумма заказанного товара

user - пользователи

ПолеТипФункционалОписаниеidint(11)Уникальный код новостиauto_incrementtipint(11)Номер типа пользователя1-менеджер, 2-админloginvarchar(50)Логин пользователяfiovarchar(50)Фамилия, Имя, Отчество пользователяemailvarchar(50)Электронная почта пользователяpassvarchar(50)Пароль пользователя - временная таблица заказанных товаров

ПолеТипФункционалОписаниеidint(11)Уникальный код новостиauto_incrementid_tovarint(11)Код товараnazvvarchar(20)Название заказанного товараfirmavarchar(10)Фирма заказанного товараfotovarchar(50)Путь к фотографииopisanietextОписание заказанного товараzenafloatЦена заказанного товараkolint(11)Количество заказанного товара

zakaz - заказ и заказчик

ПолеТипФункционалОписаниеidint(11)Уникальный код новостиauto_incrementFIOvarchar(50)Фамилия, Имя, Отчество заказчикаtelvarchar(15)Телефон заказчикаemailvarchar(15)Электронная почта заказчикаdatadateДата заказаstatusvarchar(15)Статус заказаid_menint(11)Код менеджера, исполняющего заказ

3.2 Описание таблиц

 

Опишем каждую таблицу по отдельности для полного представления базы данных comp

Первая таблица razd хранит информацию о каталогах компьютеров, где порядок по которому происходит сортировка при отображении осуществляется по столбцу por.

Следующая razd2 аналогична первой, только это каталог оргтехники.

Третья таблица Товаров хранит информацию о товарах, где значение vid является показателем принадлежности товара к какому то каталогу, если 1 - к компьютерам, 2 - оргтехнике.

Далее следует талица tovar_zakaz она представляет собой таблицу заказов, объединяющей между собой заказчика и товары которые он заказал. В ней указывается количество указанного товара и ее сумма.

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

Шестая таблица является временной, то есть она создается в самом сайте при создании сессии, то есть при входе на сайт в первый раз. Это позволяет создавать временную корзину на случай если пользователь решит не заказывать, данные с корзины будут удалены. В обратном случае - данные будут переписаны в таблицу с заказами, и также таблица будет уничтожена.

Последняя таблица zakaz представляет собой набор заказчика, id данной таблицы является номером заказа и последующем номером счета. Здесь также указана дата заказа, которая задается автоматически в php, значение которого равно текущему числу, что очень удобно при контролировании заказа. Поле status указывает статус заказа: выполнен (после того как товар отгружен покупателю и все требования выполнены), выполняется (после того как менеджер резервирует данный заказ и начинает работать над его осуществлением), отменен (временное помещение заказа в хранилище, по каким либо причинам), прибыл (когда заказчик осуществил заказ, но его еще не обработали).

Данная таблица связывается с таблицей менеджеров (пользовательская таблица) по уникальному коду менеджера.

Схематически связи всех существующих таблиц мы рассмотрим далее.

 

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

 

Рисунок 1 - Структурная схема базы данных comp

 

3.4 SQL запросы на создание таблиц

 

В phpMyAdmin сформируем экспорт SQL и получаем следующий дамп базы данных в виде структур рассмотренных ранее таблиц:

-- БД: `comp`

Структура таблицы `razd`

--TABLE `razd` (

`id` int(11) NOT NULL auto_increment,

`nazv` varchar(50) NOT NULL default ,

`por` int(11) NOT NULL default 0,KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=45 ;

- Структура таблицы `razd2`TABLE `razd2` (

`id` int(11) NOT NULL auto_increment,

`nazv` varchar(50) NOT NULL default ,

`por` int(11) NOT NULL default 0,KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=43 ;

- Структура таблицы `tovar`TABLE `tovar` (

`id` int(11) NOT NULL auto_increment,

`vid` int(11) NOT NULL default 0,

`nazv` varchar(250) NOT NULL default ,

`foto` varchar(250) NOT NULL default ,

`opisanie` text NOT NULL,

`zena` float NOT NULL default 0,KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=845 ;

- Структура таблицы `tovar_zakaz`TABLE `tovar_zakaz` (

`id` int(11) NOT NULL auto_increment,

`id_zakaz` int(11) NOT NULL default 1,

`id_tovar` int(11) NOT NULL default 1,

`kol` int(11) NOT NULL default 0,

`summa` float NOT NULL default 0,KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=41 ;

- Структура таблицы `user`TABLE `user` (

`id` int(11) NOT NULL auto_increment,

`tip` int(11) NOT NULL default 1,

`login` varchar(50) NOT NULL default ,

`fio` varchar(50) NOT NULL default ,

`email` varchar(50) NOT NULL default ,

`pass` varchar(10) NOT NULL default ,KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=13 ;

- Структура таблицы `zak`TABLE `zak` (

`id` int(11) NOT NULL auto_increment,

`id_tovar` int(11) NOT NULL default 0,

`nazv` varchar(20) NOT NULL default ,

`firma` varchar(10) NOT NULL default ,

`foto` varchar(50) NOT NULL default ,

`opisanie` text NOT NULL,

`zena` float NOT NULL default 0,

`kol` int(11) NOT NULL default 0,KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;

- Структура таблицы `zakaz`TABLE `zakaz` (

`id` int(11) NOT NULL auto_increment,

`FIO` varchar(50) NOT NULL default ,

`tel` varchar(15) NOT NULL default ,

`email` varchar(15) NOT NULL default ,

`data` date NOT NULL default 0000-00-00,

`status` varchar(15) NOT NULL default поступил,

`id_men` int(11) NOT NULL default 0,KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=25 ;

4. Назначение скриптов

 

Начнем р