Проект и реализация системы автоматизации работы сотрудников бухгалтерии ХК АкБарс

 

Оглавление


Введение

1. Краткий обзор средств решения проблемы

1.1 СУБД MS Access

1.2 Язык программирования Delphi

2. Системный анализ предметной области

3. Инфологическая модель предметной области

3.1 Составление перечня атрибутов предметной области

3.2 Агрегация атрибутов, в сущности

3.3 Определение первичных ключей

3.4 Нормализация сущностей

3.5 Графическое представление сущностей

3.6 Определение связей

4. Проектирование концептуальной модели предметной области

4.1 Преобразование сущностей в отношения

4.2 Установление свойств атрибутов

4.3 Определение внешних ключей

4.4 Реализация связи типа М: М

4.5 Графическое изображение концептуальной модели предметной области

5. Состав модулей и их описание

5.1 Main

5.2 DataMod

5.3 Players

5.4 Seasons

5.5 Stadium

5.6 Specializ

6. Диаграмма модулей

7. Описание интерфейса

Выводы

Библиографиязапросы реализованные в курсовом проекте

Листинг модулей


Введение


Автоматизация технологических и управленческих процессов, без которых немыслимо эффективное решение задач управления промышленным или торговым предприятием, банком, учебным заведением, государственными структурами, основывается на обработке значительных объемов информации.

Эффективность автоматизированных информационных систем в значительной степени зависит от того, насколько обеспечивается высокая скорость доступа к данным, их полнота, достоверность, непротиворечивость. Основой для функционирования автоматизированной информационной системы является система управления базами данных (СУБД). Наиболее распространение в настоящее время получили реляционные базы данных и стандартизированный структурированный язык запросов SQL (Structured Query Language).

В данной работе была спроектирована и реализована система автоматизации работы сотрудников бухгалтерии ХК АкБарс.


1. Краткий обзор средств решения проблемы


1.1 СУБД MS Access

Access - это функционально полная реляционная СУБД. В ней предусмотрены все необходимые вам средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации. Что касается легкости использования, то Microsoft Access совершил здесь настоящий переворот, и многие для создания своих собственных баз данных и приложений обращаются именно к нему.

Система управления базами данных предоставляет вам возможность контролировать задание структуры и описание своих данных, работу с ними и организацию коллективного пользования этой информацией. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся в многочисленных таблицах информации. СУБД включает в себя три основных типа функций: определение (задание структуры и описание) данных, обработка данных и управление данными. Все эти функциональные возможности в полной мере реализованы в Microsoft Access. В практике, как правило, необходимо решать и задачи с использованием электронных таблиц и текстовых процессоров. Например, после подсчета или анализа данных необходимо их представить в виде определенной формы или шаблоны. В итоге пользователю приходится комбинировать программные продукты для получения необходимого результата. В этом смысле все существенно упростят возможности, предоставляемые Microsoft Access.

СУБД Access предназначена для разработки баз данных реляционного типа для локального их использования на персональных компьютерах и для работы с этими базами.

При проектировании базы данных, в первую очередь, необходимо определить, что именно нужно хранить.

Данная СУБД была выбрана по следующим причинам:

§простота средств реализации,

§легкость освоения инструментарием разработчика (VBA),

§наглядность визуализации информации.

Также «Microsoft Access» предоставляет большое количество внутренних средств по оптимизации работы проектируемого приложения. К ним относятся:

§загрузка модулей по требованию;

§оптимизация дерева вызовов;

§использование файлов MDE;

§автоматическая поддержка компилированного состояния;

§использование библиотек Windows API;

§индивидуальная настройка системы;

§эффективное использование индексов;

§встроенный оптимизатор запросов.

Система управления базами данных (СУБД) обычно поддерживает 4 основных типа отношений между таблицами:

один-к-одному (одной записи в первой таблице соответствует одна запись во второй);

один-ко-многим (одной записи в первой таблице соответствует много записей во второй);

много-к-одному (многим записям в первой таблице соответствует одна запись во второй);

много-ко-многим (одной записи в первой таблице соответствует много записей во второй и одной записи во второй таблице соответствует много записей в первой).

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

В СУБД Access процесс создания реляционной базы данных включает создание схемы данных. Схема данных наглядно отображает таблицы и связи между ними, а также обеспечивает использование связей при обработке данных. В схеме данных устанавливаются параметры обеспечения целостности связей в базе данных.

