ВВЕДЕНИЕ
Эффективное управление предприятием в современных условиях невозможно без использования компьютерных технологий. Правильный выбор программного продукта и фирмы-разработчика - это первый и определяющий этап автоматизации бухгалтерского учета. В настоящее время проблема выбора информационной системы (ИС) из специфической задачи превращается в стандартную процедуру. В этом смысле российские предприятия сильно уступают зарубежным конкурентам. Иностранные предприятия, как правило, имеют опыт модернизации и внедрения не одного поколения ИС. В развитых западных странах происходит смена уже четвертого поколения ИС. На российских предприятиях зачастую используют системы первого или второго поколения.
Руководители многих российских предприятий имеют слабое представление о современных компьютерных интегрированных системах и предпочитают содержать большой штат собственных программистов, которые разрабатывают индивидуальные программы для решения стандартных управленческих задач.
Процедура принятия решения о выборе наиболее эффективной компьютерной системы управления нова для большинства отечественных руководителей, а ее последствия во многом будут оказывать значительное влияние на предприятие в течение нескольких лет. Т.к. применение интегрированной ИС, которая отвечала бы требованиям предприятия (масштабу, специфике бизнеса и т.д.), позволила бы руководителю минимизировать издержки и повысить оперативность управления предприятием в целом.
Современная экономика немыслима без информации. Тысячи предприятий, миллионы налогоплательщиков, триллионы рублей, биржевые котировки, реестры акционеров - все эти информационные потоки необходимо оценить, обработать, сделать необходимые выводы, принять правильное решение.
|
Современный специалист - экономист должен уметь принимать обоснованные решения. Для этого наряду с традиционными знаниями, такими как основы менеджмента, основы внешнеэкономической деятельности, банковское дело, административное управление, налогообложение он должен владеть информацией по построению информационных систем.
Сегодня обработка экономической информации стала самостоятельным научно-техническим направлением с большим разнообразием идей и методов. Отдельные компоненты процесса обработки данных достигли высокой степени организации и взаимосвязи, что позволяет объединить все средства обработки информации, на конкретном экономическом объекте понятием "экономическая информационная система" (ЭИС).
Постановка задачи и исходные данные
Разработать программу ведения учета абитуриентов. Систему спроектировать для работы в вузе.
Программа должна содержать не менее 2-х таблиц и содержать связи между таблицами.
Также, программа должна содержать минимум два отчета и два графика.
По заданию варианта функции управления реализованы с помощью меток.
Интерфейс приложения представляет собой форму с расположенными на ней интерфейсными элементами управления для более удобного ввода, редактирования и вывода информации и набор запросов для отбора нужных данных из нескольких таблиц.
Формы представляют собой как обычные формы ввода данных, так и формы вывода отчета и построения диаграммы.
|
Функциональность приложения обеспечивается наличием меток и кнопок управления.
Большинство ошибочных ситуаций перехватывается и обрабатывается соответствующими обработчиками исключительных ситуаций.
Состав и структура данных
База данных курсового проекта спроектирована и сохранена в формате Paradox 7. Тип таблиц Paradox 7 предпочтителен при создании файл-серверных БД. Таблицы Paradox по сравнению с другими файл-серверными системами поддерживают самый богатый набор разных типов полей, что позволяет автоматически следить за правильностью вводимых в поля данных, выбирать данные из другой таблицы, строить вторичные индексы, в том числе составные, следить за ссылочной целостностью БД, защищать таблицу от несанкционированного доступа, выбирать языковой драйвер.
База данных состоит из 2 таблиц в формате Paradox 7:
· abiturients – содержит данные об абитуриентах и оценках ими полученных.
· specialities – содержит данные о специальностях в соответствии с вариантом задания.
Типы данных, используемые в программе данного курсового проекта, в Paradox 7 следующие:
· + - тип «автоинкремент». Целое число типа SmallInt, которое автоматически увеличивается на 1; * означает, что данное поле является первичным ключом таблицы;
· A – (ALPHA) строковый тип данных, за которым в поле SIZE указывается количество символов допустимых в строке;
· S – (SHORT) короткое целое.
Структура таблицы abiturients (см. рис. 1):
Рисунок 1 – Структура таблицы abiturients
· A_id – автоинкремент – ключевое поле – код абитуриента;
· A_surname – строка (до 25 символов в длину) – фамилия абитуриента.
|
· A_math – целое число – оценка по математике.
· A_physic – целое число – оценка по физике.
· A_composition – целое число – оценка по сочинению.
· A_s_id – целое число – поле связывает абитуриента со специальностью, куда он решил поступать и хранит код специальности.
Структура таблицы specialities (см. рис. 2):
Рисунок 2 – Структура таблицы specialities
· S_id – автоинкремент – ключевое поле.
· S_code – строка (до 10 символов) – код специальности.
· S_name – строка (до 30 символов) – наименование специальности.
· S_faculty – alpha (до 30 символов) – факультет.
Таблицы связаны между собой отношением типа «один-ко-многим». Связь таблиц устанавливается программно.
Программа реализует связь «один-ко-многим», поскольку рассматривает связь как “на одну специальность поступает много студентов”.
Также связь можно было реализовать и как «один студент поступает только на одну специальность», т.е. «один-к-одной».
В таблице abiturients создан вторичный индекс по полю A_s_id. По этому полю осуществляется связь с таблицей specialities (см. рис. 3).
В таблице specialities создан вторичный индекс по полям S_name, S_faculty. Он используется при сортировке данных.
Рисунок 3 – Схема структуры базы данных
3. Методы решения задачи
В программе данного курсового проекта применен способ изменения значения поля, связанного с ключевым полем.
Если попробовать связать главную таблицу с подчиненной с помощью конструктора связей, а потом попытаться изменить значение поля A_s_id, то вместо смены значения движок базы данных выдает ошибку о том, что рекурсивные ссылки не поддерживаются. Поэтому в других программах реализуются так называемые подстановочные таблицы.
Разработанная программа обходит проблему рекурсивной ссылки без использования подстановочных таблиц.
В программе нет никаких связей заданных по умолчанию. Вместо этого на форме находится DBLookupComboBox, который связал поля s_id и a_s_id и в то же время ссылается на поле s_id. Если эти поля связать между собой в конструкторе связей, база данных будет выдавать ошибку, поскольку BDE полагает, что поле s_id связано само с собой. А если не связать, то программа не будет отображать отдельно записи абитуриентов по разным специальностям, а будет отображать все подряд. Программой обрабатываются два события связанные с DBLookupComboBox. Это onEnter и onCloseUp.
Когда пользователь начинает выбор специальности из списка, то происходит событие onEnter, программа выполняет программный разрыв связи между таблицами, и поэтому во время раскрытия списка в таблицах сетки отображаются все записи абитуриентов. Зато, благодаря отсутствию связи можно выбрать любую специальность из списка, а не только ту, абитуриенты которой отображаются в данный момент на экране (см. рис. 4).
Рисунок 4. Начало выбора специальности из списка
Второе событие - onCloseUp – происходит, когда пользователь выбрал нужную специальность из списка и список закрывается. В обработчике этого события восстанавливается связь между главной и подчиненной таблицами. И снова можно перемещаться по строкам таблицы специальностей и смотреть абитуриентов по каждой из них (см. рис. 5).
Основной функционал приложения реализован с помощью sql запросов:
1) select s.s_code, count (a.a_id) total from abiturients a, specialities s where a.a_s_id=s.s_id group by s.s_id,s_code – считает сколько абитуриентов поступает на каждую специальность.
2) Select a.a_surname, sum(a_math+a_physic+a_composition) summa,s.s_code,s.s_faculty from abiturients a, specialities s where a.a_s_id=s.s_id group by s_code,s_faculty,a_surname order by summa des – этот запрос выполняет сортировку абитуриентов по убыванию суммы баллов с группировкой по факультетам и специальностям.
Рисунок 5. Выбрана специальность code2