Проект и реализация системы автоматизации работы сотрудников бухгалтерии ХК АкБарс
Системы управления базами данных и их эффективность. Системный анализ предметной области и проектирование её концептуальной модели. Составление перечня атрибутов и определение ключей. Состав модулей и их описание. Описание интерфейса программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 12.07.2012 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
- Введение
- 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 запросы реализованные в курсовом проекте
- Листинг модулей
Введение
Автоматизация технологических и управленческих процессов, без которых немыслимо эффективное решение задач управления промышленным или торговым предприятием, банком, учебным заведением, государственными структурами, основывается на обработке значительных объемов информации.
Эффективность автоматизированных информационных систем в значительной степени зависит от того, насколько обеспечивается высокая скорость доступа к данным, их полнота, достоверность, непротиворечивость. Основой для функционирования автоматизированной информационной системы является система управления базами данных (СУБД). Наиболее распространение в настоящее время получили реляционные базы данных и стандартизированный структурированный язык запросов SQL (Structured Query Language).
В данной работе была спроектирована и реализована система автоматизации работы сотрудников бухгалтерии ХК АкБарс.
1. Краткий обзор средств решения проблемы
1.1 СУБД MS Access
Microsoft Access - это функционально полная реляционная СУБД. В ней предусмотрены все необходимые вам средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации. Что касается легкости использования, то Microsoft Access совершил здесь настоящий переворот, и многие для создания своих собственных баз данных и приложений обращаются именно к нему.
Система управления базами данных предоставляет вам возможность контролировать задание структуры и описание своих данных, работу с ними и организацию коллективного пользования этой информацией. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся в многочисленных таблицах информации. СУБД включает в себя три основных типа функций: определение (задание структуры и описание) данных, обработка данных и управление данными. Все эти функциональные возможности в полной мере реализованы в Microsoft Access. В практике, как правило, необходимо решать и задачи с использованием электронных таблиц и текстовых процессоров. Например, после подсчета или анализа данных необходимо их представить в виде определенной формы или шаблоны. В итоге пользователю приходится комбинировать программные продукты для получения необходимого результата. В этом смысле все существенно упростят возможности, предоставляемые Microsoft Access.
СУБД Access предназначена для разработки баз данных реляционного типа для локального их использования на персональных компьютерах и для работы с этими базами.
При проектировании базы данных, в первую очередь, необходимо определить, что именно нужно хранить.
Данная СУБД была выбрана по следующим причинам:
§ простота средств реализации,
§ легкость освоения инструментарием разработчика (VBA),
§ наглядность визуализации информации.
Также «Microsoft Access» предоставляет большое количество внутренних средств по оптимизации работы проектируемого приложения. К ним относятся:
§ загрузка модулей по требованию;
§ оптимизация дерева вызовов;
§ использование файлов MDE;
§ автоматическая поддержка компилированного состояния;
§ использование библиотек Windows API;
§ индивидуальная настройка системы;
§ эффективное использование индексов;
§ встроенный оптимизатор запросов.
Система управления базами данных (СУБД) обычно поддерживает 4 основных типа отношений между таблицами:
- один-к-одному (одной записи в первой таблице соответствует одна запись во второй);
- один-ко-многим (одной записи в первой таблице соответствует много записей во второй);
- много-к-одному (многим записям в первой таблице соответствует одна запись во второй);
- много-ко-многим (одной записи в первой таблице соответствует много записей во второй и одной записи во второй таблице соответствует много записей в первой).
Связь любого из этих типов может быть обязательной, если в данной связи должен участвовать каждый экземпляр сущности, необязательной - если не каждый экземпляр сущности должен участвовать в данной связи. При этом связь может быть обязательной с одной стороны и необязательной с другой стороны.
В СУБД Access процесс создания реляционной базы данных включает создание схемы данных. Схема данных наглядно отображает таблицы и связи между ними, а также обеспечивает использование связей при обработке данных. В схеме данных устанавливаются параметры обеспечения целостности связей в базе данных.
Таким образом, осуществляется неразрывная связь внемашинного проектирования базы данных с этапом ее создания с помощью СУБД. В схеме данных, построенной по нормализованной модели данных предметной области, могут быть установлены одно-однозначные и одно-многозначные связи. Для таких связей обеспечивается поддержание целостности взаимосвязанных данных, при которой не допускается наличия в базе данных подчиненной записи без связанной с ней главной, при первоначальной загрузке базы данных и ее корректировках. Связи, определенные в схеме данных, используются автоматически при разработке многотабличных форм, запросов, отчетов, существенно упрощая процесс их конструирования.
1.2 Язык программирования Delphi
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. Инфологическая модель предметной области
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 Графическое представление сущностей
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
3.6 Определение связей
Таблица 4
Сущность 1 |
Сущность 2 |
Тип связи |
|
Команда |
Перевод ЗП |
1:М |
|
Сезон |
Команда |
М: М |
|
Стадион |
Трибуны |
1:М |
|
Трибуны |
Билет |
1:M |
|
Команда |
Специализация |
1:M |
|
Сезон |
Билет |
1:M |
4. Проектирование концептуальной модели предметной области
4.1 Преобразование сущностей в отношения
Преобразование сущности “Команда” в отношение “Команда”:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Преобразование сущности “Специализация” в отношение “Специализация”
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Преобразование сущности “Стадион” в отношение “Стадион”:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Преобразование сущности “Билет” в отношение “Билет”:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Преобразование сущности “Трибуны” в отношение “Трибуны”:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Преобразование сущности “Сезон” в отношение “Сезон”:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Преобразование сущности “Перевод заработной платы” в отношение “Перевод заработной платы”:
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
4.2 Установление свойств атрибутов
Свойства атрибутов отношения “Команда”
Имя поля |
Тип данных |
|
Номер игрока |
Числовой |
|
Фамилия |
Текстовый |
|
Имя |
Текстовый |
|
Отчество |
Текстовый |
|
Номер специализации |
Числовой |
|
Количество проведенных игр |
Числовой |
|
Количество забитых шайб |
Числовой |
|
Семейное положение |
Текстовый |
|
Город проживания |
Текстовый |
|
Улица |
Текстовый |
|
Номер дома |
Числовой |
|
Номер квартиры |
Числовой |
|
Дата начала игры за команду |
Дата/Время |
|
Дата ухода из команды |
Дата/Время |
|
Образование |
Текстовый |
Свойства атрибутов отношения “Специализация”
Имя поля |
Тип данных |
|
Код специализации |
Числовой |
|
Наименование специализации |
Текстовый |
|
Информация |
Текстовый |
Свойства атрибутов отношения “Сезон”
Имя поля |
Тип данных |
|
Номер сезона |
Числовой |
|
Название сезона |
Текстовый |
|
Дата начала сезона |
Дата/Время |
|
Дата конца сезона |
Дата/Время |
|
Бюджет клуба |
Числовой |
Свойства атрибутов отношения “Перевод заработной платы”
Имя поля |
Тип данных |
|
Номер перевода |
Числовой |
|
Номер игрока |
Числовой |
|
Дата перевода |
Дата/Время |
|
Сумма перевода |
Числовой |
|
Премия |
Числовой |
Свойства атрибутов отношения “Трибуны”
Имя поля |
Тип данных |
|
Номер трибуны |
Числовой |
|
Название трибуны |
Текстовый |
|
Расположение |
Текстовый |
Свойства атрибутов отношения “Билет”
Имя поля |
Тип данных |
|
Номер билета |
Числовой |
|
Номер места |
Числовой |
|
Стоимость билета |
Числовой |
|
Дата продажи |
Дата/Время |
Свойства атрибутов отношения “Стадион”
Имя поля |
Тип данных |
|
Номер стадиона |
Числовой |
|
Название стадиона |
Текстовый |
|
Город, в котором находится |
Текстовый |
|
Название улицы |
Текстовый |
|
Номер дома |
Числовой |
4.3 Определение внешних ключей
Таблица 5
Дочернее отношение |
Внешний ключ |
Тип |
NULL |
Ссылка |
Примечание |
|
Билеты |
Номер сезона |
int |
NotNULL |
Сезон, номер сезона |
добавление |
|
Билеты |
Номер трибуны |
int |
NotNULL |
Трибуны, номер трибуны |
добавление |
|
Трибуны |
Номер стадиона, в котором находится трибуна |
int |
NotNULL |
Стадион, номер стадиона |
добавление |
|
Перевод заработной платы |
Номер сезона |
int |
NotNULL |
Сезон, номер сезона |
добавление |
|
Перевод заработной платы |
Номер игрока |
int |
NotNULL |
Команда, Номер игрока |
добавление |
|
Команда |
Номер специализации |
int |
NotNULL |
Специализация, код специализации |
добавление |
4.4 Реализация связи типа М: М
Между отношениями “Сезон” и “Команда” существует связь многие-ко-многим, поэтому введем новое связующее отношение вида:
Размещено на http://www.allbest.ru/
Таблица 6
Имя атрибута |
Тип |
NULL |
Ссылка |
|
Код сезоны |
int |
Not NULL |
Сезон, Номер сезона |
|
Код игрока |
int |
Not NULL |
Команда, Номер игрока |
|
4.5 Графическое изображение концептуальной модели предметной области
5. Состав модулей и их описание
5.1 Main
В данном модуле предусмотрено выполнение SQL запросов. Для отображения результатов запроса был размещен компонент DBGrid,для выполнения SQL запросов - компонент ADO Query ,для установления соединения с базой данных - компонент AdoConnection.
5.2 DataMod
В данном модуле осуществляется установление связи с базой данных с помощью компонента ADO Connection.После установления соединения с базой данных в модуле были размещены 8 компонентов Adotable и 8 компонентов Data Source для каждой таблицы в базе данных.
5.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 -запросов.
Форма “Сезоны”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Заполнить данные для каждого атрибута в соответствующий ему компонент Edit.
2)Нажать на кнопку “Добавление”
3)Далее нажать на кнопку “Обновить содержимое таблицу”
Для повторного ввода данных нужно нажать на кнопку “Очистить содержимое редакторов” или же очистить их вручную.
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Вкладка “Игроки”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Ввести в таблицу DBGrid нужные значения.
2)Нажать на кнопку “Добавление”
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Вкладка “сезоны”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Ввести в таблицу DBGrid нужные значения.
2)Нажать на кнопку “Добавление”
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Форма “специализация игроков”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Заполнить данные для каждого атрибута в соответствующий ему компонент Edit.
2)Нажать на кнопку “Добавление”
3)Далее нажать на кнопку “Обновить содержимое таблицу”
Для повторного ввода данных нужно нажать на кнопку “Очистить содержимое редакторов” или же очистить их вручную.
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Вкладка “перевод заработной платы”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Ввести в таблицу DBGrid нужные значения.
2)Нажать на кнопку “Добавление”
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Вкладка “стадион”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Заполнить данные для каждого атрибута в соответствующий ему компонент DBEdit.
2)Нажать на кнопку “Добавление”
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Вкладка “трибуны”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Заполнить данные для каждого атрибута в соответствующий ему компонент DBEdit.
2)Нажать на кнопку “Добавление”
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Вкладка “Билеты”:
Для добавления записей в данную таблицу необходимо проделать следующие действия:
1)Заполнить данные для каждого атрибута в соответствующий ему компонент DBEdit.
2)Нажать на кнопку “Добавление”
Для того чтобы удалить запись, нужно выбрать удаляемую запись и нажать на кнопку “Удаление”.
Для редактирования записи нужно проделать следующие действия:
1)Выделить нужную запись.
2)После изменения данных нажать на кнопку “Сохранить изменения”.
Выводы
Было спроектировано, построено и отлажено программное обеспечение, позволяющее автоматизировать деятельность специалистов бухгалтерии ХК АкБарс. Программное обеспечение обладает тем функционалом, которое было определено в момент анализа предметной области. Результаты работы предоставлены в виде исходного кода программного обеспечения.
За время создания программного обеспечения и написания пояснительной записки была досконально изучена предметная область проекта; разработана концептуальная модель базы данных.
Библиография
1. Емалетдинова Л.Ю, Владимирова Н.Л., Новикова С.В. «Структурированный язык запросов SQL к базам данных в многопользовательских системах: Учебное пособие для студентов технической кибернетики и информатики». Казань: Изд-во Казан. гос. техн. ун-та, 2002, 59 стр.
2. Емалетдинова Л.Ю, Валитова Н.Л., М.А. Разина «Проектирование программного и информационного обеспечения автоматизированных информационных систем». Казань: Изд-во Казан. гос. техн. ун-та, 2005, 81 стр.
SQL запросы реализованные в курсовом проекте
Добавление данных в таблицу “Специализация”
begin
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := (
'insert into специализация([Код специализации],[Наименование специализации],[Информация]) values(' + Edit1.Text + ' , ' + char(39) + Edit2.Text + char(39) + ' , ' + char(39) + Edit3.Text + char(39) + ')');
ADOQuery1.Execsql;
end
Добавление данных в таблицу “Сезон”
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.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
По номеру сезона определить
1)Сумму продаж от билетов в сезоне:
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([Стоимость билета]) from [Билеты]where [Номер сезона]=' +
NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
2)Количество проданных билетов в сезоне:
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select count(*) from [Билеты]where [Номер сезона]=' +
NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
3)Суммарная зарплата игроков за определенный сезон:
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([сумма перевода]) from [Перевод заработной платы]where [Номер сезона]='
+ NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
4) Суммарная премия игроков за определенный сезон:
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([премия]) from [Перевод заработной платы]where [Номер сезона]='
+ NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
По номеру игрока выяснить
1) Список сезонов, в которых играл определенный игрок:
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select [Код сезона],[Номер игрока],[Фамилия],[Имя],[Отчество] from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
2) Количество сезонов, в которых играл определенный игрок:
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select count(*) from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
3) Название специализации игрока:
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select [Наименование специализации],[Номер игрока],[Фамилия],[Имя],[Отчество] from специализация,команда where специализация.[код специализации]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
Листинг модулей
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, Menus, DB, ADODB, Grids, DBGrids, StdCtrls, seasons, players,
stadium, Specializ;
type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
N3: TMenuItem;
SummProd: TButton;
NumberOfSeason: TEdit;
KolBilProd: TButton;
SumZP: TButton;
SumPrem: TButton;
N4: TMenuItem;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Button3: TButton;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure SummProdClick(Sender: TObject);
procedure KolBilProdClick(Sender: TObject);
procedure SumZPClick(Sender: TObject);
procedure SumPremClick(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
procedure TMainForm.SummProdClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([Стоимость билета]) from [Билеты]where [Номер сезона]=' +
NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.KolBilProdClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select count(*) from [Билеты]where [Номер сезона]=' +
NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.SumZPClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([сумма перевода]) from [Перевод заработной платы]where [Номер сезона]='
+ NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.SumPremClick(Sender: TObject);
begin
if ((NumberOfSeason.Text = 'Введите номер сезона') or
(NumberOfSeason.Text = '')) then
showmessage('Введите номер сезона')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select sum([премия]) from [Перевод заработной платы]where [Номер сезона]='
+ NumberOfSeason.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.Button1Click(Sender: TObject);
begin
if ((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then
showmessage('Введите номер игрока')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select [Код сезона],[Номер игрока],[Фамилия],[Имя],[Отчество] from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
if ((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then
showmessage('Введите номер игрока')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select count(*) from сезоны,команда where сезоны.[код игрока]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.Button3Click(Sender: TObject);
begin
if ((Edit1.Text = '') or (Edit1.Text = 'Введите номер игрока')) then
showmessage('Введите номер игрока')
else
begin
ADOQuery1.Active := False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(
'Select [Наименование специализации],[Номер игрока],[Фамилия],[Имя],[Отчество] from специализация,команда where специализация.[код специализации]=команда.[номер игрока] and команда.[номер игрока]=' + Edit1.Text);
ADOQuery1.Open;
ADOQuery1.Active := True;
end;
end;
procedure TMainForm.N1Click(Sender: TObject);
begin
Form1.Show;
end;
procedure TMainForm.N2Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TMainForm.N3Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TMainForm.N4Click(Sender: TObject);
begin
Special.Show;
end;
end.
unit DataMod;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDataModule1 = class(TDataModule)
ADOConnection1: TADOConnection;
DSSeason: TDataSource;
DSComand: TDataSource;
DSSeasons: TDataSource;
DSSpec: TDataSource;
DSZarplata: TDataSource;
DSStadium: TDataSource;
DSTribun: TDataSource;
DSTickets: TDataSource;
TSeason: TADOTable;
TComand: TADOTable;
TSeasons: TADOTable;
TSpec: TADOTable;
TZarplata: TADOTable;
TStadium: TADOTable;
TTribun: TADOTable;
TTickets: TADOTable;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule1: TDataModule1;
implementation
{$R *.dfm}
end. unit Players;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, datamod, Grids, DBGrids, ExtCtrls, StdCtrls, Mask, DBCtrls;
type
TForm2 = class(TForm)
PageControl1: TPageControl;
Игроки: TTabSheet;
GroupBox4: TGroupBox;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Сезоны: TTabSheet;
DBGrid2: TDBGrid;
GroupBox3: TGroupBox;
Button7: TButton;
Button8: TButton;
Button9: TButton;
TabSheet2: TTabSheet;
DBGrid4: TDBGrid;
GroupBox1: TGroupBox;
Button1: TButton;
Button3: TButton;
Button2: TButton;
DBGrid1: TDBGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button10Click(Sender: TObject);
begin
Datamodule1.TComand.Append;
end;
procedure TForm2.Button11Click(Sender: TObject);
begin
if Datamodule1.TComand.modified then
Datamodule1.TComand.Post;
end;
procedure TForm2.Button12Click(Sender: TObject);
begin
try
Datamodule1.TComand.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Datamodule1.TZarplata.Append;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
try
Datamodule1.TZarplata.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
if Datamodule1.TZarplata.modified then
Datamodule1.TZarplata.Post;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Datamodule1.TSpec.Append;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
try
Datamodule1.TSpec.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
if Datamodule1.TSpec.modified then
Datamodule1.TSpec.Post;
end;
procedure TForm2.Button7Click(Sender: TObject);
begin
Datamodule1.TSeasons.Append;
end;
procedure TForm2.Button8Click(Sender: TObject);
begin
try
Datamodule1.TSeasons.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm2.Button9Click(Sender: TObject);
begin
if Datamodule1.TSeasons.modified then
Datamodule1.TSeasons.Post;
end;
end. unit Seasons;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB, ADODB;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Button2: TButton;
Button3: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button4: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
Button5: TButton;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Edit4.Text := '';
Edit5.Text := '';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
try
datamodule1.TSeason.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if datamodule1.TSeason.Modified then
datamodule1.TSeason.Post;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if ((Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '') and
(Edit4.Text <> '') and (Edit5.Text <> '')) then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.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
else
showmessage('Ошибка,вы заполнили не все поля!!!');
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
datamodule1.TSeason.Close;
datamodule1.TSeason.open;
end;
end. unit Specializ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls, DB, ADODB;
type
TSpecial = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Button3: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button4: TButton;
DataSource1: TDataSource;
Button1: TButton;
Button5: TButton;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Special: TSpecial;
implementation
{$R *.dfm}
procedure TSpecial.Button1Click(Sender: TObject);
begin
datamodule1.TSpec.close;
datamodule1.TSpec.Open;
end;
procedure TSpecial.Button2Click(Sender: TObject);
begin
if datamodule1.TSpec.Modified then
datamodule1.TSpec.Post;
end;
procedure TSpecial.Button3Click(Sender: TObject);
begin
try
datamodule1.TSpec.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TSpecial.Button4Click(Sender: TObject);
begin
if ((Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '')) then
begin
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := (
'insert into специализация([Код специализации],[Наименование специализации],[Информация]) values(' + Edit1.Text + ' , ' + char(39) + Edit2.Text + char(39) + ' , ' + char(39) + Edit3.Text + char(39) + ')');
ADOQuery1.Execsql;
end
else
showmessage('Ошибка,вы заполнили не все поля!!!');
end;
procedure TSpecial.Button5Click(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
end;
end. unit Stadium;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, datamod, Grids, DBGrids, StdCtrls, Mask, DBCtrls;
type
TForm3 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
GroupBox2: TGroupBox;
Button4: TButton;
Button5: TButton;
Button6: TButton;
GroupBox3: TGroupBox;
Button7: TButton;
Button8: TButton;
Button9: TButton;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
datamodule1.TStadium.Append;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
try
datamodule1.TStadium.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
if datamodule1.TStadium.Modified then
datamodule1.TStadium.Post;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
if datamodule1.TTribun.Modified then
datamodule1.TTribun.Post;
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
try
datamodule1.TTribun.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
datamodule1.TTribun.Append;
end;
procedure TForm3.Button7Click(Sender: TObject);
begin
try
datamodule1.TTickets.Delete;
except
showmessage('Таблица пуста!!!');
end;
end;
procedure TForm3.Button8Click(Sender: TObject);
begin
datamodule1.TTickets.Append;
end;
procedure TForm3.Button9Click(Sender: TObject);
begin
if datamodule1.TTickets.Modified then
datamodule1.TTickets.Post;
end;
end.
Размещено на Allbest.ru
Подобные документы
Системный анализ предметной области. Построение концептуальной и даталогичной модели базы данных. Физическое проектирование базы данных. Описание функциональной модели системы управления базами данных. Разработка экранных форм ввода-вывода и отчета.
курсовая работа [1,1 M], добавлен 09.12.2014Описание предметной области "Спортивные соревнования". Проектирование концептуальной и логической модели данных. Добавление не вошедших в ER–диаграмму атрибутов. Разработка SQL запросов к базе данных. Описание работы, тестирование клиентского приложения.
курсовая работа [1,1 M], добавлен 24.11.2014Этапы проектирования концептуальной модели базы данных: определение предметной области, каталогов задач, связей, первичных ключей. Математическое описание доменов и запросов в реляционной форме. Выбор технических средств и реализация программы.
курсовая работа [2,2 M], добавлен 06.02.2010Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.
курсовая работа [679,2 K], добавлен 22.01.2013Системный анализ предметной области. Структурный подход при разработке инфологической модели. Обеспечение целостности данных. Описание программного средства, создание таблиц, запросов, форм и отчетов для системы автоматизации работы ресторана.
курсовая работа [3,9 M], добавлен 12.12.2011Разработка концептуальной модели базы данных "Чемпионат авто": описание предметной области, каталог задач, описание таблиц, схема данных, ER-диаграмма. Проектирование реляционной модели "Спортивный комплекс". Реализация и результат работы базы данных.
курсовая работа [3,7 M], добавлен 14.06.2011Особенности архитектуры Java, виртуальная машина, кроссплатформенность приложений. Информационно-логическая модель предметной области, описание сущностей, атрибутов, ключей, связей. Реализация интерфейса пользователя, принципы разработки инструкции.
курсовая работа [832,1 K], добавлен 06.01.2014Ограничения, присутствующие в предметной области. Проектирование инфологической модели данных. Описание основных сущностей и их атрибутов. Логический и физический уровни модели данных. Реализация базы данных: представления, триггеры, хранимые процедуры.
курсовая работа [1,7 M], добавлен 10.02.2013Описание предметной области, определение функциональных требований к системе и построение диаграммы потока данных. Построение модели "сущность-связь", описание сущностей и атрибутов модели. Построение реляционной базы данных и описание ее таблицы.
курсовая работа [624,5 K], добавлен 30.05.2019Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.
курсовая работа [2,5 M], добавлен 10.01.2016