Разработка базы данных для железнодорожной пассажирской станции

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.06.2013
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

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

Краткий перечень задач курсового проекта:

а) Спроектировать логическую и физическую модель базы данных;

б) Реализовать в СУБД спроектированную модель;

в) Создать клиентское приложения для работы с созданной базой данных.

1. Описание предметной области

По заданию на курсовой проект необходимо создать базу данных, а также клиентское приложение для предметной области «Железнодорожная пассажирская станция»:

Работников железнодорожной станции можно подразделить на водителей подвижного состава, диспетчеров, ремонтников подвижного состава, путей, кассиpов, работников службы подготовки составов, справочной службы и дpугих, котоpые администpативно относятся каждый к своему отделу. Каждая из перечисленных категорий работников имеет уникальные атрибуты-характеристики, определяемые профессиональной направленностью. В отделах существует pазбиение pаботников на бpигады. Отделы возглавляются начальниками, котоpые пpедставляют собой администpацию железнодорожной станции. В функции администpации входит планиpование маршрутов, составление pасписаний, фоpмиpование кадpового состава железнодорожной станции. За каждым локомотивом закpепляется локомотивная бpигада. За несколькими локомотивами закрепляется бpигада техников-ремонтников, выполняющая рейсовый и плановый техосмотр (по определенному графику), ремонт, техническое обслуживание. Водители локомотивов обязяны пpоходить каждый год медосмотp, не пpошедших медосмотp необходимо пеpевести на дpугую pаботу. Локомотив должен своевpеменно осматpиваться техниками-ремонтиками и пpи необходимости pемонтиpоваться. Подготовка к pейсу включает в себя техническую часть (рейсовый техосмотр, мелкий ремонт) и обслуживающую часть (убоpка вагонов, запас продуктов питания и т.п.).

В pасписании указывается тип поезда (скорый, пассажирский…), номер поезда, дни и время отправления и прибытия, маршрут (начальный и конечный пункты назначения, основные узловые станции), стоимость билета. Билеты на поезд можно пpиобpести заpанее или забpониpовать в железнодорожных кассах. До отпpавления поезда, если есть необходимость, билет можно веpнуть. Отправлениие поездов может быть задеpжано из-за опозданий поездов, погодных условий, технических неполадок.

Железнодорожные маршруты можно pазделить на следующие категоpии: внутpенние, междунаpодные, туристические, специальные маршруты. Пассажиpы могут сдавать свои вещи в багажное отделение.

Виды запросов:

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

2. Получить перечень и общее число pаботников в бpигаде, по всем отделам, в указанном отделе, обслуживающих некоторый локомотив, по возpасту, суммаpной (сpедней) заpплате в бpигаде.

3. Получить перечень и общее число водителей локомотивов, пpошедших медосмотp либо не пpошедших медосмотp в указанный год, по половому пpизнаку, возpасту, pазмеpу заpаботной платы.

4. Получить перечень и общее число локомотивов, приписанных к железнодорожной станции, находящихся на ней в указанное вpемя, по вpемени прибытия на станции, по количеству совеpшенных маршрутов.

5. Получить перечень и общее число локомотивов, пpошедших плановый техосмотp за определенный пеpиод вpемени, отпpавленных в pемонт в обозначенное вpемя, pемонтиpованных указанное число pаз, по количеству совеpшенных рейсов до pемонта, по возpасту локомотива.

6. Получить перечень и общее число поездов на указанном маpшpуте, по длительности маршрута, по цене билета и по всем этим кpитеpиям сpазу.

7. Получить перечень и общее число отмененных pейсов полностью, в указанном напpавлении, по указанному маpшpуту.

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

9. Получить перечень и сpеднее количество пpоданных билетов за указанный интервал времени на опpеделенные маpшpуты, по длительности маршрута, по цене билета.

10. Получить перечень и общее число маршрутов указанной категоpии, следующих в определенном напpавлении.

11. Получить перечень и общее число пассажиpов на указанном pейсе, уехавших в указанный день, уехавших за гpаницу в указанный день, по пpизнаку сдачи вещей в багажное отделение, по половому пpизнаку, по возpасту.

12. Получить перечень и общее число невыкупленных билетов на указанном pейс, день, некоторый маpшpут.

13. Получить общее число сданных билетов на указанный pейс, день, маpшpут.

2. Создание базы данных и приложения обработки данных

2.1 Логическое проектирование базы данных

логический база клиентский приложение

Выделим сущности и их атрибуты в заданной предметной области:

- Работник (Ф.И.О., тип, стаж, пол, возраст, дети, з/п, дата медосмотра, номер отдела, номер бригады);

- Отдел (название отдела, Ф.И.О. начальника отдела);

- Бригада (тип бригады, номер отдела);

- Локомотив (дата последнего техосмотра, дата последнего ремонта, количество раз ремонта, количество рейсов, возраст локомотива);

- Расписание (номер рейса, номер поезда, тип поезда, дата и время отправления, дата и время прибытия, начальный пункт, конечный пункт, стоимость билета, количество билетов, длительность маршрута);

- Отмененный рейс (причина отмены);

- Задержанный рейс (причина задержки, время задержки, количество сданных билетов);

- Билет (номер билета, номер рейса, статус билета, тип билета, время покупки, Ф.И.О. владельца купленного билета, пол владельца, возраст владельца, номер багажа владельца).

Образуем связи и отношения между сущностями

1) Работник-Отдел. Связь многие-к-одному. Количество работников в отделе может быть неограниченным, а отдел у работника может быть один.

2) Отдел-Бригада. Связь один-ко-многим. Количество бригад в отделе может быть неограниченно, а бригада может быть только в одном отделе.

3) Бригада-Локомотив. Связь многие-ко-многим. Одна бригада может обслуживать несколько локомотивов, и один локомотив может обслуживать несколько бригад.