Таким образом, осуществляется неразрывная связь внемашинного проектирования базы данных с этапом ее создания с помощью СУБД. В схеме данных, построенной по нормализованной модели данных предметной области, могут быть установлены одно-однозначные и одно-многозначные связи. Для таких связей обеспечивается поддержание целостности взаимосвязанных данных, при которой не допускается наличия в базе данных подчиненной записи без связанной с ней главной, при первоначальной загрузке базы данных и ее корректировках. Связи, определенные в схеме данных, используются автоматически при разработке многотабличных форм, запросов, отчетов, существенно упрощая процесс их конструирования.


1.2 Язык программирования Delphi

является мощным и универсальным средством разработки приложений, RAD-оболочкой. Ее вместе с библиотекой VCL, на которой оболочка основана и написана, можно назвать действительно революционной. Сравнение с C++ Builder 4 показывает, что производительность Pascal-кода, сгенерированного Delphi, всего на 4-5% меньше, чем кода C++.

Достоинства языка программирования

Простота, скорость и эффективность Delphi объясняют ее популярность. Delphi имеет один из самых быстрых компиляторов, порождающий, тем не менее, весьма и весьма неплохой объектный код. Есть и другие достоинства: простота изучения Object Pascal; облегчающие жизнь нововведения - вроде свойств (properties); программы, написанные на Delphi, не требуется снабжать дополнительными библиотеками (в отличие от связки C++/MFC). В самом деле, VCL предоставляет удобный, легко расширяемый объектно-ориентированный интерфейс к Windows, что ни в коей мере не мешает программисту опускаться в самые глубины Windows API. Создателям оригинальных компонентов это приходится делать довольно часто, в отличие от "просто программистов". Как было сказано выше, модель программирования в Delphi - компонентная, что позволяет пользоваться компонентами, написанными другими разработчиками, даже не имея их исходного кода и уж подавно не изучая его. В Интернете есть огромное количество компонентов, значительная часть которых распространяется бесплатно. Применение компонентной модели приводит к тому, что довольно многое в поведении объектов программировать не нужно вообще, и многое, на что в других средах ушли бы недели, можно сделать за часы или даже минуты. Оно и понятно - это ведь RAD-среда. К достоинствам можно отнести очень быстрый браузер классов и мгновенный вывод подсказки автозавершения кода (code completion). Если кратко - может все. Конечно, Object Pascal накладывает определенные ограничения, но для тех вещей, для которых ее писали, Delphi подходит практически оптимально. Из понравившихся (но, разумеется, нестандартных) "улучшений", внесенных Borland в Object Pascal, хотелось бы выделить свойства (properties) и перегружаемость процедур и функций (overloading).

Недостатки языка программирования

Главный недостаток (и одновременно достоинство) - статическое присоединение (linking) библиотеки VCL и компонентов к исполняемому файлу. Справедливости ради надо сказать, что VCL можно линковать и динамически, но тогда с каждым своим приложением вам придется распространять еще и VCL, а это более 3 Мбайт. Однако если не увлекаться интерфейсными "наворотами" и использовать в программе минимально необходимое число компонентов, то исполняемый файл будет невелик. Другой недостаток (и опять же достоинство) состоит в том, что в используемой в Delphi парадигме форм (Forms) вся информация о форме, включая свойства, настройки компонентов, значения по умолчанию, хранится в exe-файле, причем не оптимальным образом. Анализ исходного кода VCL показывает, что при создании формы фактически происходит чуть ли не синтаксический разбор данных инициализации, что не может ее не замедлять. Третий недостаток, который кто-нибудь тоже может назвать достоинством, - это Object Pascal. Несмотря на простоту, эффективность и легкость в изучении, ему не хватает очень многих мощных средств C++. Разочаровала Delphi и малым числом параметров оптимизации кода. Кроме того, заметна тенденция к "разрастанию" exe-файлов, генерируемых Delphi. Так, большинство небольших проектов, разработанных в Delphi 4, при перекомпиляции в Delphi 5 "растолстели" на 40-70 Кбайт, при этом, разумеется, не обретя новой функциональности.


2. Системный анализ предметной области


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

Номер игрока

Номер специализации

Фамилия

Имя

Отчество

Дата рождения

Рост

Вес

