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

 

Введение

проектирование база интернет магазин

Концептуальное (инфологическое) проектирование - анализ предметной области и ее описание. Этот этап осуществляется без ориентации на какие-либо конкретные программные или технические средства.модель, или ER-диаграмма (Entity - Relation; в русском переводе - модель «объект - отношение» или «сущность - связь») предназначена для формализованного описания предметной области на этапе концептуального проектирования базы данных. Модель представляет собой графическое описание предметной области с использованием стандартизированного набора обозначений. На основе ER-модели по определенным правилам строится логическая модель для реализации в конкретной СУБД.

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

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

Правила перевода из логической модели данных в физическую следующие:

-объекты становятся таблицами в физической базе данных

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

-уникальные идентификаторы становятся колонками, не допускающими значение NULL. В физической базе данных они называются первичными ключами (primary key).

Основная задача РНР-языка - интерпретация сценариев (программ) для генерации web-страниц, отсылаемых программе-клиенту (браузеру). Сценарий (скрипт) может содержать как РНР-, так и HTML-код. HTML-код пересылается в литеральном представлении, а РНР- код выполняется, и клиенту отсылается результат его работы. Таким образом, пользователь никогда не видит РНР- кода. Для полноценной работы с РНР необходимо кроме самого языка ещё и web-сервер. В качестве web-сервера можно использовать Apache. Данный интернет-магазин реализуем с использованием языка гипертекстовой разметки html, языка программирования php и СУБД MySQL. Главная часть функционирования сайта - работа с базой данных. Листинг базы данных пишется в Текстовом редакторе Блокнот и сохраняется под именем SHEMA.

Для расчета экономической эффективности необходимо осуществить:

-расчет капитальных затрат;

-расчет эксплуатационных (текущих) затрат;

-расчет экономического эффекта.



1. Проектирование базы данных и структуры ЭМ «Only for you»

в терминах ER - моделирования


.1 Описание предметной области и структуры ЭМ «Only for you»


В базе данных отражается информация об определенной предметной области. Под предметной областью понимается часть реального мира, данные о которой должны отражаться в проектируемой БД. Информация, необходимая для описания предметной области, зависит от типа самой предметной области, а также от того, какую именно информацию об этой предметной области требуется хранить и обрабатывать.

В данной курсовой работе проектируется интернет-магазин женской одежды. В результате поиска были найдены следующие магазины: www.strekozashop.by, www.zean.com.ua, www.caroline.by, www.linorusso.ru.

Анализ этих Интернет магазинов показал, что на белорусском рынке уже существуют магазины женской одежды, у которых есть свои покупатели.

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

Сущности Интернет магазина женской одежды:

-Виды одежды (vid).

-Одежда (clothes)

-Покупатели (pocupatel).

-Заказ (schet) [1, стр.54]


.2 Построение концептуальной модели базы данных «Only for you»


Концептуальное (инфологическое) проектирование - анализ предметной области и ее описание. Этот этап осуществляется без ориентации на какие-либо конкретные программные или технические средства.модель, или ER-диаграмма (Entity - Relation; в русском переводе - модель «объект - отношение» или «сущность - связь») предназначена для формализованного описания предметной области на этапе концептуального проектирования базы данных. Модель представляет собой графическое описание предметной области с использованием стандартизированного набора обозначений. На основе ER-модели по определенным правилам строится логическая модель для реализации в конкретной СУБД.

Модель «сущность - связь» относится к семантическим моделям. ER-модели используется для повышения эффективности и точности проектирования баз данных. Основными понятиями ER-модели являются сущность, связь и атрибут.

Сущность - это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности - это имя типа, а не некоторого конкретного экземпляра этого типа.

Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). [2, стр. 67]

Основные элементы, входящие в состав ER-моделей:

сущности (объекты) предметной области;

связи между объектами;

атрибуты (свойства) объектов.

В любой связи выделяются два конца (в соответствии с существующей парой связываемых сущностей), на каждом из которых указывается степень конца связи (сколько экземпляров данной сущности связывается), обязательность связи. Связь представляется в виде ромба и имени связи внутри ромба.

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

-Виды одежды (vid).

-Одежда (clothes)

-Покупатели (pocupatel).

-Заказ (schet)

Данные сущности находятся в различных связях друг с другом.