4) Локомотив-Расписание. Связь многие-ко-многим. Один локомотив может несколько раз встречаться в пунктах расписания. И в одном расписание может быть задействовано много локомотивов.

5) Расписание-Билет. Связь один-ко-многим. У одного пункта расписания может быть несколько билетов.

На основе описании связей и отношений между сущностями построим логическую модель. (см. Рис2)

Рис2. Логическая модель базы данных.

Выделим внешние ключи определенных отношений:

1) Id_otdela - Внешний ключ для организации связи - Работник-Отдел

2) Id_otd - внешний ключ для организации связи Бригада-Отдел

3) Id_brig, id_lok - внешние ключи для организации связи Бригада-Локомотив

4) Id_r, id_lok - внешние ключи для организации связи Локомотив-Расписание

5) Id_r - внешний ключ для организации связи Расписание-Билет

На основе описанных сущностей и отношений между ними построим реляционную модель базы данных для СУБД MySQL (см. Рис3). Код создания базы данных модно посмотреть в «Приложении А».

Рис3. Реляционная модель базы данных

2.2 Описание программы

Клиентское приложение разработано для обработки конкретной базы данных предметной области «Железнодорожная пассажирская станция».

Данное приложение имеет следующие функции:

- Просмотр базы данных;

- Добавление данных в базу;

- Редактирование уже имеющихся данных в базе;

- Удаление данных из базы.

Также реализованы следующие запросы, позволяющие эффективно использовать данные:

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

2. Получить перечень и общее число pаботников в бpигаде, по всем отделам, в указанном отделе, обслуживающих некоторый локомотив, по возpасту, суммаpной (сpедней) заpплате в бpигаде.

3. Получить перечень и общее число водителей локомотивов, пpошедших медосмотp либо не пpошедших медосмотp в указанный год, по половому пpизнаку, возpасту, pазмеpу заpаботной платы.

4. Получить перечень и общее число локомотивов, приписанных к железнодорожной станции, находящихся на ней в указанное вpемя, по вpемени прибытия на станции, по количеству совеpшенных маршрутов.

5. Получить перечень и общее число локомотивов, пpошедших плановый техосмотp за определенный пеpиод вpемени, отпpавленных в pемонт в обозначенное вpемя, pемонтиpованных указанное число pаз, по количеству совеpшенных рейсов до pемонта, по возpасту локомотива.

6. Получить перечень и общее число поездов на указанном маpшpуте, по длительности маршрута, по цене билета и по всем этим кpитеpиям сpазу.

7. Получить перечень и общее число отмененных pейсов полностью, в указанном напpавлении, по указанному маpшpуту.

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

9. Получить перечень и сpеднее количество пpоданных билетов за указанный интервал времени на опpеделенные маpшpуты, по длительности маршрута, по цене билета.

10. Получить перечень и общее число маршрутов указанной категоpии, следующих в определенном напpавлении.

11. Получить перечень и общее число пассажиpов на указанном pейсе, уехавших в указанный день, уехавших за гpаницу в указанный день, по пpизнаку сдачи вещей в багажное отделение, по половому пpизнаку, по возpасту.

12. Получить перечень и общее число невыкупленных билетов на указанном pейс, день, некоторый маpшpут.

13. Получить общее число сданных билетов на указанный pейс, день, маpшpут.

В приложение реализован просмотр каждой таблицы с помощью кнопок, соответствующих названиям таблицы. (см. Рис4).

Рис4. Главное окно приложения

Также организованно меню для удобства использования запросов (см. Рис5, Рис6).

Рис5. Выпадающее меню для выбора нужного запроса

Рис. 6. Окно для выполнения запроса, выбранного в меню главного окна

2.3 Тестирование программы

При тестировании программы мы проверили ее работоспособность и выполнение следующий функций:

a) Добавление данных в базу. (Рис7)

Рис7. Добавление нового работника

b) Редактирование данных в базе. (Рис. 8)

Рис. 8. Изменение статуса билета

c) Удаление данных из базы. (Рис. 9)

Рис. 9. Удаление работника

d) Выполнение запросов. (Рис10, 11, 12)

Рис10. Показаны локомотивы, отправленные на ремонт в заданный день

Рис11. Показанно количество сданных билетов по заданному маршруту

Рис12. Показаны все задержанные рейсы по заданной причине

Приложение А

Листинг скрипта базы данных

логический база клиентский приложение

# SQL Manager 2010 for MySQL 4.5.0.9

# -

# Host: localhost

# Port: 3306

# Database: zd_21var_db

/*! 40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*! 40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*! 40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*! 40101 SET NAMES utf8 */;

SET FOREIGN_KEY_CHECKS=0;

CREATE DATABASE `zd_21var_db`

CHARACTER SET 'cp1251'

COLLATE 'cp1251_general_ci';

USE `zd_21var_db`;

#

# Structure for the `raspisanie` table:

#

