Скачиваний:
39
Добавлен:
04.04.2013
Размер:
728.06 Кб
Скачать

Контрольные вопросы

  1. Расскажите про способы хранения данных динамического сайта

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

  3. Как храненится информация в реляционной базе данных

  4. Какие возможности предоставляет пользователю структурированный язык запросов SQL

  5. Расскажите об особенностях реализации СУБД MySQL

  6. Как организовано взаимодействие PHP и MySQL

Разработка системы "Прайс-лист"

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

Постановка задачи

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

  • Название фирмы-изготовителя

  • Название модели

  • Стоимость в долларах США

  • Стоимость в рублях исходя из установленного курса

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

  • Добавление новой группы товаров

  • Изменение названия группы товаров

  • Удаление группы товаров (вместе со всеми моделями, принадлежащими данной группе)

  • Добавление новой модели в выбранную группу

  • Изменение цены любой модели из любой группы товаров

  • Удаление любой модели из любой группы товаров

  • Изменение курса доллара США по отношению к рублю (информация о курсе должна храниться в отдельном файле)

Необходимо обеспечить проверку корректности введенных данных во избежании нарушения информационной целостности базы данных.

Принципы функционирования программного комплекса

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

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

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

Разработка структуры базы данных

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

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

Объект "группа товаров" имеет следующие атрибуты: уникальный идентификатор и название группы.

Объект "изделия" характеризуется атрибутами: уникальный идентификатор изделия, идентификатор группы, название фирмы-изготовителя, название модели, стоимость в долларах США.

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

В результате проектирования была спроектирована база данных, состоящая из двух таблиц.

Products

pid

Идентификатор группы товаров

description

Название группы

Models

mid

Идентификатор изделия

pid

Идентификатор группы товаров

firm

Название фирмы-изготовителя

model

Название модели

price

Стоимость в долларах США

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

<?

mysql_connect("localhost","","");

echo mysql_error();

mysql_create_db("mybase");

echo mysql_error();

mysql_select_db("mybase");

echo mysql_error();

mysql_query("create table products(pid int not null primary key auto_increment, description varchar(50) not null)");

echo mysql_error();

mysql_query("create table models(mid int not null primary key auto_increment, pid int not null, firm varchar(50) not null, model varchar(50) not null, price float(10,2) not null)");

echo mysql_error();

$fp=fopen("usd","w");

fputs($fp,"32");

fclose($fp);

?>