Связи между объектами характеризуются типом связи и классом принадлежности. Основные типы связей - «один к одному» (1:1), «один ко многим» (1:?), «многие ко многим» (?:?). Класс принадлежности может быть обязательным (все объекты некоторого класса участвуют в связи с объектами некоторого другого класса) или необязательным (некоторые объекты класса могут не участвовать в связи с объектами другого класса).

Стоит теперь определить типы связей, существующих между выделенными мной сущностями. Тип связи представляет собой название связи, её координальность в этой связи. Результат анализа представлен в таблице 1.1.


Таблица 1.1 - Типы связей между сущностями

Тип сущностиТип связиТип сущностиКоординальностьvidпринадлежит (belong)clothespocupatelоформляет (bill)schetclothesпринадлежит(belong)schet

На следующем этапе проектирования базы данных нужно построить ER-диаграмму, отражающую основные виды сущностей и связи между ними (рис. 1.1).


Рисунок 1.1 - ER-диаграмма концептуальной модели


Выделим атрибуты сущностей.

Для этого из таблицы 1.2 выберем возможные потенциальные ключи. Затем из них выберем первичные ключи. Следует отметить, что потенциальный ключ должен обладать следующими свойствами:

уникальность - в каждом кортеже отношения его потенциальный ключ единственным образом идентифицирует это кортеж;

неприводимость - никакое допустимое подмножество потенциального ключа не обладает свойством уникальности.



Таблица 1.2 - Атрибуты сущностей и связей

Тип сущностиАтрибутДоменОбязательностьclothesclothes _idЦелоеДаnazvanieСимвольный(100)ДаopisanieСимвольный(255)stranaСимвольный(50)cenaЦелоеvid_idЦелоеimagesСимвольный(20)schetschet_idЦелоеДаdata_oformldatepokupatel_idЦелоеДаpocupatelpokupatel_idЦелоеДаfioСимвольный(50)ДаaddressСимвольный(100)ДаphoneСимвольный(20)ДаemailСимвольный(60)Даvidvid_idЦелоеДаnazvanieСимвольный(50)Да

Первичный ключ - это потенциальный ключ, вероятность потери уникальности которого мала по сравнению с другими потенциальными ключами. Также следует учесть то, что СУБД (системе управления базами данных) легче индексировать числовые, чем символьные ключи. На основании вышеизложенного, составим таблицу 1.3 первичных и альтернативных ключей.


Таблица 1.3 - Первичные и альтернативные ключи

СущностьПервичный ключАльтернативный ключclothesclothes_idnazvanie clothes_idschetschet_idschet_id pokupatel_id data_oformlpokupatelpocupatel_idfio phonevidvid_idnazvanie1.3 Построение логической модели базы данных «Only for you»


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

При построении логической модели будем использовать язык ER-диаграмм. В них сущности изображаются помеченными прямоугольниками, ассоциации - помеченными ромбами или шестиугольниками, атрибуты - помеченными овалами, а связи между ними - ненаправленными ребрами, над которыми может проставляться степень связи (1 или буква (символ), заменяющая слово "много") и необходимое пояснение.

Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. [1, стр. 59] Для интернет магазина рынка женской одежды рассмотрена предметная область, выделены сущности (вид одежды (vid), наименование одежды (clothes), покупатели (pokupatel), счёт (schet) и связи между ними), для сущностей выделены атрибуты. Разработана логическая модель будущей базы данных рынка игрушек. Так как реализация такой связи в СУБД реляционного типа затруднительна, нужно ввести новую сущность, назовём её schetpok (счёт покупателя) (рис. 1.2).


Рисунок 1.2 - Введение новой сущности schetpok

Теперь нужно построить логическую модель при использовании языка ER-диаграмм. Логическая модель должна описывать понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. ER-диаграмма логической модели базы данных приведена на рисунке 1.3


Рисунок 1.3 - ER-диаграмма логической модели базы данных Интернет магазина женской одежды


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


2.Реализация модели базы данных ЭМ «Only for you» в интерактивной среде интернет


.1 Построение физической модели базы данных «Only for you» на языке SQL средствами СУБД MySQL


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

-объекты становятся таблицами в физической базе данных

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

-уникальные идентификаторы становятся колонками, не допускающими значение NULL. В физической базе данных они называются первичными ключами (primary key). [3, стр.74]


