- •Лабораторный практикум
- •Москва – 2006
- •Введение
- •Лабораторная работа № 1 Тема: « Проектирование логической структуры базы данных»
- •1. Изучение информационной модели перевозочного процесса
- •1.3 Пример процессов, отражаемых информационной моделью.
- •2. Построение информационной модели предметной области
- •Функциональные классы
- •Классы ж.Д. Документов
- •Технологические операции (события)
- •Пользовательские классы
- •Тема: «Определение классов объектов, участвующих в перевозочном процессе»
- •3.1 Техника работы c sql -менеджер
- •Insert into SlovarOb_SlovOper.OperWagon (KodOper,Mnemokod,NaimenOper)
- •Values (01,'пост,'Пром остан на станц').
- •3.2 Варианты заданий на выполнение лабораторной работы
- •3.3 Порядок оформления лабораторной работы
- •Лабораторная работа № 4 Тема: «Программирование в среде субд Сache-5»
- •Описание базы данных, построенной для решения контрольных примеров:
- •Лабораторная работа № 5
- •В пакетном режиме os/390
- •3. Под os/390 shell оболочкой
- •43 Пpoc
- •44 Пoдч
- •51 Пpиб
- •53 Пpoc
- •54 Pacф
- •62 Otпp
- •63 Пpoc
- •64 Pacф
- •70 Пpot
- •73 Kopp
- •75 Bkлc
- •76 Иckл
- •79 Tгhл
- •93 Ппpc
- •98 Пpпс
- •Список используемых источников
- •Информационно-вычислительные системы железнодорожного транспорта
- •127994, Москва, ул. Образцова, 15.
-
В пакетном режиме os/390
Скопируйте поставленный IBM пример программы и заголовок файла в ваш набор данных. Например, если ваш префикс PETE, сохраните пример программы (CBC3UAAM) в PETE.TEST.C(CTOF) и файл-заголовок в PETE.TESTHDR.H(CBC3UAAN). Вы можете использовать IBM-поставляемую каталогизированную процедуру EDCCBG для компиляции, связывания и запуска, как показано на рис. 5.
//DOCLG EXEC PROC=EDCCBG, INFILE=’PETE.TEST.C CTOF’,
// CPARM=”LSEARCH(’’’’PETE.TESTHDR.+ ’’’”)’
//GO.SYSIN DD DATA, DLM=@@
19
@@
Рис.5 процедура связывания и запуска.
На рис. 5 LSEARCH оператор описывает, где найти пользовательские include файлы.
GO.SYSIN оператор показывает, что вводимые данные следуют за ним.
2. Под TSO
Скопируйте IBM-поставленный пример программы и заголовок файла в ваш набор данных.
Например, если ваш пользовательский префикс PETE, сохраните пример OS/390 C программы
(CBC3UAAM) в PETE.TEST.C(CTOF) и заголовок файла в PETE.TESTHDR.H(CBC3UAAN).
Используйте следующий набор команд TSO, чтобы скомпилировать, связать и выполнить пример программы:
1. Проверьте, что библиотека OS/390 Language Environment runtime и OS/390 C компилятор находится в STEPLIB, LPALST, или сцепке LNKLST библиотек.
2. Скомпилируйте исходный текст OS/390 C. Вы можете использовать REXX EXEC CC вызывая OS/390 C компилятор под TSO следующим образом:
%CC TEST.C(CTOF) (LSEARCH(TESTHDR.H)
REXX EXEC CC компилирует CTOF с умалчиваемыми опциями компилятора и сохраняет результирующий объектный модуль в PETE.TEST.C.OBJ(CTOF).
Компилятор ищет пользовательские header файлы в PDS PETE.TESTHDR.H, который вы указали во время компиляции через LSEARCH опцию.
3. Выполнение связывания:
CXXBIND OBJ(TEST.C.OBJ(CTOF)) LOAD(TEST.C.LOAD(CTOF))
CXXBIND связывает объектный модуль PETE.TEST.C.OBJ(CTOF), чтобы создать
выполняемый модуль CTOF в PDSE PETE.TEST.C.LOAD, с опциями связывания по умолчанию.
4. Запуск программы:
CALL TEST.C.LOAD(CTOF)
CALL запускает CTOF из PETE.TEST.C.LOAD с умалчиваемыми опциями выполнения.
3. Под os/390 shell оболочкой
1. Проверьте, что библиотека OS/390 Language Environment runtime и OS/390 C компилятор
находится в STEPLIB, LPALST, или сцепке LNKLST библиотек.
2. Поместите исходник в HFS. Из OS/390 shell оболочки наберите:
tso oput "’cbc.scbcsam(cbc3uaam)’ ’$PWD/cbc3uaam.c’"
tso oput "’cbc.scbcsam(cbc3uaan)’ ’$PWD/cbc3uaan.h’"
В данном примере, используется текущая директория, так что удостоверьтесь,
что вы находитесь в нужной директории. Используйте pwd команду, чтобы показать
директорию, mkdir команду, чтобы создать новую директорию и cd команду, чтобы
поменять директорию.
3. Компиляция и отладка:
c89 -o ctof cbc3uaam.c
Замечание: Вы можете использовать c89, чтобы скомпилировать исходный текст, который хранится в наборе данных.
4. Запуск программы:
./ctof
Приложение
Таблица 1. Суперкласс «Подвижные единицы», класс «Текущие данные о поезде»
|
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
INDEX_POEZD CHAR 15 Индекс поездa DOR_RASCH CHAR 2 Код дороги расчета
Данные о последней операции с поездом KOP_PMD CHAR 2 Код последней оперaции DATE_OP TIMESTAMP Дaтa совершения оперaции STAN_OP CHAR 6 Код ЕСР ст.соверш.с поездом посл.оперaции DORNOD_POSL CHAR 2 Код соседней дороги/отделения NAPR_POSL CHAR 6 Нaпрaвление KOP_PRIB202 CHAR 2 Код операции прибытия по с. 202 DORNOD_PRIB202 CHAR 2 Код соседней дороги/отделения по прибытию для с. 202 NAPR_PRIB202 CHAR 6 Направление по прибытию для с. 202
Данные о дислокации DOR_DIS CHAR 2 Код дороги дислокации NOD_DIS CHAR 2 Код отделения дислокации STAN_DIS CHAR 6 Код станции дислокации NOM_PARK CHAR 2 Номер пaркa NOM_PUT CHAR 2 Номер пути DATE_OP_NPF TIMESTAMP N Дaтa совершения оперaции
|
Таблица 2. Суперкласс «Подвижные единицы», класс «Текущие данные о вагоне»
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
NOM_VAG CHAR 12 Номер вaгонa ( инвентaрный ) DOR_RASCH CHAR 2 Код дороги расчета NOM_NAKLAD CHAR 9 Номер накладной на вагон Данные о последней операции с вагоном KOP_VMD CHAR 2 Код операции с вагоном DATE_OP TIMESTAMP Дата совершения операции STAN_OP CHAR 6 Код станции совершения операции PR_GOD_POGR CHAR 1 Признак годности вагона под погрузку Сведения о дислокации DOR_DIS CHAR 2 Код дороги дислокации STAN_DIS CHAR 6 Код станции дислокации NOM_PARK CHAR 2 Номер парка NOM_PUT CHAR 2 Номер пути
Признаки дислокации VID_DIS_STAN CHAR 1 Код внутристанционной дислокации 1 – подъездной путь
|
|||
Таблица 3. Суперкласс «Подвижные единицы», класс «Отправки» |
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
KOP_POGR CHAR 2 Код грузовой операции DATE_POGR TIMESTAMP Дата грузовой операции NOM_NAKLAD CHAR 9 Номер дорожной ведомости (накладной) STAN_DISLOK CHAR 6 Код станции дислокации вагона с грузом NOM_PARK CHAR 2 Номер парка станции NOM_PUTI CHAR 2 Номер пути парка станции GRUZPOL CHAR 4 Код грузополучателя KOD_GRZ_TGNL CHAR 6 Код груза PR_EXPORT_GRZ CHAR 1 Признак экспортного груза VES_GRZ INTEGER 4 Масса груза в кг STAN_NAZN CHAR 6 Код станции назначения вагона NOM_VAG CHAR 12 Номер вaгонa ( инвентaрный )
|
Таблица 4. Суперкласс «Подвижные единицы», класс «Локомотивы» |
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
SER_LOC |
CHAR |
3 |
Код серии локомотива |
ZNS_LOC |
CHAR |
8 |
Заводской номер головной секции |
DOR_RASCH |
CHAR |
2 |
Код дороги расчета (по сути код дороги формирования) |
KOP_LMD |
CHAR |
3 |
Код операции. |
DATE_OP |
TIMESTMP |
|
Дата и время операции |
INDEX_POEZD |
CHAR |
15 |
Индекс поезда |
NOM_POEZD |
CHAR |
4 |
Номер поезда |
KOP_S |
CHAR |
3 |
Код операции, при которой изменилось состояние. |
DATE_OP_S |
TIMESTMP |
N |
Дата и время операции, при которой изменилось состояние |
NAPR_PRIB |
CHAR |
6 |
Код станции дислокации |
DOR_DIS |
CHAR |
2 |
Код дороги дислокации |
PROB_TO2 |
INTEGER |
4 |
Пробег от ТО-2 на начало состояния (минуты) |
PROB_LIN |
INTEGER |
4 |
Пробег линейный (км) по предыдущей операции |
Таблица 5. Суперкласс «НСИ», класс «Картотечные данные о вагонах»
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
NOM_VAG CHAR 12 Номер вaгонa ( инвентaрный ) KOD_SOB CHAR 2 Код администрации-собственникa DATE_POST DATE 4 Дата постройки (XXXX-01-01) DOR_PRIPIS CHAR 2 Код ж.д. приписки вaгонa OCH_PLAN_REM CHAR 1 Код очередного плaнового ремонтa вaгонa NORM_PROB SMALLINT 2 Норматив величины пробега (тыс.км) GRP_VAG_CEN SMALLINT 2 Грузоподъемность вагона в центнерах
ROD_VAG_OSN CHAR 2 Основной род вагона
OTM_ROL CHAR 1 Отметка о роликах KOL_OSEY SMALLINT 2 Количество осей в вaгоне DL_VAG SMALLINT 2 Длинa вaгонa в 0.01 условного вaгонa + VES_TAR_CEN SMALLINT 2 Вес тaры вaгонa в центнерaх + PROB_GRJ INTEGER 4 Пробег в груженом состоянии PROB_POR INTEGER 4 Пробег в порожнем состоянии
|
Таблица 6. Суперкласс «НСИ», класс «Картотечные данные о локомотивах»
|
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
SER_LOC |
CHAR |
3 |
Код серии локомотива |
ZNS_LOC |
CHAR |
8 |
Заводской номер головной секции |
DOR_PRIP |
CHAR |
2 |
Код дороги приписки |
DEPO_PRIP |
CHAR |
2 |
Код депо приписки |
VID_DV_PR |
CHAR |
2 |
Код преимущественного вида движения |
VID_DV_VSP |
CHAR |
2 |
Код вспомогательного вида движения |
UCH_OBR1 |
CHAR |
5 |
Код первого закрепленного участка обращения |
UCH_OBR2 |
CHAR |
5 |
Код второго закрепленного участка обращения |
UCH_OBR3 |
CHAR |
5 |
Код третьего закрепленного участка обращения |
UCH_OBR4 |
CHAR |
5 |
Код четвертого закрепленного участка обращения |
UCH_OBR5 |
CHAR |
5 |
Код пятого закрепленного участка обращения |
Таблица 7. Суперкласс «НСИ», класс «Классификатор грузов»
|
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
KOD_GRZ_TGNL
KOD_GRZ_UCH
ROD_GRZ_OSN |
CHAR
CHAR
CHAR |
6
3
2 |
Код груза тарифно-статистической номенклатуры Код груза оперативно-статистической номенклатуры Род груза основной |
NAIM_GRZ_POL |
STRING |
32 |
Полное наименование груза |
NAIM_GRZ_KR |
STRING |
16 |
Сокращенное наименование груза |
Таблица 8. Суперкласс «НСИ», класс «Классификатор станций»
|
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
KOD_STAN |
CHAR |
6 |
Код станции |
KLAS_STAN |
CHAR |
1 |
Классность станции |
SPEZ_STAN |
CHAR |
2 |
Специализация станции |
NAIM_ STAN _POL |
STRING |
32 |
Полное наименование станции |
NAIM_STAN _KR |
STRING |
16 |
Сокращенное наименование станции |
Таблица 9. Суперкласс «НСИ», класс «Подъездные пути»
|
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
KOD_POD_PUT |
CHAR |
4 |
Код подъездного пути |
NAIM_POD_PUT |
STRING |
16 |
Сокращенное наименование подъездного пути |
STAN_PRIM |
CHAR |
6 |
Код станции примыкания подъездного пути |
WMES_GRZ_FR |
CHAR |
2 |
Вместимость грузового фронта |
|
|
|
|
NORM_PROST |
CHAR |
2 |
Норматив простоя вагонов (час.) |
Таблица 10. Суперкласс «Документы», класс «Дорожные ведомости» |
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
NOM_NAKLAD CHAR 9 Номер железнодорожной накладной GRUZPOL CHAR 4 Код грузополучателя GRUZOTPR СHAR 4 Код грузоотправителя ID_OTPRK CHAR 12 Идентификатор отправки (номер накладной) VID_OTPRK CHAR 1 Вид отправки 1 – маршрутная 2 – повагонная 3 – международная DATE_DOSTAV CHAR 4 Дата доставки (день,месяц) TARIF CHAR 13 Тариф KOD_GRZ_TGNL CHAR 6 Код груза по ТГНЛ KOD_GRZ_UCH CHAR 6 Код груза учетный
ROD_GRZ_OSN CHAR 2 Род груза основной
PR_EXPORT_GRZ CHAR 1 Признак экспортного груза VES_GRZ INTEGER 4 Масса груза в кг
STAN_NAZN CHAR 6 Код станции назначения вагона
DOR_NAZN CHAR 2 Дорога назначения NOM_VAG CHAR 12 Номер вaгонa ( инвентaрный ) PR_GOD_POGR CHAR 1 Признак годности под погрузку
|
Таблица 11. Суперкласс «Документы», класс «Натурный лист поезда»
|
|||
Идентификатор реквизита таблицы |
Тип данного |
Длина поля |
Наименование реквизита |
1 |
2 |
3 |
4 |
INDEX_POEZD CHAR 15 Индекс поездa DOR_RASCH CHAR 2 Код дороги расчета
Общие данные о поезде NOM_POEZD CHAR 4 Номер поездa (текущий) NOM_GOL_VAG CHAR 12 Номер головного вaгонa NOM_XV_VAG CHAR 12 Номер хвостового вaгонa USL_DL_POEZD SMALLINT 2 Условнaя длинa поездa VES_BR SMALLINT 2 Вес поездa брутто (в тоннaх) VES_NET SMALLINT 2 Вес поездa нетто (вес грузa) KOL_VAG SMALLINT 2 Количество ед.подв.состава KOL_VAG_GRUZ SMALLINT 2 Количество вaгонов грузовых KOL_OSEY SMALLINT 2 Количество осей в поезде всего Данные о каждом вагоне из ТГНЛ NOM_VAGON INTEGER 4 Номер вагона NPP SMALLINT 2 Порядковый номер вaгонa в состaве поездa OTM_ROL CHAR 1 Отметка о роликовых подшипниках KOD_SOB SMALLINT 2 Код собственника VES_GR_T SMALLINT 2 Вес груза в тоннах STAN_NAZN INTEGER 4 Станция назначения вагона KOD_GRZ INTEGER 4 Код груза KOD_GRUZPOL INTEGER 4 Код грузополучателя
|
Таблица 12. CЛOBAPЬ OПEPAЦИЙ C ПOEЗДAMИ