Автор работы: Пользователь скрыл имя, 17 Февраля 2012 в 11:54, курсовая работа
Целью курсовой работы является развитие навыков по практическому использованию технологии распределённых баз данных для организации бизнеса в секторе сетевой экономики посредством языка программирования РНР, проектирование и реализация электронного магазина и базы данных рынка принтеров.
Для достижения поставленной цели в работе ставятся следующие задачи:
- изучить язык написания скриптов 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.3 - Первичные и альтернативные ключи
Сущность | Первичный ключ | Альтернативный ключ |
goods | good_id | good_name
class_id |
orders | order_id | order_id
buyer_id order_date |
buyers | buyer_id | buyer_name
buyer_phone |
classes | class_id | class_name |
Логическая модель данных является начальным прототипом будущей базы данных. Логическая модель строится в терминах информационных единиц, но без привязки к конкретной СУБД. Более того, логическая модель данных необязательно должна быть выражена средствами именно реляционной модели данных (рисунок 1.2).
Рисунок
1.2 - Введение новой сущности
orderbook
При построении логической модели можно использовать язык ER-диаграмм (от англ. Entity-Relationship, т.е. сущность-связь). В них сущности изображаются помеченными прямоугольниками, ассоциации – помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а связи между ними – ненаправленными ребрами, над которыми может проставляться степень связи (1 или буква, заменяющая слово "много") и необходимое пояснение.
Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью.
В нашем случае присутствует связь (goods принадлежит(belong) orders). Так как реализация такой связи в СУБД реляционного типа затруднительна, нужно ввести новую сущность, назовем ее orderbook.
Приведем логическую модель базы данных с учетом введения новой сущности.
Логическая модель базы данных приведена на рисунке 1.3.
Рисунок
1.3 – ER-диаграмма логической
модели базы данных
магазина
В данной главе был проведен анализ процесса разработки базы данных, который состоял из следующих этапов:
Физически спроектированную модель рынка принтеров реализуем с помощью языка SQL во второй главе.
Теперь
приступим к физическому
Рисунок
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;}
Информация о работе Создание электронного магазина принтеров