Вивчення методики процедурного програмування в СУБД та трасування програм за допомогою debugger
З використання циклу SCAN/EndSCAN написати програму, в якій при навігації по таблиці tb1 відповідні дані в таблиці tb2 будуть знаходитися за допомогою команди SEEK або функції SEEK (). При виконанні даної лабораторної роботи ми засвоїли команди і функції навігації таблицями баз даних, а також вивчили конструкцій побудови циклів DO WHILE/EndDO та SCAN/EndSCAN. З використанням циклу DO WHILE/EndDO… Читати ще >
Вивчення методики процедурного програмування в СУБД та трасування програм за допомогою debugger (реферат, курсова, диплом, контрольна)
Вивчення методики процедурного програмування в СУБД та трасування програм за допомогою debugger
Мета: Засвоїти команди і функції навігації таблицями баз даних. Вивчення конструкцій побудови циклів DO WHILE/EndDO та SCAN/EndSCAN.
Хід роботи.
1. Створити дві вільні таблиці (Free Tables) tb1 та tb2. Таблиця 1 повинна мати такі поля: Nom — номер запису, Sm — ім'я, Ln — логічна змінна, яка означає стать людини, а таблиця 2 — Nom — номер запису, Dt — дата, Nm — значення. Ввести до них по 10−20 записів, пов’язаних між собою логічно. Проіндексувати обидві таблиці по полю Nom.
Рис. 1 Створені таблиці
Було створено дві таблиці, в першій зберігалися ім'я та стать людини, в другій — її дата народження та вік.
Рис. 2 Проіндексована таблиця 2
Обидві таблиці було проіндексовано по полю Nom.
2. З використанням циклу DO WHILE/EndDO написати програму, в якій при навігації по таблиці tb1 відповідні дані в таблиці tb2 будуть знаходитися за допомогою команди LOCATE.
CLEAR && освобождение из памяти всех переменных и очистка главного окна.
CLOSE DATABASES && закрытие базы данных.
OPEN DATABASE ('c:Мои документыЛичноеКТУСУБДLabslab1DATAdecanat') && открытие базы данных.
SELECT 1 && определение рабочей области 1.
USE tb1 && используя таблицу 1.
SELECT 2 && определение рабочей области 2.
USE tb2 && используя таблицу 2.
SELECT 1 && работаем с рабочей областью 1 (т.е., таблицей 1).
GO TOP && переходим к первой записи таблицы.
DO WHILE NOT EOF () && цикл, пока не достигнут конец таблицы.
? nom, sm, ln && выводим значение полей таблицы 1.
i=nom && присваиваем индексу цикла значение поля nom таблицы 1.
SELECT 2 && переходим к таблице 2.
locate for (nom)=i && поиск соответствующего индексу значения в поле nom таблицы 2.
? nom, dt, nm && вывод найденного значения.
CONTINUE && продолжаем искать.
SELECT 1 && используя таблицу 1.
SKIP 1 && переход вперед на одну запись.
ENDDO && конец цикла.
Рис. 3 Результат виконання програми буде виведений в головне вікно програми
3. З використання циклу SCAN/EndSCAN написати програму, в якій при навігації по таблиці tb1 відповідні дані в таблиці tb2 будуть знаходитися за допомогою команди SEEK або функції SEEK ().
CLEAR && освобождение из памяти всех переменных и очистка главного окна.
CLOSE DATABASES && закрытие базы данных.
OPEN DATABASE ('c:Мои документыЛичноеКТУСУБДLabslab1DATAdecanat') && открытие базы данных.
SELECT 1 && определение рабочей области 1.
USE tb1 ORDER nom && используя таблицу 1 с проиндексированным полем nom.
SELECT 2 && определение рабочей области 2.
USE tb2 ORDER nom && используя таблицу 2 с проиндексированным полем nom.
SELECT 1 && работаем с рабочей областью 1 (т.е., таблицей 1).
GO TOP && переходим к первой записи таблицы.
scan && начинаем перемещаться по таблице 1.
?nom, sm, ln && выводя значения ее полей.
SELECT 2 && переходим к таблице 2.
SEEK (tb1.nom) && поиск в таблице 2 совпадающего значения поля nom.
?nom, dt, nm && и вывод его в главное окно.
ENDSCAN && конец перемещения по таблице Результат виконання цієї програми є аналогічним результату виконання першої програми, тобто значення полів таблиць виводяться в головне вікно програми.
4. Написати програму, в якій за допомогою команди SET RELATION TO встановити зв’язок між таблицями tb1 та tb2 і продемонструвати ефект від її використання.
CLEAR && освобождение из памяти всех переменных и очистка главного окна.
CLOSE DATABASES && закрытие базы данных.
OPEN DATABASE ('c:Мои документыЛичноеКТУСУБДLabslab1DATAdecanat') && открытие базы данных.
USE tb1 IN 1 && задаем, что таблица 1, открытая в рабочей области, является текущей открытой таблицей.
USE tb2 IN 2 && задаем, что таблица 2, открытая в рабочей области, является текущей открытой таблицей.
SELECT tb2 && определяем рабочую область 2.
SET ORDER TO TAG nom && используя управляющий тэг nom.
SELECT tb1 && переходим к таблице 1.
SET RELATION TO nom INTO tb2 && и устанавливаем связь с таблицей 2 по полю nom.
BROWSE NOWAIT && открываем к просмотру таблицу 1 без остановки выполнения программы.
SELECT tb2 && переходим к таблице 2.
BROWSE NOWAIT && открываем к просмотру таблицу 2 без остановки выполнения программы.
Рис. 4 Результат виконання третьої програми
В результаті виконання цієї програми будуть відкриті дві зв’язані по полю Nom таблиці: 11му запису таблиці 1 буде відповідати 11тий запис таблиці 2.
програма конструкція навігація таблиця.
Висновок
При виконанні даної лабораторної роботи ми засвоїли команди і функції навігації таблицями баз даних, а також вивчили конструкцій побудови циклів DO WHILE/EndDO та SCAN/EndSCAN.