Московский Государственный Технический Университет им. Н.Э. Баумана

 

 

 

 

 

 

 

 

 

 

 

Лабораторная работа №2

по дисциплине

«Разработка КИСП»

Тема: «Автоматизация SQL взаимодействия и построения приложений на базе CTD»

15

(вариант)

 

Отчет по лабораторной работе

(вид документа)

 

Бумага писчая (A4)

(вид носителя)

 

27

(количество листов)

 

 

Проверил:

___________________

«___»_________2007 г.

 

 

 

Выполнил:

студент группы :

.

__________________

«___»_________2007 г.

 

 

 

 

 

 

 

 

Москва 2007 г.


Оглавление

1.       Цель лабораторной работы. 3

2.       Порядок выполнения работы. 3

3.       Структура БД. 4

3.1.         Логическая структура БД. 4

3.2.         Физическая структура БД. 4

4.       Работа в режиме конечного пользователя с Database Explorer. 5

4.1.         Создание таблиц БД. 5

4.2.         Просмотр и ввод данных в таблицы. 5

4.3.         Визуальное создание запросов. 6

4.4.         Создание отчетов. 7

5.       Работа в режиме SQL - оперативная отладка запросов. 8

5.1.         Создание БД и таблиц БД. 8

5.2.         Удаление таблиц БД. 11

5.3.         Внесение записей в таблицы БД. 11

5.4.         Удаление записей из таблицы БД. 16

5.5.         Модификация полей и таблиц БД. 16

5.6.         Изменение данных в таблицах БД. 17

5.7.         Выборки данных из таблиц БД. 17

6.       Работа в режиме приложения - создание приложений на базе "быстрых" классов объектов (QUICK OBJECT) и с использованием прямого программирования на языке SAL. 24

7.       Список литературы. 27


 

1.    Цель лабораторной работы.

Целью данной ЛР является: изучение автоматизированных механизмов SQL взаимодействия (технологий и оперативного доступа к БД ) и средств быстрого построения приложений (RAD) на основе систем классов; освоение режима конечного пользователя при работе в компоненте СTD DatabaseExplorer;  автоматизированной отладки SQL-запросов и использования их программах; создание учебных БД; создание приложения на основе системы классов QUICK объектов (Automation.apl и qckbase.apl) и ее изучение.

2.    Порядок выполнения работы.

1. Знакомство с компонентой  DatabaseExplorer. Запуск CTD2000 и из нее с помощью пунктов меню TOOLS->DATABASE EXPLORER->SQLBASE.

·     Подключается БД ISLAND (создана по умолчанию при установке) для локального варианта (логин и пароль при авторизации не вводятся).

·     Знакомство с закладками с компонентой  Database Explorer (контекстное меню вызывается правой кнопкой мыши или с меню DATABASE).

·     Знакомство с закладкой дизайнера БД.

·     Создание БД (KISPS315 для локального варианта). Название БД не может превышать 8 символов и должно быть набрано только латиницей.

·     Знакомство с закладками: DEFINITION, DATA, REPORT для таблиц.

·     Знакомство с закладкой SQLTALK для выполнения запросов. Создание и сохранение скриптов, выполнение SQL команд.

2. Работа в режиме конечного пользователя с Database Explorer

·     Создание БД. Создание, просмотр, заполнение, модификация и удаление таблиц БД в DEFINITION. Названия таблиц и полей, значения вводимых данных должны вводится латинскими буквами.

·     Просмотр и ввод данных. Режим DATA. Создание, просмотр, заполнение, модификация и удаление данных в таблицы БД.

·     Визуальное создание запросов. Режим REPORT. Создание одного запроса для выборки списка сотрудников с указанием должности и отдела, в котором он работает.

·     Создание отчетов. Режим REPORT BUILDER. Вызов из меню TOOLS->REPORT BUILDER..

3. Работа в режиме SQL — оперативная отладка запросов.

Закладка SQLTALK (в дереве просмотра имя любой созданной БД, например ISLAND). Удаляется БД созданная в интерактивном режиме п.2 (DROP DATABASE). Все запросы записываются в файл скрипта SQLS315.sql.

·     С помощью SQL — запросов создать БД и таблицы БД (описание БД дано ниже). Файл запросов запоминается на локальном диске [используются команды: «CREATE DATABASE...» и «CREATE TABLE...»]

·     Выполняются операторы удаления созданных таблиц [DROP TABLE].

·     В таблицы с помощью запросов заносятся записи [INSERT INTO ..].

