Содержание
Введение
1. Анализ
и выбор средств
разработки
информационной
системы
1.1 Краткая
характеристика
предприятия
1.2 Литературный
обзор средств
проектирование
базы данных
1.3 Анализ
сред разработки
программ ввода /
вывода
2. Разработка
структуры базы
данных и пользовательского
интерфейса
2.1 Разработка
структуры базы
данных
2.2 Реализация
базы данных
с помощью программы
«Денвер 2»
3. Разработка
подсистемы
ввода / вывода
и генерации
отчетов для
автоматизированной
информационной
системы
3.1 Программы
ввода / вывода
информации
3.2 Режим
администрирования
3.3 Генерация
отчетов
Заключение
Список
используемых
источников
Приложения
Введение
Современная
жизнь немыслима
без эффективного
управления.
Важной категорией
являются системы
обработки
информации,
от которых во
многом зависит
эффективность
работы любого
предприятия
или учреждения.
Для ведения
учета при большом
объеме наименований,
очень актуальной
становится
возможность
хранения информации
в базе данных,
а так как иногда
необходимо
контролировать
и управлять
информацией
за пределами
предприятия,
– эта база должна
поддерживать
удаленное
администрирование.
Данное
решение будет
являться очень
удобным и полезным
для организации
ОАО «Токаревский
«Мясокомбинат»»,
так как оно
поможет избежать
неудобности
поиска данных
о том или ином
наименовании.
Сегодня на
компьютерах
применяется
новое поколение
программного
обеспечения,
которое буквально
революционизировало
работу пользователей.
Довольно
распространено
мнение, что,
новые системы
являются более
«дружественными»
и облегчают
жизнь людей.
Цель
дипломной
работы – разработка
автоматизированной
информационной
системы управления
взаимоотношениями
с клиентами
для ОАО «Токаревский
«Мясокомбинат»».
Задачи дипломной
работы:
проанализировать
информационные
потоки;
разработать
структуру базы
данных;
произвести
заполнение
базы данных
необходимой
информацией;
разработать
подсистему
ввода / вывода
данных;
разработать
подсистему
удаления ранее
введенных
данных;
разработать
программы,
которые осуществляют
поиск информации
в базе данных
по определенному
критерию.
Актуальность
и практическая
значимость
предлагаемой
работы заключаются
в решении проблем,
связанных с
созданием
оптимальной
структуры
хранения информации
и программ
ввода / вывода
данных для
автоматизированной
информационной
системы.
Объектом
исследования
является управления
взаимонотношениями
с клиентами
ОАО «Токаревский
«Мясокомбинат»».
Предмет
анализа –
автоматизированная
система управления
взаимоотношениями
с клиентами.
Для выполнения
поставленных
задач была
использована
документация,
предоставленная
ОАО «Токаревский
«Мясокомбинат»».
1.
Анализ и выбор
средств разработки
информационной
системы
1.1 Краткая
характеристика
предприятия
Открытое
акционерное
общество
ОАО «Токаревский
Мясокомбинат»
организован
в 1953 г. является
коммерческой
организацией,
утверждено
в соответствии
с Указом Президента
Российской
Федерации №721
от 01.07.1992 г. на основании
Распоряжения
Госкомимущества
от 11.12.1992 г. №1403, является
правопреемником
государственного
предприятия
комбината
мясоптица
«Токаревский»
Первый директор
Рогудеев Николай
Иванович. Сейчас
возглавляет
генеральный
директор Лобаков
Валериан
Александрович.
Общество
действует в
соответствии
с Федеральным
законом «Об
акционерных
обществах»
иным действующим
законодательством
РФ и настоящим
Уставом. Уставной
капитал общества
составляет
100940 рублей. Количество
акционеров
– 193 человека,
обладающие
в совокупности
акциями в количестве
10094 штуки.
Место
нахождения:
Тамбовская
область, пгт.
Токаревка,
ул. Трудовая
69. Общество имеет
гражданские
права и исполняет
обязанности,
необходимые
для осуществления
любых видов
деятельности
не запрещенных
действующим
законодательством
РФ.
Основными
видами деятельности
общества является:
закупка
скота, птиц и
другого
сельскохозяйственного
сырья в коллективных,
государственных
фермерских
и индивидуальных
хозяйствах;
Переработка
сельскохозяйственного
сырья;
Производство
товаров народного
потребления:
мясо, мясные
полуфабрикаты,
колбасные
изделия.
Общество
может также
осуществлять
и другие виды
деятельности,
в том числе
торговую,
торгово-посредническую,
закупочную
и сбытовую
деятельность.
Общество является
юридическим
лицом с момента
его регистрации.
Общество в
установленном
законодательвом
РФ порядке
осуществляет
свою производственно-хозяйственную
деятельность,
а также социальное
развитие коллектива
работников,
устанавливает
цены на производимую
продукцию и
оказываемые
услуги, определяет
формы и размеры
заработной
платы работников.
Заготовка
сырья ведется
в основном в
Токаревском
районе. Снабжение
теплом и холодом
производится
от собственной
котельной,
компрессорного
цеха. Сбыт продукции
осуществляется
через магазины
мясокомбинат
ОАО «Токаревский
«Мясокомбинат»»
постоянно
работает над
повышением
своего уровня.
Много времени
уделяется
повышению
квалификации
своих сотрудников,
подбору хорошей
компьютерной
техники, обеспечение
удобства для
клиентов, а
также информационной
поддержке
клиентов. Для
более мобильной
работы с клиентами
установлен
выход в Интернет
и существует
своя электронная
почта. С помощью
хорошего оснащения
предприятия,
вы всегда сможете
получить достоверную
информацию
по интересующим
вопросам.
1.2 Литературный
обзор средств
проектирование
базы данных
Среди
наиболее ярких
представителей
систем управления
базами данных
можно отметить:
Lotus
Approach,
Borland
dBase,
Borland
Paradox,
Microsoft
Visual
FoxPro,
Microsoft
Visual
Basic,
а также баз
данных Microsoft
SQL
Server
и Oracle,
используемые
в приложениях,
построенных
по технологии
«клиент-сервер».
Компания
Oracle
проникла на
российский
рынок более
десяти лет
назад, и продукция
этой фирмы
хорошо известна.
Oracle7 это реляционная
СУБД и семейство
продуктов,
обеспечивающих
создание
автоматизированных
и информационных
систем различного
назначения.
В состав семейства
входят: СУБД
Oracle7 RDBMS, средства
проектирования
приложений
CDE CASE
(Designer/2000),
средства разработки
приложений
CDE
Tools
(Developer/2000),
средства конечного
пользователя,
средства интерфейса
с программными
продуктами
третьих фирм,
коммуникационные
средства и так
далее.
Общие
функциональные
возможности
версия 7.3 сервера
Oracle содержит ряд
функциональных
новшеств,
направленных
как на расширение
возможностей
разработчиков
приложений,
так и на развитие
возможностей
самой системы
по обслуживанию
большого числа
одновременных
пользователей.
Oracle устроен так,
что разработчик
приложений
может не заботиться
об эффектах
многопользовательского
режима работы.
Сервер сам
обеспечивает
все необходимые
блокировки
(хотя позволяет
выпонять их
и «вручную»),
причем осуществляет
их всегда на
минимально
возможном
уровне: скажем
при изменении
записи только
эта запись, и
будет заблокирована
от изменений
другими пользователями
(до завершения
транзакции).
В Oracle необходимость
обеспечения
блокировок
учитывается
уже в организации
хранения данных,
а сам этот механизм
является неотъемлемой
частью ядра
сервера, «переплетаясь»
со всеми его
внутренними
алгоритмами.
Функциональные
новшества в
Oracle 7.3 появилась
возможность
читать и писать
поля таблиц
типа Long по частям
(на уровне Oracle
Call Interface), что, безусловно
полезно, ибо
размер таких
полей может
доходить до
2 Гбайт. Расширился
набор типов
представлений
(views), для которых
допускается
их непосредственная
модификация.
Появился ряд
новшеств в
языке PL/SQL (процедурном
расширении
SQL), самое заметное
из которых –
поддержка
таблиц, хранимых
в памяти сервера.
Новые алгоритмы
обработки
запросов. Выполнение
SQL запроса –
особенно имеющего
сложную структуру
– обычно распадается
на несколько
взаимосвязанных
операций. Само
это разбиение,
а тем более
выбор методов
выполнения
операций, как
правило, допускают
множество
альтернативных
решений. Выбор
оптимальной
их комбинации
– задача оптимизатора,
который на
основании, как
характера
запроса, так
и имеющейся
информации
о задействованных
таблицах и
индексах, наличии
тех или иных
системных
ресурсов (в
Oracle 7.3 расширен
набор видов
предоставляемой
оптимизатору
информации:
теперь он может
учитывать
частотные
гистограммы
индексируемых
полей) строит
оценку стоимости
разных вариантов
решения.
Oracle традиционно
славится как
поставщик СУБД
для крупных
инсталляций,
однако в связи
с этим бытует
(и активно
поддерживается
конкурентами)
также и мнение
о том, что для
небольших
систем Oracle слишком
тяжеловесен,
сложен, дорог
и пр. Oracle прикладывает
немало усилий,
чтобы по всем
параметрам
включая цены
утвердиться
в качестве
основного
поставщика
во всех сегментах
рынка СУБД,
начиная с небольших
рабочих групп.
В отличие
от Oracle 7 восьмая
версия сервера
Oracle не просто
предоставляет
расширенный
набор встроенных
типов данных,
но и позволяет
конструировать
новые типы
данных со
спецификацией
методов доступа
к ним. Это означает
фактически,
что разработчики
получают в руки
не просто систему
для хранения
и обработки,
скажем, видеоданных
(что, понятно,
нужно далеко
не в каждом
приложении),
а и инструмент,
позволяющий
строить структурированные
типы данных,
непосредственно
отображающие
сущности предметной
области. Влияние
этого фактора
на возможности
разработчиков
можно сравнить
с эффектом от
перехода на
реляционные
СУБД в начале
80 х годов. Oracle8
фактически
опирается на
новый стандарт
SQL, позволяющий
описывать
определения
новых типов
объектов, состоящих
из атрибутов
(скалярных –
т.е. других типов,
множеств объектов,
ссылок на объекты),
и обладающих
ассоциированными
с ним методами.
Любая колонка
таблицы может
быть любого
типа, поддерживаются
также вложенные
таблицы и массивы
объектов переменной
длины.
SQL
является
инструментом,
предназначенным
для обработки
и чтения данных,
содержащихся
в компьютерной
базе данных.
SQL
– это сокращенное
название
структурированного
языка запросов
(Structured
Query
Language).
Как следует
из названия,
SQL
является языком
программирования,
который применяется
для организации
взаимодействия
пользователя
с базой данных.
На самом деле
SQL
работает только
с базами данных
одного определенного
типа, называемых
реляционными.
На
рисунке
1 изображена
схема работы
SQL.
Рисунок
1. Схема работы
SQL
Согласно
этой схеме, в
вычислительной
системе имеется
база данных,
в которой хранится
важная информация.
В базе данных
на персональном
компьютере
может храниться
различная
информация.
Компьютерная
программа,
которая управляет
базой данных,
называется
системой управления
базой
данных,
или СУБД.
Если
пользователю
необходимо
прочитать
данные из базы
данных, он
запрашивает
их у СУБД с помощью
SQL.
СУБД обрабатывает
запрос, находит
требуемые
данные и посылает
их пользователю.
Процесс запрашивания
данных и получения
результата
называется
запросом к базе
данных: отсюда
и название
–
структурированный
язык запросов.
Однако
это название
не совсем
соответствует
действительности.
Во-первых, сегодня
SQL
представляет
собой нечто
гораздо большее,
чем простой
инструмент
создания запросов,
хотя именно
для этого он
и был первоначально
предназначен.
Несмотря на
то, что чтение
данных по-прежнему
остается одной
из наиболее
важных функций
SQL,
сейчас этот
язык используется
для реализации
всех функциональных
возможностей,
которые СУБД
предоставляет
пользователю,
а именно:
организация
данных: SQL
дает пользователю
возможность
изменять структуру
представления
данных, а также
устанавливать
отношения
между элементами
базы данных.
чтение
данных: SQL
дает пользователю
или приложению
возможность
читать из базы
данных содержащиеся
в ней данные
и пользоваться
ими.
обработка
данных: SQL
дает пользователю
или приложению
возможность
изменять базу
данных, то есть
добавлять в
нее новые данные,
а также удалять
или обновлять
уже имеющиеся
в ней данные.
управление
доступом: с
помощью SQL
можно ограничить
возможности
пользователя
по чтению и
изменению
данных и защитить
их от несанкционированного
доступа.
совместное
использование
данных: SQL
координирует
совместное
использование
данных пользователями,
работающими
параллельно,
чтобы они не
мешали друг
другу.
целостность
данных: SQL
позволяет
обеспечить
целостность
базы данных,
защищая ее от
разрушения
из-за несогласованных
изменений или
отказа системы.
Таким
образом, SQL
является достаточно
мощным языком
для взаимодействия
с СУБД.
Во-вторых,
SQL
– это
не полноценный
компьютерный
язык типа COBOL,
FORTRAN
или С. В SQL
нет оператора
IF
для проверки
условий, нет
оператора GOTO
для организации
переходов и
нет операторов
DO
или FOR
для создания
циклов. SQL
является подъязыком
баз данных, в
который входит
около тридцати
операторов,
предназначенных
для управления
базами данных.
Операторы SQL
встраиваются
в базовый язык,
например COBOL,
FORTRAN
или С, и дают
возможность
получать доступ
к базам данных.
Кроме того, из
такого языка,
как С, операторы
SQL
можно посылать
СУБД в явном
виде, используя
интерфейс
вызовов функций.
Несмотря
на не совсем
точное название,
SQL
на сегодняшний
день является
единственным
стандартным
языком для
работы с реляционными
базами данных.
SQL
– это
достаточно
мощный и в то
же время относительно
легкий для
изучения язык.
SQL
– это
легкий для
понимания язык
и в то же время
универсальное
программное
средство управления
данными.
Успех
языку SQL
принесли следующие
его особенности:
независимость
от конкретных
СУБД;
переносимость
с одной вычислительной
системы на
другую;
наличие
стандартов;
одобрение
компанией IBM
(СУБД DB2);
поддержка
со стороны
компании Microsoft
(протокол ODBC);
реляционная
основа;
высокоуровневая
структура,
напоминающая
английский
язык;
возможность
выполнения
специальных
интерактивных
запросов:
обеспечение
программного
доступа к базам
данных;
возможность
различного
представления
данных;
полноценность
как языка,
предназначенного
для работы с
базами данных;
возможность
динамического
определения
данных;
поддержка
архитектуры
клиент / сервер.
Все
перечисленные
выше факторы
явились причиной
того, что SQL
стал стандартным
инструментом
для управления
данными на
персональных
компьютерах,
мини-компьютерах
и больших ЭВМ.
1.3 Анализ
сред разработки
программ ввода /
вывода
Существует
несколько
языков программирования
для практического
применения,
извлечения
данных из СУБД
и генерирования
отчетов.
Такими языками,
к примеру, являются
Perl, PHP, JAVA и ASP.
Рассмотрим
некоторые черты
этих языков
в общем, сравнении
друг с другом:
РНР, PERL
и Java.
Вообще
говоря, различают
язык Java и технологию
Java. Язык Java представляет
собой С-подобный
язык, который
разрабатывался
как «улучшенный
C++». Технология
Java включает в
себя клиентскую
и серверную
часть, а также
доступ к базам
данных, поэтому
наиболее корректно
проводить
сравнение
технологии
Java со связкой
Apache/PHP/MySQL. Технология
Java разрабатывалась
как межплатформенная
технология,
позволяющая
создавать
Web приложения
корпоративного
масштаба. Основными
достоинствами
этой технологии
являются
межплатформенная
переносимость
и объектно-ориентированный
язык, что позволяет
создавать
сложные и объемные
приложения.
К числу недостатков
можно отнести
медленное
выполнение,
потребление
большого количества
памяти (плата
за межплатформенную
переносимость)
и сложность
разработки
Web приложений
по сравнению
с РНР или Perl.
Между тем РНР
и PERL
почти не уступают
Java в гибкости
и масштабируемости
созданных
приложений.
Кроме того,
использование
Java для разработки
достаточно
простых приложений
вряд ли оправдано,
а при работе
над серьезными
задачами Java
обходится
дороже.
PERL
и
ASP.NET
ASP (Active
Server Pages) – язык
сценариев
от
Microsoft. Основное
достоинство
ASP.NET заключается
в возможности
применения
всей мощи интерфейса
Windows для разработки
Web приложений.
Это позволяет
разрабатывать
страницы со
сложным интерфейсом,
не заботясь
о сохранении,
шифровании
и передаче
переменных,
используемых
на динамических
страницах.
Код
Web приложения
на ASP.NET компилируется
в промежуточный
язык MSIL (Microsoft Intermediate Language),
иногда просто
называемый
IL. Аппаратно-независимый
код на языке
IL помещается
в кэш Web сервера
для повышения
производительности,
по аналоги с
байт-кодом
Java. Но в отличие
от технологии
Java, обеспечивающей
платформенную
независимость,
NET обеспечивает
независимость
от языка разработки.
Выполнение
Web приложений
ASP.NET на серверах,
работающих
не под Windows, практически
невозможно.
Поэтому в смысле
переносимости
PERL,
безусловно,
отличается
от ASP.NET в лучшую
сторону. Другой
крайне немаловажный
довод в пользу
PERL
заключается
в быстром исправлении
обнаруженных
ошибок. Теоретически
исправить их
можно самостоятельно,
если обладаете
достаточной
квалификацией.
Таким образом,
при выборе
между ASP.NET и PERL
следует исходить
из стоящей
задачи. Если
в сети Интранет
крупной корпорации
большинство
серверов и
клиентских
машин работают
под управлением
Windows, применение
ASP.NET более чем
оправдано. В
то же время для
разработки
Web сайта, размещаемого
в Интернете,
целесообразнее
использовать
PERL.
Я реализовал
модули для АИС
«Отдела сбыта»
на языке программирования
Perl (Practical Extraction and Report Language – Практический
язык извлечений
и отчетов).
Язык
программирования
Perl
был выбран мною
не случайно.
Perl – это
интерпретируемый
язык, оптимизированный
для просмотра
содержимого
текстовых
файлов, выделения
из них информации
и генерирования
отчетов на
основе этой
информации,
а также просто
хороший язык
для выполнения
многих задач
системного
администрирования.
Он обладает
большим набором
преимуществ
как язык сценариев
общего назначения,
которые проявляются
через его характерные
черты и возможности.
Первым
в цепочке достоинств
языка Perl можно
назвать его
интерпретируемость.
Если вспомнить,
для чего он
предназначен
– задач администрирования
и обработки
текстовых
файлов – небольших
по размерам
сценариев,
решающих
нетрадиционные
задачи, для
программирования
которых могло
бы потребоваться
взаимодействие
нескольких
специализированных
языков. Разработка
подобных решений
с помощью
компилируемых
языков программирования
потребовала
бы на много
больше времени,
чем использование
одного интерпретируемого:
ведь цикл разработки
программ на
таком языке
короче и проще,
чем на компилируемом.
Мы постепенно
создаем программу,
добавляя, необходимые
операторы, и
сразу же получаем
результаты,
когда она завершена:
интерпретатор
perl постепенно
компилирует
все операторы
во внутренний
байт-код и программа
готова к выполнению,
как только в
ней поставлена
последняя точка
(точнее точка
с запятой,
завершающая
последний
оператор).
Суммируя
все сказанное,
можно заключить,
что Perl позволяет
легко и быстро
получить требуемое
решение задачи,
сочетая в себе
элементы
компилируемых
и интерпретируемых
языков программирования.
Это несравненный
плюс языка
программирования
Perl
для решения
задачи написания
программы
ввода / вывода
данных и генераций
отчетов для
АИС управления
и взаимоотношения
с клиентами
так как каждый
модуль не велик
по объёму, но
требует быстрого
взаимодействия
с таблицами
БД.
2.
Разработка
структуры базы
данных и пользовательского
интерфейса
2.1 Разработка
структуры базы
данных
Нормализация
– процесс, в
результате
которого можно
избавиться
от дефектов
проектирования
базы данных.
В процессе
нормализации
мы, получаем
ряд нормальных
форм, используя
набор правил,
описывающих
то, что следует,
и что не следует
делать со структурой
нашей таблицы.
Процесс нормализации
состоит из
разбиения
таблиц на меньшие,
в результате
чего формируется
лучшая структура.
Чтобы
выполнить
нормализацию,
структура базы
данных последовательно
приводится
к различным
формам. Вообще
говоря, каждая
последующая
форма относится
и предыдущей
категории.
Например, чтобы
схема базы
данных соответствовала
второй нормальной
форме, она должна
также соответствовать
и первой нормальной
форме. Чтобы
схема соответствовала
третьей нормальной
форме, она должна
соответствовать
и второй нормальной
форме, и т.д. На
каждой стадии
добавляется
все больше
правил, которым
должна соответствовать
схема.
Первая нормальная
форма требует,
чтобы каждое
значение атрибута
или столбца
было атомарным.
Это значит, что
каждый атрибут
должен содержать
единственное
значение, а не
множество
значений или
другую строку
базы данных.
Рассмотрим
таблицу 1.
Таблица
1. Client
id |
f_sob |
fio |
otv |
ur_adr |
fiz_adr |
tel |
vid_doc |
3 |
Физ.
лицо |
Аверин А.С. |
Леонов А.Ю. |
8 Марта
38 |
Советская
45 |
2–24–09 |
Вод.
удост. |
2 |
Физ.
лицо |
Петров П.П. |
Синегубов М.С. |
Калинина
4 |
Пролеткая
24 |
72–80–21 |
Воен.
билет |
5 |
Юр.
лицо |
Ронжин Д.С. |
Карикова Т.Н. |
Пролет-кая
20 |
Маяков-го
150 |
55–12–33 |
паспорт |
Это –
ненормализованная
версия таблицы
клиент. Как
видите, здесь
размешены такие
столбцы как
form_sob,
vid_doc, которые
надо привести
к первой нормальной
форме. Чтобы
привести схему
к первой нормальной
форме, необходимо
в столбце товар,
покупатели
и форма расчета
разместить
атомарные
значения. Это
можно сделать
различными
способами.
Первая, наверное,
самая очевидная
возможность,
показана в
таблице 2.
Таблица
2. Client
id |
Id_f_sb |
fio |
otv |
ur_adr |
fiz_adr |
tel |
Id_v_dc |
3 |
2 |
Аверин А.С. |
Леонов А.Ю. |
8 Марта
38 |
Советская
45 |
2–24–09 |
3 |
2 |
2 |
Петров П.П. |
Синегубов М.С. |
Калинина
4 |
Пролетарская
24 |
72–80–21 |
2 |
5 |
1 |
Ронжин Д.С. |
Карикова Т.Н. |
Пролетарская
20 |
Маяковского
150 |
55–12–33 |
1 |
В данной
таблице мы
выделили по
одной строке
на каждый элемент
в столбцах
форма собственности,
вид документа.
Это решение
далеко от идеального,
по сколько оно
порождает
очевидную
избыточность
данных. Лучший
и самый правильный
вариант приведения
наших данных
к нормальной
форме показан
на рисунке 2.
В этом случае
мы выделили
данные формы
собственности
в отдельную
таблицу, что
позволяет
решить проблему
избыточности.
После
приведения
схемы к нормальной
форме можно
перейти к формам
старших порядков,
которые немного
труднее для
понимания.
Говорят, что
схема находится
во второй нормальной
форме, если все
атрибуты, не
являющиеся
частью первичного
ключа, а сама
схема уже находится
в первой нормальной
форме. Что это
значит? Это
значит, что
каждый атрибут,
не является
ключом, должен
функционально
зависеть от
всех составляющих
ключа. Так, если
первичный ключ
составлен из
нескольких
столбцов, то
всякий другой
атрибут в таблице
должен зависеть
от комбинации
всех этих столбцов.
Рисунок
2 – Нормализация
Базы данных
В таблице
2 Client
имеет по одной
строке на каждый
элемент квалификации
типов. Таблица
находится в
первой нормальной
форме, но не
удовлетворяет
второй нормальной
форме. Другими
словами, мы
можем определить
наименование
vid_doc,
используя
только кодовый
номер типа
(Id_vid_doc).
Это значит, что
указанные
атрибуты
функционально
зависимы только
от части первичного
ключа, а не от
всего первичного
ключа. Таким
образом, я могу
определить
эти атрибуты
по части первичного
ключа, и для
этого совсем
не нужен весь
первичный ключ.
Следовательно,
указанная схема
не находится
во второй нормальной
форме.
Чтобы
привести эту
схему ко второй
нормальной
форме необходимо
разбить таблицу
на такие таблицы,
в которых все
не ключевые
атрибуты будут
полностью
функционально
зависеть от
ключа. Очевидно,
что в данном
случае этого
можно достичь,
разделив исходную
таблицу на две:
client
(Id_vid_doc)
Vid_doc
(vid)
Пример
показан в таблице
3.
Таблица
3. Vid_doc
id |
Vid |
1 |
Паспорт |
3 |
Водительское
удостоверение |
2 |
Военный
билет |
Как уже говорилось,
эта схема находится
в первой нормальной
форме, поскольку
все значения
являются атомарными.
Но она также
находится и
во второй нормальной
форме, по сколько
каждый атрибут,
не являющийся
ключом, теперь
функционально
зависит от всех
частей ключа.
Для моей схемы
не требуется
создавать
третью нормальную
форму, так как
моей работе
удовлетворяют
две формы, то
есть первая
нормальная
форма и вторая
нормальная
форма.
2.2 Реализация
базы данных
с помощью программы
«Денвер 2»
В базе
данных было
решено создать
15 таблицы и назвать
её «comb»:
Таблицы
базы
данных
«comb»: client, dan_doc, dog, form_ras, form_sob, men,
pam, posher, prod, realiz, sort, upac, vid_doc, vid_posh, vid_pr.
Рассмотрим
подробнее
структуру
каждой из них.
Таблица
«client»
состоит из 8
полей. В первом
храниться
уникальный
идентификатор
записи, имя
поля «ID»
тип Smallint.
Это поле является
первичным
ключом таблицы.
Второе поле
«id_form_sob»
содержит информацию
о форме собственности
и является
индексным полем
в таблице, тип
Smallint.
Третье поле
«fio»
это поле содержит
информацию
о клиенте, тип
Varshar.
Четвёртое поле
«otv»
это поле содержит
ответсвенное
лицо клиента,
тип Varchar.
Пятое поле
«ur_adr»
содержит юридический
адрес, тип Varchar.
Шестое поле
«fiz_adr»
содержит физический
адрес, тип Varchar.
Седьмое поле
«tel»
содержит номер
телефона клиента,
тип Varchar.
Восьмое поле
«id_vid_doc»
содержит информацию
о виде документа
и является
индексным полем
в таблице, тип
Smallint.
Пример программы
приведен на
рисунке 3 и рисунке
4.
Рисунок
3 – Структура
таблицы «client»
Рисунок
4 – Таблица «client»
Таблица
«form_sob»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «client».
Второе поле
«form»
содержит форму
собственности.
Пример программы
приведен на
рисунке 5 и рисунке
6.
Рисунок
5 – Структура
таблицы «form_sob»
Рисунок
6 – Таблица
«form_sob»
Таблица
«vid_doc»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «client».
Второе поле
«vid»
содержит вид
документа.
Пример программы
приведен на
рисунке 7 и рисунке
8.
Рисунок
7 – Структура
таблицы «vid_doc»
Рисунок
8 – Таблица «vid_doc»
Таблицы
«prod»
состоит из 9
полей. Первое
поле «ID»
содержит уникальный
идентификатор
записи имя поля
«id»
тип Smallint.
Второе поле
«id_vid_pr»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «vid_pr»,
тип Smallint.
Третье поле
«naz»
содержит название
продукции, тип
Varchar.
Четвертое поле
«id_upac»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «upac»,
тип Smallint.
Пятое поле
«id_sort»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «sort»,
тип Smallint.
Шестое поле
«data»
содержит дату
продукции, тип
Varchar.
Седьмое поле
«sroc»
содержит срок
годности продукции,
тип Varchar.
Восьмое поле
«cena»
содержит цену
продукции, тип
Varchar.
Девятое поле
«kol»
содердит количество
продукции, тип
Varchar.
Пример программы
приведен на
рисунке 9 и рисунке
10.
Рисунок
9 – Структура
таблицы «prod»
Рисунок
10 – Таблица «prod»
Таблица
«vid_pr»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «prod».
Второе поле
«vid_pr»
содержит вид
продукции, тип
Varshar.
Пример программы
приведен на
рисунке 11 и рисунке
12.
Рисунок
11 – Структура
таблицы «vid_pr»
Рисунок
12 – Таблица «vid_pr»
Таблица
«upac»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «prod».
Второе поле
«upack»
содержит вид
упаковки, тип
Varshar.
Пример программы
приведен на
рисунке 13 и рисунке
14.
Рисунок
13 – Структура
таблицы «upac»
Рисунок
14 – Таблица «upac»
Таблица
«sort»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «prod».
Второе поле
«sor»
содержит сорт
продукции, тип
Varshar.
Пример программы
приведен на
рисунке 15 и рисунке
16.
Рисунок
15 – Структура
таблицы «sort»
Рисунок
16 – Таблица «sort»
Таблица
«men»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Второе поле
«fio1»
содержит Ф.И.О.
менеджера, тип
Varshar.
Пример программы
приведен на
рисунке 17 и рисунке
18.
Рисунок
17 – Структура
таблицы «men»
Рисунок
18 – Таблица «men»
Таблица
«posher»
состоит из 4
полей. Первое
поле «ID»
содержит уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Второе поле
«id_client»
содержит Ф.И.О.
клиента и является
индексным полем
в таблице, тип
Smallint.
Третье поле
«id_vid_posh»
содержит вид
поощрения и
является индексным
полем в таблице,
тип Smallint.
Четвертое поле
«data»
содержит дату,
когда поощрить,
тип Varshar.
Пример программы
приведен на
рисунке 19 и рисунке
20.
Рисунок
19 – Структура
таблицы «posher»
Рисунок
20 – Таблица «posher»
Таблица
«vid_posh»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «posher».
Второе поле
«posh»
содержит вид
поощрений, тип
Varshar.
Пример программы
приведен на
рисунке 21 и рисунке
22.
Рисунок
21 – Структура
таблицы «vid_posh»
Рисунок
22 – Таблица
«vid_posher»
Таблица
«dan_doc»
состоит из 6
полей. Первое
поле «ID»
содержит уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Второе поле
«id_vid_doc»
содержит вид
документа и
является индексным
полем в таблице,
тип Smallint.
Третье поле
«cer»
содержит серию
документа, тип
Varshar.
Четвертое поле
«data»
содержит дату
выдачи документа,
тип Varshar.
Пятое поле
«mest»
содержит место
выдачи документа,
тип Varshar.
Шестое поле
«kem»
содержит, кем
выдан документ,
тип Varshar.
Пример программы
приведен на
рисунке 23 и рисунке
24.
Рисунок
23 – Структура
таблицы «dan_doc»
Рисунок
24 – Таблица
«dan_doc»
Таблица
«dog»
состоит из 5
полей. Первое
поле «ID»
содержит уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Второе поле
«pred»
содержит предмет
договора, тип
Varshar.
Третье поле
«otv»
содержит,
ответсвенное
лицо договора,
тип Varshar.
Четвертое поле
«id_form_ras»
содержит, уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Пятое поле
«data»
содержит дату
подписания
договора, тип
Varshar.
Пример программы
приведен на
рисунке 25 и рисунке
26.
Рисунок
25 – Структура
таблицы «dog»
Рисунок
26 – Таблица «dog»
Таблица
«form_ras»
состоит из 2
полей. Первое
поле «ID»
содержит уникальный
идентификатор,
по которому
происходит
связь с индексом
«id»
таблицы «dog».
Второе поле
«form»
содержит форму
расчета, тип
Varshar.
Пример программы
приведен на
рисунке 27 и рисунке
28.
Рисунок
27 – Структура
таблицы «form_ras»
Рисунок
28 – Таблица
«form_ras»
Таблица
«pam»
состоит из 5
полей. Первое
поле «ID»
содержит уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Второе поле
«id_men»
содержит, уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Третье поле
«id_client»
содержит, уникальный
идентификатор
записи, имя
поля «id»
тип Smallint.
Четвертое поле
«data»
содержит, дату
паятных дат,
тип Varshar.
Пятое поле
«prim»
содержит, примечание,
тип Varshar.
Пример программы
приведен на
рисунке 29 и рисунке
30.
Рисунок
29 – Структура
таблицы «pam»
Рисунок
30 – Таблица «pam»
Таблица
«realiz»
состоит из 7
полей. В первом
храниться
уникальный
идентификатор
записи, имя
поля «ID»
тип Smallint.
Это поле является
первичным
ключом таблицы.
Второе поле
«id_men»
содержит информацию
о менеджере
и является
индексным полем
в таблице, тип
Smallint.
Третье поле
«id_client»
содержит информацию
о клиенте и
является индексным
полем в таблице,
тип Smallint.
Четвёртое поле
«id_vid_pr» содержит
вид продукции
и является
индексным полем
в таблице, тип
Smallint.
Пятое поле
«id_dog»
содержит информацию
о договоре и
является индексным
полем в таблице,
тип Smallint.
Шестое поле
«data»
содержит дату
когда реализовали
товар, тип Varchar.
Седьмое поле
«kol»
содержит количество
реализованной
продукции, тип
Varchar.
Пример программы
приведен на
рисунке 31 и рисунке
32.
Рисунок
31 – Структура
таблицы «realiz»
Рисунок
32 – Таблица «realiz»
3 Разработка
подсистемы
ввода / вывода
и генерации
отчетов для
автоматизированной
информационной
системы.
Вся часть
состоит из
нескольких
программных
продуктов
ввода / вывода
данных и генераций
отчетов:
«Администрирование»
– позволяет
добавлять в
базу данных
готовые проекты
и удалять их.
«Программы
вывода информации
из базы данных»
– интерфейс
позволяет
просматривать
всю информацию,
содержащуюся
в базе данных.
«Поиск»
– интерфейс
позволяет
осуществлять
поиск данных,
в таблицах
базы данных,
генерирует
отчеты на основе
запросов
пользователя
в базе данных.
3.1 Программы
ввода / вывода
информации
Пользовательский
интерфейс
должен быть
в первую очередь
прост и интуитивно
понятен пользователю
с любым уровнем
знаний персонального
компьютера.
Проектируя
главную HTML
– форму интерфейса
к базе данных,
я постаралась
включить в неё
все самое
необходимое.
HTML
– форма содержит
10 ссылок, при
помощи которых
вы можете управлять
различными
частями базы:
клиент, продукция,
реализация,
договор, данные
о документе,
поощрения,
памятные даты,
добавление,
поиск, удаление.
Пример
приведен на
рисунке 33.
Рисунок
33. Главная web форма
Расположение
элементов
управления
в левой части
ускоряет работу
пользователя.
Теперь
подробнее
рассмотрим
файл index_1.html:
<html><head><title>База
Токаревского
мясокомбината
</title></head>
Задаем
количество
столбцов.
<frameset
cols= «280,*» border=1 frameborder=no framespacing=0>
Путь
к
левой
части
фрейма
<frame
marginheight= «15» marginwidht= «10» name=
«left» src= «1.html» scrolling= «no»
noresize>
Путь
к
правой
части
фрейма
<frame name=
«right» src= «2.html» scrolling= «no»
noresize>
</framest>
</html>
Рассмотрим
файл
1.html:
<html><head><title>Токаревский
Мясокомбинат</title>
Создаем стиль
ссылок без
подчёркивания.
<style>
a
{text-decoration:none;}
h3
{font-size:14pt;}
</style></head>
Задаётся
стиль
оформления
страницы.
<body
bgcolor=
«black» alink= «red» link= «green»
vlink= «0099CC»><center>
<img
src=»/combin/image/2.png»>
Надпись
управление
данными сделана
с помощью фильтра
Shadow.
<DIV style=
«height: 65; width: 250; filter: Shadow (Color = red,
Direction=24)»>
|