Рис. 2.1 - Схема таблиц для базы данных Интернет-магазина женской одежды

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

Физическая модель содержит описание структур данных и организации отдельных файлов, используемых для хранения данных в запоминающих устройствах. На этом уровне осуществляется взаимодействие СУБД с методами доступа операционной системы с целью размещения данных на запоминающих устройствах, создания индексов, извлечения данных и т.д. На внутреннем уровне хранится следующая информация: сведения о распределении дискового пространства для хранения данных и индексов; описание подробностей сохранения записей (с указанием реальных размеров сохраняемых элементов данных); сведения о размещении записей; сведения о сжатии данных и выбранных методах их шифрования. [1, стр. 63]

Переведем все таблицы в SQL (язык структурированных запросов). В общем случае модели данных разрабатываются таким образом, чтобы не зависеть от конкретной базы данных. Поэтому разработанную физическую модель данных можно применить к любой СУБД. В нашем случае это будет MySQL. MySQL - компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании. В базе данных MySQL таблицы создаются с помощью sql-запроса.

Для СУБД MySQL запрос будет выглядеть следующим образом:


CREATE TABLE odegda (_id INT(11) NOT NULL auto_increment,varCHAR(100) NOT NULL,varCHAR(255) NOT NULL,varCHAR(50) NOT NULL,INT(20) DEFAULT '0' NOT NULL,_id INT(11) DEFAULT '0' NOT NULL,varCHAR(20) NOT NULL,KEY (odegda_id) );TABLE pokupatel (_id INT(11) NOT NULL auto_increment,varCHAR(50) NOT NULL,varCHAR(100) NOT NULL,varCHAR(20) NOT NULL,varCHAR(60) NOT NULL,KEY (pokupatel_id) );TABLE schet (_id INT(11) NOT NULL auto_increment,_oforml DATE DEFAULT '0000-00-00' NOT NULL,_id INT(11) DEFAULT '0' NOT NULL,KEY (schet_id));TABLE schetpok (_id INT(11) NOT NULL auto_increment,_id INT(11) DEFAULT '0' NOT NULL,_id INT(11) DEFAULT '0' NOT NULL,INT(11) DEFAULT '0' NOT NULL,KEY (schetpok_id) );TABLE vid (_id INT(11) NOT NULL auto_increment,varCHAR(50) NOT NULL,KEY (vid_id));


В таблицы odegda и vid необходимо вставить значения полей, которые будут храниться в БД. Вставка значений в поля таблицы осуществляется с помощью команды INSERT INTO odegda VALUES и означает - вставить в таблицу odegda значения. Значения указываются в том порядке, в котором заданы поля.

Полный листинг таблиц, которые необходимо вставить в базу данных, приведён в ПРИЛОЖЕНИИ 1 Shema.


.2 Разработка алгоритма работы ЭМ «Only for you» и его практическая реализация с использованием Web-интерфейса, созданного на языке программирования PHP


Кратко опишем взаимодействие web-страницы с базой данных. База данных находится локально на нашем web-сервере. На web-странице размещается форма, в которую пользователь вводит свой запрос или те данные, которые нужно передать. После отправки данных из формы на сервер последний запускает написанную нами программу с помощью РНР-языка, которая извлекает данные, переданные пользователем. Далее программа формирует запрос на языке SQL для выборки или изменения данных, а СУБД делает всё остальное. Обычно такие программы создаются в виде CGI-сценариев. Возможно, также встраивание программы прямо в HTML-страницу.

Основная задача РНР-языка - интерпретация сценариев (программ) для генерации web-страниц, отсылаемых программе-клиенту (браузеру). Сценарий (скрипт) может содержать как РНР-, так и HTML-код. HTML-код пересылается в литеральном представлении, а РНР- код выполняется, и клиенту отсылается результат его работы. Таким образом, пользователь никогда не видит РНР- кода. Для полноценной работы с РНР необходимо кроме самого языка ещё и web-сервер. В качестве web-сервера можно использовать Apache. Данный интернет-магазин реализуем с использованием языка гипертекстовой разметки html, языка программирования php и СУБД MySQL. Главная часть функционирования сайта - работа с базой данных. Листинг базы данных пишется в Текстовом редакторе Блокнот и сохраняется под именем SHEMA.