·     В таблицах выполняются операторы удаления записей [DELETE ...]

·     Выполняются операторы модификации полей и таблиц БД [ALTER TABLE ...]

·     Выполняются операторы модификации данных [UPDATE ...]

·     Выполняются операторы запросов данных из БД (Примеры запросов и перечень необходимых запросов приведен ниже.  [SELECT ...]


 

4. Работа в режиме приложения — создание приложений на базе "быстрых" классов объектов (QUICK OBJECT).

·         Создается новое приложение для вывода списка задач с указанием названия, варианта и проекта, в который они включены. Создается окно в формате “Мастер-деталь”

·         Создаются окна для ввода задач и проектов.

·         Подключаются файлы в режиме  LIBRARIES INCLUDE: Automation.apl и qckbase.apl.

·         Создается для проверки одно окно с подключением к БД KISPS315.

·         В это окно подключаются объекты классов QUICK OBJECT: cQuickTable — таблицы, cQuickCommander — кнопки (три), cQuickField — поля, cQuickListBox — список, cQuickComboBox — комбинированный список и другие.

·         При настройке объектов необходимо в визуальном режиме выполнить настройку на нужные объекты БД. Также используется прямое программирование на языке SAL.

·         Выполняется проверка работы приложения в режиме дизайнера CTD. Приложение запоминается с именем APPS315.app.

 

3.    Структура БД.

Предметная область представляет собой процесс проектирования. Выделено 3 таблицы:

таблица проектов (Project), таблица анализируемых вариантов (Variant) и таблица прикладных задач варианта(Task).

Логическая и физическая структуры БД разработаны с использованием CASE-средства AllFusion ERWin Data Modeler r7.

3.1.         Логическая структура БД.

Логическая структура БД представлена на рисунке 1.

 

Рис.  1 Логическая структура БД

3.2.         Физическая структура БД.

Физическая структура БД представлена на рисунке 2.

Рис.  2 Физическая структура БД


4.    Работа в режиме конечного пользователя с Database Explorer.

Посредством Database Explorer можно производить создание, просмотр, заполнение, модификацию и удаление таблиц БД.

Создание БД и таблиц происходит через пункт меню Database Explorer -> New и дальнейшего выбора пункта Table или Database, которые доступны для выбора в зависимости от того, какой уровень иерархии дерева объектов выбран в левой части окна.

4.1.         Создание таблиц БД.

Создание и модификация таблиц происходит в режиме Definition (см. рисунок 3).

Рис.  3 Создание новой таблицы БД в режиме Definition в Database Explorer

4.2.         Просмотр и ввод данных в таблицы.

Просмотр, ввод/удаление и редактирование данных таблиц происходит в режиме Data (см. рисунок 4).

Рис.  4 Добавление новой строки в таблицу в режие Data в Database Explorer


4.3.         Визуальное создание запросов.

Визуальное создание запросов происходит в режиме Report в Database Explorer.

На рисунке 5 представлено, как выглядит визуально в режиме Report Design простейший запрос выборки и таблицы:

 

SELECT ALL PROJECT_ID, PROJ_NAME, VAR_COUNT, WORK_TIME, MEMB_COUNT, FEATURES, DATE_BEGIN, DATE_END, DATE_FACT_END, ROWID FROM S315_PROJECT

 

Рис.  5 Визуальное создание запроса в режиме Report Design в Database Explorer

В режиме Report Preview получаем в итоге вывод, представленный на рисунке 6:

Рис.  6 Вывод запроса в режиме Report Preview в Database Explorer


4.4.         Создание отчетов.

Создание отчетов выполняется в режиме Report Builder в Database Explorer. Вызов осуществляется из меню Tools – Report Builder.

Запрос, на основе которого формируется отчет, легко создается с помощью визуальных средств. Пример создания запроса для отчета, выводящего выборку проекта, со всеми вариантами, которые он включает, представлен на рисунке 7.

SQL-код представленного запроса:

 

SELECT ALL SYSADM.S315_PROJECT.MEMB_COUNT, PROJ_NAME, SYSADM.S315_PROJECT.PROJECT_ID, SYSADM.S315_VARIANT.MEMB_COUNT, SYSADM.S315_VARIANT.PROJECT_ID, VAR_ID, VAR_NAME FROM SYSADM.S315_PROJECT, SYSADM.S315_VARIANT WHERE  SYSADM.S315_PROJECT.PROJECT_ID = SYSADM.S315_VARIANT.PROJECT_ID

 

Рис.  7 Формирование запроса посредством визуальных средств в Report Builder

Работа с отчетом в режиме Report Design и Report Preview аналогична подобным режимам в режиме Report в Database Explorer.


5.       Работа в режиме SQL - оперативная отладка запросов.

Для работы в режиме SQL используется закладка SQLTalk.

5.1.         Создание БД и таблиц БД.

Ниже приведен отлаженный запрос, создающий БД и таблицы в ней:

 

-- соединение с сервером SQLBase

SET SERVER SERVER1;

-- удаление БД, созданной в интерактивном режиме и её повторное создание

DROP DATABASE KISPS315;

CREATE DATABASE KISPS315;

-- подключение к озданной БД

CONNECT KISPS315;

-- создание таблиц БД, индексов и внешних ключей

CREATE TABLE S315_Project

(

 project_id  int  NOT NULL ,

 proj_name  CHAR(40)  ,

 var_count  SMALLINT  ,

 work_time  int  ,

 memb_count  int  ,

 features  char(100)  ,

 date_begin  DATE  ,

 date_end  DATE  ,

 date_fact_end  DATE  ,

 PRIMARY KEY (project_id)

);

 

CREATE UNIQUE INDEX XPKS315_Project ON S315_Project

(

 project_id  ASC

);

 

CREATE TABLE S315_Task

(

 task_id  int  NOT NULL ,

 task_name  CHAR(40)  ,

 work_time  int  ,

 memb_count  int  ,

 intensity  REAL  ,

 description  CHAR(100)  ,

 PRIMARY KEY (task_id)

);

 

CREATE UNIQUE INDEX XPKS315_Task ON S315_Task

(

 task_id  ASC

);

 

CREATE TABLE S315_Variant

(

 var_id  int  NOT NULL ,

 depart_id  int  ,

 var_name  CHAR(40)  ,

 var_code  CHAR(20)  ,

 work_time  int  ,

 memb_count  int  ,

 task_count  smallint  ,

 features  CHAR(100)  ,

 date_begin  DATE  ,

 date_end  DATE  ,

 date_fact_end  DATE  ,

 project_id  int  ,

 PRIMARY KEY (var_id)

);

 

CREATE UNIQUE INDEX XPKS315_Variant ON S315_Variant

(

 var_id  ASC

);

 

CREATE INDEX XIF1S315_Variant ON S315_Variant

(

 project_id  ASC

);

 

CREATE TABLE S315_Variant_Task

(

 var_id  int  NOT NULL ,

 task_id  int  NOT NULL ,

 PRIMARY KEY (var_id,task_id)

);

 

CREATE UNIQUE INDEX XPKS315_Var_Task ON S315_Variant_Task

(

 var_id  ASC,

 task_id  ASC

);

 

CREATE INDEX XIF1S315_Var_Task ON S315_Variant_Task

(

 var_id  ASC

);

 

CREATE INDEX XIF2S315_Var_Task ON S315_Variant_Task

(

 task_id  ASC

);

 

ALTER TABLE S315_Variant

FOREIGN KEY (project_id) REFERENCES S315_Project

  ON DELETE RESTRICT;

 

ALTER TABLE S315_Variant_Task

FOREIGN KEY (var_id) REFERENCES S315_Variant

  ON DELETE RESTRICT;

 

ALTER TABLE S315_Variant_Task

 FOREIGN KEY (task_id) REFERENCES S315_Task

  ON DELETE RESTRICT;

-- сохранение изменений в БД

COMMIT;

 

Результат выполнения приведенных SQL-запросов в SQLTalk представлен на рисунке 8:

Рис.  8 Результат выполнения SQL-запросов создания БД и её таблиц в SQLTalk

 

В результате получаем БД с таблицами, которые можно посмотреть в Database Explorer (см. рисунок 3).


5.2.         Удаление таблиц БД.

Для удаления таблиц БД используется оператор DROP TABLE. Пример SQL-запроса и результат его выполнения в SQLTalk представлены на рисунке 9:

Рис.  9 Удаление таблицы оператором DROP TABLE в SQLTalk

5.3.         Внесение записей в таблицы БД.

Для внесения записей в таблицы БД используется оператор INSERT INTO.

Запросы на заполнение таблицы S315_Project и результаты их выполнения в SQLTalk представлены на рисунке 10.

Рис.  10 Заполнение таблицы S315_Project

Запросы на заполнение таблицы S315_Variant представлены ниже:

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count,task_count, features, date_begin, date_end, date_fact_end)

