База данных отдела маркетинга и сбыта ОАО "Бобруйсксельмаш"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ion.php - файл описывающий базу данных для внутренних функций;

?файл index.php - файл для запуска системы;

?файл tcore.php - файл, который содержит родительский класс для всех подключаемых модулей в системе.

База данных содержит следующие таблицы:

?account - таблица содержащая личные данные пользователя. Таблица имеет следующие поля:

1)acc_id - идентификатор пользователя имеет атрибут AUTOINCREMENT, UNIQUE. Тип поля: int(11);

2)name - имя пользователя. Тип поля: varchar(255);

3)login - логин пользователя. Тип поля: varchar(100);

4)password - пароль пользователя. Тип поля: varchar(100);

5)email - электронный ящик. Тип поля: varchar(255);

?products - таблица содержащая информацию о продуктах. Таблица имеет следующие поля:

1)prod_id - идентификатор пользователя имеет атрибут AUTOINCREMENT, UNIQUE. Тип поля: int(11);

2)title - название продукта. Тип поля: varchar(255);

)description - описание продукции. Тип поля: text;

4)acc_id - идентификатор пользователя. Тип поля: int(11);

?preds - таблица содержащая информацию о предприятиях. Таблица имеет следующие поля:

1)pred_id - идентификатор предприятия имеет атрибут AUTOINCREMENT, UNIQUE. Тип поля: int(11);

2)title - название предприятия. Тип поля: varchar(255);

3)address - адрес предприятия. Тип поля: text;

4)okpo - УНН предприятия. Тип поля: int(11);

5)bank_info - банковские реквизиты предприятия. Тип поля: text;

6)phone - телефонный номер предприятия. Тип поля: varchar(60);

7)fax - факс предприятия. Тип поля: varchar(60);

8)url - веб - сайт предприятия. Тип поля: varchar(255);

9)email - электронный ящик предприятия. Тип поля: varchar(255);

10)acc_id - идентификатор пользователя. Тип поля: int(11);

?status - таблица содержащая справочные данные для договоров. Таблица имеет следующие поля:

1)status_id - идентификатор статуса договора имеет атрибут AUTOINCREMENT, UNIQUE. Тип поля: int(11);

2)title - название статуса. Тип поля: varchar(30);

?archive - таблица содержащая информацию о договорах. Таблица имеет следующие поля:

1)doc_id - идентификатор договора имеет атрибут AUTOINCREMENT, UNIQUE. Тип поля: int(11);

2)docid - номер договора. Тип поля: varchar(255);

3)status_id - статус договора. Тип поля: int(11);

4)sum - сумма заключенного договора. Тип поля: double;

5)date - дата регистрации договора. Тип поля: date;

6)pred_id - идентификатор предприятия. Тип поля: int(11);

7)payment_date - дата оплаты договора. Тип поля: date;

8)finish_date - срок исполнения договора. Тип поля: date;

9)comments - примечание к договору. Тип поля: text;

10)acc_id - идентификатор пользователя. Тип поля: int(11);

?archive_product - хранит информацию о количестве поставляемой продукции. Таблица имеет следующие поля:

1)doc_id - идентификатор договора. Тип поля: int(11);

2)prod_id - идентификатор продукта. Тип поля: int(11);

3)amount - количество продуктов. Тип поля: int(11).

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

?блок работы с базой данных;

?блок отображения информации и получение данных с форм.

Данные блоки содержат классы и методы необходимые для работы системы.

Класс xdb - это класс для работы с базой данных, который включает такие основные методы как:

?sqlget - получает данные из базы и возвращает их в виде массива;

?sqlset - позволяет сохранять данные из массива в базу данных;

?sqlque - выполняет sql - запрос и возвращает результат его выполнения.

Класс smarty используется для работы с шаблонами, что позволяет разделить работу программиста и дизайнера. Основными методами класса Smarty являются:

?assign - подготавливает массив рабочих данных для вставки в готовый шаблон;

?display - компилирует заранее подготовленный шаблон с рабочими данными и выводит его на экран.

При разработке дипломного проекта мной были созданы следующие модули:

?member - модуль, отвечающий за авторизацию пользователей в системе и редактирование личных данных;

?archive - модуль, позволяющий производить операции над договорами;

?products - модуль, позволяющий производить операции над продукцией;

?member1 - модуль, позволяющий производить операции над предприятиями.

В таблице 4.1 перечислены методы используемых модулей.

Таблица 4.1 ? Методы модулей

МетодМодульMemberArchiveProductsMember1edit()++++show_all()++++view()+++del()+++del_addon()++search()++getItem()++login()+logout()+forgot()+profile()+search_prod()+add_search()+

Все модули в системе представлены в виде PHP классов. В зависимости от того какой приходит параметр $out[mode] вызывается метод класса, а нужный класс (объект) создаётся в зависимости от значения $out[act]. Например, если $out будет выглядеть следующим образом, тогда создастся новый объект Archive и выполниться его метод edit():

$out = array(act=>archive,mode=>edit);

В результате его выполнения массив $out дополниться данными метода для последующей их обработки шаблонизатором Smarty и вывода на экран.

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

Описание алгоритма метода View() - вначале метода проверяются права доступа, на просмотр, затем делается запрос к базе данных на получение информации и в переменную $out возвращается массив с данными о необходимом элементе (приложение А).

В остальных модулях (классах), где используется метод View(), его алгоритм выглядит аналогичным образом.

Описание алгоритма Show_all() - в алгоритме делается запрос к базе данных для получения списка