Для работы с базой данных через web-интерфейс необходимо выполнить следующую последовательность действий:

-Соединиться с сервером баз данных;

-Выбрать базу данных;

-Выполнить SQL-запрос;

-Вывести данные, полученные в результате запроса. [3, стр. 86]

Необходимо написать PHP- скрипты, встроенные в HTML - страницы и сохранить их с расширением *.php. Сами скрипты, сформированные из ряда инструкций, находятся на сервере и их содержимое посетителю Интернет магазина просмотреть невозможно. При активизации PHP- скрипта серверная программа выполняет команды php этого скрипта и результат возвращает программе-браузеру. Таким образом, посетитель Интернет магазина видит только результат выполнения программы. Соединение с сервером базой данных выполняется функцией mysql_connect("localhost","root",""); где localhost - имя узла (localhost), на котором размещается сервер MySQL, имя пользователя (root), и пароль ("") - в данном случае без пароля. При успешном соединении функция возвращает идентификатор связи с БД, а в случае неудачи - значение false.

Выбор базы данных выполняется функцией mysql_select_db("odegda_mag"); и означает «выбрать базу данных odegda_mag»; для выполнения запроса к БД используется функция: $query1="select*from vid"; - означает «выбрать из таблицы vid». Далее выполнить запрос: $res1=mysql_query($query1); т.е. функции передаётся запрос, который необходимо выполнить, при успешном выполнении функция возвращает идентификатор результата. Идентификатор результата - это ключ доступа к возвращённым запросом строкам, которых может быть ноль, одна и более: $num_vid=mysql_num_rows($res1); - сообщает количество строк, возвращённых запросом. Рассмотрим сценарий, отображающий главную страницу index.php.


Рисунок 2.2 - Внешний вид главной страницы index.php


Коды html и php-коды сценариев пишутся в Текстовом редакторе Блокнот, php-коды сценариев встраиваются в html-страницы и сохраняются с расширением* php. Рассмотрим сценарий, отображающий главную страницу index.php, на которой производим выборку видов товаров:


<?php

mysql_connect("localhost","root",""); //Открытие соединения с MySQL, где localhost - имя компьютера, root- имя пользователя, ""-без пароля

mysql_select_db("odegda_mag "); //Выбрать базу данных odegda_mag

print"<fontface=Arial size=2 color=black><b><h2>&nbsp;<center>Модели одежды</center></h2></b></font><br>";

$query1="select * from vid";//Выбрать все записи из таблицы vid

$res1=mysql_query($query1);//Получить результат на запрос1

$num_vid=mysql_num_rows($res1);//Обработка до тех пор, пока переменная $i не достигнет значений всех строк $res1

$i=0;//Переменной $i присваивается значение 0

while($i<$num_vid){//Присваивание переменной i значения, равное значению номера из таблицы vid

$vid_id=mysql_result($res1,$i,"vid_id");//Присваивание переменным значений (номер) из таблицы vid_id

$name=mysql_result($res1,$i,"nazvanie");//Присваивание переменным значений (название) из таблицы vid_id

print" &nbsp; &nbsp; <a href=vid.php?vid=$vid_id>$name</a><br>";// Идентификатор вида передается через адресную строку; вывести на печать значения из таблицы vid полей vid_id и nazvanie, в браузере появятся названия моделей одежды и соответствующий номер модели поля vid_id; ссылка на страницу vid.php

<a href="vid.php?vid=1">Джинсы/брюки</a><br> &nbsp; &nbsp; <a href="vid.php?vid=2">Платья</a> <a href="vid.php?vid=3"> Костюмы</a> <a href="vid.php?vid=4">Трикотаж</a>//Где номера поля vid соответствуют названиям поля nazvanie

$i++;//Увеличение шага переменной $i на +1

}

?>

<! Конец PHP-скрипта !>


При нажатии, например, на ссылку Брюки/джинсы, пользователь попадает на следующую РНР страницу vid.php. Рассмотрим сценарий, отображающий внешний вид каталога одежды, который показан на рисунке 2.3 выполняется запрос2.


Рисунок 2.3 - Внешний вид каталога одежды (страница vid.php)


Рассмотрим сценарий, отображающий страницу vid.php.


<?

# Создаём запрос 2 к базе данных (выбор всех товаров из выбранного ранее класса) #

