
- •1.1.2 Основные цели предприятия ип «Франц»
- •1.1.3 Документация ип «Франц»
- •1.1.4 Организационная структура и объект управления ип «Франц»
- •1.1.5 Краткая характеристика подразделения и видов его деятельности
- •1.2 Экономическая сущность комплекса экономических информационных задач
- •1.2.1 Общие сведения о задачах
- •1.2.2 Анализ требований к разрабатываемому ресурсу
- •1.2.3 Способы решения задачи
- •1.3 Обоснование необходимости и цели разработки программного обеспечения для интернет-магазина «neo-tuning»
- •1.4 Анализ существующих разработок и обоснование выбора технологии проектирования
- •1.5 Обоснование проектных решений по видам обеспечения
- •1.5.1 Обоснование по техническому обеспечению (то)
- •1.5.2 Обоснование по информационному обеспечению (ио)
- •1.5.3 Обоснование по программному обеспечению (по)
- •1.5.4 Обоснование по технологическому обеспечению
- •2 Разработка программного обеспечения для интернет- магазина ооо «neo-tuning»
- •2.1 Постановка задачи
- •2.1.1 Общая характеристика организации решения задачи на эвм
- •2.1.2 Ожидаемые риски на этапах жизненного цикла и их описание
- •2.2 Информационное обеспечение задачи
- •2.2.1 Информационная модель и ее описание
- •2.2.3 Используемые классификаторы и системы кодирования
- •2.2.4 Характеристика первичных документов с нормативно-справочной и входной оперативной информацией
- •2.2.5 Характеристика базы данных
- •2.2.6 Характеристика результатной информации
- •2.3 Программное обеспечение задачи
- •2.3.1 Общие положения (пользовательская карта сайта)
- •2.3.2 Структурная схема пакета
- •2.3.3 Описание программных модулей
- •2.3.4 Описание файлов проекта интернет-магазина «neo-tuning»
- •2.4 Технологическое обеспечение задачи
- •2.4.1 Организация процесса информационной поддержки интернет-магазина
- •2.4.2 Выбор политики рекламы, продвижения интернет-магазина при его размещении в сети Интернет
- •2.6 Описание контрольного примера реализации проекта
- •3 Обоснование экономической эффективности проекта
2.2.5 Характеристика базы данных
В данном дипломном проекте базы данных были реализованы при помощи приложения PhpMyAdmin.
База данных интернет-магазина хранит не только каталоги и справочники, но и системные файлы, информационные схемы и записи, необходимые для корректной работы интернет-магазина с технической точки зрения. На рисунке 2.9 показана стартовая страница приложения PhpMyAdmin, где можно видеть список всех баз данных, содержащихся в проекте. В данном случае база данных «neotuning» - уникальная для данного интернет-магазина база данных, отвечающая за работу интернет-магазина, остальные базы данных – системные, то есть могут быть использовании при построении схожего шаблона интернет-магазина. Информация в этих базах данных идентична информации в любом другом интернет-магазине с похожей структурой.
Рисунок 2.9 – Перечень база данных, используемых в проекте
Далее будет рассмотрена база данных «neotuning». База данных «neotuning» состоит из девяти таблиц. Перечень таблиц, содержащихся в базе данных, представлен на рисунке 2.10. Это таблицы goods, modules, orders, orders_content, pages, photos, settings, struct и struct_modules. Каждая из таблиц будет рассмотрена отдельно.
Во всех таблицах базы данных «neotuning» для каждой строки таблицы используются автоинкрементные первичные ключи (суррогатные ключи) - id, значение которых является уникальным и выставляется автоматически – свойство AUTO_INCREMENT генерирует порядковый номер элемента. Поле id является индексом и не может иметь нулевое значение. Каждое другое поле любой из таблиц является также ключевым и имеет одинаковую значимость.
Рисунок 2.10 – Состав базы данных «neotuning»
Таблица goods – это каталог товаров. Каждая строка таблицы – информация о том или ином продукте. Структура и состав полей приведен в таблице 2.1.
Таблица 2.1 - Структура и состав полей таблицы «goods»
Наименование поля |
Описание поля |
Тип данных |
id |
уникальный идентификатор |
int(10) |
catalog_id |
принадлежность к определенному каталогу, вторичный ключ |
int(11) |
article |
артикль |
varchar(16) |
title |
наименование продукта |
varchar(128) |
description |
описание продукта |
text |
price |
цена продукта |
int(10) |
display |
отображать/не отображать |
tinyint(1) |
На рисунке 2.11 представлена структура таблицы «goods» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.11 – Структура таблицы «goods»
Таблица modules – таблица, содержащая подключаемые модули, например, такие, как каталог (каталог в данном дипломном проекте выполнен в виде подключаемого модуля). Структура и состав полей приведен в таблице 2.2.
Таблица 2.2 - Структура и состав полей таблицы «modules»
Наименование поля |
Описание поля |
Тип данных |
id |
уникальный идентификатор |
int(10) |
name |
название модуля |
varchar(255) |
title |
описание модуля |
varchar(255) |
На рисунке 2.12 наглядно представлена структура таблицы «modules» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.12 - Структура таблицы «modules»
Таблица orders – таблица, в которой хранятся регистрационные данные, которые отправил пользователь, заполнив форму на сайте. Структура и состав полей приведен в таблице 2.3.
Таблица 2.3 - Структура и состав полей таблицы «orders»
Наименование поля |
Описание поля |
Тип данных |
id |
уникальный идентификатор |
int(10) |
date |
дата отправления заявки |
datetime |
phone |
номер телефона |
varchar(18) |
электронная почта |
varchar(128) |
|
address |
адрес |
text |
description |
примечания |
text |
total |
цена заказа |
int(11) |
На рисунке 2.13 наглядно представлена структура таблицы «orders» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.13 - Структура таблицы «orders»
Таблица orders_content – таблица, в которой хранятся данные непосредственно о заказе. Структура и состав полей приведен в таблице 2.4.
Таблица 2.4 - Структура и состав полей таблицы «orders_content»
Наименование поля |
Описание поля |
Тип данных |
order_id |
id заказа из таблицы «orders» - вторичный ключ |
int(11) |
good_id |
id товара из таблицы «goods» - вторичный ключ |
int(11) |
title |
наименование товара из каталога |
varchar (256) |
price |
цена товара |
int(11) |
count |
количество |
int(11) |
На рисунке 2.14 наглядно представлена структура таблицы «orders_content» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.14 - Структура таблицы «orders_content»
Таблица pages – таблица, в которой хранятся обычные текстовые страницы, их состав и наполнение. Структура и состав полей таблицы «pages» приведен в таблице 2.5.
Таблица 2.5 - Структура и состав полей таблицы «pages»
Наименование поля |
Описание поля |
Тип данных |
id |
уникальный идентификатор |
int(11) |
alias |
альтернативное имя страницы |
varchar (128) |
title |
наименование страницы |
varchar (128) |
content |
контент страницы |
text |
На рисунке 2.15 наглядно представлена структура таблицы «pages» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.15 – Структура таблицы «pages»
Таблица photos – таблица, в которой хранятся ссылки на изображения для товаров, изображения загружены на сервер в папку image. Структура и состав полей приведен в таблице 2.6.
Таблица 2.6 - Структура и состав полей таблицы «photos»
Наименование поля |
Описание поля |
Тип данных |
goog_id |
id товара в таблице «goods», вторичный ключ |
int(11) |
photo |
ссылки на изображения |
varchar (32) |
main |
атрибут, который показывает, главное ли это изображение для товара, или нет |
tinyint(1) |
На рисунке 2.16 наглядно представлена структура таблицы «photos» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.16 – Структура таблицы «photos»
Таблица settings – таблица, хранящая настройки для таблиц интернет-магазина. Структура и состав полей приведен в таблице 2.7.
Таблица 2.7 - Структура и состав полей таблицы «settings»
Наименование поля |
Описание поля |
Тип данных |
namespase |
ключ |
varchar (32) |
key |
имя настройки |
varchar (32) |
value |
описание настройки |
varchar (255) |
На рисунке 2.17 наглядно представлена структура таблицы «settings» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.17 – Структура таблицы «setting»
Таблица struct – таблица, которая хранит настройки каталога продукции. Структура и состав полей приведен в таблице 2.8.
Таблица 2.8 - Структура и состав полей таблицы «struct»
Наименование поля |
Описание поля |
Тип данных |
id |
уникальный идентификатор |
int(10) |
pid |
id родительского раздела |
int(10) |
alias |
альтернативное имя страницы |
varchar(255) |
title |
имя страницы |
varchar(255) |
meta_title |
заголовок для поисковых машин |
varchar(255) |
meta_description |
заголовок для поисковых машин + описание |
varchar(255) |
position |
сортировка в меню |
int(11) |
display |
отображать/не отображать |
smalint (1) |
На рисунке 2.18 наглядно представлена структура таблицы «struct_modules» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.18 – Структура таблицы «struct»
Таблица struct_modules – таблица, которая хранит настройки каталога продукции. Структура и состав полей приведен в таблице 2.9.
Таблица 2.9 - Структура и состав полей таблицы «struct_modules»
Наименование поля |
Описание поля |
Тип данных |
struct_id |
id из таблицы «struct», вторичный ключ |
int (10) |
module_id |
id модуля, вторичный ключ |
int (10) |
inheritance |
настройки иерархии |
tinyint(1) |
settings |
настройки модуля |
blob |
На рисунке 2.19 наглядно представлена структура таблицы «struct_modules» так, как она реализована в приложении PhpMyAdmin.
Рисунок 2.19 – Структура таблицы «struct_modules»
В полях всех таблиц базы данных «neotuning» используются следующие типы данных:
int – целое число, диапазона от -2 147 483 648 до 2 147 483 647;
tinyint – целое число, может хранить числа от -128 до 127;
blob – бинарные данные, запись может хранить не более 65 535 символов;
smalint – целое число, диапазона от -32 768 до 32 767;
varchar – строковая переменная, может хранить не более 255 символов;
text – строковая переменная, запись может хранить не более 65 535 символов;
datetime - дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС.
Для того, чтобы написать корректную, рабочую и функциональную базу данных, необходимо сначала ее спроектировать. В реальном проектировании структуры базы данных применяются семантическое моделирование. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship).
Для построения ER-модели базы данных «neotuning» было использовано CASE-средство Database Designer for MySQL.
На рисунке 2.20 продемонстрирована среда проектирования MicroOLAP Database Designer for MySQL последней версии, в которой была разработана ER-модель базы данных «neotuning». В диалоговом окне открыт редактор полей таблицы. Глядя на рисунок, можно видеть, в процессе проектирования базы данных не только была создана визуальная модель базы данных, но и заданы необходимые параметры для состава таблиц. Слева на панели находится перечень объектов проекта. Каждое поле таблицы редактируется в редакторе, для каждого поля можно задать параметры.
Построенную модель базы данных в дальнейшем можно использовать, как шаблон при создании базы данных на базе MySql, то есть при создании базы данных не понадобится повторно задавать параметры элементов. Любые модификации в модели можно легко перенести на базу данных.
Рисунок 2.20 – Задание свойств полей таблицы в редакторе полей
На рисунке 2.21 представлена ER-модель базы данных «neotuning», которая была составлена на этапе проектирования.
Связи в схеме изображены синими стрелками. При добавлении связи в таблицу, которая содержит вторичные ключи, снизу списка полей, автоматически появляется поле, связанное с другой таблицей по уникальному коду, то есть внешний ключ. По умолчанию оно носит имя FK_(id (название таблицы)) и является ссылкой на родительскую таблицу, но для удобства последующей работы с базой данных эти поля были переименованы в соответствии с их назначением. Стрелка указывает на таблицу, откуда берется подставное поле, а не наоборот.
На рисунке видно, что две таблицы – settings и pages – не связанны с другими таблицами. Они абсолютно автономны, их функция – просто хранение статических страниц с простым контентом и некоторых настроек, которые могут использоваться по необходимости.
Рисунок 2.21 - ER-модель базы данных «neotuning»