Количество проведенных игр

Количество забитых шайб

Семейное положение

Город проживания

Улица

Номер дома

Номер квартиры

Дата начала игры за команду

Дата ухода из команды

Образование

У каждого игрока в команде есть своя специализация, она характеризуется следующими параметрами:

Код специализации

Наименование

Информация

Матчи хоккейной команды проходят на стадионе. Стадион характеризуется следующими параметрами:

Номер стадиона

Название стадиона

Город, в котором находится

Название улицы

Номер дома

На стадионе имеются трибуны. Трибуны характеризуются следующими параметрами:

Номер трибуны

Название трибуны

Расположение

На матчи хоккейной команды продаются билеты. Каждый билет характеризуется следующими параметрами:

Номер билета

Номер места

Стоимость билета

Дата продажи

Игроки команды получают заработную плату. Характеристики:

Номер перевода

Дата перевода

Сумма перевода

Премия

Характеристики сезона:

Номер сезона

Название сезона

Дата начала сезона

Дата конца сезона

Бюджет клуба


3. Инфологическая модель предметной области


.1 Составление перечня атрибутов предметной области


Обозначение атрибутаИмя атрибутаПримечаниех1Номер игроках2Номер специализациих3Фамилияx4Имяx5Отчествоx6Дата рожденияx7Ростx8Весx9Количество проведенных игрx10Количество забитых шайбx11Семейное положениеx12Город проживанияx13Улицаx14Номер домаx15Номер квартирыx16Дата начала игры за командуx17Дата ухода из командыx18Образованиеx19Код специализацииx20Наименованиеx21Информацияx22Номер стадионаx23Название стадионаx24Город, в котором находитсяx25Название улицыx26Номер домаx27Номер трибуныx28Название трибуныX29Расположениеx30Номер билетаx31Номер местаx32Стоимость билетаx33Дата продажиx34Номер переводаx35Дата переводаX36Сумма перевода X37ПремияX38Номер сезонаX39Название сезонаX40Дата начала сезонаx41Дата конца сезонаx42Бюджет клуба

3.2 Агрегация атрибутов, в сущности


Таблица 2

Обозначение сущностиИмя сущностиСписок атрибутовY1Игрок,Y2СпециализацияY3СтадионY4ТрибунаY5БилетY6Перевод заработной платыY7Сезон

3.3 Определение первичных ключей


Таблица 3

СущностиПервичные ключиИгрокX1 - уникальный номер игрокаСпециализацияX19 - уникальный номер специализацииСтадионX22 - уникальный номер стадионаТрибунаX27- уникальный номер трибуныБилетX30 - уникальный номер билетаПеревод заработной платыX34 - уникальный номер перевода ЗПСезонX39 - уникальный номер сезона

3.4 Нормализация сущностей


Сущности чемпионат Сезон, Перевод заработной платы, Команда, Стадион, Специализация, Трибуны, Билет находятся в первой нормальной форме, так как атрибуты каждой сущности можно рассматривать как неделимые элементы.

Сущность Сезон находится во второй нормальной форме, поскольку:

Номер сезона? Название сезона

Номер сезона? Дата начала сезона

Номер сезона? Дата конца сезона

Номер сезона? Бюджет клуба

Сущность Перевод заработной платы, находится во второй нормальной форме, поскольку:

Номер перевода ? Дата перевода

Номер перевода ? Сумма перевода

Номер перевода ? Премия

Сущность Команда, находится во второй нормальной форме, поскольку:

Номер игрока ?Фамилия

Номер игрока ?Имя

Номер игрока ?Отчество

Номер игрока ?Дата рождения

Номер игрока ?Рост

Номер игрока ?Вес

Номер игрока ?Количество проведенных игр

Номер игрока ?Количество забитых шайб

Номер игрока ?Семейное положение

Номер игрока ?Город проживания

Номер игрока ?Улица

Номер игрока ?Номер дома

Номер игрока ?Номер квартиры

Номер игрока ?Дата начала игры за команду

Номер игрока ?Дата ухода из команды

Номер игрока ?Образование

Сущность Стадион, находится во второй нормальной форме, поскольку:

Номер стадиона ? Название стадиона

Номер стадиона ? Город, в котором находится

Номер стадиона ? Название улицы

Номер стадиона ? Номер дома

Сущность Трибуны, находится во второй нормальной форме, поскольку:

Номер трибуны ? Название трибуны

Номер трибуны ? Расположение

Сущность Специализация, находится во второй нормальной форме, поскольку:

Код специализации ? Наименование

Код специализации ? Информация

Сущность Трибуны, находится во второй нормальной форме, поскольку:

Номер трибуны ? Название трибуны

Номер трибуны ? Расположение

Сущность Билет, находится во второй нормальной форме, поскольку:

Номер билета? Номер места

Номер билета ?Стоимость билета

Номер билета ?Дата продажи

Сущности чемпионат Сезон, Перевод заработной платы, Команда, Стадион, Специализация, Трибуны, Билет находятся в третьей нормальной форме, так как они находятся во второй нормальной форме, и отсутствует транзитивная зависимость каждого неключевого атрибута от первичного ключа.


3.5 Графическое представление сущностей





3.6 Определение связей


Таблица 4

Сущность 1Сущность 2Тип связиКомандаПеревод ЗП 1:МСезонКоманда М: МСтадионТрибуны 1:МТрибуныБилет 1:MКомандаСпециализация 1:MСезонБилет 1:M

4. Проектирование концептуальной модели предметной области


.1 Преобразование сущностей в отношения


Преобразование сущности Команда в отношение Команда:



Преобразование сущности Специализация в отношение Специализация



Преобразование сущности Стадион в отношение Стадион:


Преобразование сущности Билет в отношение Билет:



Преобразование сущности Трибуны в отношение Трибуны:



Преобразование сущности Сезон в отношение Сезон:



Преобразование сущности Перевод заработной платы в отношение Перевод заработной платы:



4.2 Установление свойств атрибутов


Свойства атрибутов отношения Команда


Имя поляТип данныхНомер игрокаЧисловойФамилияТекстовыйИмяТекстовыйОтчествоТекстовыйНомер специализацииЧисловойКоличество проведенных игрЧисловойКоличество забитых шайбЧисловойСемейное положениеТекстовыйГород проживанияТекстовыйУлицаТекстовыйНомер домаЧисловойНомер квартирыЧисловойДата начала игры за командуДата/ВремяДата ухода из командыДата/ВремяОбразованиеТекстовый

Свойства атрибутов отношения Специализация


Имя поляТип данныхКод специализацииЧисловойНаименование специализацииТекстовыйИнформацияТекстовый

Свойства атрибутов отношения Сезон


Имя поляТип данныхНомер сезонаЧисловойНазвание сезонаТекстовыйДата начала сезонаДата/ВремяДата конца сезонаДата/ВремяБюджет клубаЧисловойСвойства атрибутов отношения Перевод заработной платы


Имя поляТип данныхНомер переводаЧисловойНомер игрокаЧисловойДата переводаДата/ВремяСумма переводаЧисловойПремияЧисловой

Свойства атрибутов отношения Трибуны


Имя поляТип данныхНомер трибуныЧисловойНазвание трибуныТекстовыйРасположениеТекстовый

Свойства атрибутов отношения Билет


Имя поляТип данныхНомер билетаЧисловойНомер местаЧисловойСтоимость билетаЧисловойДата продажиДата/Время

Свойства атрибутов отношения Стадион


Имя поляТип данныхНомер стадионаЧисловойНазвание стадионаТекстовыйГород, в котором находитсяТекстовыйНазвание улицыТекстовыйНомер домаЧисловой

4.3 Определение внешних ключей


Таблица 5

Дочернее отношениеВнешний ключТипNULLСсылкаПримечаниеБилетыНомер сезонаintNotNULLСезон, номер сезонадобавлениеБилетыНомер трибуныintNotNULLТрибуны, номер трибуныдобавлениеТрибуныНомер стадиона, в котором находится трибунаintNotNULLСтадион, номер стадионадобавлениеПеревод заработной платыНомер сезонаintNotNULLСезон, номер сезонадобавлениеПеревод заработной платыНомер игрокаintNotNULLКоманда, Номер игрокадобавлениеКомандаНомер специализацииintNotNULLСпециализация, код специализациидобавление

.4 Реализация связи типа М: М


Между отношениями Сезон и Команда существует связь многие-ко-многим, поэтому введем новое связующее отношение вида:



Таблица 6