$query2="select * from odegda where vid_id = '$vid'";

#Делаем запрос 2 #

$res2=mysql_query($query2);

#Получаем результат запроса 2 #

$num_row2=mysql_num_rows($res2);

#задаём счётчик цикла #

$i=0;

#Цикл выполняется до тех пор, пока не достигнет значения всех строк

while($i<$num_row2){

$odegda_id = mysql_result($res2,$i,"odegda_id"); Переменной $odegda_id присваивается соответствующий идентификационный номер поля odegda_id.

$nazvanie = mysql_result($res2,$i,"nazvanie");");//Переменной $nazvanie присваивается соответствующее название модели из поля nazvanie

$opisanie = mysql_result($res2,$i,"opisanie"); //Переменной $opisanie присваивается соответствующее описание модели из поля opisanie.

$strana = mysql_result($res2,$i,"strana"); //Переменной $strana присваивается соответствующая страна пошива модели из поля strana.

$cena = mysql_result($res2,$i,"cena"); //Переменной $cena присваивается соответствующая цена модели поля cena.

$vid_id= mysql_result($res2,$i,"vid_id"); //Переменной vid_id присваивается соответствующий идентификационный номер модели поля vid_id.

$images = mysql_result($res2,$i,"images"); //Переменной $image присваивается соответствующая картинка модели поля image.

echo "Модель:<b>$odegda_id</b><br>"; //Вывести в браузер для просмотра слово Модель и соответствующий ему номер поля odegda_id.

echo "Название:<b>$nazvanie</b><br>"; //Вывести в браузер слово Название и соответствующее ему название модели поля nazvanie.

echo "Описание:<b>$opisanie</b><br>"; //Вывести в браузер слово Описание и соответствующее ему описание модели поля opisanie.

echo "Страна происхождения:<b>$strana</b><br>"; //Вывести в браузер выражение Страна происхождения и соответствующую ему страну происхождения модели поля strana.

echo "Цена:<b>$cena руб.</b><br>"; //Вывести в браузер слово Цена и соответствующую ему цену модели поля cena.

echo "Номер вида:<b>$vid</b>"; //Вывести в браузер выражение Номер вида и соответствующий ему номер модели поля vid.

echo "<img src=$images.jpg>&nbsp;"; // Вывести в браузер картинку из поля image, src - указывает имя графического файла с расширением*.jpg, картинки находятся в той же директории.

# Ссылка за форму заказа с передачей id товара #

echo"&nbsp;&nbsp;<ahref=zakaz.php?odegda=$odegda_id>Заказать</a><br><hr size=1 color=#00099>";//Идентификатор модели передаётся через адресную строку, при нажатии на ссылку Купить пользователь попадает на страницу zakaz.php, где может оформить заказ, заполнив поля формы.

$i++;

}

?>

Рассмотрим сценарий, отображающий форму заказа одежды, который записан на странице zakaz.php.

<! Создаём форму заказа со ссылкой на файл обработки заказа !>

<h2>Для оформления заказа заполните форму</h2>

<form action=zakaz1.php method=post><!--Открывающий тег формы, form action определяет, где находится обработчик формы: zakaz1.php, и каким образом данные формы будут отправляться обработчику: методом post-->

<center><h2>Заказываемая модель одежды:</h2></center><!-- Заказываемая вещь, выравнивание по левому краю, шрифт h2-->

<font face=Arial size=2 color=blue><b><h3>&nbsp;<b> Платье "Элегантность" </h3></b></font><!--Название модели платья; шрифт Arial, размер 2, цвет шрифта синий, жирный-->

<input type=hidden name= odegda_id value="5"><!--input - для внесения информации пользователем, hidden name= odegda_id равен номеру 5 поля odegda_id - определяет скрытый элемент данных, не виден пользователем и передаётся обработчику без изменения-->

<p><h3>Заказываемая модель:<input type=text name=kolvo size=1><!--Ввод строки артикула заказываемой модели -->

<p><h3>ФИО:<input type=text name=fio><br><!--Ввод строки Фамилия-имя-отчество заказчика одежды -->

<h3>Адрес:<textarea name=address cols=25 rows=2></textarea><!--Окно ввода адреса заказчика для доставки одежды -->

<h3>Телефон:<input type=text name=phone><!--Ввод строки контактного номера телефона заказчика одежды -->

