Автор работы: Пользователь скрыл имя, 08 Ноября 2015 в 10:59, курсовая работа
Целью курсовой работы является развитие навыков по практическому использованию технологии распределённых баз данных для организации бизнеса в секторе сетевой экономики посредством языка программирования РНР, проектирование и реализация электронного магазина и базы данных рынка принтеров.
Для достижения поставленной цели в работе ставятся следующие задачи:
- изучить язык написания скриптов PHP для доступа к базам данных;
- проанализировать предметную область интернет-магазинов принтеров;
- спроектировать базу данных рынка принтеров;
- реализовать спроектированную базу данных средствами СУБД MySQL и языка программирования РНР в интерактивной среде Интернет.
- рассчитать эффективность создания сайта.
ВВЕДЕНИЕ 5
1 ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ МАГАЗИНА ПРИНТЕРОВ В ТЕРМИНАХ ER-МОДЕЛИРОВАНИЯ 6
1.1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ МАГАЗИНА ПРИНТЕРОВ 6
1.2 ПОСТРОЕНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ БАЗЫ ДАННЫХ 7
1.3 ПОСТРОЕНИЕ ЛОГИЧЕСКОЙ МОДЕЛИ ДАННЫХ 10
2 РЕАЛИЗАЦИЯ МОДЕЛИ БАЗЫ ДАННЫХ МАГАЗИНА ПРИНТЕРОВ В ИНТЕРАКТИВНОЙ СРЕДЕ ИНТЕРНЕТ 13
2.1 ПОСТРОЕНИЕ ФИЗИЧЕСКОЙ МОДЕЛИ ДАННЫХ НА ЯЗЫКЕ SQL СРЕДСТВАМИ СУБД MYSQL 13
2.2 РЕАЛИЗАЦИЯ ПРОЕКТИРУЕМОЙ СХЕМЫ БАЗЫ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ WEB-ИНТЕРФЕЙСА, СОЗДАННОГО НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PHP 16
3 РАСЧЕТ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ЭЛЕКТРОННОГО МАГАЗИНА ПРИНТЕРОВ 27
3.1 РАСЧЕТ КАПИТАЛЬНЫХ ВЛОЖЕНИЙ 27
3.2 РАСЧЕТ ЭКСПЛУАТАЦИОННЫХ РАСХОДОВ 28
3.3 РАСЧЕТ ЭКОНОМИЧЕСКОГО ЭФФЕКТА 30
ЗАКЛЮЧЕНИЕ 36
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 37
ПРИЛОЖЕНИЕ 1 38
ПРИЛОЖЕНИЕ 2 42
ПРИЛОЖЕНИЕ 3 45
ПРИЛОЖЕНИЕ 4 48
ПРИЛОЖЕНИЕ 5 52
ПРИЛОЖЕНИЕ 6 58
ПРИЛОЖЕНИЕ 7 62
В нашем случае присутствует связь (goods принадлежит(belong) orders). Так как реализация такой связи в СУБД реляционного типа затруднительна, нужно ввести новую сущность, назовем ее orderbook.
Приведем логическую модель базы данных с учетом введения новой сущности.
Логическая модель базы данных приведена на рисунке 1.3.
Рисунок 1.3 – ER-диаграмма логической модели базы данных магазина
В данной главе был проведен анализ процесса разработки базы данных, который состоял из следующих этапов:
Физически спроектированную модель рынка принтеров реализуем с помощью языка SQL во второй главе.
Теперь приступим к физическому проектированию базы данных. Любая база данных состоит из таблиц (отношений), поэтому теперь наша задача построить таблицы основываясь на логической модели базы данных. Правила перевода из логической модели данных в физическую следующие (рисунок 2.1):
Рисунок 2.1 – Схема таблиц для базы данных магазина
Теперь у нас есть схема таблиц базы данных (рисунок 2.1), теперь нужно перевести все эти таблицы в SQL (язык структурированных запросов). В общем случае модели данных разрабатываются таким образом чтобы не зависеть от конкретной базы данных. Поэтому разработанную физическую модель данных можно применить к любой СУБД. В нашем случае это будет MySQL. MySQL – компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании. В базе данных MySql таблицы создаются с помощью sql-запроса.
// Создание таблицы
CREATE TABLE `buyers` (
// Создание строк в таблице
`buyer_id` int(10) NOT NULL auto_increment,
`buyer_name` varchar(100) NOT NULL default '',
`buyer_phone` varchar(20) NOT NULL default '',
`buyer_address` varchar(100) NOT NULL default '',
// Задаем ключевое поле таблицы
PRIMARY KEY (`buyer_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
// Создание таблицы
CREATE TABLE `classes` (
// Создание строк в таблице
`class_id` int(10) NOT NULL auto_increment,
`class_name` varchar(255) NOT NULL default '',
// Задаем ключевое поле таблицы
PRIMARY KEY (`class_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
// Вставляем в таблицу значения
INSERT INTO `classes` VALUES (1, 'Hewlett-Packard');
INSERT INTO `classes` VALUES (2, 'Samsung');
INSERT INTO `classes` VALUES (3, 'Canon');
// Создание таблицы
CREATE TABLE `goods` (
// Создание строк в таблице
`good_id` int(10) NOT NULL auto_increment,
`good_name` varchar(50) NOT NULL default '',
`description` varchar(255) NOT NULL default '',
`class_id` int(10) NOT NULL default '0',
`good_price` int(10) NOT NULL default '0',
`image` varchar(20) NOT NULL default '',
// Задаем ключевое поле таблицы
PRIMARY KEY (`good_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
// Вставляем в таблицу значения
INSERT INTO `goods` VALUES (1, 'Лазерный принтер HP LaserJet P1005', 'Скорость печати (чёрно-белая, обычное качество, A4)', 1, 140, '1.jpg');
INSERT INTO `goods` VALUES (2, 'Лазерный принтер HP LaserJet P2005', 'Монохромный лазерный принтер для индивидуального использования дома или в небольшом офисе.', 1, 145, '2.jpg');
INSERT INTO `goods` VALUES (3, 'Лазерный принтер Samsung ML-2010PR', 'Ресурс: 5000 страниц в месяц Процессор: 150 МГц Первая страница: 10 секунд Типы печатных носителей: Бумага, конверты, наклейки,', 2, 130, '3.jpg');
INSERT INTO `goods` VALUES (4, 'Samsung SCX-4200', 'МФУ A4, принтер/копир/сканер,до18стр/
INSERT INTO `goods` VALUES (5, 'Canon LBP-2900b Bl', 'Монохромный лазерный принтер для индивидуального использования дома или в небольшом офисе', 3, 145, '5.jpg');
INSERT INTO `goods` VALUES (6, 'Samsung ML-2015', 'Лазерный принтер A4, 1200 dpi, 20ppm, 8 Mb, USB/LPT', 2, 120, '6.jpg');
// Создание таблицы
CREATE TABLE `orderbook` (
// Создание строк в таблице
`position_id` int(10) NOT NULL auto_increment,
`order_id` int(10) NOT NULL default '0',
`good_id` int(10) NOT NULL default '0',
`quantity` int(10) NOT NULL default '0',
// Задаем ключевое поле таблицы
PRIMARY KEY (`position_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
// Создание таблицы
CREATE TABLE `orders` (
// Создание строк в таблице
`order_id` int(10) NOT NULL auto_increment,
`order_date` date NOT NULL default '0000-00-00',
`buyer_id` int(10) NOT NULL default '0',
// Задаем ключевое поле таблицы
PRIMARY KEY (`order_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
Наш интернет-магазин реализуем с использованием языка гипертекстовой разметки html, языка программирования php и СУБД MySQL.
Главная часть функционирования сайта – работа с базой данных.
Для работы с базой данных через web-интерфейс необходимо выполнить следующую последовательность действий:
Исходные коды сценариев находятся в приложениях.
Вид главной страницы показан на рисунке 2.2.
Рассмотрим сценарий отображающий главную страницу. Исходные коды сценариев находятся в приложениях. Одной из главных частей работы является работа с базой данных.
Рисунок 2.2 - Главная страница Интернет-магазина
Рассмотрим построение вэб-интерфейса приведенной страницы. Остальные страницы построены аналогично.
Сайт был разработан в текстовом редакторе «Блокнот». Была сформирована HTML страничка с PHP кодом и сохранена с расширением *.php.
Страницы сайта были созданы используя теги. Основные элементы форматирования, используемые на сайте это:
<HTML>
<HEAD>
<TITLE>Сайт по продаже принтеров</TITLE>
<style type="text/css">
<!--
body {background-color: #FFFFFF;}
.style3 {font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 16px;}
.style4 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style5 {color: #CCFF00; font-weight: bold;}
.style8 {color: #CCFFFF}
.style9 {color: #CCFFFF; font-weight: bold; font-size: 14px; }
.style11 {color: #FFFFCC; font-weight: bold; font-size: 14px; }
.style12 {color: #FFFFCC}
.style15 {font-family: Verdana, Arial, Helvetica, sans-serif; color: #CC00FF; font-size: 24px; font-weight: bold;}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></HEAD>
<body>
<p align="center">
<a href="counter.php"></a></p>
<table width="90%" border="0" align="center">
<tr>
<td width="213" bgcolor="#CCFFFF"><div align="center" class="style15">Магазин принтеров </div></td>
<td colspan="2" align="center" bgcolor="#99FF00"></td>
</tr>
<tr>
<td valign="top"
bgcolor="#66FFFF"><p class="style5"><span
class="style8"></span></p>
<p><span class="style9"><a href="index.php" class="style4">ГЛАВНАЯ</a></
<p><span class="style9"><a
href="about.php" class="style4">О МАГАЗИНЕ</a><
<p><span class="style11"><a href="vid.php?Vid=1" class="style4">КАТАЛОГ ПРОДУКЦИИ</a></span></p></td>
<td width="70%" bgcolor="#FFFF66"><p align="center" class="style3">Вот уже 8 лет «КопТех – Принтеры» работает для вас на белорусском рынке принтеров. Ассортимент принтеров нашей компании, представлен тремя ведущими фирмами-производителями, которые на сегодняшний день являются одной из крупнейшей мировой корпорацией Konica Minolta. Используя наше обширное предложение по принтерам, Вы всегда сможете выбрать для себя наиболее подходящую модель по таким параметрам как: </p>
<p><strong>- функциональность;</strong></p>
<p><strong>- надёжность;</strong></p>
<p><strong>- цена.</strong></p>
<div align="justify">Благодарим Вас за посещение нашего сайта и надеемся на дальнейшую взаимовыгодную и плодотворную работу.
</div>
<p align="center" class="style3"> </p>
<p align="center" class="style3"> </p>
<p align="center" class="style3"> </p>
<p align="center" class="style3"> </p>
<p align="center" class="style3"><br>
<br>
</p></td>
<td width="91" valign="top" bgcolor="#9999FF"><div align="center">
<p><b>
</b></p>
</div> <span class="style12"></span></td>
</tr>
</table>
</BODY>
</HTML>
Далее рассмотрим вывод каталога продукции на сайте с использованием php. (рисунок 2.3.)
Рисунок 2.3 - Каталог Интернет-магазина
Чтобы работать с базой данных нужно выполнить несколько действий:
$i = 0;
while ($i < $Num_vid){
$Vid_id = mysql_result($Rezalt, $i, "vid_id");
$Nazvanie = mysql_result($Rezalt, $i, "nazvanie");
print "<P><H3><A HREF=\"vid1.php?Vid=$Vid_id\">
В результате получим следующий скрипт PHP отвечающий за вывод данных из базы:
<?php
// Соединяемся с базой данных
$soed=mysql_connect("
// Выбираем базу данных
mysql_select_db("Printer", $soed);
// Создаем запрос
$Zapros = "select * from vid";
// Получаем данные из базы данных
$Rezalt = mysql_query($Zapros,$soed);
// Считаем количество записей в массиве
$Num_vid = mysql_num_rows($Rezalt);
// Задаем значение переменной равной 0
$i = 0;
// Выводим информацию пока
while ($i < $Num_vid){
// Выводим результат запроса
$Vid_id = mysql_result($Rezalt, $i, "vid_id");
// в переменную $Vid_id заносим значение поля vid_id текущей строки
$Nazvanie = mysql_result($Rezalt, $i, "nazvanie");
// в переменную $Nazvanie заносится значение поля nazvanie текущей строки
print "<P><H3><A HREF=\"vid1.php?Vid=$Vid_id\">
// вывод в браузер гиперссылки
$i++;
// i = i+1
}
?>
Далее на главной странице производим выборку видов принтеров рисунок 2.4.
Рассмотрим скрипт реализующий работу каталога:
<?php
// Соединяемся с базой данных
$soed=mysql_connect("
// Выбираем базу данных
mysql_select_db("Printer", $soed);
// Создаем запрос
$Zapros3 = "select * from prod where vid_id = $Vid";
// Получаем данные из базы данных
$Rezalt3 = mysql_query($Zapros3,$soed);
// выбор только нужного принтера
$Num_row3 = mysql_num_rows($Rezalt3);
Информация о работе Распределенная база данных электронного магазина по продажам принтеров