Имя атрибутаТипNULLСсылкаКод сезоныintNot NULLСезон, Номер сезонаКод игрокаintNot NULLКоманда, Номер игрока

4.5 Графическое изображение концептуальной модели предметной области



5. Состав модулей и их описание


.1 Main


В данном модуле предусмотрено выполнение SQL запросов. Для отображения результатов запроса был размещен компонент DBGrid,для выполнения SQL запросов - компонент ADO Query ,для установления соединения с базой данных - компонент AdoConnection.


5.2 DataMod


В данном модуле осуществляется установление связи с базой данных с помощью компонента ADO Connection.После установления соединения с базой данных в модуле были размещены 8 компонентов Adotable и 8 компонентов Data Source для каждой таблицы в базе данных.


.3 Players


В данном модуле реализована возможность работы с таблицами: Команда, Сезоны, Перевод заработной платы. Предусмотрены возможности: добавления, удаления, редактирования данных для каждой таблицы. Для отображения информации в каждой из таблиц служит компонент DBGrid.Добавление во всех вышеперечисленных таблицах реализовано с помощью метода компонента ADOTable - Append.Удаление реализовано помощью метода компонента ADOTable - Delete.


5.4 Seasons


В данном модуле реализована возможность работы с таблицей: Сезон.

Предусмотрены возможности: добавления, удаления, редактирования данных.

Для отображения информации в таблице служит компонент DBGrid,так как добавление данных реализовано с помощью SQL запроса, был размещен компонент ADOQuery.

Удаление реализовано помощью метода компонента ADOTable - Delete.


5.5 Stadium


В данном модуле реализована возможность работы с таблицами: Стадион, Трибуны, «Билеты. Предусмотрены возможности: добавления, удаления, редактирования данных. Для отображения информации в каждой из таблиц служит компонент DBGrid.Добавление во всех вышеперечисленных таблицах реализовано с помощью метода компонента ADOTable - Append.Удаление реализовано помощью метода компонента ADOTable - Delete.


5.6 Specializ


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

Для отображения информации в таблице служит компонент DBGrid,так как добавление данных реализовано с помощью SQL запроса, был размещен компонент ADOQuery.

Удаление реализовано помощью метода компонента ADOTable - Delete.


6. Диаграмма модулей



7. Описание интерфейса

база данное программа интерфейс

При запуске программы, появляется форма:



На данной форме предусмотрено выполнение SQL -запросов.

Форма Сезоны:


Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Заполнить данные для каждого атрибута в соответствующий ему компонент Edit.

)Нажать на кнопку Добавление

)Далее нажать на кнопку Обновить содержимое таблицу

Для повторного ввода данных нужно нажать на кнопку Очистить содержимое редакторов или же очистить их вручную.

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Вкладка Игроки:



Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Ввести в таблицу DBGrid нужные значения.

)Нажать на кнопку Добавление

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Вкладка сезоны:



Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Ввести в таблицу DBGrid нужные значения.

)Нажать на кнопку Добавление

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Форма специализация игроков:


Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Заполнить данные для каждого атрибута в соответствующий ему компонент Edit.

)Нажать на кнопку Добавление

)Далее нажать на кнопку Обновить содержимое таблицу

Для повторного ввода данных нужно нажать на кнопку Очистить содержимое редакторов или же очистить их вручную.

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Вкладка перевод заработной платы:



Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Ввести в таблицу DBGrid нужные значения.

)Нажать на кнопку Добавление

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Вкладка стадион:


Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Заполнить данные для каждого атрибута в соответствующий ему компонент DBEdit.

)Нажать на кнопку Добавление

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Вкладка трибуны:



Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Заполнить данные для каждого атрибута в соответствующий ему компонент DBEdit.

)Нажать на кнопку Добавление

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Вкладка Билеты:



Для добавления записей в данную таблицу необходимо проделать следующие действия:

)Заполнить данные для каждого атрибута в соответствующий ему компонент DBEdit.

)Нажать на кнопку Добавление

Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку Удаление.

Для редактирования записи нужно проделать следующие действия:

)Выделить нужную запись.

)После изменения данных нажать на кнопку Сохранить изменения.

Выводы


Было спроектировано, построено и отлажено программное обеспечение, позволяющее автоматизировать деятельность специалистов бухгалтерии ХК АкБарс. Программное обеспечение обладает тем функционалом, которое было определено в момент анализа предметной области. Результаты работы предоставлены в виде исходного кода программного обеспечения.