<h3>Электронный адрес:<input type=text name=email><!--Ввод строки электронного адреса заказчика одежды -->

<input type=submit value="Заказать"><!--Кнопка "Заказать", при нажатии на которую запускается процесс передачи информации из формы обработчику-->

<input type=reset value="Очистить"><!--Кнопка "Очистить", при нажатии на которую очищаются поля формы-->

</form><!--Закрывающий тег формы-->


Для оформления заказа покупателю необходимо нажать кнопку Заказать, после чего открывается форма для оформления заказа, показанная на рисунке 2.4. При этом информация записывается в базу данных с помощью sql-оператора INSERT.


Рисунок 2.4 - Сценарий, реализующий форму заказа одежды (страница zakaz.php)


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

Таблицы pokupatel, schet, schetpok записаны в том порядке, в котором они между собой связаны внешними ключами, поэтому функцией last_insert значение поля одной таблицы вставляется в соответствующее поле (внешний ключ) другой таблицы.


<! Начало PHP-скрипта !><?

$query2="insert into pokupatel values ('','$fio','$address','$phone','$email')";// Запрос2=вставить в таблицу pokupatel значения: '' - идентификационный номер модели ; '$fio' - в переменную $fio вставить Фамилию-имя-отчество покупателя одежды; '$address' - в переменную $address вставить адрес покупателя одежды; '$phone' - в переменную $phone вставить номер телефона; '$email' - в переменную $email вставить адрес электронной почты.

$res2=mysql_query($query2);// Запрос, который необходимо выполнить

$last_insert=mysql_insert_id();//Определяем последний присвоенный id

$data_oforml=date("y-m-d");//Дата оформления заказа заносится в переменную $data_oforml и записывается в порядке ("y-m-d"), где "y"(год) 4 символа, "m"(месяц) 2 символа, "d"(день) 2 символа, например, 2010.08.06

$query3="insert into schet values ('','$data_oforml','$last_insert')";//Запрос3=вставить в таблицу schet значения: ''- номер счёта; '$data_oforml'- в переменную $data_oforml вставить дату оформления заказа модель одежды; '$last_insert' - соответствует полю pokupatel_id (является внешним ключом) и означает: вставить номер покупателя из таблицы pokupatel.

$res3 = mysql_query($query3);// Запрос, который необходимо выполнить

$last_insert = mysql_insert_id();//Определяем последний присвоенный id

$query4="insert into schetpok values ('','$last_insert','$odegda_id','$kolvo')";// Запрос4=вставить в таблицу schetpok значения: '' - номер счёта покупателя; '$last_insert' - соответствует полю schet_id (является внешним ключом) и означает: вставить номер счёта из таблицы schet; $odegda_id - в переменную $odegda_id вставить идентификационный номер заказанной модели; '$kolvo' - в переменную $kolvo вставить количество заказанных моделей одежды.

$res4 = mysql_query($query4);//Делаем запрос 4

?>

<! Конец PHP-скрипта !>


Таким образом, на практике физическая модель базы данных была реализована с помощью средств СУБД MySQL, а так же PHP. Это позволило создать динамический сайт рынка женской одежды с возможностью обработки данных хранящихся в базе данных.



3. Обоснование и расчеты экономической эффективности разработки и внедрения интернет-магазина женской одежды ЭМ «Only for you»

»


Для расчета экономической эффективности необходимо осуществить:

-расчет капитальных затрат;

-расчет эксплуатационных (текущих) затрат;

-расчет экономического эффекта.


3.1 Расчет капитальных затрат


Единовременные затраты на создание электронного магазина включают следующие статьи затрат:

-затраты на первоначальный анализ и планирование;

-затраты на приобретение технических средств;

-затраты на приобретение программных средств;

-затраты на установку и монтаж оборудования;

-затраты на разработку и создание Web-страниц;

-прочие затраты. [4, стр. 213]

Затраты на первоначальный анализ и планирование составят: 500 тыс.руб. (заработная плата специалисту за проведенный анализ и планирование)


Таблица 3.1 - Затраты на приобретение технических средств

