bigpo.ru
добавить свой файл
1 2 ... 4 5


ОГЛАВЛЕНИЕ

Введение 5

1 Проектирование базы данных рынка металлопроката и метизов в терминах er-моделировани 6

2 Реализация модели базы данных рынка металлопроката и метизов в интерактивной среде Интернет 11

3 Расчет экономической эффективности каталога продукции ОАО «Металлсервис» 20

Заключение 32

Список использованных источников 33

Приложение 1 Дамп базы данных «Metallservice» 34

Приложение 2 Листинг страниц сайта 38


Введение

Данная курсовая работа посвящена проектированию базы данных каталога продукции ОАО «Металлсервис». Предприятие занимается реализацией металлопроката и метизов.

Целью курсового проектирования ставится разработка каталога продукции с применением технологий MySQL, HTML и PHP.

Задачами курсовой работы являются:

  • рассмотрение технологий реализации баз данных средствами программы «PHP MyAdmin»;

  • углубление знаний в области языка программирования PHP, а также систематизация знаний в области SQL (языка структурированных запросов);

  • понимание механизмов интеграции технологий SQL и PHP;

  • приобретение знаний в области технологии HTML (языка гипертекстовой разметки);

  • приобретение навыков расчета экономического эффекта от сайта предприятия.

1Проектирование базы данных рынка металлопроката и метизов в терминах er-моделировани

1.1Описание предметной области рынка металлопроката и метизов


Пользователь зайдет на веб-страницу сайта акционерного общества и увидит список родительских категорий продукта (метизы, металлопрокат).

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

Подкатегории включают в себя продукты.

Продукты заказывают пользователи.

После перехода на страницу товара, пользователь может приступить к заказу товара.

Каждый товар сделан из определенной марки стали

Таким образом, мы выделили следующие объекты для исследования:

  • пользователь;

  • категория;

  • подкатегория;

  • продукт;

  • заказ;

  • марка.



1.2Построение концептуальной модели базы данных рынка металлопроката и метизов


CA ERwin Data Modeler (ранее называвшийся AllFusion Data Modeler) — программный продукт в области реализации средств CASE-технологий. (ERWin — это исходное название продукта. Появился этот продукт где-то в середине 1990-х. В компании Интерфейс он был доступен еще в пре-релиз виде еще в 1995. BPWin — это значительно более поздний продукт той же компании предназначенный для моделирования бизнес процессов. Впоследствии ERWin множество раз перепродавался. Так что информация из данной статьи вызывает серьезные сомнения.) Позволяет проводить описание, анализ и моделирование модели данных — построитель мета-моделей данных. Занимает одно из лидирующих мест в своём сегменте рынка. В настоящее время выпускается компанией Computer Associates. Распространяется на коммерческой основе.

Концептуа́льная моде́ль (англ. conceptual model) — это определённое множество понятий и связей между ними, являющихся смысловой структурой рассматриваемой предметной области.

Концептуальная модель — модель предметной области, состоящей из перечня взаимосвязанных понятий, используемых для описания этой области, вместе со свойствами и характеристиками, классификацией этих понятий, по типам, ситуациям, признакам в данной области и законов протекания процессов в ней. (Толковый словарь по искусственному интеллекту)

Концептуальная (содержательная) модель — это абстрактная модель, определяющая структуру моделируемой системы, свойства её элементов и причинно-следственные связи, присущие системе и существенные для достижения цели моделирования [3].

В процессе рассмотрения предметной области были определены следующие сущности (таблицы):

  • пользователь (polzovatel);

  • категория (kategoria);

  • подкатегория (podkategoria);

  • продукт (product);

  • заказ (zakaz);

  • mарка (marka).

Концептуальная модель базы данных будет выглядеть следующим образом:



Рисунок 1.1 – Концептуальная модель базы данных, построенная с помощью CASE-средства ErWin

1.3Построение логической модели данных рынка металлопроката и метизов


На следующем, более низком уровне находится логическая модель данных предметной области. Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. Примеры понятий - "сотрудник", "отдел", "проект", "зарплата". Примеры взаимосвязей между понятиями - "сотрудник числится ровно в одном отделе", "сотрудник может выполнять несколько проектов", "над одним проектом может работать несколько сотрудников". Примеры ограничений - "возраст сотрудника не менее 16 и не более 60 лет".

