Общая характеристика концептуального проектирования. Особенности проектирования базы данных и структуры "Оnly for you". Расчет текущих и капитальных затрат, характеристика экономического эффекта на примере интернет-магазина женской одежды "Оnly for you".
Аннотация к работе
ER-модель, или ER-диаграмма (Entity - Relation; в русском переводе - модель «объект - отношение» или «сущность - связь») предназначена для формализованного описания предметной области на этапе концептуального проектирования базы данных. ER-модель, или ER-диаграмма (Entity - Relation; в русском переводе - модель «объект - отношение» или «сущность - связь») предназначена для формализованного описания предметной области на этапе концептуального проектирования базы данных. 59] Для интернет магазина рынка женской одежды рассмотрена предметная область, выделены сущности (вид одежды (vid), наименование одежды (clothes), покупатели (pokupatel), счет (schet) и связи между ними), для сущностей выделены атрибуты. Для СУБД MYSQL запрос будет выглядеть следующим образом: CREATE TABLE odegda (odegda_id INT(11) NOT NULL auto_increment, nazvanie VARCHAR(100) NOT NULL, opisanie VARCHAR(255) NOT NULL, strana VARCHAR(50) NOT NULL, cena INT(20) DEFAULT "0" NOT NULL, vid_id INT(11) DEFAULT "0" NOT NULL, images VARCHAR(20) NOT NULL, PRIMARY KEY (odegda_id) ); $images = mysql_result($res2,$i,"images"); //Переменной $image присваивается соответствующая картинка модели поля image. echo "Модель:$odegda_id"; //Вывести в браузер для просмотра слово Модель и соответствующий ему номер поля odegda_id. echo "Название:$nazvanie"; //Вывести в браузер слово Название и соответствующее ему название модели поля nazvanie. echo "Описание:$opisanie"; //Вывести в браузер слово Описание и соответствующее ему описание модели поля opisanie. echo "Страна происхождения:$strana"; //Вывести в браузер выражение Страна происхождения и соответствующую ему страну происхождения модели поля strana. echo "Цена:$cena руб."; //Вывести в браузер слово Цена и соответствующую ему цену модели поля cena. echo "Номер вида:$vid"; //Вывести в браузер выражение Номер вида и соответствующий ему номер модели поля vid. echo " "; // Вывести в браузер картинку из поля image, src - указывает имя графического файла с расширением*.jpg, картинки находятся в той же директории.Описание исследуемой предметной области и построение концептуальной и логической модели базы данных является неотъемлемыми этапами проектирования базы данных. Только выполнив эти этапы, можно приступать к построению физической модели базы данных. Это позволило создать динамический сайт рынка женской одежды с возможностью обработки данных хранящихся в базе данных. Коды html и php-коды сценариев пишутся в Текстовом редакторе Блокнот, php-коды сценариев встраиваются в html-страницы и сохраняются с расширением* php.CREATE TABLE odegda (odegda_id INT(11) NOT NULL auto_increment, nazvanie VARCHAR(100) NOT NULL, opisanie VARCHAR(255) NOT NULL, strana VARCHAR(50) NOT NULL, cena INT(20) DEFAULT "0" NOT NULL, vid_id INT(11) DEFAULT "0" NOT NULL, images VARCHAR(20) NOT NULL, PRIMARY KEY (odegda_id) ); INSERT INTO odegda VALUES ("3", "Платье Сиреневая волна", "Легкий полупрозрачный шифон.
Введение
проектирование база интернет магазин
Концептуальное (инфологическое) проектирование - анализ предметной области и ее описание. Этот этап осуществляется без ориентации на какие-либо конкретные программные или технические средства.
ER-модель, или ER-диаграмма (Entity - Relation; в русском переводе - модель «объект - отношение» или «сущность - связь») предназначена для формализованного описания предметной области на этапе концептуального проектирования базы данных. Модель представляет собой графическое описание предметной области с использованием стандартизированного набора обозначений. На основе ER-модели по определенным правилам строится логическая модель для реализации в конкретной СУБД.
Логическое проектирование базы данных представляет собой процесс конструирования модели информационной структуры организации, выполняемый на основе конкретной модели данных, но без учета определенной СУБД и других физических ограничений.
Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью.
Правила перевода из логической модели данных в физическую следующие: - объекты становятся таблицами в физической базе данных
- атрибуты становятся колонками (полями) в физической базе данных. Для каждого атрибута выбирается свой тип данных.
- уникальные идентификаторы становятся колонками, не допускающими значение NULL. В физической базе данных они называются первичными ключами (primary key).
Основная задача РНР-языка - интерпретация сценариев (программ) для генерации web-страниц, отсылаемых программе-клиенту (браузеру). Сценарий (скрипт) может содержать как РНР-, так и HTML-код. HTML-код пересылается в литеральном представлении, а РНР- код выполняется, и клиенту отсылается результат его работы. Таким образом, пользователь никогда не видит РНР- кода. Для полноценной работы с РНР необходимо кроме самого языка еще и web-сервер. В качестве web-сервера можно использовать Apache. Данный интернет-магазин реализуем с использованием языка гипертекстовой разметки html, языка программирования php и СУБД MYSQL. Главная часть функционирования сайта - работа с базой данных. Листинг базы данных пишется в Текстовом редакторе Блокнот и сохраняется под именем SHEMA.
Для расчета экономической эффективности необходимо осуществить: - расчет капитальных затрат;
- расчет эксплуатационных (текущих) затрат;
- расчет экономического эффекта.
1. Проектирование базы данных и структуры ЭМ «Only for you» в терминах ER - моделирования
1.1 Описание предметной области и структуры ЭМ «Only for you»
В базе данных отражается информация об определенной предметной области. Под предметной областью понимается часть реального мира, данные о которой должны отражаться в проектируемой БД. Информация, необходимая для описания предметной области, зависит от типа самой предметной области, а также от того, какую именно информацию об этой предметной области требуется хранить и обрабатывать.
В данной курсовой работе проектируется интернет-магазин женской одежды. В результате поиска были найдены следующие магазины: www.strekozashop.by, www.zean.com.ua, www.caroline.by, www.linorusso.ru.
Анализ этих Интернет магазинов показал, что на белорусском рынке уже существуют магазины женской одежды, у которых есть свои покупатели.
Для построения концептуальной модели выделяются наиболее существенные объекты, необходимые при работе магазина. В данном магазине продается женская одежда, следовательно, одним из объектов для базы данных будет сама одежда. Так как любой гардероб классифицируется по моделям, то следующим объектом базы данных будет непосредственно вид одежды. Существование магазина невозможно без покупателей, следовательно, третьим объектом базы данных моего магазина будет покупатель. Как и в любом Интернет магазине покупатель сможет выбирать товар и добавлять его в корзину, после чего, все заказанные товары формируются в заказ, и отправляется администратору, значит, необходим еще объект - счет.
Сущности Интернет магазина женской одежды: - Виды одежды (vid).
- Одежда (clothes)
- Покупатели (pocupatel).
- Заказ (schet) [1, стр.54]
1.2 Построение концептуальной модели базы данных «Only for you»
Концептуальное (инфологическое) проектирование - анализ предметной области и ее описание. Этот этап осуществляется без ориентации на какие-либо конкретные программные или технические средства.
ER-модель, или ER-диаграмма (Entity - Relation; в русском переводе - модель «объект - отношение» или «сущность - связь») предназначена для формализованного описания предметной области на этапе концептуального проектирования базы данных. Модель представляет собой графическое описание предметной области с использованием стандартизированного набора обозначений. На основе ER-модели по определенным правилам строится логическая модель для реализации в конкретной СУБД.
Модель «сущность - связь» относится к семантическим моделям. ER-модели используется для повышения эффективности и точности проектирования баз данных. Основными понятиями ER-модели являются сущность, связь и атрибут.
Сущность - это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности - это имя типа, а не некоторого конкретного экземпляра этого типа.
Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). [2, стр. 67]
Основные элементы, входящие в состав ER-моделей: - сущности (объекты) предметной области;
- связи между объектами;
- атрибуты (свойства) объектов.
В любой связи выделяются два конца (в соответствии с существующей парой связываемых сущностей), на каждом из которых указывается степень конца связи (сколько экземпляров данной сущности связывается), обязательность связи. Связь представляется в виде ромба и имени связи внутри ромба.
Атрибутом сущности является любая деталь, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности. Имена атрибутов заносятся в овал, соединенный с сущностью линией. В результате анализа предметной области были определены следующие сущности: - Виды одежды (vid).
- Одежда (clothes)
- Покупатели (pocupatel).
- Заказ (schet)
Данные сущности находятся в различных связях друг с другом.
Связи между объектами характеризуются типом связи и классом принадлежности. Основные типы связей - «один к одному» (1:1), «один ко многим» (1:?), «многие ко многим» (?:?). Класс принадлежности может быть обязательным (все объекты некоторого класса участвуют в связи с объектами некоторого другого класса) или необязательным (некоторые объекты класса могут не участвовать в связи с объектами другого класса).
Стоит теперь определить типы связей, существующих между выделенными мной сущностями. Тип связи представляет собой название связи, ее координальность в этой связи. Результат анализа представлен в таблице 1.1.
Таблица 1.1 - Типы связей между сущностями
Тип сущности Тип связи Тип сущности Координальность vid принадлежит (belong) clothes pocupatel оформляет (bill) schet clothes принадлежит(belong) schet
На следующем этапе проектирования базы данных нужно построить ER-диаграмму, отражающую основные виды сущностей и связи между ними (рис. 1.1).
Рисунок 1.1 - ER-диаграмма концептуальной модели
Выделим атрибуты сущностей.
Для этого из таблицы 1.2 выберем возможные потенциальные ключи. Затем из них выберем первичные ключи. Следует отметить, что потенциальный ключ должен обладать следующими свойствами: - уникальность - в каждом кортеже отношения его потенциальный ключ единственным образом идентифицирует это кортеж;
- неприводимость - никакое допустимое подмножество потенциального ключа не обладает свойством уникальности.
Таблица 1.2 - Атрибуты сущностей и связей
Тип сущности Атрибут Домен Обязательность clothes clothes _id Целое Да nazvanie Символьный(100) Да opisanie Символьный(255) strana Символьный(50) cena Целое vid_id Целое images Символьный(20) schet schet_id Целое Да data_oforml date pokupatel_id Целое Да pocupatel pokupatel_id Целое Да fio Символьный(50) Да address Символьный(100) Да phone Символьный(20) Да email Символьный(60) Да vid vid_id Целое Да nazvanie Символьный(50) Да Первичный ключ - это потенциальный ключ, вероятность потери уникальности которого мала по сравнению с другими потенциальными ключами. Также следует учесть то, что СУБД (системе управления базами данных) легче индексировать числовые, чем символьные ключи. На основании вышеизложенного, составим таблицу 1.3 первичных и альтернативных ключей.
1.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» в интерактивной среде интернет
2.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 ( odegda_id INT(11) NOT NULL auto_increment, nazvanie VARCHAR(100) NOT NULL, opisanie VARCHAR(255) NOT NULL, strana VARCHAR(50) NOT NULL, cena INT(20) DEFAULT "0" NOT NULL, vid_id INT(11) DEFAULT "0" NOT NULL, images VARCHAR(20) NOT NULL, PRIMARY KEY (odegda_id) );
CREATE TABLE pokupatel ( pokupatel_id INT(11) NOT NULL auto_increment, fio VARCHAR(50) NOT NULL, address VARCHAR(100) NOT NULL, phone VARCHAR(20) NOT NULL, email VARCHAR(60) NOT NULL, PRIMARY KEY (pokupatel_id) );
CREATE TABLE schet ( schet_id INT(11) NOT NULL auto_increment, data_oforml DATE DEFAULT "0000-00-00" NOT NULL, pokupatel_id INT(11) DEFAULT "0" NOT NULL, PRIMARY KEY (schet_id));
CREATE TABLE schetpok ( schetpok_id INT(11) NOT NULL auto_increment, schet_id INT(11) DEFAULT "0" NOT NULL, igrushki_id INT(11) DEFAULT "0" NOT NULL, kolvo INT(11) DEFAULT "0" NOT NULL, PRIMARY KEY (schetpok_id) );
CREATE TABLE vid ( vid_id INT(11) NOT NULL auto_increment, nazvanie VARCHAR(50) NOT NULL, PRIMARY KEY (vid_id));
В таблицы odegda и vid необходимо вставить значения полей, которые будут храниться в БД. Вставка значений в поля таблицы осуществляется с помощью команды INSERT INTO odegda VALUES и означает - вставить в таблицу odegda значения. Значения указываются в том порядке, в котором заданы поля.
Полный листинг таблиц, которые необходимо вставить в базу данных, приведен в ПРИЛОЖЕНИИ 1 Shema.
2.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" Модели одежды";
$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" $name";// Идентификатор вида передается через адресную строку; вывести на печать значения из таблицы vid полей vid_id и nazvanie, в браузере появятся названия моделей одежды и соответствующий номер модели поля vid_id; ссылка на страницу vid.php
Джинсы/брюки Платья Костюмы Трикотаж//Где номера поля vid соответствуют названиям поля nazvanie
$i ;//Увеличение шага переменной $i на 1
}
?>
При нажатии, например, на ссылку Брюки/джинсы, пользователь попадает на следующую РНР страницу vid.php. Рассмотрим сценарий, отображающий внешний вид каталога одежды, который показан на рисунке 2.3 выполняется запрос2.
Рисунок 2.3 - Внешний вид каталога одежды (страница 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 "Модель:$odegda_id"; //Вывести в браузер для просмотра слово Модель и соответствующий ему номер поля odegda_id. echo "Название:$nazvanie"; //Вывести в браузер слово Название и соответствующее ему название модели поля nazvanie. echo "Описание:$opisanie"; //Вывести в браузер слово Описание и соответствующее ему описание модели поля opisanie. echo "Страна происхождения:$strana"; //Вывести в браузер выражение Страна происхождения и соответствующую ему страну происхождения модели поля strana. echo "Цена:$cena руб."; //Вывести в браузер слово Цена и соответствующую ему цену модели поля cena. echo "Номер вида:$vid"; //Вывести в браузер выражение Номер вида и соответствующий ему номер модели поля vid. echo " "; // Вывести в браузер картинку из поля image, src - указывает имя графического файла с расширением*.jpg, картинки находятся в той же директории.
# Ссылка за форму заказа с передачей id товара # echo" Заказать";//Идентификатор модели передается через адресную строку, при нажатии на ссылку Купить пользователь попадает на страницу zakaz.php, где может оформить заказ, заполнив поля формы.
$i ;
}
?>
Рассмотрим сценарий, отображающий форму заказа одежды, который записан на странице zakaz.php.
Для оформления заказа заполните форму
Заказываемая модель одежды: Платье "Элегантность"
Для оформления заказа покупателю необходимо нажать кнопку Заказать, после чего открывается форма для оформления заказа, показанная на рисунке 2.4. При этом информация записывается в базу данных с помощью sql-оператора INSERT.
Рисунок 2.4 - Сценарий, реализующий форму заказа одежды (страница zakaz.php)
Рассмотрим сценарий, который показывает пользователю, что его заказ внесен в базу данных, который представлен на странице zakaz1.php.
Таблицы pokupatel, schet, schetpok записаны в том порядке, в котором они между собой связаны внешними ключами, поэтому функцией last_insert значение поля одной таблицы вставляется в соответствующее поле (внешний ключ) другой таблицы.
<?
$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
?>
Таким образом, на практике физическая модель базы данных была реализована с помощью средств СУБД 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"(дюймов) - Клавиатура - Мышь Коврик 1 1343,3 1343,3
Затраты на покупку программных средств отражены в таблице 3.2.
Таблица 3.2 - Затраты на приобретение программных средств
Показатель Количество, шт. Цена, тыс. руб. Стоимость, тыс. руб.
Windows Server CAL 2003 Russian 1pk DSP OEI 5 Clt User CAL (R18-01072) 1 645,6 645,6
Office Home and Business 2010 Russian CEE PC Attach Key PKC Microcase (T5D-00704) 1 774,1 774,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 тыс. руб.
Сумма начислений на заработную плату составляет: 663 17,55 = 680,55 тыс. руб.
Всего затраты на разработку и создание Web-страниц составят: 47,84 1950 680,55 = 2678,39 тыс. руб.
В прочие затраты включаем затраты на подключение к сети Internet. Интернет-провайдер «byfly» предоставляет бесплатное подключение, а также предоставляет модем в аренду бесплатно на весь срок пользования их услугами. Использован тарифный план - Домосед XXL (круглосуточный нелимитируемый доступ на скорости от сети к абоненту до 3072 Кбит/с, от абонента к сети - 512 Кбит/с). Размер абонентской платы - 100 тыс. руб. в месяц.
Итого, прочие затраты будут составлять: 100 * 2 = 200 тыс. руб.
Общая сумма капитальных затрат приведена в таблице 3.4.
Таблица 3.4 - Капитальные затраты
Статьи затрат Обозначение Величина, тыс. руб.
Затраты на первоначальный анализ и планирование Кпл 500
Затраты на приобретение технических и программных средств Кпт 4054,2
Затраты на установку и монтаж оборудования Км 79,04
Затраты на разработку и создание Web-страниц Kw 2678,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 %)
21060 * 0,34= 7160,4 тыс. руб.;
- отчисления на соцстрах (0,9%)
21060 * 0,009 = 189,54 тыс. руб.
Итого начисления на заработную плату составят: 7160,4 189,54 = 7349,94 тыс. руб.
Будем использовать хостинг предоставляемый компанией ООО «ТАЙМВЭБ». Абонентская плата за хостинг по тарифу «Century» составит 247,73 тыс. руб. в год (2400 рос. руб. по курсу НБ РБ на 20.02.2011г.).
Для доступа к сети Internet используются услуги интернет-провайдера «byfly». Абонентская плата по тарифному плану - Домосед XXL (круглосуточный нелимитируемый доступ на скорости от сети к абоненту до 3072 Кбит/с, от абонента к сети - 512 Кбит/с) составит 100 тыс. руб. в месяц .
Итого затраты на хостинг и абонентскую плату за доступ к сети Internet составят: 247,73 100 * 12 = 1447,74 тыс. руб.
Рассчитаем расходы на проводимую рекламную кампанию.
Создание баннера дизайн студией «ПЕРАМОГА» - 60 тыс. руб.;
Размещать баннеры будем на белорусском портале «TUT.BY». Стоимость с НДС 1000 динамических показов баннеров размером 468х60 рх -265 тыс.руб. и 150х150 рх - 222 тыс.руб. При размещении 7000 показов в месяц (7 заказов по 1000 шт.) в течении 12 месяцев стоимость размещения рекламы составит: (265 222) * 7 * 12 = 18913 тыс. руб.
Таким образом, расходы на рекламную кампанию составят: 60 18913 = 26965 тыс. руб.
Расходы по доставке товара покупателю включают: - амортизация автомобиля 10% в год от стоимости 32000 тыс. руб. составит 3200 тыс. руб.;
- расходы на топливо составят 3,3 * 20000 * 10 / 100 = 6600 тыс. руб. (где 3,3 тыс. руб. - стоимость топлива АИ-92 (1 литр), 20000 км - пробег автомобиля, 10 л - расход топлива на 100 км).
Итого расходы по доставке составят 3200 6600 = 9800 тыс. руб.
Затраты на расходные материалы составят 200 тыс. руб.
Результаты расчета эксплуатационных затрат по статьям приведены в таблице 3.6.
Таблица 3.6 - Расчет эксплуатационных затрат
Статьи затрат Обозначение Величина, тыс. руб.
Затраты на амортизацию За 329,31
Затраты на электроэнергию Зэл 273,24
Затраты на ремонт Зр 131,73
Затраты на оплату труда Зот 21060
Начисления на ФЗП Нд 7349,94
Затраты на оплату Internet и хостинг 3и 1447,74
Затраты на рекламу Зрк 18913
Расходы по доставке товара покупателю Здт 9800
Затраты на расходные материалы Зрм 200
Итого Зтек 59504,96
С учетом затрат на приобретение продукции (Зпп), которые составят 60000 тыс. руб., сумма эксплуатационных затрат будет равна 119504,96 тыс. руб.
3.3 Расчет экономического эффекта
Планируемая выручка (В) от продажи женской одежды рассчитана в таблице 3.7.
Таблица 3.7 - Планируемая выручка от продажи женской одежды
Ценовая категория Количество, шт. Цена, тыс. руб. Стоимость, тыс. руб.
Низкая 200 170 34000
Средняя 170 300 51000
Высокая 145 500 72500
Итого 157500
Рассчитаем налог на добавленную стоимость (НДС - 20%): 157500 * 20 / 120 = 26250 тыс. руб.
В качестве экономического эффекта выступает лишь чистая прибыль, остающаяся в распоряжении предприятия.
Рассчитаем сумму прибыли (П), из которой будет вычитаться налог на прибыль (24%): П = В - НДС - Зтек - Зпп (3.8)
П = 157500 - 26200 - 59504,96- 60000 = 11745,04 тыс. руб.
Нп = 11745,04 * 0,24 = 2818,8 тыс. руб.
Сумма чистой прибыли, остающейся в распоряжении предприятия (ЧПО), составит: ЧПО = 11745,04 - 2818,8 = 8926,24 тыс. руб.
Для расчета статического и динамического срока окупаемости необходимо определить сумму чистого денежного потока (ЧДП): ЧДП = ПЧО За (амортизация технических средств и автомобиля) (3.9)
ЧДП = 8926,24 (329,31 3200) = 12455,55 тыс. руб.
Статический срок окупаемости капитальных вложений (Т) определяем по формуле: Т = К / ЧДП (3.10)
Т = 25511,63 / 12455,55 = 2,05 года.
Для расчета динамического срока окупаемости необходимо ЧДП привести к единому времени - расчетному году путем дисконтирования его ценности данного года. Для этого используется норма дисконта Е, равная приемлемой для инвестора норме дохода на капитал, т.е. уровню доходности инвестиционных средств, который может быть обеспечен при помещении в банк, а не при использовании на данный проект. [5, стр.135]
Коэффициенты дисконтирования будем находить по формуле: L = 1 / (1 E) ^ t, (3.11) где Е - реальная норма дисконта;
t - номер года, результаты и затраты которого приводятся к расчетному.
Реальная норма дисконта рассчитывается по формуле: Е = j * h j h, (3.12) где j - ставка рефинансирования - 10,5% (с 20.09.2010г.);
h - риски по проекту - 5 %.
Е = 0,105 * 0,05 0,105 0,05 = 0,16.
Расчет экономического эффекта произведем для Е = 0,16.
Рассчитаем коэффициенты дисконтирования для Е = 0,16.
L0 = 1 - расчетный год;
L1 = 1 / (1 0,16) ^ 1 = 0,862;
L2 = 1 / (1 0,16) ^ 2 = 0,743;
L3 = 1 / (1 0,16) ^ 3 = 0,641.
Считаем, что внедрение проекта начнется с конца 2011 года.
Данные расчета экономического эффекта от внедрения интернет-магазина сводим в таблице 3.8.
То же, с учетом времени - 10736,68 9254,47 7984,01
Экономический эффект нарастающим итогом - 25511,63 -14774,95 - 5520,48 2463,73
Расчет срока окупаемости (экономический эффект нарастающим итогом) представлен на рисунке 3.1.
Рисунок 3.1 - Экономический эффект нарастающим итогом
В результате расчетов мы видим, что все затраты окупятся на третьем году работы (при норме дисконта 0,16). Причем, чем больше норма дисконта, тем медленнее затраты окупаются. Точный срок окупаемости: 5520,48 / ((5520,48 2463,73) / 12) = 8,3 мес., т.е. 2 года и 8 месяцев.
Вывод
Описание исследуемой предметной области и построение концептуальной и логической модели базы данных является неотъемлемыми этапами проектирования базы данных. Только выполнив эти этапы, можно приступать к построению физической модели базы данных.
На практике физическая модель базы данных была реализована с помощью средств СУБД MYSQL, а так же PHP. Это позволило создать динамический сайт рынка женской одежды с возможностью обработки данных хранящихся в базе данных.
Коды html и php-коды сценариев пишутся в Текстовом редакторе Блокнот, php-коды сценариев встраиваются в html-страницы и сохраняются с расширением* php. Рассмотрим сценарий, отображающий главную страницу index.php, на которой производим выборку видов товаров.
Общая сумма капитальных затрат на создание интернет магазина женской одежды составит 25511,63 тыс. руб.
С учетом затрат на приобретение продукции (Зпп), которые составят 60000 тыс. руб., сумма эксплуатационных затрат будет равна 119504,96 тыс. руб.
В результате расчетов делаем вывод о том, что все затраты окупятся на третьем году работы (при норме дисконта 0,16). Причем, чем больше норма дисконта, тем медленнее затраты окупаются. Точный срок окупаемости: 5520,48 / ((5520,48 2463,73) / 12) = 8,3 мес., т.е. 2 года и 8 месяцев.
Список литературы
1. Вишняков, В.А. Вэб-объекты и распределенная обработка в управлении: в 2 ч. Ч.2 : учеб.-методический комплекс / Владимир Анатольевич Вишняков. - Минск : Изд-во МИУ, 2010. - 212с
2. Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. : Пер. с англ. - М. : Издательский дом "Вильяме", 2003. - 1440 с. : ил..
3. MYSQL, 2-е изд.: Пер с англ. -М.: Издательский дом «Вильямс», 2004. -1056 с.: ил. -Парал. тит. англ.
4. Экономика предприятия (фирмы): учеб. пособие / под общ. ред. А. С. Пелиха. - Ростов н /Д: Феникс, 2004. - 512 с.
5. Экономика предприятия: учеб. пособие / под общ. ред. Л. Н. Нехорошевой. - Мнск: Выш. шк., 2005. - 719с.