ПоказательКоличество,шт.Цена, тыс. руб.Стоимость, тыс. руб.Компьютер офисный с монитором на базе процессора AMD Athlon X2 2300: - Процессор (CPU): AMD Athlon X2 2300 - Оперативная память (RAM): 1GB DDR3 (1024MB) - Жесткий диск (HDD): 500GB - Оптический привод: DVD-RW - Корпус (Case): Блок питания 350W - Монитор: 19"(дюймов) - Клавиатура - Мышь + Коврик11343,31343,3Устройство: принтер/сканер/копир/факс11220,91220,9Колонки Genius SP-M120 Black-Grey139,739,7Сетевой фильтр Defender ЕS, 5 м130,630,6Итого2634,5

Затраты на покупку программных средств отражены в таблице 3.2.


Таблица 3.2 - Затраты на приобретение программных средств

ПоказательКоличество, шт.Цена, тыс. руб.Стоимость, тыс. руб.Windows Server CAL 2003 Russian 1pk DSP OEI 5 Clt User CAL (R18-01072)1645,6645,6Office Home and Business 2010 Russian CEE PC Attach Key PKC Microcase (T5D-00704)1774,1774,1Итого1419,7

В сумме затраты на приобретение технических и программных средств составят 2634,5 + 1419,7 = 4054,2 тыс.руб.

Затраты на установку и монтаж определяется по общепринятым нормативам, в процентах от стоимости технических средств. Норматив затрат = 3%.

Км = 0,03 * 2634,5 = 79,04 тыс. руб.

Затраты на разработку и создание Web-страниц подразделяются по следующим статьям:

-затраты на потребляемую электроэнергию;

-расходы на оплату труда (основная и дополнительная заработная плата);

-начисления на заработную плату.

В табл. 3.3 приведены исходные данные, необходимые для расчета затрат на разработку и создание Web-страниц.


Таблица 3.3 - Данные для расчета затрат на разработку Web-страниц

ПоказательОбозначениеЕд. изм.ЗначениеСтоимость 1 кВт электроэнергииЦтыс. руб.0,443Потребляемая мощность ПЭВММкВт0,3 Время работы одной ПЭВМ в деньtч8Продолжительность разработкиТрмесяц2Продолжительность разработкиФэдни45Заработная плата одного работниказ/птыс. руб.750Норматив дополнительной з/пНд%30Численность работниковЧчел.1

Затраты на потребляемую электроэнергию определим по формуле:


Зэл = Ц * М * Тр * t,(3.1)


где Ц - стоимость 1 кВт электроэнергии;

М - потребляемая мощность одной ПЭВМ;

t - время работы одной ПЭВМ в день;

Тр - продолжительность разработки.

Разработка будет осуществляться в ноябре и декабре.


Фэ = Дм - Дв,(3.2)


где Дм - количество дней в ноябре и декабре;

Дв - количество выходных и праздничных дней.


Фэ = 61 - 16= 45.


Тогда, затраты на потребляемую электроэнергию будут равны:

Зэл = 45 * 8 * 0,3 * 0,443 = 47,84 тыс. руб.

Затраты по оплате труда определяем по формуле:


Зот = (з/п + з/п * Нд) * Тр * Ч.(3.3)


Зот = (750 + 750 * 0,3) * 2 * 1 = 1950 тыс. руб.

Отчислениями с заработной платы являются:

-отчисления в фонд социальной защиты населения (34 %);

1950 * 0,34 = 663 тыс. руб.

-отчисления на соцстрах (0,9%);

1950 * 0,009 = 17,55 тыс. руб.

Сумма начислений на заработную плату составляет:

+ 17,55 = 680,55 тыс. руб.

Всего затраты на разработку и создание Web-страниц составят:

,84 + 1950 + 680,55 = 2678,39 тыс. руб.

В прочие затраты включаем затраты на подключение к сети Internet. Интернет-провайдер «byfly» предоставляет бесплатное подключение, а также предоставляет модем в аренду бесплатно на весь срок пользования их услугами. Использован тарифный план - Домосед XXL (круглосуточный нелимитируемый доступ на скорости от сети к абоненту до 3072 Кбит/с, от абонента к сети - 512 Кбит/с). Размер абонентской платы - 100 тыс. руб. в месяц.

Итого, прочие затраты будут составлять:

* 2 = 200 тыс. руб.

Общая сумма капитальных затрат приведена в таблице 3.4.


Таблица 3.4 - Капитальные затраты