За время создания программного обеспечения и написания пояснительной записки была досконально изучена предметная область проекта; разработана концептуальная модель базы данных.


Библиография


1.Емалетдинова Л.Ю, Владимирова Н.Л., Новикова С.В. «Структурированный язык запросов SQL к базам данных в многопользовательских системах: Учебное пособие для студентов технической кибернетики и информатики». Казань: Изд-во Казан. гос. техн. ун-та, 2002, 59 стр.

2.Емалетдинова Л.Ю, Валитова Н.Л., М.А. Разина «Проектирование программного и информационного обеспечения автоматизированных информационных систем». Казань: Изд-во Казан. гос. техн. ун-та, 2005, 81 стр.


SQL запросы реализованные в курсовом проекте


Добавление данных в таблицу Специализация

begin.close;.SQL.Clear;.SQL.Text := (

'insert into специализация([Код специализации],[Наименование специализации],[Информация]) values(' + Edit1.Text + ' , ' + char(39) + Edit2.Text + char(39) + ' , ' + char(39) + Edit3.Text + char(39) + ')');

ADOQuery1.Execsql;

Добавление данных в таблицу Сезон

begin.Close;.SQL.Clear;.SQL.Text := (

'insert into сезон([Номер сезона],[Название сезона],[Дата начала сезона],[Дата конца сезона],[Бюджет клуба]) values(' + Edit1.Text + ' , ' + Edit2.Text + ' , ' + char(39) + Edit3.Text + char(39) + ',' + char(39) + Edit4.Text + char(39) + ',' + char(39) + Edit5.Text + char(39) + ')');

ADOQuery1.Execsql;

По номеру сезона определить

)Сумму продаж от билетов в сезоне:

begin.Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select sum([Стоимость билета]) from [Билеты]where [Номер сезона]=' +

NumberOfSeason.Text);.Open;.Active := True;;

)Количество проданных билетов в сезоне:

begin.Active := False;.Close;.SQL.Clear;.SQL.Add('Select count(*) from [Билеты]where [Номер сезона]=' +.Text);.Open;.Active := True;;

)Суммарная зарплата игроков за определенный сезон:

begin.Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select sum([сумма перевода]) from [Перевод заработной платы]where [Номер сезона]='

+ NumberOfSeason.Text);.Open;.Active := True;;

) Суммарная премия игроков за определенный сезон:

begin.Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select sum([премия]) from [Перевод заработной платы]where [Номер сезона]='

+ NumberOfSeason.Text);.Open;.Active := True;;

По номеру игрока выяснить

) Список сезонов, в которых играл определенный игрок:

begin.Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select [Код сезона],[Номер игрока],[Фамилия],[Имя],[Отчество] from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);

ADOQuery1.Open;.Active := True;;

) Количество сезонов, в которых играл определенный игрок:

begin.Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select count(*) from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);

ADOQuery1.Open;.Active := True;;

) Название специализации игрока:

begin

ADOQuery1.Active := False;

ADOQuery1.Close;.SQL.Clear;1.SQL.Add(

'Select [Наименование специализации],[Номер игрока],[Фамилия],[Имя],[Отчество] from специализация,команда where специализация.[код специализации]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);

ADOQuery1.Open;.Active := True;;


Листинг модулей

Main;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Spin, Menus, DB, ADODB, Grids, DBGrids, StdCtrls, seasons, players,, Specializ;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TDBGrid;: TADOConnection;: TADOQuery;: TDataSource;: TGroupBox;: TMenuItem;: TButton;: TEdit;: TButton;: TButton;: TButton;: TMenuItem;: TButton;: TEdit;: TButton;: TButton;N1Click(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);SummProdClick(Sender: TObject);KolBilProdClick(Sender: TObject);SumZPClick(Sender: TObject);SumPremClick(Sender: TObject);N4Click(Sender: TObject);Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TMainForm;

{$R *.dfm}TMainForm.SummProdClick(Sender: TObject);((NumberOfSeason.Text = 'Введите номер сезона') or

(NumberOfSeason.Text = '')) then('Введите номер сезона').Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select sum([Стоимость билета]) from [Билеты]where [Номер сезона]=' +.Text);.Open;.Active := True;;;TMainForm.KolBilProdClick(Sender: TObject);((NumberOfSeason.Text = 'Введите номер сезона') or

(NumberOfSeason.Text = '')) then('Введите номер сезона').Active := False;.Close;.SQL.Clear;.SQL.Add('Select count(*) from [Билеты]where [Номер сезона]=' +.Text);.Open;.Active := True;;;TMainForm.SumZPClick(Sender: TObject);((NumberOfSeason.Text = 'Введите номер сезона') or

(NumberOfSeason.Text = '')) then('Введите номер сезона').Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select sum([сумма перевода]) from [Перевод заработной платы]where [Номер сезона]='

