Работа с подсистемой программы Access
СОДЕРЖАНИЕ: Разработка информационного и алгоритмического обеспечения системой управления базами данных Microsoft Access. Реализация и принцип работы основных компонентов подсистемы поддержки принятия решений. Особенности разработки программного модуля в Delphi.Введение
В данной работы мы рассмотрим программу СУБД ACCESS, которая входит в пакет самого распространённого пакета офисных программ Microsoft. Наверно не существует ни одного пользователя базами данных, который бы не знал о существовании данной программы. Такое доверия большинства пользователей обусловлено, прежде всего, незыблемым авторитетом всех программ создающихся этой корпорацией. Эта программа универсальна в своём роде. Что же требуется от программы типа СУБД? Это простота, удобство и высокая производительность по обработке ввода, анализа и вывода данных. При веем при этом программа должна быть проста в эксплуатации и доступна рядовому пользователю. И за всё это отвечает интерфейс. В процессе совершенствования этой программы были внесены уникальные возможности. Данные могут быть представлены в виде таблиц или диаграмм. И если принять во внимание, что данной программой может пользоваться любой пользователь (от новичка до профессионального разработчика), то без сомнения можно утверждать что ACCESS корпорации Microsoft это лучшее средства для решения задач любой сложности.
1. Разработка информационного и алгоритмического обеспечения подсистемы
1.1 Выбор СУБД
Microsoft Access создана на основе реляционной модели базы данных и предназначена для создания быстрых, эффективных баз данных, применяемых в быту и бизнесе. Кроме того, она способна подключаться к другим базам данных, создавая для вас широкий фронт работы с данными, независимо от того, где они находятся.
Важная особенность СУБД Access - использование буфера обмена при выполнении ряда операций. Буфер используется при выполнении команд копирования и перемещения для временного хранения копируемых или перемещаемых данных, после чего они направляются по новому адресу. При удалении данных они также помещаются в буфер. Содержимое буфера сохраняется до тех пор, пока не будет записана новая порция данных.
СУБД Access имеет достаточное количество команд, у каждой из которых возможны различные параметры (опции). Выбор определенной команды из меню производится либо наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода, либо вводом с клавиатуры первой буквы выбранной команды.
Получить дополнительную информацию о командах, составляющих меню СУБД Access, и их использовании можно, войдя в режим помощи.
Совокупность команд, предоставляемых в ваше распоряжение СУБД Access, может быть условно разбита на следующие типовые группы:
· команды для работы с файлами;
· команды редактирования;
· команды форматирования;
· команды для работы с окнами;
· команды для работы в основных режимах СУБД (таблица, форма, запрос, отчет);
· получение справочной информации.
Команды для работы с файлами.
При работе с файлами программа дает возможность пользователю:
· создавать новые объекты базы данных;
· сохранять и переименовывать ранее созданные объекты;
· открывать уже существующие базы данных;
· закрывать ранее открытые объекты;
· выводить на принтер объекты базы данных.
Процесс печати начинается с выбора драйвера принтера. Для каждого типа принтера необходим свой драйвер. Следующий шаг состоит в задании параметров страницы, формировании колонтитулов, а также в выборе вида или номера печатаемых страниц документов.
Команда предварительного просмотра позволяет получить представление об общем виде выводимой на принтер информации еще до печати. Размещение информации на странице может быть оптимально приспособлено к ее выбранным параметрам посредством масштабирования и центрирования.
Кроме того, в СУБД Access возможен обмен данными и присоединение таблиц, созданных другими программными средствами.
1.2 Выбор среды разработки
Процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Вы просто помещаете нужные компоненты на поверхность Windows-окна (которое в Delphi называется формой) и выполняете настройку их свойств с помощью специального инструмента (Object Inspector)[9]. Указанный инструмент выполняет связывание событий этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки - и вот простое приложение готово. Причем разработчик получает в свое распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему (в том числе и по Microsoft API), средства коллективной работы над проектом, всего просто не перечислить. Вы можете создавать компоненты ActiveX без использования Microsoft IDL, расширять возможности web-сервера (скрипты на стороне сервера), практически ничего не зная об HTML, XML или ASP. Можно создавать распределенные приложения на базе СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным Borland DataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяет создавать масштабируемые приложения (относительно слабо зависящие от сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на среднее звено.
Как уже говорилось ранее, в Delphi используется язык Object Pascal, который постоянно расширяется и дополняется Borland. Язык в полной мере поддерживает все требования, предъявляемые к объектно-ориентированному языку программирования. Как и положено строго типизированному языку, классы поддерживают только простое наследование, но зато интерфейсы могут иметь сразу несколько предков. К числу особенностей языка следует отнести поддержку обработки исключительных ситуаций (exceptions), а также перегрузку методов и подпрограмм (overload) в стиле C++. К числу удачных относится также поддержка длинных строк в формате WideChar и AnsiChar. Последний тип (AnsiString) позволяет использовать все прелести динамического размещения информации в памяти без всяких забот о ее выделении и сборке мусора Delphi делает это автоматически. Для поклонников свободного стиля программирования имеются открытые массивы, варианты и вариантные массивы, позволяющие размещать в памяти все, что душе угодно и смешивать типы данных.
Имеется возможность создания своих собственных компонентов, импортирования ОСХ – компонентов, создания шаблонов проектов и мастеров, создающих заготовки проектов. Мало того, Delphi предоставляет разработчику интерфейс для связи приложений с интегрированной оболочкой Delphi (IDE).
Таким образом, вы можете использовать Delphi для создания как самых простых приложений, на разработку которых требуется несколько часов, так и серьезных корпоративных проектов, предназначенных для работы десятков и сотен пользователей. Причем для этого можно использовать самые последние веяния в мире компьютерных технологий с минимальными затратами времени и сил.
2. Программная реализация основных компонентов подсистемы
2.1 Разработка подсистемы поддержки принятия решений
Алгоритм подсистемы принятия решений можно представить в виде указанном на принципиальной схеме на Рисунке 10.
Рисунок 10 – Структурная схема реализующая принцип работы подсистемы принятия решений.
На указанном выше рисунке показана схема, по которой работает подсистема поддержки принятия решений менеджера фирмы.
2.2 Алгоритмизация принятия решений
Рисунок 11 - Общая схема алгоритма принятия решений
На рисунке 11 показано каким образом происходит выбор критерия для решения поставленной задачи принятия решения.
2.3 Разработка БД
2.3.1 Концепция проектирования баз данных
В основе логического и физического проектирования БД лежит создание точной и защищенной БД, на основе которой можно гарантировать эффективное построение прикладных программ (в данном случае пользовательской программы).
Процесс проектирования БД состоит из 2-х этапов:
- проектирование логической БД;
- проектирование физической БД.
При проектировании логической БД производится анализ предметной области и информационных потребностей пользователя.
Физическое проектирование связано с фактической реализацией БД. Оно определяет рациональный выбор структуры хранения данных и методов доступа к ним. Результат физического проектирования - внутренняя модель данных.
При проектировании выделяют три уровня абстракции для БД :
1) представление – инфологическая (внешняя) модель;
2) концептуальная БД – даталогическая (внутренняя) модель;
3) физическая БД – физическая (внутренняя) модель.
Реально хранится только физическая БД.
2.3.2 Составление списка полей. Определение их типов. Разработка таблиц БД и определение связей между таблицами
Предметной областью называется совокупность описаний реальных объектов, представляющих интерес для пользователя. Пользовательские требования выражаются рядом внешних моделей - представлений. Проектирование внешней модели заключается в формализации этих представлений. Концептуальная модель данных соответствует общему представлению о БД, то есть она включает представление о структуре данных, их целостности и манипулировании данными. Преобразование внешней модели в концептуальную модель определяется выбором СУБД.
Необходимо разработать БД и клиентское приложение поддержки принятия решений менеджера по продажам компьютерной техники. Имеются данные о товарах, поставщиках, покупателях(клиентах), производителях. Эти данные могут быть представлены внешней моделью.
Анализ предметной области обычно осуществляется на основании известных сведений о ней с учетом целей проектирования программной системы. В результате анализа создается проект БД.
Процесс проектирования БД в немалой степени зависит от опыта и интуиции разработчика, т.е. является творческим, однако некоторые его моменты можно формализовать.
Для работы приложения необходимо 23 таблицы:
· Таблица «Заказы покупателей»;
· Таблица «Разъёмы/Сокеты»;
· Таблица «Клиенты»;
· Таблица «Поставщики» ;
· Таблица «Производители» ;
· Таблица «Видеоконтроллеры»;
· Таблица «Блоки бесперебойного питания» ;
· Таблица «ТВ Тюнеры» ;
· Таблица «Аккустические системы» ;
· Таблица «Звуковые карты» ;
· Таблица «Сканеры» ;
· Таблица «Процессоры» ;
· Таблица «Принтеры» ;
· Таблица «Сетевые карты» ;
· Таблица «Манипуляторы “мышь”» ;
· Таблица «Материнские платы» ;
· Таблица «Мониторы» ;
· Таблица «Оперативная память» ;
· Таблица «Клавиатуры» ;
· Таблица «Жёсткие диски» ;
· Таблица «Кулеры» ;
· Таблица «Корпуса» ;
· Таблица «Блоки питания» .
Таблица «Заказы покупателей»
- Наименование заказа (Тип - Текстовый) NAIME_ZAKAZ;
- Номер записи связанной таблицы MONITOR (Тип - Числовой) ID_MONITOR;
- Количество мониторов (Тип - числовой) COUNT_MONITOR;
- Номер записи связанной таблицы SOUND_SYSTEM (Тип - Числовой) ID_SOUND_SYSTEM;
- Количество акустических систем (Тип - числовой)COUNT_SOUND_SYSTEM;
- Номер записи связанной таблицы TV_TUNER (Тип - Числовой)ID_TV_TUNER;
- Количество тюнеров (Тип - числовой)COUNT_TV_TUNER;
- Номер записи связанной таблицы UPS (Тип - числовой) ID_UPS;
- Количество блоков бесперебойного питания (Тип - числовой) COUNT_UPS;
-Номер записи связанной таблицы MOTHERBOARD(Тип-числовой) ID_MOTHERBOARD;
- Количество материнских плат (Тип - числовой) COUNT_MOTHERBOARD;
- Номер записи связанной таблицы VIDEO MONITOR (Тип - числовой) ID_VIDEO;
- Количество видеокарт (Тип - числовой) COUNT_VIDEO;
- Номер записи связанной таблицы PRINTERS (Тип - числовой) ID_PRINTERS;
- Количество принтеров (Тип - числовой) COUNT_PRINTERS;
- Номер записи связанной таблицы BLOCK_POWER (Тип - числовой)ID_BLOCK_POWER;
- Количество блоков питания (Тип - числовой) COUNT_BLOCK_POWER;
- Номер записи связанной таблицы COOLER (Тип - числовой)ID_COOLER;
- Количество кулеров (Тип - числовой) COUNT_COOLER;
- Номер записи связанной таблицы PROCESSOR (Тип - числовой) ID_PROCESSOR;
- Количество процессоров (Тип - числовой) COUNT_PROCESSOR;
- Номер записи связанной таблицы MOUSE (Тип - числовой) ID_MOUSE;
- Количество манипуляторов «мышь» (Тип - числовой) COUNT_MOUSE;
- Номер записи связанной таблицы KEYBOARD (Тип - числовой) ID_KEYBOARD;
- Количество клавиатур (Тип - числовой) COUNT_KEYBOARD;
- Номер записи связанной таблицы SOUND (Тип - числовой)ID_SOUND;
- Количество звуковых карт (Тип – числовой) COUNT_SOUND;
- Номер записи связанной таблицы MEMORY (Тип - числовой) ID_MEMORY;
- Количество планок оперативной памяти (Тип - числовой) COUNT_MEMORY;
- Номер записи связанной таблицы HARD_DRIVE (Тип - числовой) ID_HARD_DRIVE;
- Количество жёстких дисков (Тип - числовой) COUNT_HARD_DRIVE;
- Номер записи связанной таблицы SCANERS (Тип - числовой) ID_SCANNERS;
- Количество сканеров (Тип - числовой) COUNT_SCANNERS;
- Номер записи связанной таблицы NETWORK (Тип - числовой) ID_NETWORK;
- Количество сетевых карт (Тип - числовой) COUNT_NETWORK;
- Номер записи связанной таблицы BOXED (Тип - числовой) ID_BOXED;
- Количество корпусов (Тип - числовой) COUNT_BOXED;
- Статус продажи (Тип - числовой) STATUS_SALE;
- Номер записи связанной таблицы CLIENTS (Тип - числовой) ID_CLIENTS;
- Номер чека на оплату товара (Тип - текстовый) NUMBER_CHECK;
- Общая сумма по заказу (Тип - вещественный) ALL_SUMM;
- Дата отгрузки товара клиенту (Тип – Дата/Время) DATE_POST_OUT;
Таблица «Разъёмы/Сокеты»
-Наименование (разъёма/сокета) (Тип - Текстовый) NAIME_SOCKET;
Таблица «Клиенты»
- ФИО клиента (Тип - Текстовый) NAIME_CLIENTS;
- Телефон клиента (Тип - Текстовый) Telephon;
- Адрес клиента (Тип - Текстовый) Address;
- Факс клиента (Тип - Текстовый) Fax;
- Электронная почта клиента (Тип - Текстовый) E_mail;
- Сайт клиента (Тип - Текстовый) SITE;
Таблица «Поставщики»
- ФИО поставщика (Тип - Текстовый) NAIME_POST;
- Телефон поставщика (Тип - Текстовый) Telephon;
- Адрес поставщика (Тип - Текстовый) Address;
- Факс поставщика (Тип - Текстовый) Fax;
- Электронная почта поставщика (Тип - Текстовый) E_mail;
- Сайт поставщика (Тип - Текстовый) SITE;
Таблица «Производители»
-ФИО производителя (Тип - Текстовый) NAIME_MANUFACTURED;
- Телефон производителя (Тип - Текстовый) Telephon;
- Адрес производителя (Тип - Текстовый) Address;
- Факс производителя (Тип - Текстовый) Fax;
- Электронная почта производителя (Тип - Текстовый) E_mail;
- Сайт производителя (Тип - Текстовый) SITE;
Таблица «Видеоконтроллеры»
- Название видеоконтроллера (Тип - Текстовый) NAIME_VIDEO;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Частота графического процессора (Тип - Числовой) FREQUENCY_GRAPH_PROCESSOR;
- Объём памяти (Тип - Числовой) MEMORY;
- Признак наличия памяти DDR2 (Тип - Числовой) STATUS_MEMORY_DDR2;
- Признак наличия памяти DDR2 (Тип - Числовой) STATUS_MEMORY_DDR3;
- Количество вершинных процессоров(Тип - Числовой) COUNT_VERTEX_SHEIDER;
- Количество пиксельных процессоров(Тип - Числовой) COUNT_PIXEL_SHEIDER;
- Частота памяти(Тип - Числовой) FREQUENCY_MEMORY;
- Признак возможности разгона параметров устройства (Тип - Числовой) OVERCLOCKERS;
- Признак встроенного устройства (Тип - Числовой) STATUS_INT;
- Название графического процессора (Тип - Текстовый) NAIME_GRAPH_PROCESSOR;
- Признак аппаратной поддержки(Тип - Числовой) DIRECTX9 HARDWARE_DIRECTX9;
- Признак аппаратной поддержки(Тип - Числовой) OPENGL HARDWARE_OPENGL;
- Признак аппаратной поддержки (Тип-Числовой) DIRECTX10 HARDWARE_DIRECTX10
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип - Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Блоки бесперебойного питания»
- Название БПП (Тип - Текстовый) NAIME_UPS;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN ;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Мощность БПП в Ваттах (Тип - числовой) POWER;
- Признак поддержки программного контроля напряжения (Тип-числовой) STATUS_AVR_IS;
- Стартовое значение диапазона входных напряжений (Тип-числовой) V_INPUT_1;
- Конечное значение диапазона входных напряжений (Тип-числовой) V_INPUT_2;
- Стартовое значение диапазона выходных напряжений (Тип-числовой) V_OUTPUT_1;
- Конечное значение диапазона выходных напряжений (Тип-числовой) V_OUTPUT_2;
Таблица «ТВ Тюнеры»
- Название тюнера (Тип - текстовый ) NAIME_TUNER;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN ;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
Таблица «Акустические системы»
- Название акустической системы NAIME_SOUND_SYSTEM;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Выходная мощность в Ваттах (Тип - числовой) POWER_OUTPUT;
-Стартовое значение диапазона выходных частот (Тип - числовой) LIMIT_FREQUENCY_1;
- Конечное значение диапазона выходных частот (Тип - числовой) LIMIT_FREQUENCY_2;
- Количество каналов (Тип - числовой) COUNT_CHANNELS;
Таблица «Звуковые карты»
- Название звуковой карты (Тип - текстовый) NAIME_SOUND;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Количество каналов (Тип - числовой) COUNT_CHANNEL;
- Признак наличия выхода для микрофона (Тип - числовой) STATUS_MIC;
- Признак наличия линейного входа (Тип - числовой) STATUS_IN;
- Признак встроенного устройства (Тип - числовой) STATUS_INT;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN ;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
Таблица «Сканеры»
- Название сканера (Тип - текстовый) NAIME_SCANNERS;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Максимальное разрешение в DPI (Тип - Числовой) MAX_RESOLUTION;
- Признак поддержки сканирования формата A4 (Тип - Числовой) GABARITE_IS_A4;
- Признак поддержки сканирования формата A3 (Тип - Числовой)GABARITE_IS_A3;
- Признак поддержки сканирования формата A2 (Тип - Числовой) GABARITE_IS_A2;
- Признак поддержки сканирования формата A1 (Тип - Числовой) GABARITE_IS_A1;
- Признак наличия порта USB (Тип - Числовой) PORT_USB_IS;
- Признак наличия порта LPT (Тип - Числовой) PORT_LPT_IS;
- Признак сканирования в цвете (Тип - Числовой) COLOR_SCANER_IS;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Процессоры»
- Название процессора (Тип - текстовый) NAIME_PROCESSOR;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Тактовая частота процессора (Тип - Числовой) FREQUENCY;
- Кэш первого уровня (Тип - Числовой) CASH_L1;
- Кэш второго уровня (Тип - Числовой) CASH_L2;
- Признак многоядерного процессора (Тип - Числовой) STATUS_MULTIPROCESSOR_IS;
- Признак 32-х разрядного процессора (Тип - Числовой) DIGITAL_32_IS;
- Признак 32-х разрядного процессора (Тип - Числовой) DIGITAL_64_IS;
- Количество ядер (Тип - Числовой) COUNT_KERNEL;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
-Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Принтеры»
- Название принтера (Тип - текстовый) NAIME_PRINTERS;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET ;
- Признак поддержки формата A4 (Тип - Числовой) GABARITE_IS_A4;
- Признак поддержки формата A3 (Тип - Числовой) GABARITE_IS_A3;
- Признак поддержки формата A2 (Тип - Числовой) GABARITE_IS_A2;
- Признак поддержки формата A1 (Тип - Числовой) GABARITE_IS_A1;
- Признак наличия порта USB (Тип - Числовой) PORT_USB_IS;
- Признак наличия порта LPT (Тип - Числовой) PORT_LPT_IS;
- Признак лазерного принтера (Тип - Числовой) LASER_PR_IS ;
- Признак струйного принтера (Тип - Числовой) STRUIN_IS;
- Признак матричного принтера (Тип - Числовой) MATR_IS;
- Признак цветного принтера (Тип - Числовой) COLOR_PRINTER_IS;
- Максимальное количество страниц в месяц (Тип - Числовой) MAX_PAGE_IN_MONTH;
-Общее количество страниц для распечатки (ресурс принтера) (Тип - Числовой) MAX_ALL_RESOURCE;
- Количество распечатываемых страниц в минуту (Тип - Числовой) COUNT_PAGE_IN_MIN;
- Признак сетевого принтера (Тип - Числовой) PRINTER_NETWORK_IS;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Сетевые карты»
- Название сетевой карты (Тип - текстовый) NAIME_NETWORK;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Скорость передачи данных (Мегабит) (Тип - Числовой) SPEED_TRANS_DATA;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Признак встроенного устройства (Тип - Числовой) STATUS_INT;
Таблица «Манипуляторы “мышь”»
- Название манипулятора (Тип - текстовый) NAIME_MOUSE;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Количество кнопок (Тип - Числовой) COUNT_BUTTON;
Таблица «Материнские платы»
- Номер записи в связанной таблице SOCKET (Тип - Числовой) ;
- Название материнской платы (Тип - текстовый) NAIME_MOTHERBOARD;
- Признак наличия разъёмов типа PCI (Тип - Числовой) STATUS_PCI_IS;
- Признак наличия разъёмов типа AGP (Тип - Числовой) STATUS_AGP_IS;
- Признак наличия разъёмов типа PCI_E (Тип - Числовой) STATUS_PCI_E_IS;
- Признак наличия разъёмов типа IDE (Тип - Числовой) STATUS_IDE_IS;
- Признак наличия разъёмов типа SATA (Тип - Числовой) STATUS_SATA_IS;
- Признак наличия разъёмов типа SATA2 (Тип - Числовой) STATUS_SATA2_IS;
- Признак наличия разъёмов типа USB (Тип - Числовой) STATUS_USB_IS;
- Признак наличия разъёмов типа COM9 (Тип - Числовой) STATUS_COM9_IS;
- Признак наличия разъёмов типа COM25 (Тип - Числовой) STATUS_COM25_IS;
- Признак наличия разъёмов типа PS/2 для мыши (Тип - Числовой) STATUS_PS_2_MOUSE_IS;
- Признак наличия разъёмов типа PS/2 для клавиатуры (Тип - Числовой) STATUS_PS_2_KEYBOARD_IS;
- Признак типа материнской платы ATX (Тип - Числовой) STATUS_ATX_MOTHERBOARD_IS;
- Признак типа материнской платы microATX (Тип - Числовой) STATUS_microATX_MOTHERBOARD_IS;
- Признак наличия порта LPT (Тип - Числовой) STATUS_LPT;
- Признак встроенной видеокарты (Тип - Числовой) STATUS_INT_VIDEO;
- Признак встроенной звуковой карты (Тип - Числовой) STATUS_INT_SOUND;
- Признак встроенной сетевой карты (Тип - Числовой) STATUS_INT_NETWORK;
- Признак наличия дисковода дискет (Тип - Числовой) STATUS_FLOPPY_IS;
- Признак возможности разгона параметров(Тип - Числовой) OVERCLOCKERS_IS;
- Количество портов SATA (Тип - Числовой) COUNT_SATA;
- Количество портов PCI_E (Тип - Числовой) COUNT_PCI_E;
- Количество портов COM9 (Тип - Числовой) COUNT_COM9;
- Количество портов COM25 (Тип - Числовой) COUNT_COM25;
- Количество портов IDE (Тип - Числовой) COUNT_IDE;
- Количество портов PCI (Тип - Числовой) COUNT_PCI;
- Количество портов AGP (Тип - Числовой) COUNT_AGP;
- Количество портов SATA_2 (Тип - Числовой) COUNT_SATA_2;
- Количество портов USB (Тип - Числовой) COUNT_USB;
- Признак серверной мат. Платы (Тип - Числовой) MOTHERBOARD_SERVER_IS;
- Признак мультипроцессорной материнской платы (Тип - Числовой) MOTHERBOARD_MULTIPROCESSORS_IS;
- Значение максимального объёма оперативной памяти, который поддерживается материнской платой (Тип - Числовой) MAX_MEMORY_OPERATION;
- Значение максимального объёма памяти жёсткого диска, который поддерживается материнской платой (Тип - Числовой) MAX_HARD_DRIVE;
- Значение предельной тактовой частоты памяти, который поддерживается материнской платой (Тип - Числовой) MAX_FREQUENCY_MEMORY;
- Признак поддержки памяти SDRAM (Тип - Числовой) MEMORY_TYPE_IS_SDRAM;
- Признак поддержки памяти DDR (Тип - Числовой) MEMORY_TYPE_IS_DDR;
- Признак поддержки памяти DDR2 (Тип - Числовой) MEMORY_TYPE_IS_DDR2;
- Номер записи в связанной таблице VIDEO (Тип - Числовой) NUM_VIDEO;
- Номер записи в связанной таблице SOUND (Тип - Числовой) NUM_SOUND;
- Номер записи в связанной таблице NETWORK (Тип - Числовой) NUM_NETWORK;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Мониторы»
- Название монитора(Тип- текстовый) NAIME_MONITOR;
- Признак монитора на основе электронно-лучевой трубки (Тип - Числовой) STATUS_ELT_IS;
- Признак монитора на основе TFT - матрицы (Тип - Числовой) STATUS_TFT_IS;
- Признак монитора на основе LCD - матрицы (Тип - Числовой) STATUS_LCD_IS;
- Частота обновления экрана (Тип - Числовой) FREQUENCY_UPDATE;
- Время отклика пикселя (Тип - Числовой) TIME_REACT_PIXEL;
- Угол просмотра (Тип - Числовой) UGOL_PROSMOTR;
- Количество цветов (Тип - Числовой) COUNT_COLOR;
- Признак наличия порта S_VIDEO (Тип - Числовой) STATUS_S_VIDEO_IS;
- Потребляемая мощность (в Ваттах) (Тип - Числовой) POWER_WATT;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Оперативная память»
- Название оперативной памяти (Тип- текстовый) NAIME_MEMORY;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Тактовая частота памяти (Тип - Числовой) FREQUENCY;
- Признак возможности разгона параметров памяти (Тип - Числовой) STATUS_OVERCLOCKERS_IS;
- Значение объёма памяти (Тип - Числовой) MEMORY;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Клавиатуры»
- Название клавиатуры (Тип- текстовый) NAIME_KEYBOARD;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Количество клавиш (Тип- Числовой) COUNT_BUTTON;
Таблица «Жёсткие диски»
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Название жёсткого диска (Тип- текстовый) NAIME_HARDDRIVE;
- Признак наличия порта IDE (Тип - Числовой) STATUS_IDE_IS;
- Признак наличия порта SATA (Тип - Числовой) STATUS_SATA_IS;
- Признак наличия порта SATA2 (Тип - Числовой) STATUS_SATA2_IS;
- Признак наличия порта USB (Тип - Числовой) STATUS_USB_IS;
- Значение объема постоянной памяти (Тип - Числовой) MEMORY ;
- Скорость оборотов двигателя (об в мин.) (Тип - Числовой) SPEED_SHPINDEL ;
- Значение Кэш – памяти (в Мегабайтах) (Тип - Числовой) CASH_MEMORY;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Кулеры»
- Название кулера (Тип- текстовый) NAIME_COOLER;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Корпуса»
- Название корпуса(Тип- текстовый) NAIME_BOXED ;
- Цвет корпуса(Тип- текстовый) COLOR;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип-Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Дизайн корпуса (Тип- текстовый) DESIGN;
Таблица «Блоки питания»
- Название блока питания(Тип- текстовый) NAIME_BLOCK;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Мощность блока питания в Ваттах (Тип - числовой) POWER;
- Признак разъёма питания типа ATX (Тип - числовой) JACK_ATX_IS;
- Признак разъёма питания типа microATX (Тип - числовой) JACK_microATX_IS.
2.3.3 Логическая и физическая структура базы данных
Анализ взаимодействия различных информационных объектов.
Рисунок 13 – Концептуальная модель базы данных АРМ « Подсистема поддержки принятия решений менеджера по продажам компьютерной техники»
«Разъёмы» в данном случае представляют собой совокупность классифицированных и сгруппированных интерфейсов, посредством которых происходит связывание комплектующих и обеспечивается совместимость их взаимодействия. Данная совокупность связана с большинством комплектующих предоставляемых фирмой , организуя, таким образом, взаимосвязанную структуру “разъем – комплектующее” . У фирмы присутствует список постоянных поставщиков оборудования, которые выполняют поставку недостающего товара и обеспечивают удовлетворение постоянного спроса покупателей на компьютерную технику. Существует список клиентов фирмы, которые делают заказы в данной фирме. Каждому заказу клиента соответствует список комплектующих, заказанных конкретным покупателем.
2.4 Разработка программного модуля в Delphi
2.4.1 Разработка алгоритма работы программы
Проектируемая программа «Подсистема поддержки принятия решений менеджера по продажам компьютерной техники» реализовывалась на языке программирования Object Pascal в IDE среде Borland Delphi 7.0.
Другим вспомогательным средством построения системы является СУБД Microsoft Access 2003. Средством управления редактированием и отладки запросов к объектам базы данных, также является компонент пакета Microsoft Office - Microsoft Access 2003.
На рисунке 15 представлена схема функционирования алгоритма программы. Рассмотрим более подробно весь механизм работы приложения.
Рисунок 15 – Общая структура алгоритма работы программы «Подсистема поддержки принятия решений менеджера по продажам компьютерной техники»
2.4.2 Реализация программы в среде программирования
Вся работа программы сводится к модульной схеме функционирования. Работа с таблицами базы данных организуется посредством отдельных модулей, каждый из которых решает задачу по добавлению, удалению или изменению информации, находящейся в конкретной таблице базы данных.
Модуль Start_.pas – отображает заставку при загрузке программы;
Модуль Unit_PASSWORD.pas – подпрограмма защиты программы от несанкционированного входа;
Модуль Unit1.pas – является главным модулем программы, из которого вызываются все остальные модули;
Модуль About.pas – выполняет вывод информации о технических требованиях к работе программы;
Модуль Manual.pas – отображает инструкцию пользователю по работе с программой;
Модуль Developer.pas – отображает инструкцию пользователю по работе с программой;
Модуль INSERT_ZAKAZ.pas – отображает форму редактирования заказов покупателей;
Модуль Insert_VIDEO.pas – отображает форму редактирования информации о видеоконтроллерах;
Модуль Insert_UPS.pas – отображает форму редактирования информации о блоках бесперебойного питания;
Модуль Insert_TV_TUNER.pas – отображает форму редактирования информации о ТВ тюнерах;
Модуль Insert_SOUND_SYSTEM.pas – отображает форму редактирования информации об акустических системах;
Модуль Insert_SOUND.pas – отображает форму редактирования информации о звукових картах;
Модуль Insert_SCANERS.pas – отображает форму редактирования информации о сканерах;
Модуль Insert_PROCESSOR.pas – отображает форму редактирования информации о процессорах;
Модуль Insert_PRINTERS.pas – отображает форму редактирования информации о принтерах;
Модуль Insert_NETWORK.pas – отображает форму редактирования информации о сетевых картах;
Модуль Insert_MOUSE.pas – отображает форму редактирования информации о манипуляторах «мышь»;
Модуль Insert_MOTHERBOARD.pas – отображает форму редактирования информации о материнских платах;
Модуль Insert_MONITOR.pas – отображает форму редактирования информации о мониторах;
Модуль Insert_Memory.pas – отображает форму редактирования информации об оперативной памяти;
Модуль Insert_KEYBOARD.pas – отображает форму редактирования информации о клавиатурах;
Модуль Insert_HARD_DRIVE.pas – отображает форму редактирования информации о жёстких дисках;
Модуль Insert_COOLER.pas – отображает форму редактирования информации о кулерах;
Модуль Insert_BOXED.pas – отображает форму редактирования информации о корпусах;
Модуль Insert_BLOCK_POWER.pas – отображает форму редактирования информации о блоках питания;
Модуль Insert_Socket.pas – отображает форму редактирования информации о разъёмах (сокетах);
Модуль Report.pas – выполняет генерирование информации о счёте на оплату;
Модуль Insert_Postavka.pas – отображает форму редактирования информации о поставщиках фирмы;
Модуль Insert_Manufactured.pas – отображает форму редактирования информации о производителях;
Заключение
Программа Аксес ( Access) компании Майкрософт является прекрасным инструментом для работы с данными. Аксес позволяет хранить и обрабатывать данные, подготавливать отчеты, контролировать правильность данных на стадии их ввода, создавать формы для более удобной работы с данными (интерфейс). Одновременно с базой данных могут работать несколько пользователей. Для небольшой фирмы (например, туристической компании) несколько потраченных часов на создание базы данных могут дать недорогой и гибкий бизнес-инструмент. Создание такого инструмента необходимо, если в фирме растет количество используемых файлов эксель (база данных позволяет хранить данные в одном файле), создание самого простого варианта недорого (может стоить от 100$ и занимает до нескольких часов), эффект перехода на Access чувствуется сразу.
Для начинающих программировать освоение программы Аксес может быть первым шагом к работе с другими базами данных.
Важная особенность СУБД Access - использование буфера обмена при выполнении ряда операций. Буфер используется при выполнении команд копирования и перемещения для временного хранения копируемых или перемещаемых данных, после чего они направляются по новому адресу. При удалении данных они также помещаются в буфер. Содержимое буфера сохраняется до тех пор, пока не будет записана новая порция данных.
СУБД Access имеет достаточное количество команд, у каждой из которых возможны различные параметры (опции). Выбор определенной команды из меню производится либо наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода, либо вводом с клавиатуры первой буквы выбранной команды.
Использованная литература
1. Кошелев В.Е. Access 2007. Эффективное использование. – М.: Бином-Пресс, 2009. – 590 с.
2. Сминрнова О.В. Access 2007 на практике. – М.: Феникс, 2009. – 160 с.