Статьи затратОбозначениеВеличина, тыс. руб.Затраты на первоначальный анализ и планированиеКпл500Затраты на приобретение технических и программных средствКпт4054,2Затраты на установку и монтаж оборудованияКм79,04Затраты на разработку и создание Web-страницKw2678,39Прочие затратыКпр200Затраты на приобретение автомобиляКам32000ИтогоК25511,63

Общая сумма капитальных затрат на создание интернет магазина женской одежды составит 25511,63 тыс. руб.


3.2 Расчет текущих затрат


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

-амортизационные отчисления;

-затраты на потребляемую электроэнергию;

-затраты на послегарантийный ремонт оборудования.

-затраты на оплату труда;

-начисления на заработную плату;

-затраты на хостинг и абонентскую плату за доступ к сети Internet;

-расходы на проведение рекламной кампании;

-расходы по доставке товара покупателю;

-затраты на покупку товаров. [5, стр. 116]

Расчет амортизационных отчислений производится по формуле:


За = Кп * На,(3.4)

где За - сумма амортизационных отчислений;

Кп - затраты на приобретение оборудования;

На - норма амортизации.

Норма амортизации определяется по формуле:


На = 1 / Т * 100%,(3.5)


где Т - срок полезного использования оборудования.

При Т = 8 лет норма амортизации равна:

На = 1 /8 * 100% = 12,5%.

Сумма амортизационных отчислений составит:

За = 2634,5 * 0,125 = 329,31 тыс. руб.

Затраты на потребляемую электроэнергию определим по формуле:


Зэл = Ц * М * t * Фэ,(3.6)


где Ц - стоимость 1 кВт электроэнергии (0,443 тыс. руб.),

М - потребляемая мощность ПЭВМ (0,3 кВт),

t - время работы в день (8 ч),

Фэ - годовой фонд времени (257 дней).

Зэл = 0,443 * 0,3 * 8 * 257 = 273,24 тыс. руб.

Норматив затрат на послегарантийный ремонт оборудования составит 5% от стоимости оборудования:

Зр = 2634,5 * 0,05 = 131,73 тыс. руб.

Затраты на оплату труда (менеджер и водитель-курьер) определим по формуле, используя данные таблицы 3.5:

Зот = ( з/п + з/п * Нд) * 12 * Ч.(3.7)


Таблица 3.5 - Исходные данные для расчета затрат на оплату труда

ПоказательОбозначениеЕдиница измеренияЗначениеКоличество работниковЧЧел.2З/п одного работника (менеджер)з/птыс. руб.750З/п одного работника (водитель-курьер)з/птыс. руб.600Норма доплаты к з/пНд%30

Итого затраты на оплату труда составляют:

Зот1 = (750 + 750 * 0,3) * 12 * 1 = 11700 тыс. руб.

Зот2 = (600 + 600 * 0,3) * 12 * 1 = 9360 тыс. руб.

Итого Зот = 11700 + 9360 = 21060 тыс. руб.

Определим начисления на заработную плату:

отчисления в фонд социальной защиты населения (34 %)

* 0,34= 7160,4 тыс. руб.;

отчисления на соцстрах (0,9%)

* 0,009 = 189,54 тыс. руб.

Итого начисления на заработную плату составят:

,4 + 189,54 = 7349,94 тыс. руб.

Будем использовать хостинг предоставляемый компанией ООО «ТаймВэб». Абонентская плата за хостинг по тарифу «Century» составит 247,73 тыс. руб. в год (2400 рос. руб. по курсу НБ РБ на 20.02.2011г.).

Для доступа к сети Internet используются услуги интернет-провайдера «byfly». Абонентская плата по тарифному плану - Домосед XXL (круглосуточный нелимитируемый доступ на скорости от сети к абоненту до 3072 Кбит/с, от абонента к сети - 512 Кбит/с) составит 100 тыс. руб. в месяц .

Итого затраты на хостинг и абонентскую плату за доступ к сети Internet составят:

,73 + 100 * 12 = 1447,74 тыс. руб.

Рассчитаем расходы на проводимую рекламную кампанию.

Создание баннера дизайн студией «ПЕРАМОГА» - 60 тыс. руб.;


Введение проектирование база интернет магазин Концептуальное (инфологическое) проектирование - анализ предметной области и ее описание. Этот этап осуществ

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