Логическая модель данных является начальным прототипом будущей базы данных. Логическая модель строится в терминах информационных единиц, но без привязки к конкретной СУБД. Более того, логическая модель данных необязательно должна быть выражена средствами именно реляционной модели данных. Основным средством разработки логической модели данных в настоящий момент являются различные варианты ER-диаграмм (Entity-Relationship, диаграммы сущность-связь). Одну и ту же ER-модель можно преобразовать как в реляционную модель данных, так и в модель данных для иерархических и сетевых СУБД, или в постреляционную модель данных. Однако, т.к. мы рассматриваем именно реляционные СУБД, то можно считать, что логическая модель данных для нас формулируется в терминах реляционной модели данных [4].

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

При разработке логической модели данных возникают вопросы: хорошо ли спроектированы отношения? Правильно ли они отражают модель предметной области, а следовательно и саму предметную область?

Ниже, на рисунке 1.2, показана логическая структура базы данных, созданная с помощью ErWin



Рисунок 1.2 – Логическая модель базы данных (ERWin)

2Реализация модели базы данных рынка металлопроката и метизов в интерактивной среде Интернет

2.1Построение физической модели данных каталога металлопроката и метизов языке SQL средствами СУБД MySQL


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

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

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

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

После составления физической модели базы данных необходимо составить SQL-запрос для создания базы данных разработанной выше структуры «metallservice».

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

-- Структура таблицы 'product'


CREATE TABLE product (

product_ID int(8) not null auto_increment,

nazvanie varchar(100) not null,

podkategoria_id int(8) not null,

R1 int(8),

marka_id int(8),

cena int(8) not null,

PRIMARY KEY (Product_ID)

);


-- Структура таблицы 'marka'

CREATE TABLE marka (

marka_id int(8) not null auto_increment,

nazvanie varchar (20) not null,

PRIMARY KEY (marka_id)

);


-- Структура таблицы 'kategoria'

CREATE TABLE kategoria (

kategoria_id int(8) not null auto_increment,

nazvanie varchar(100) not null,

PRIMARY KEY (kategoria_ID)

);


-- Структура таблицы 'podkategoria'

CREATE TABLE podkategoria (

podkategoria_ID int(8) not null auto_increment,

nazvanie varchar(100) not null,

kategoria_id int(8) not null,

primary key (podkategoria_id)

);


-- Структура таблицы 'zakaz'

create table zakaz (

zakaz_id int(8) not null auto_increment,

polzovatel_id int(8) not null,

product_id int(8) not null,

kolichestvo int(8) not null,

summa_zakaza int(8) not null,

data_pokupki int(8),

primary key (zakaz_id)

);


-- Структура таблицы 'polzovatel'

create table polzovatel (

polzovatel_id int(8) not null auto_increment,

fio varchar (50) not null,

telephon varchar (15) not null,

email varchar (15) not null,

primary key (polzovatel_id)

);

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

1. Перейти на страницу приложения PHP MyAdmin (http://localhost/ Tools/phpMyAdmin/index.php).

2. Выбрать базу данных metallservice (в левой части окна приложения).



Рисунок 2.1 – Выбор базы данных в окне PHP MyAdmin

3. Перейти на закладку «SQL» в верхней части приложения.

4. Вставить SQL-скрипт, приведенный выше в окно приложения.

5. Нажать на кнопку

Для создания связей между таблицами необходимо:

  1. Перейти на вкладку «Designer»

  2. Нажать на кнопку «Create Relation».

  3. Выбрать из таблиц базы данных первичный ключ

  4. Выбрать из таблиц базы данных альтернативный ключ.

Ниже приведена физическая структура таблиц базы данных




Рисунок 2.2 – Физическая структура таблиц для базы данных (из приложения «PHP MyAdmin»)

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

2.2Реализация каталога металлопроката и метизов с использованием Вэб-интерфейса, созданного на языке программирования PHP


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

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

2. выбрать базу данных;

3. выполнить SQL-запрос;

4. вывести данные, полученные в результате запроса.

Для соединения с базой данных используется оператор mysql_connect, для выбора базы данных - mysql_select_db, для выполнения запроса - mysql_query, для выбора данных из БД - mysql_result.

Вид главной страницы показан на рисунке 2.3.



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

Текст файла главной страницы index.php приведен в Приложении 2.

Существует два возможных способа ввода данных в таблицы MySQL: c помощью SQL-запросов и через веб-интерфейс.

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

Ниже приведен код интерфейса ввода металлопроката (metalloprokat.form.php).





следующая страница >>