CREATE TABLE `raspisanie` (

`id_r` int(11) NOT NULL AUTO_INCREMENT,

`nomer_poezd` int(11) DEFAULT NULL,

`type_poezd` varchar(30) DEFAULT NULL,

`otprav` datetime DEFAULT NULL,

`prib` datetime DEFAULT NULL,

`marshrut_nach` varchar(30) DEFAULT NULL,

`marshrut_kon` char(20) DEFAULT NULL,

`stoim_bilet` int(11) DEFAULT NULL,

`kol_bilet` int(11) DEFAULT NULL,

`vremya_marsh` int(11) DEFAULT NULL,

PRIMARY KEY (`id_r`),

UNIQUE KEY `id_r` (`id_r`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

#

# Structure for the `bileti` table:

#

CREATE TABLE `bileti` (

`id_bil` bigint(20) NOT NULL AUTO_INCREMENT,

`status_bil` varchar(30) DEFAULT NULL,

`type_bil` varchar(20) DEFAULT NULL,

`vrem_buy` time DEFAULT NULL,

`fio_owner` varchar(20) DEFAULT NULL,

`sex` varchar(3) DEFAULT NULL,

`age_ow` int(11) DEFAULT NULL,

`nomer_bagazh` int(11) DEFAULT NULL,

`id_r` int(11) NOT NULL,

PRIMARY KEY (`id_bil`,`id_r`),

UNIQUE KEY `id_bil` (`id_bil`),

KEY `Relationship8` (`id_r`),

CONSTRAINT `Relationship8` FOREIGN KEY (`id_r`) REFERENCES `raspisanie` (`id_r`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

#

# Structure for the `log` table:

#

CREATE TABLE `log` (

`log` varchar(20) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#

# Structure for the `lokomotivi` table:

#

CREATE TABLE `lokomotivi` (

`id_lok` int(11) NOT NULL AUTO_INCREMENT,

`date_teh_osm` date DEFAULT NULL,

`date_remont_last` date DEFAULT NULL,

`kol_remont` int(11) DEFAULT NULL,

`kol_reis` int(11) DEFAULT NULL,

`age_lok` int(11) DEFAULT NULL,

PRIMARY KEY (`id_lok`),

UNIQUE KEY `id_lok` (`id_lok`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

#

# Structure for the `otdeli` table:

#

CREATE TABLE `otdeli` (

`id_otd` int(11) NOT NULL AUTO_INCREMENT,

`fio_nach_otd` varchar(30) DEFAULT NULL,

`name_otd` varchar(30) DEFAULT NULL,

PRIMARY KEY (`id_otd`),

UNIQUE KEY `id_otd` (`id_otd`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

#

# Structure for the `teh_brigad` table:

#

CREATE TABLE `teh_brigad` (

`id_brig` int(11) NOT NULL AUTO_INCREMENT,

`type_brigad` varchar(30) DEFAULT NULL,

`id_otd` int(11) NOT NULL,

`sred_zp` int(11) DEFAULT NULL,

PRIMARY KEY (`id_brig`),

UNIQUE KEY `id_brig` (`id_brig`),

KEY `id_otd` (`id_otd`),

CONSTRAINT `teh_brigad_fk` FOREIGN KEY (`id_otd`) REFERENCES `otdeli` (`id_otd`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

#

# Structure for the `lokomotivi_teh_brigad` table:

#

CREATE TABLE `lokomotivi_teh_brigad` (

`id_lok` int(11) NOT NULL,

`id_brig` int(11) NOT NULL,

PRIMARY KEY (`id_lok`,`id_brig`),

KEY `Relationship6_Teh_brigad` (`id_brig`),

CONSTRAINT `Relationship6_Lokomotivi` FOREIGN KEY (`id_lok`) REFERENCES `lokomotivi` (`id_lok`) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `Relationship6_Teh_brigad` FOREIGN KEY (`id_brig`) REFERENCES `teh_brigad` (`id_brig`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#

# Structure for the `otmen_reis` table:

#

CREATE TABLE `otmen_reis` (

`prichina_otmen` varchar(20) DEFAULT NULL,

`id_r` int(11) NOT NULL,

PRIMARY KEY (`id_r`),

CONSTRAINT `Raspisanie_Otmen_reis` FOREIGN KEY (`id_r`) REFERENCES `raspisanie` (`id_r`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#

# Structure for the `rabotniki` table:

#

CREATE TABLE `rabotniki` (

`id_rab` int(11) NOT NULL AUTO_INCREMENT,

`fio` varchar(30) DEFAULT NULL,

`type` varchar(30) DEFAULT NULL,

`stazh` int(11) DEFAULT NULL,

`sex` varchar(2) DEFAULT NULL,

`age` int(4) DEFAULT NULL,

`deti` int(11) DEFAULT NULL,

`zar_pl` int(11) DEFAULT NULL,

`date_med` date DEFAULT NULL,

`id_otd` int(11) NOT NULL,

`id_br` int(11) DEFAULT NULL,

PRIMARY KEY (`id_rab`),

UNIQUE KEY `id_rab` (`id_rab`),

KEY `id_otd` (`id_otd`),

CONSTRAINT `rabotniki_fk` FOREIGN KEY (`id_otd`) REFERENCES `otdeli` (`id_otd`)

) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

CREATE DEFINER = 'root'@'localhost' TRIGGER `sred_zp_update` AFTER INSERT ON `rabotniki`

FOR EACH ROW

BEGIN

DECLARE idbr INT(255);

DECLARE zp INT(255);

DECLARE srzp INT(255);

select `rabotniki`.`id_br`, `rabotniki`.`zar_pl` into idbr, zp from `rabotniki` where id_rab = NEW.id_rab;

select AVG (`rabotniki`.`zar_pl`) into srzp from `rabotniki` where `rabotniki`.`id_br` = idbr;

UPDATE `teh_brigad` SET `teh_brigad`.`sred_zp` = srzp where `teh_brigad`.`id_brig` = idbr;

INSERT INTO `log` VALUES («nhbut»);

END;

CREATE DEFINER = 'root'@'localhost' TRIGGER `rabotniki_after_upd_tr` AFTER UPDATE ON `rabotniki`

FOR EACH ROW

BEGIN

DECLARE idbr INT(255);

DECLARE zp INT(255);

DECLARE srzp INT(255);

select `rabotniki`.`id_br`, `rabotniki`.`zar_pl` into idbr, zp from `rabotniki` where id_rab = NEW.id_rab;

select AVG (`rabotniki`.`zar_pl`) into srzp from `rabotniki` where `rabotniki`.`id_br` = idbr;

UPDATE `teh_brigad` SET `teh_brigad`.`sred_zp` = srzp where `teh_brigad`.`id_brig` = idbr;

INSERT INTO `log` VALUES («nhbut»);

END;

#

# Structure for the `raspisanie_lokomotivi` table:

#

CREATE TABLE `raspisanie_lokomotivi` (

`id_r` int(11) NOT NULL,

`id_lok` int(11) NOT NULL,

PRIMARY KEY (`id_r`,`id_lok`),

KEY `Relationship7_Lokomotivi` (`id_lok`),

CONSTRAINT `Relationship7_Lokomotivi` FOREIGN KEY (`id_lok`) REFERENCES `lokomotivi` (`id_lok`) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `Relationship7_Raspisanie` FOREIGN KEY (`id_r`) REFERENCES `raspisanie` (`id_r`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#

# Structure for the `zaredzh_reis` table:

#

CREATE TABLE `zaredzh_reis` (

`prichina_zad` varchar(30) DEFAULT NULL,

`vremya_zad` varchar(30) DEFAULT NULL,

`kol_sdan_bilet` int(11) DEFAULT NULL,

`id_r` int(11) NOT NULL,

PRIMARY KEY (`id_r`),

CONSTRAINT `Raspisanie_Zaredzh_reis` FOREIGN KEY (`id_r`) REFERENCES `raspisanie` (`id_r`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#

# Definition for the `new_proc` procedure:

#

CREATE DEFINER = 'root'@'localhost' PROCEDURE `new_proc`(

IN param1 DATETIME,

IN param2 DATETIME

)

NOT DETERMINISTIC

CONTAINS SQL

SQL SECURITY DEFINER

COMMENT ''

BEGIN

select raspisanie.otprav, `raspisanie`.prib into param1, param2 from raspisanie;

update raspisanie set raspisanie.`vremya_marsh` = param2 - param1 where raspisanie.otprav = param1;

insert into log values (param2 - param1);

END;

#

# Data for the `raspisanie` table (LIMIT 0,500)

#

INSERT INTO `raspisanie` (`id_r`, `nomer_poezd`, `type_poezd`, `otprav`, `prib`, `marshrut_nach`, `marshrut_kon`, `stoim_bilet`, `kol_bilet`, `vremya_marsh`) VALUES

(1,1,'пассажирский скорый', '2011-01-01 00:00:00', '2011-01-01 00:00:00', 'Барнаул', 'Новосибирск', 400,120,12),

(2,2,'пассажирский', '2012-02-02 12:30:00', '2012-02-05 15:30:00', 'Барнаул', 'Астана', 4000,100,72),

(5,3,'грузовой', '2011-02-01 06:00:00', '2011-02-06 16:35:00', 'Владивосток', 'Красноярск', NULL, NULL, 120),

(6,4,'грузовой', '2011-12-21 00:00:00', '2011-12-28 00:00:00', 'Москва', 'Рига', NULL, NULL, 168);

COMMIT;

#

# Data for the `bileti` table (LIMIT 0,500)

#

INSERT INTO `bileti` (`id_bil`, `status_bil`, `type_bil`, `vrem_buy`, `fio_owner`, `sex`, `age_ow`, `nomer_bagazh`, `id_r`) VALUES

(1,'сдан', 'межгород', '12:32:00', 'Иванов', 'м', 19,25486,1),

(2,'сдан', 'межгород', '12:32:00', 'Петров', 'м', 56, NULL, 1),

(3,'сдан', 'таможня', '15:56:00', 'Радонежский', 'м', 41, NULL, 2),

(4,'невыкуплен', 'межгород', NULL, NULL, NULL, NULL, NULL, 1),

(5,'невыкуплен', 'таможня', NULL, NULL, NULL, NULL, NULL, 2);

COMMIT;

#

# Data for the `log` table (LIMIT 0,500)

#

INSERT INTO `log` (`log`) VALUES

('nhbut'),

('nhbut'),

('nhbut'),

('nhbut'),

('nhbut'),

('nhbut'),

('nhbut'),

('nhbut');

COMMIT;

#

# Data for the `lokomotivi` table (LIMIT 0,500)

#

INSERT INTO `lokomotivi` (`id_lok`, `date_teh_osm`, `date_remont_last`, `kol_remont`, `kol_reis`, `age_lok`) VALUES

(1,'2010-02-25', NULL, NULL, 14,2),

(2,'2011-12-04', '2011-12-01', 4,25,3);

COMMIT;

#

# Data for the `otdeli` table (LIMIT 0,500)

#

INSERT INTO `otdeli` (`id_otd`, `fio_nach_otd`, `name_otd`) VALUES

(1,'Иванов', 'Ремонтный'),

(2,'Семшов', 'Локомотивый');

COMMIT;

#

# Data for the `teh_brigad` table (LIMIT 0,500)

#

INSERT INTO `teh_brigad` (`id_brig`, `type_brigad`, `id_otd`, `sred_zp`) VALUES

(1,'Ремонтники состава', 1,17000),

(2,'Локомотивная', 2,18750);

COMMIT;

#

# Data for the `lokomotivi_teh_brigad` table (LIMIT 0,500)

#

INSERT INTO `lokomotivi_teh_brigad` (`id_lok`, `id_brig`) VALUES

(1,2),

(2,1);

COMMIT;

#

# Data for the `otmen_reis` table (LIMIT 0,500)

#

INSERT INTO `otmen_reis` (`prichina_otmen`, `id_r`) VALUES

('Погодные условия', 5),

('Таможня', 6);

COMMIT;

#

# Data for the `rabotniki` table (LIMIT 0,500)

#

INSERT INTO `rabotniki` (`id_rab`, `fio`, `type`, `stazh`, `sex`, `age`, `deti`, `zar_pl`, `date_med`, `id_otd`, `id_br`) VALUES

(1,'Иванов', 'администрация', 20,'м', 40,2,50000, NULL, 1, NULL),

(2,'Петров', 'водитель', 12,'м', 42,1,18000,'2011-02-25', 2,2),

(3,'Семенов', 'ремонтник состава', 15,'м', 45,1,17000,'2010-03-22', 1,1),

(4,'Семшов', 'администрация', 25,'м', 50,1,20000, NULL, 2, NULL),

(8,'Туркина', 'диспетчер', 22,'ж', 42,1,21000, NULL, 2,2),

(9,'Ведин', 'водитель', 22,'м', 42, NULL, 24000,'2010-02-25', 2,2),

(10,'Сидоров', 'водитель', 15,'м', 35,1,12000,'2011-02-25', 2,2);

COMMIT;

#

# Data for the `raspisanie_lokomotivi` table (LIMIT 0,500)

#

INSERT INTO `raspisanie_lokomotivi` (`id_r`, `id_lok`) VALUES

(1,2);

COMMIT;

#

# Data for the `zaredzh_reis` table (LIMIT 0,500)

#

INSERT INTO `zaredzh_reis` (`prichina_zad`, `vremya_zad`, `kol_sdan_bilet`, `id_r`) VALUES

('Таможня', '3', 1,1),

('Погода', '1', 0,2);

COMMIT;

Приложение Б

Листинг кода программы

Unit1.h

 // -

#ifndef Unit1H

#define Unit1H

 // -

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <Menus.hpp>

#include <ExtCtrls.hpp>

#include <DBCtrls.hpp>

#include <DBTables.hpp>

 // -

class TForm1: public TForm

{

__published:  // IDE-managed Components

TADOConnection *ADOConnection1;

TADOQuery *ADOQuery1;

TDataSource *DataSource1;

TDBGrid *DBGrid1;

TMainMenu *MainMenu1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *N4;

TMenuItem *N5;

TDBNavigator *DBNavigator1;

TMenuItem *N6;

TMenuItem *N7;

TMenuItem *N8;

TMenuItem *N9;

TMenuItem *N10;

TMenuItem *N11;

TMenuItem *N12;

TMenuItem *N13;

TMenuItem *N14;

TMenuItem *N15;

TButton *Button1;

TButton *Button2;

TButton *Button3;

TButton *Button4;

TButton *Button5;

TButton *Button6;

TButton *Button7;

TButton *Button8;

TButton *Button9;

TButton *Button10;

void __fastcall N5Click (TObject *Sender);

void __fastcall N2Click (TObject *Sender);

void __fastcall N3Click (TObject *Sender);

void __fastcall N4Click (TObject *Sender);

void __fastcall RadioButton1Click (TObject *Sender);

void __fastcall RadioButton2Click (TObject *Sender);

void __fastcall RadioButton3Click (TObject *Sender);

void __fastcall RadioButton4Click (TObject *Sender);

void __fastcall RadioButton5Click (TObject *Sender);

void __fastcall RadioButton6Click (TObject *Sender);

void __fastcall RadioButton7Click (TObject *Sender);

void __fastcall RadioButton8Click (TObject *Sender);

void __fastcall RadioButton9Click (TObject *Sender);

void __fastcall RadioButton10Click (TObject *Sender);

void __fastcall N6Click (TObject *Sender);

void __fastcall N7Click (TObject *Sender);

void __fastcall N8Click (TObject *Sender);

void __fastcall N9Click (TObject *Sender);

void __fastcall N10Click (TObject *Sender);

void __fastcall N11Click (TObject *Sender);

void __fastcall N12Click (TObject *Sender);

void __fastcall N13Click (TObject *Sender);

void __fastcall N14Click (TObject *Sender);

void __fastcall N15Click (TObject *Sender);

void __fastcall Button1Click (TObject *Sender);

void __fastcall Button3Click (TObject *Sender);

void __fastcall Button5Click (TObject *Sender);

void __fastcall Button7Click (TObject *Sender);

void __fastcall Button9Click (TObject *Sender);

void __fastcall Button2Click (TObject *Sender);

void __fastcall Button4Click (TObject *Sender);

void __fastcall Button6Click (TObject *Sender);

void __fastcall Button8Click (TObject *Sender);

void __fastcall Button10Click (TObject *Sender);

private:  // User declarations

public: // User declarations

__fastcall TForm1 (TComponent* Owner);

};

 // -

extern PACKAGE TForm1 *Form1;

 // -

#endif

Unit1.cpp

 // -

#include <vcl.h>

#pragma hdrstop

#include «Unit1.h»

#include «Unit2.cpp»

 // -

#pragma package (smart_init)

#pragma resource «*.dfm»

TForm1 *Form1;

AnsiString NameTable;

AnsiString DoneKey;

int keyMenu = 0;

String query = «»;

 // -

__fastcall TForm1:TForm1 (TComponent* Owner)

: TForm(Owner)

{

}

 // -

void __fastcall TForm1:N5Click (TObject *Sender)

{

Application->Terminate();

}

 // -

void __fastcall TForm1:N2Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень всех работников»;

keyMenu = 1;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = true;

InsertForm->Button5->Visible = true;

InsertForm->Button6->Visible = true;

InsertForm->Button7->Visible = true;

InsertForm->Button1->Caption = «Все работники жд»;

InsertForm->Button2->Caption = «Начальники отделов»;

InsertForm->Button3->Caption = «Работники отдела»;

InsertForm->Button4->Caption = «По стажу»;

InsertForm->Button5->Caption = «По пол. признаку»;

InsertForm->Button6->Caption = «По наличию детей»;

InsertForm->Button7->Caption = «По размеру з/п»;

InsertForm->Label1->Visible = false;

InsertForm->Label2->Visible = false;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = true;

InsertForm->Label6->Visible = true;

InsertForm->Label7->Visible = true;

InsertForm->Label1->Caption = «»;

InsertForm->Label2->Caption = «»;

InsertForm->Label3->Caption = «Номер =»;

InsertForm->Label4->Caption = «Стаж =»;

InsertForm->Label5->Caption = «Пол =»;

InsertForm->Label6->Caption = «Кол.дет=»;

InsertForm->Label7->Caption = «з/п =»;

InsertForm->Edit1->Visible = false;

InsertForm->Edit2->Visible = false;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = true;

InsertForm->Edit6->Visible = true;

InsertForm->Edit7->Visible = true;

}

 // -

void __fastcall TForm1:N3Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень всех работников в бригадах»;

keyMenu = 2;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = true;

InsertForm->Button5->Visible = true;

InsertForm->Button6->Visible = true;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Все работ. в бригадах»;

InsertForm->Button2->Caption = «Работ. в бриг по отдел»;

InsertForm->Button3->Caption = «Работники отдела»;

InsertForm->Button4->Caption = «Работ обслуж локом.»;

InsertForm->Button5->Caption = «По возрасту»;

InsertForm->Button6->Caption = «По ср. з/п в бриг»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = false;

InsertForm->Label2->Visible = false;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = true;

InsertForm->Label6->Visible = true;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «»;

InsertForm->Label2->Caption = «»;

InsertForm->Label3->Caption = «Номер =»;

InsertForm->Label4->Caption = «Номер =»;

InsertForm->Label5->Caption = «=»;

InsertForm->Label6->Caption = «з/п =»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = false;

InsertForm->Edit2->Visible = false;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = true;

InsertForm->Edit6->Visible = true;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N4Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень всех водителей локомотивов»;

keyMenu = 3;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = true;

InsertForm->Button5->Visible = true;

InsertForm->Button6->Visible = true;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Все водители локом.»;

InsertForm->Button2->Caption = «Прошли мед. осмотр»;

InsertForm->Button3->Caption = «Не прошли ме. осмотр»;

InsertForm->Button4->Caption = «По пол. признак (м-ж)»;

InsertForm->Button5->Caption = «По возрасту»;

InsertForm->Button6->Caption = «По з/п»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = false;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = true;

InsertForm->Label6->Visible = true;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «»;

InsertForm->Label2->Caption = «год =»;

InsertForm->Label3->Caption = «год =»;

InsertForm->Label4->Caption = «пол =»;

InsertForm->Label5->Caption = «возр =»;

InsertForm->Label6->Caption = «з/п =»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = false;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = true;

InsertForm->Edit6->Visible = true;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N6Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень всех локомотивов»;

keyMenu = 4;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = false;

InsertForm->Button5->Visible = false;

InsertForm->Button6->Visible = false;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Все локомотивы»;

InsertForm->Button2->Caption = «По времени прибытия»;

InsertForm->Button3->Caption = «По кол-ву рейсов»;

InsertForm->Button4->Caption = «»;

InsertForm->Button5->Caption = «»;

InsertForm->Button6->Caption = «»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = false;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = false;

InsertForm->Label5->Visible = false;

InsertForm->Label6->Visible = false;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «»;

InsertForm->Label2->Caption = «время»;

InsertForm->Label3->Caption = «=»;

InsertForm->Label4->Caption = «»;

InsertForm->Label5->Caption = «»;

InsertForm->Label6->Caption = «»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = false;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = false;

InsertForm->Edit5->Visible = false;

InsertForm->Edit6->Visible = false;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N7Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень всех локомотивов техосмотра»;

keyMenu = 5;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = false;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = true;

InsertForm->Button5->Visible = true;

InsertForm->Button6->Visible = true;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Прошедшие ТО»;

InsertForm->Button2->Caption = «»;

InsertForm->Button3->Caption = «Ремонт кол. раз»;

InsertForm->Button4->Caption = «Кол.рейсов до рем.»;

InsertForm->Button5->Caption = «Отправл. на ремонт»;

InsertForm->Button6->Caption = «По возрасту лок.»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = true;

InsertForm->Label6->Visible = true;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «С»;

InsertForm->Label2->Caption = «ПО»;

InsertForm->Label3->Caption = «=»;

InsertForm->Label4->Caption = «=»;

InsertForm->Label5->Caption = «дата:»;

InsertForm->Label6->Caption = «=»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = true;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = true;

InsertForm->Edit6->Visible = true;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N8Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень всех поездов»;

keyMenu = 6;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = false;

InsertForm->Button4->Visible = true;

InsertForm->Button5->Visible = true;

InsertForm->Button6->Visible = false;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «По всем парам.»;

InsertForm->Button2->Caption = «По маршруту:»;

InsertForm->Button3->Caption = «»;

InsertForm->Button4->Caption = «По времени марш.»;

InsertForm->Button5->Caption = «По цене билета»;

InsertForm->Button6->Caption = «»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = true;

InsertForm->Label6->Visible = true;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «»;

InsertForm->Label2->Caption = «нач:»;

InsertForm->Label3->Caption = «кон:»;

InsertForm->Label4->Caption = «=»;

InsertForm->Label5->Caption = «=»;

InsertForm->Label6->Caption = «»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = false;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = true;

InsertForm->Edit6->Visible = false;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N9Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень отмененных рейсов»;

keyMenu = 7;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = false;

InsertForm->Button5->Visible = false;

InsertForm->Button6->Visible = false;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Все отм. рейсы»;

InsertForm->Button2->Caption = «Отм. рейс в направ:»;

InsertForm->Button3->Caption = «Отм. рейс по марш.:»;

InsertForm->Button4->Caption = «»;

InsertForm->Button5->Caption = «»;

InsertForm->Button6->Caption = «»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = false;

InsertForm->Label6->Visible = false;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «»;

InsertForm->Label2->Caption = «»;

InsertForm->Label3->Caption = «нач:»;

InsertForm->Label4->Caption = «кон:»;

InsertForm->Label5->Caption = «»;

InsertForm->Label6->Caption = «»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = false;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = false;

InsertForm->Edit6->Visible = false;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N10Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень задержанных рейсов»;

keyMenu = 8;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = false;

InsertForm->Button5->Visible = false;

InsertForm->Button6->Visible = false;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Все зад. рейсы»;

InsertForm->Button2->Caption = «Зад. рейс по прич.:»;

InsertForm->Button3->Caption = «Зад. рейс по марш.:»;

InsertForm->Button4->Caption = «»;

InsertForm->Button5->Caption = «Кол. сданных билетов»;

InsertForm->Button6->Caption = «»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = false;

InsertForm->Label6->Visible = false;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «»;

InsertForm->Label2->Caption = «»;

InsertForm->Label3->Caption = «нач:»;

InsertForm->Label4->Caption = «кон:»;

InsertForm->Label5->Caption = «»;

InsertForm->Label6->Caption = «»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = false;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = false;

InsertForm->Edit6->Visible = false;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N11Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень проданных билетов»;

keyMenu = 9;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = false;

InsertForm->Button3->Visible = false;

InsertForm->Button4->Visible = false;

InsertForm->Button5->Visible = true;

InsertForm->Button6->Visible = true;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Продан. билеты»;

InsertForm->Button2->Caption = «»;

InsertForm->Button3->Caption = «»;

InsertForm->Button4->Caption = «»;

InsertForm->Button5->Caption = «По длинтел. марш.»;

InsertForm->Button6->Caption = «По цене билета»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = true;

InsertForm->Label6->Visible = true;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «с:»;

InsertForm->Label2->Caption = «по:»;

InsertForm->Label3->Caption = «нач:»;

InsertForm->Label4->Caption = «кон:»;

InsertForm->Label5->Caption = «=»;

InsertForm->Label6->Caption = «=»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = true;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = true;

InsertForm->Edit6->Visible = true;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N12Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень маршрутов»;

keyMenu = 10;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = false;

InsertForm->Button3->Visible = false;

InsertForm->Button4->Visible = false;

InsertForm->Button5->Visible = false;

InsertForm->Button6->Visible = false;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «Маршруты»;

InsertForm->Button2->Caption = «»;

InsertForm->Button3->Caption = «»;

InsertForm->Button4->Caption = «»;

InsertForm->Button5->Caption = «»;

InsertForm->Button6->Caption = «»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = false;

InsertForm->Label4->Visible = false;

InsertForm->Label5->Visible = false;

InsertForm->Label6->Visible = false;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «тип:»;

InsertForm->Label2->Caption = «направ.:»;

InsertForm->Label3->Caption = «»;

InsertForm->Label4->Caption = «»;

InsertForm->Label5->Caption = «»;

InsertForm->Label6->Caption = «»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = true;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = false;

InsertForm->Edit4->Visible = false;

InsertForm->Edit5->Visible = false;

InsertForm->Edit6->Visible = false;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N13Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень пассажиров»;

keyMenu = 11;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = true;

InsertForm->Button5->Visible = true;

InsertForm->Button6->Visible = true;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «По рейсу»;

InsertForm->Button2->Caption = «По дню отъезда»;

InsertForm->Button3->Caption = «За границу»;

InsertForm->Button4->Caption = «Сдали в багаж»;

InsertForm->Button5->Caption = «По полу»;

InsertForm->Button6->Caption = «По возрасту»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = true;

InsertForm->Label6->Visible = true;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «=»;

InsertForm->Label2->Caption = «=»;

InsertForm->Label3->Caption = «день от.»;

InsertForm->Label4->Caption = «»;

InsertForm->Label5->Caption = «(м, ж)»;

InsertForm->Label6->Caption = «=»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = true;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = false;

InsertForm->Edit5->Visible = true;

InsertForm->Edit6->Visible = true;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N14Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Перечень невыкупленных билетов»;

keyMenu = 12;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = false;

InsertForm->Button5->Visible = false;

InsertForm->Button6->Visible = false;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «По рейсу»;

InsertForm->Button2->Caption = «По дню отъезда»;

InsertForm->Button3->Caption = «По маршруту»;

InsertForm->Button4->Caption = «»;

InsertForm->Button5->Caption = «»;

InsertForm->Button6->Caption = «»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = false;

InsertForm->Label6->Visible = false;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «№»;

InsertForm->Label2->Caption = «день от:»;

InsertForm->Label3->Caption = «нач:»;

InsertForm->Label4->Caption = «кон:»;

InsertForm->Label5->Caption = «»;

InsertForm->Label6->Caption = «»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = true;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = false;

InsertForm->Edit6->Visible = false;

InsertForm->Edit7->Visible = false;

}

 // -

void __fastcall TForm1:N15Click (TObject *Sender)

{

InsertForm->Show();

InsertForm->Caption = «Количество сданных билетов»;

keyMenu = 13;

InsertForm->Button1->Visible = true;

InsertForm->Button2->Visible = true;

InsertForm->Button3->Visible = true;

InsertForm->Button4->Visible = false;

InsertForm->Button5->Visible = false;

InsertForm->Button6->Visible = false;

InsertForm->Button7->Visible = false;

InsertForm->Button1->Caption = «По рейсу»;

InsertForm->Button2->Caption = «По дню отъезда»;

InsertForm->Button3->Caption = «По маршруту»;

InsertForm->Button4->Caption = «»;

InsertForm->Button5->Caption = «»;

InsertForm->Button6->Caption = «»;

InsertForm->Button7->Caption = «»;

InsertForm->Label1->Visible = true;

InsertForm->Label2->Visible = true;

InsertForm->Label3->Visible = true;

InsertForm->Label4->Visible = true;

InsertForm->Label5->Visible = false;

InsertForm->Label6->Visible = false;

InsertForm->Label7->Visible = false;

InsertForm->Label1->Caption = «№»;

InsertForm->Label2->Caption = «день от:»;

InsertForm->Label3->Caption = «нач:»;

InsertForm->Label4->Caption = «кон:»;

InsertForm->Label5->Caption = «»;

InsertForm->Label6->Caption = «»;

InsertForm->Label7->Caption = «»;

InsertForm->Edit1->Visible = true;

InsertForm->Edit2->Visible = true;

InsertForm->Edit3->Visible = true;

InsertForm->Edit4->Visible = true;

InsertForm->Edit5->Visible = false;

InsertForm->Edit6->Visible = false;

InsertForm->Edit7->Visible = false;

}

 // -

 // -

void __fastcall TForm1: RadioButton1Click (TObject *Sender)

{

NameTable = «raspisanie»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton2Click (TObject *Sender)

{

NameTable = «bileti»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton3Click (TObject *Sender)

{

NameTable = «zaredzh_reis»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton4Click (TObject *Sender)

{

NameTable = «otmen_reis»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton5Click (TObject *Sender)

{

NameTable = «raspisanie_lokomotivi»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton6Click (TObject *Sender)

{

NameTable = «rabotniki»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton7Click (TObject *Sender)

{

NameTable = «otdeli»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton8Click (TObject *Sender)

{

NameTable = «teh_brigad»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton9Click (TObject *Sender)

{

NameTable = «lokomotivi»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TForm1: RadioButton10Click (TObject *Sender)

{

NameTable = «lokomotivi_teh_brigad»;

Form1->ADOQuery1->SQL->Text = «select * from «+NameTable+»»;

Form1->ADOQuery1->Active = 1;

Form1->ADOQuery1->ExecSQL();

}

 // -

void __fastcall TInsertForm: Button1Click (TObject *Sender)

{

switch(keyMenu)

{

case 1: InsertForm->ADOQuery1->SQL->Text = «select * from rabotniki»;

break;

case 2: InsertForm->ADOQuery1->SQL->Text = «SELECT * FROM rabotniki WHERE `rabotniki`.`id_br` IS NOT NULL»;

break;

case 3: InsertForm->ADOQuery1->SQL->Text = «select * from rabotniki where rabotniki.type = 'водитель'»;

break;

case 4: InsertForm->ADOQuery1->SQL->Text = «select * from lokomotivi»;

break;

case 5: InsertForm->ADOQuery1->SQL->Text = «select * from lokomotivi where lokomotivi.date_teh_osm >= '»+InsertForm->Edit1->Text+«'and lokomotivi.date_teh_osm <= ' «+InsertForm->Edit2->Text+» '»;

break;

case 6: InsertForm->ADOQuery1->SQL->Text = «select * from raspisanie»;

break;

case 7: InsertForm->ADOQuery1->SQL->Text = «select * from raspisanie, otmen_reis where raspisanie.id_r = otmen_reis.id_r»;

break;

case 8: InsertForm->ADOQuery1->SQL->Text = «select * from raspisanie, zaredzh_reis where raspisanie.id_r = zaredzh_reis.id_r»;

break;

case 9: InsertForm->ADOQuery1->SQL->Text = «select raspisanie.id_r, bileti.status_bil, bileti.fio_owner, bileti.vrem_buy, raspisanie.marshrut_nach, raspisanie.marshrut_kon from bileti, raspisanie where raspisanie.id_r = bileti.id_r and raspisanie.marshrut_nach = '»+InsertForm->Edit3->Text+«' and raspisanie.marshrut_kon = ' «+InsertForm->Edit4->Text+» ' and bileti.vrem_buy >= ' «+InsertForm->Edit1->Text+» ' and bileti.vrem_buy <= ' «+InsertForm->Edit2->Text+» '»;

break;

case 10: InsertForm->ADOQuery1->SQL->Text = «select * from raspisanie where raspisanie.type_poezd = '»+InsertForm->Edit1->Text+«' and raspisanie.marshrut_kon = ' «+InsertForm->Edit2->Text+» '»;

break;

case 11: InsertForm->ADOQuery1->SQL->Text = «select * from bileti where bileti.id_r = «+InsertForm->Edit1->Text;

break;

case 12: InsertForm->ADOQuery1->SQL->Text = «select * from bileti where bileti.status_bil = «невыкуплен» and bileti.id_r = «+InsertForm->Edit1->Text;


Подобные документы

  • Логическая и физическая модели базы данных. Запрет на содержание неопределенных значений. Размещение базы данных на сервере. Реализация клиентского приложения управления базой данных. Модульная структура приложения. Основные экранные формы приложения.

    курсовая работа [1,4 M], добавлен 13.06.2012

  • Выбор и реализация модели базы данных. Концептуальная модель базы данных. Описание логической модели базы данных, SQL-запросов, приложения маскировки эффектов, контрольного примера, программных средств работы. Инструкция по эксплуатации программы.

    курсовая работа [693,4 K], добавлен 19.05.2014

  • Особенности создания учетных записей на файловом сервере. Разработка функциональной модели базы данных. Отчет по дугам модели. Сущность, атрибуты и связи информационной модели. Разработка базы данных в системе управления базами данных MS Access.

    контрольная работа [2,3 M], добавлен 23.01.2014

  • Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.

    курсовая работа [1,7 M], добавлен 04.06.2015

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

  • Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.

    курсовая работа [2,9 M], добавлен 29.06.2015

  • Особенности разработки инфологической модели и создание структуры реляционной базы данных. Основы проектирования базы данных. Разработка таблиц, форм, запросов для вывода информации о соответствующей модели. Работа с базами данных и их объектами.

    курсовая работа [981,4 K], добавлен 05.11.2011

  • Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.

    курсовая работа [679,2 K], добавлен 22.01.2013

  • Обзор средств проектирования баз данных. Технологические платформы баз данных. Основные этапы проектирования. Разработка логической и физическойц модели. Генерация модели в MS Access 2003. Реализация форм и запросов базы данных. Требования по установке.

    курсовая работа [3,0 M], добавлен 28.12.2015

  • Классификация баз данных. Выбор системы управления базами данных для создания базы данных в сети. Быстрый доступ и получение конкретной информации по функциям. Распределение функций при работе с базой данных. Основные особенности иерархической модели.

    отчет по практике [1,2 M], добавлен 08.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.