+ NumberOfSeason.Text);.Open;.Active := True;;;TMainForm.SumPremClick(Sender: TObject);((NumberOfSeason.Text = 'Введите номер сезона') or

(NumberOfSeason.Text = '')) then('Введите номер сезона').Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select sum([премия]) from [Перевод заработной платы]where [Номер сезона]='

+ NumberOfSeason.Text);.Open;.Active := True;;;TMainForm.Button1Click(Sender: TObject);((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then('Введите номер игрока').Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select [Код сезона],[Номер игрока],[Фамилия],[Имя],[Отчество] from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);

ADOQuery1.Open;.Active := True;;;TMainForm.Button2Click(Sender: TObject);((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then('Введите номер игрока').Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select count(*) from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);

ADOQuery1.Open;.Active := True;;;TMainForm.Button3Click(Sender: TObject);((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then('Введите номер игрока').Active := False;.Close;.SQL.Clear;.SQL.Add(

'Select [Наименование специализации],[Номер игрока],[Фамилия],[Имя],[Отчество] from специализация,команда where специализация.[код специализации]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);

ADOQuery1.Open;.Active := True;;;TMainForm.N1Click(Sender: TObject);.Show;;TMainForm.N2Click(Sender: TObject);.Show;;TMainForm.N3Click(Sender: TObject);.Show;;TMainForm.N4Click(Sender: TObject);.Show;;.DataMod;, Classes, DB, ADODB;= class(TDataModule): TADOConnection;: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TDataSource;: TADOTable;: TADOTable;: TADOTable;: TADOTable;: TADOTable;: TADOTable;: TADOTable;: TADOTable;

{ Private declarations }

{ Public declarations };: TDataModule1;

{$R *.dfm}. unit Players;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ComCtrls, datamod, Grids, DBGrids, ExtCtrls, StdCtrls, Mask, DBCtrls;= class(TForm): TPageControl;

Игроки: TTabSheet;: TGroupBox;: TButton;: TButton;: TButton;

Сезоны: TTabSheet;: TDBGrid;: TGroupBox;: TButton;: TButton;: TButton;: TTabSheet;: TDBGrid;: TGroupBox;: TButton;: TButton;: TButton;: TDBGrid;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button4Click(Sender: TObject);Button5Click(Sender: TObject);Button6Click(Sender: TObject);Button7Click(Sender: TObject);Button8Click(Sender: TObject);Button9Click(Sender: TObject);Button10Click(Sender: TObject);Button12Click(Sender: TObject);Button11Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;

{$R *.dfm}TForm2.Button10Click(Sender: TObject);.TComand.Append;;TForm2.Button11Click(Sender: TObject);Datamodule1.TComand.modified then.TComand.Post;;TForm2.Button12Click(Sender: TObject);.TComand.Delete;('Таблица пуста!!!');;;TForm2.Button1Click(Sender: TObject);.TZarplata.Append;;TForm2.Button2Click(Sender: TObject);.TZarplata.Delete;('Таблица пуста!!!');;;TForm2.Button3Click(Sender: TObject);Datamodule1.TZarplata.modified then.TZarplata.Post;;TForm2.Button4Click(Sender: TObject);.TSpec.Append;;TForm2.Button5Click(Sender: TObject);.TSpec.Delete;('Таблица пуста!!!');;;TForm2.Button6Click(Sender: TObject);Datamodule1.TSpec.modified then.TSpec.Post;;TForm2.Button7Click(Sender: TObject);.TSeasons.Append;;TForm2.Button8Click(Sender: TObject);.TSeasons.Delete;('Таблица пуста!!!');;;TForm2.Button9Click(Sender: TObject);Datamodule1.TSeasons.modified then.TSeasons.Post;;. unit Seasons;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB, ADODB;= class(TForm): TDBGrid;: TButton;: TButton;: TGroupBox;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;: TADOConnection;: TADOQuery;: TDataSource;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TButton;Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button4Click(Sender: TObject);Button1Click(Sender: TObject);Button5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;

{$R *.dfm}TForm1.Button1Click(Sender: TObject);.Text := '';.Text := '';.Text := '';.Text := '';.Text := '';;TForm1.Button2Click(Sender: TObject);.TSeason.Delete;('Таблица пуста!!!');;;TForm1.Button3Click(Sender: TObject);datamodule1.TSeason.Modified then.TSeason.Post;;TForm1.Button4Click(Sender: TObject);((Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '') and

(Edit4.Text <> '') and (Edit5.Text <> '')) then.Close;.SQL.Clear;.SQL.Text := (

'insert into сезон([Номер сезона],[Название сезона],[Дата начала сезона],[Дата конца сезона],[Бюджет клуба]) values(' + Edit1.Text + ' , ' + Edit2.Text + ' , ' + char(39) + Edit3.Text + char(39) + ',' + char(39) + Edit4.Text + char(39) + ',' + char(39) + Edit5.Text + char(39) + ')');

ADOQuery1.Execsql;('Ошибка,вы заполнили не все поля!!!');

end;TForm1.Button5Click(Sender: TObject);.TSeason.Close;.TSeason.open;;. unit Specializ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB, ADODB;= class(TForm): TDBGrid;: TLabel;: TLabel;: TLabel;: TButton;: TButton;: TADOConnection;: TADOQuery;: TEdit;: TEdit;: TEdit;: TButton;: TDataSource;: TButton;: TButton;Button3Click(Sender: TObject);Button2Click(Sender: TObject);Button4Click(Sender: TObject);Button1Click(Sender: TObject);Button5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TSpecial;

{$R *.dfm}TSpecial.Button1Click(Sender: TObject);.TSpec.close;.TSpec.Open;;TSpecial.Button2Click(Sender: TObject);datamodule1.TSpec.Modified then.TSpec.Post;;TSpecial.Button3Click(Sender: TObject);.TSpec.Delete;('Таблица пуста!!!');;;TSpecial.Button4Click(Sender: TObject);((Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '')) then.close;.SQL.Clear;.SQL.Text := (

'insert into специализация([Код специализации],[Наименование специализации],[Информация]) values(' + Edit1.Text + ' , ' + char(39) + Edit2.Text + char(39) + ' , ' + char(39) + Edit3.Text + char(39) + ')');

ADOQuery1.Execsql;('Ошибка,вы заполнили не все поля!!!');

end;TSpecial.Button5Click(Sender: TObject);.Text := '';.Text := '';.Text := '';;. unit Stadium;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ComCtrls, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls;= class(TForm): TPageControl;: TTabSheet;: TTabSheet;: TTabSheet;: TDBGrid;: TDBGrid;: TDBGrid;: TGroupBox;: TButton;: TButton;: TButton;: TGroupBox;: TButton;: TButton;: TButton;: TGroupBox;: TButton;: TButton;: TButton;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button6Click(Sender: TObject);Button5Click(Sender: TObject);Button4Click(Sender: TObject);Button8Click(Sender: TObject);Button7Click(Sender: TObject);Button9Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;

{$R *.dfm}TForm3.Button1Click(Sender: TObject);.TStadium.Append;;TForm3.Button2Click(Sender: TObject);.TStadium.Delete;('Таблица пуста!!!');;;TForm3.Button3Click(Sender: TObject);datamodule1.TStadium.Modified then.TStadium.Post;;TForm3.Button4Click(Sender: TObject);datamodule1.TTribun.Modified then.TTribun.Post;;TForm3.Button5Click(Sender: TObject);.TTribun.Delete;('Таблица пуста!!!');;;TForm3.Button6Click(Sender: TObject);.TTribun.Append;;TForm3.Button7Click(Sender: TObject);.TTickets.Delete;('Таблица пуста!!!');;;TForm3.Button8Click(Sender: TObject);.TTickets.Append;;TForm3.Button9Click(Sender: TObject);datamodule1.TTickets.Modified then.TTickets.Post;;.


Оглавление Введение 1. Краткий обзор средств решения проблемы 1.1 СУБД MS Access 1.2 Язык программирования Delphi 2. Системный анализ предмет

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