VALUES (1, 1, 1, 'Variant 1.1', 'В1.1', 1, 1, 1, 'Variants featuress 1.1', 01.01.2007, 01.02.2007, 15.02.2007);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (2, 1, 1, 'Variant 1.2', 'В1.2', 2, 2, 2, 'Variants featuress 1.2', 01.01.2007, 15.02.2007, 14.01.2007);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

 VALUES (3, 1, 2, 'Variant 2.1', 'В2.1', 1, 1, 3, 'Variants featuress 2.1', 02.02.2008, 02.04.2008, 12.03.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (4, 1, 2, 'Variant 2.2', 'В2.2', 2, 2, 4, 'Variants featuress 2.2', 12.02.2008, 12.04.2008, 02.04.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (5, 2, 2, 'Variant 2.3', 'В2.3', 3, 3, 5, 'Variants featuress 2.3', 23.03.2008, 01.04.2008, 01.04.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (6, 2, 2, 'Variant 2.4', 'В2.4', 4, 4, 1, 'Variants featuress 2.4', 04.03.2008, 14.03.2008, 14.03.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (7, 2, 3, 'Variant 3.1', 'В3.1', 1, 1, 2, 'Variants featuress 3.1', 03.03.2008, 03.05.2008, 06.06.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (8, 2, 3, 'Variant 3.2', 'В3.2', 2, 2, 3, 'Variants featuress 3.2', 03.03.2008, 03.05.2008, 06.06.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (9, 3, 3, 'Variant 3.3', 'В3.3', 3, 3, 4, 'Variants featuress 3.3', 02.05.2008, 02.06.2008, 02.06.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (10, 3, 3, 'Variant 3.4', 'В3.4', 4, 4, 5, 'Variants featuress 3.4', 03.03.2008, 07.06.2008, 13.06.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (11, 3, 3, 'Variant 3.5', 'В3.5', 5, 5, 5, 'Variants featuress 3.5', 05.05.2008, 15.05.2008, 15.05.2008);

 

INSERT INTO S315_VARIANT(var_id, depart_id, project_id, var_name, var_code, work_time, memb_count, task_count, features, date_begin, date_end, date_fact_end)

VALUES (12, 3, 3, 'Variant 3.6', 'В3.6', 6, 6, 1, 'Variants featuress 3.6', 16.03.2008, 06.06.2008, 06.06.2008);

 


Распечатка результатов выполнения запросов в SQLTalk представлена ниже:

 

CURSOR 7 CONNECTED TO KISPS315

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

1 ROW INSERTED

TRANSACTION COMMITTED

 

Рис.  11 Заполнение таблицы S315_Variant в SQLTalk


Запросы на заполнение таблицы S315_Task и результаты их выполнения в SQLTalk представлены на рисунке 12.

Рис.  12 Заполнение таблицы S315_Task  в SQLTalk

 


Запросы на заполнение связующей таблицы S315_Variant_task представлены ниже:

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(1, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(2, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(2, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(3, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(3, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(3, 3);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(4, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(4, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(4, 3);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(4, 4);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(5, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(5, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(12, 5);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(5, 4);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(5, 5);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(6, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(7, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(7, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(8, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(8, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(8, 3);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(9, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(9, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(9, 3);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(9, 4);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(10, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(10, 2);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(10, 3);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(10, 4);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(10, 5);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(11, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(12, 1);

INSERT INTO S315_VARIANT_TASK(var_id, task_id)  VALUES(12, 2);

            Результаты выполнения этих запросов в SQLTalk представлен ниже на рисунке 13:

Рис.  13 Заполнение таблицы S315_Variant_task в SQLTalk


5.4.         Удаление записей из таблицы БД.

Для удаления записей из таблицы используется оператор DELETE. Пример запроса и результат его выполнения представлены на рисунке 14:

Рис.  14 Пример удаления записей из таблиц БД в SQLTalk

5.5.         Модификация полей и таблиц БД.

Для модификации полей и таблиц БД используется оператор ALTER TABLE. Пример запроса и результат его выполнения в SQLTalk представлены ниже.

 

ALTER TABLE S315_project ADD description CHAR(30);

ALTER TABLE S315_project MODIFY dscription CHAR(250);

Рис.  15 Пример модификации полей и таблиц БД в SQLTalk


5.6.         Изменение данных в таблицах БД.

Изменение данных в таблицах БД производится с помощью оператора UPDATE. Пример запроса и результат его выполнения представлены ниже.

UPDATE S315_variant SET task_count = task_count * 2

WHERE id = 5;

Рис.  16 Пример изменения данных в таблицах БД в SQLTalk

5.7.         Выборки данных из таблиц БД.

Для выборки данных из таблиц БД используется оператор SELECT. Ниже приведены различные примеры выборок из созданных выше таблиц БД.

a)      простая выборка из всех таблиц.

SELECT * FROM S315_project;

SELECT * FROM S315_variant;

SELECT * FROM S315_task;

SELECT * FROM S315_variant_task;

Рис.  17 Пример простой выборки из всех таблиц в SQLTalk

b)      подсчет числа вариантов и задач,  фиксация  данных  в БД.

UPDATE S315_variant s

SET task_count=(

                   SELECT COUNT(*)

                   FROM S315_variant_task st, S315_task su

                   WHERE s.var_id=st.var_id AND su.task_id = st.task_id

                 );

 

UPDATE S315_project s

SET var_count=(

                  SELECT COUNT(*)

                  FROM S315_variant st

                  WHERE st.project_id=s.project_id

                 );

Рис.  18 Подсчет числа вариантов и задач,  фиксация  данных  в БД с помощью SQLTalk


 

c)      подсчет числа сотрудников  для варианта, фиксация данных в БД

UPDATE S315_variant s

SET memb_count=(

                   SELECT SUM(memb_count)

                   FROM S315_task st

                   WHERE st.task_id in (

                             SELECT su.task_id

                             FROM S315_variant_task su

                             WHERE su.var_id = s.var_id)

                 );

Рис.  19 Подсчет числа сотрудников для варианта в SQLTalk

d)     подсчет трудоемкости варианта

UPDATE S315_variant s

   SET work_time=(

             SELECT SUM(su.work_time)

                     FROM S315_variant_task st, S315_task su

                     WHERE s.var_id=st.var_id

                       AND su.task_id=st.task_id

            );

Рис.  20 Подсчет трудоемкости варианта в SQLTalk

e)      подсчет трудоемкости проекта

Рис.  21 Подсчет трудоемкости проекта в SQLTalk

f)       выбор списка вариантов и задач для проекта без повторений

Запрос и результат его выполнения в SQLTalk представлены на рисунке 22:

Рис.  22 Выбор списка вариантов и задач для проекта без повторений в SQLTalk

g)      список всех задач

SELECT task_name from S315_task;

Рис.  23 Выбор списка всех задач в SQLTalk

h)      список всех проектов с трудоемкостью

SELECT proj_name, work_time FROM S315_project;

Рис.  24 Список всех проектов с трудоемкостью в SQLTalk


i)        список вариантов с проектами и трудоемкостью

SELECT s.var_name, s.work_time, st.proj_name

      FROM S315_variant s, S315_Project st

                             WHERE s.project_id = st.project_id;

Рис.  25 Список вариантов с проектами и трудоемкостью

j)        выборка проектов и вариантов, выполненных не в срок


k)      список всех задач отсортированных по вариантам и проектам

SELECT s.task_name, st.var_name, su.proj_name

  FROM S315_task s,

       S315_variant_task sx,

       S315_variant st,

       S315_project su

  WHERE s.task_id=sx.task_id

    AND st.var_id=sx.var_id

    AND su.project_id=st.project_id

  ORDER BY 1, 2, 3;

Рис.  26 Список всех задач, отсортированных по вариантам и проектам


6.            Работа в режиме приложения - создание приложений на базе "быстрых" классов объектов (QUICK OBJECT) и с использованием прямого программирования на языке SAL.

Окно дизайнера CTD с разработанным приложением представлено на рисунке 27:

Рис.  27 Окно дизайнера CTD с разработанным приложением

Ниже приведены непосредственно экранные формы разработанного приложения.

Форма для соединения с БД с возможностью указания БД, логина и пароля:

Рис.  28 Форма для соединения с БД


Главное окно программы, предоставляющее возможность перебора всех задач и просмотра вариантов и проектов, в которые они входят:

Рис.  29 Главное окно программы

Форма добавления нового варианта в БД:

Рис.  30 Форма добавления нового варианта


Форма добавления нового проекта в БД:

Рис.  31 Форма добавления нового проекта


7.    Список литературы.

1)      Большаков С. А. «Изучаем программирование в Gupta Team Developer» [Электронный источник]: интернет-ресурс http://www.interface.ru/home.asp?artId=2259 .

2)      Справочная система CTD2000 [Электронный источник]: centura.hlp

 



Hosted by uCoz