
- •Задание на работу
- •1.1. Разработать проект каркаса для работы со спецификациями изделий
- •1.2. Содержание работы
- •1.3. Исходные данные для задачи
- •1.4. Рекомендуемые инструменты
- •1.5. Рекомендуемые источники
- •Аннотация
- •1. Описание выполненной работы
- •1.1. Анализ исходных данных
- •1.2. Разработка функциональных требований к подсистеме
- •1.3. Разработка модели классов
- •1.4. Разработка модели хранения в среде субд данных классификатора изделий
- •1. Разработка erd
- •2. Создание базы данных
- •3. Подготовка скриптов метаданных
- •1.5. Разработка основных процедур
- •1.6. Тестирование разработки
1.6. Тестирование разработки
Настройка классификатора сортамента
Единицы измерения берем из стандарта:
003 мм Миллиметр
006 м Метр
055 м2 Квадратный метр
166 кг Килограмм
168 т Тонна
Скрипты для заполнения справочника ЕИ для тестирования:
select * from INS_EI('003','мм','Миллиметр');
select * from INS_EI('006','м','Метр');
select * from INS_EI('055','м2','Квадратный метр');
select * from INS_EI('166','кг','Килограмм');
select * from INS_EI('168','т','Тонна');
Пример заполнения таблицы EI приведен на рис. 14.
Рис. 14. Пример заполнения таблицы EI
Процедура INS_EI работает корректно, генератор формирует правильные идентификаторы.
Данные для заполнения фрагмента классификатора изделий берем из исходных данных.
/************ **********************************************************/
/*Изделия 1
Стальной прокат 2
Сталь горячекатанная 3
Балки двутавровые 4
Балки двутавровые ГОСТ 8239-72 5
Балки двутавровые ГОСТ 8239-89 6
Швеллеры 7
Швеллеры с уклоном внутренних полок ГОСТ 8240-72 8
Сталь прокатная угловая 9
Сталь прокатная угловая равнопрочная ГОСТ 8509-79 10 */
Скрипты для заполнения классификатора приведены ниже:
select * from INS_CLASS (0, '','Изделия',0); /* 1 */
select * from INS_CLASS (1, '','Прокатная сталь',4); /* 2 */
select * from INS_CLASS (2, '','Сталь горячекатаная',4); /* 3 */
select * from INS_CLASS (3, '','Балки двутавровые',4); /* 4 */
select * from INS_CLASS (4, '','Балки двутавровые ГОСТ 8239-72',4); /* 5 */
select * from INS_CLASS (4, '','Балки двутавровые ГОСТ 8239-89',4); /* 6 */
select * from INS_CLASS (3, '','Швеллеры',4); /* 7 */
select * from INS_CLASS (7, '','Швеллеры с уклоном внутренних полок ГОСТ 8240-72 ',4); /* 8 */
select * from INS_CLASS (3, '','Сталь прокатная угловая',4); /* 9 */
/*************************************************************************/
Пример заполнения таблицы CHEM_CLASS приведен на рис.15.
Рис. 15. Содержание таблицы INS_CLASS
Видно, что процедура INS_CLASS работает корректно. Идентификаторы формируются правильно.
Тестирование процедуры FIND_GR_GR/
Запрос с вершины дерева:
select * from FIND_GR_GR (1) /*Изделие*/.
Ответ представлен на рис. 16:
Рис. 16. Результат поиска потомков
Запрос с узла дерева:
select * from FIND_GR_GR (4) /*Балки двутавровые*/.
Результат представлен на рис. 17.
Рис. 17. Результат поиска потомков класса «Балки двутавровые»
Запрос с листа дерева:
select * from FIND_GR_GR (10) /* Сталь прокатная угловая равнопрочная ГОСТ 8509-79 */.
Результат представлен на рис. 18.
Рис. 18. Результат поиска потомков класса «Сталь прокатная угловая равнопрочная ГОСТ 8509-79»
Заполнение данных таблицы PROD для тестирования на основе файла Исходные данные для Справочника Проката стального.docx:
/************ Скрипты заполнения таблицы PROD *******************/
select * from INS_PROD(5,'','ДВУТАВР 14-В СТ 3КП2-I');
select * from INS_PROD(5,'','ДВУТАВР 18-В СТ 3КП2-I');
select * from INS_PROD(8,'','ШВЕЛЛЕР 12-У СТ 3СП5');
select * from INS_PROD(8,'','ШВЕЛЛЕР 14 СТ 3СП5');
select * from INS_PROD(10,'','УГОЛОК 32Х32Х4 СТ 01');
select * from INS_PROD(10,'','УГОЛОК 40Х40Х4 СТ 01');
select * from INS_PROD(12,'','ТРУБА 13Х2 СТ 10');
select * from INS_PROD(12,'','ТРУБА 32Х3,2 СТ 10');
/*******************************************************************/
Тестирование процедуры FIND_LIST.
Запрос 1:
select * from FIND_LIST (10) /*Сталь прокатная угловая равнопрочная ГОСТ 8509-79 10*/.
Ответ представлен на рис. 19.
Рис. 19. Результат поиска изделий класса «Сталь прокатная угловая равнопрочная ГОСТ 8509-79»
Запрос 2:
select * from FIND_LIST (3) /* Сталь горячекатанная 3*/.
Ответ представлен на рис. 20.
Рис. 20. Результат поиска изделий класса «Сталь горячекатаная»
Выводы
1. Процедуры поддержки целостности данных работают корректно
2. Процедуры добавления метаданных (классификатор) и данных работают корректно
3. Процедура поиска данных заданного класса работает корректно
4. Процедура перенесения классов не разработана
Заключение
Задание лабораторной работы выполнено частично