Изучение возможностей СУБД IBM DB2 по созданию и ведению

advertisement
Лабораторная работа № 4
Изучение возможностей СУБД IBM DB2
по созданию и ведению баз данных
1. Цель работы
Целью работы является изучение возможностей СУБД DB2 по созданию и ведению баз
данных.
2. Задачи
Задачами лабораторной работы являются овладение навыками создания и заполнения
таблиц баз данных, создания производных таблиц, триггеров, хранимых процедур для СУБД
IBM DB2, освоение программных технологий доступа к базам данных DB2 из приложений
Java.
3. Теоретическая часть
DB2 – семейство программных продуктов в области управления информацией компании IBM. Чаще всего, ссылаясь на DB2, имеют в виду реляционную систему управления базами данных DB2 Universal Database (DB2 UDB), разрабатываемую и выпускаемую компанией IBM.
Система DB2 Universal Database – это система управления реляционными базами данных
с полной поддержкой Web, которая обеспечивает организацию информационных хранилищ
данных и обработку транзакций. Она может быть установлена как на карманных и однопроцессорных компьютерах, так и разворачиваться на кластерах компьютеров, способна работать с мультимедийными средствами информации, обеспечивая поддержку изображений,
аудиороликов, видеоклипов и текстовой информации.
Система DB2 оптимизирована для каждой платформы, что приводит к существенному
повышению ее производительности. По своим внутренним свойствами программные продукты DB2, которые работают на платформах универсальных вычислительных машин, отличаются от тех же продуктов, функционирующих на распределенных платформах.
DB2 Express-C. В настоящее время, помимо коммерческих продуктов семейства, IBM
распространяет также бесплатный дистрибутив DB2 Express-C. DB2 Express-C представляет
собой готовый к использованию в производственной среде сервер базы данных, построенный по передовой технологии, которая совершенствовалась с каждой новой версией DB2 для
Linux и Windows. Вариант DB2 для Windows существует с 1995 года, а для Linux – c 1999.
DB2 Express-C представляет собой сервер базы данных с весьма малым необходимым
объемом обслуживания. Он поставляется с полным набором графических инструментов и
инструментов командной строки в помощь администраторам базы данных. Наиболее часто
используемый графический инструмент называется DB2 Control Center (Центр управления),
а наиболее часто используемый инструмент командной строки имеет название DB2
CLP (Command Line Processor DB2, или обработчик командной строки DB2).
Мастера графических инструментов DB2 могут использоваться для быстрого обучения
выполнению распространенных задач администрирования при работе с DB2. Каждым объектом DB2 Control Center можно управлять при помощи нажатия правой клавиши мыши на
объекте в дереве объектов. В программе имеется много мастеров, которые способны помочь
администраторам баз данных в выполнении распространенных задач, таких как создание резервной копии образа базы данных и восстановление предыдущего образа.
1
Представления в DB2. В DB2 представления носят название производных таблиц. Одна
из причин использования производных таблиц состоит в необходимости ограничения доступа к определенным строкам и столбцам базы данных. Доступ к данным можно ограничить
множеством способов, чтобы информация была доступна только тем, кто имеет соответствующие полномочия.
Производные таблицы могут быть созданы как из базовых таблиц, так и из других представлений. Для создания представлений используется конструкция CREATE VIEW, однако
DB2 позволяет частично упростить эту процедуру через Control Center. В последнем случае
остается только правильно сконструировать запрос SELECT на извлечение данных, причем
здесь можно использовать инструментарий мастера SQL Assist.
Триггеры в DB2. Триггер представляет набор действий, выполняющихся при наступлении событий вставки, обновления или удаления данных в таблице. При выполнении такого
SQL-оператора говорят, что триггер активизируется. Триггер может быть активизирован до
или после выполнения SQL-операторов. Триггер создается командой CREATE TRIGGER.
Хранимые процедуры в DB2. Хранимые процедуры на SQL Procedure Language (SQL
PL) рассматриваются как собственные, присущие среде DB2, поскольку они хранятся в базах
данных DB2 для Windows или Linux как объекты. SQL PL развивался как единственный язык
хранимых процедур на основе стандартов ANSI SQL. SQL PL поддерживается всеми представителями семейства серверов базы данных DB2 для Linux, UNIX, Windows, iSeries, и
z/OS.
Хранимые процедуры в DB2 не очень широко применяются, при этом традиционно для
написания хранимых процедур используются обычные языки программирования высокого
уровня (Си, Java, PL/I, Кобол и т. д.), это позволяет программисту легко оформлять один
и тот же код либо как часть приложения, либо как хранимую процедуру, в зависимости от
того, на клиенте или на сервере его целесообразнее выполнять. В настоящее время в DB2
также реализовано процедурное расширение SQL для хранимых процедур в соответствии со
стандартом ANSI SQL/PSM.
Java – объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо
от компьютерной архитектуры. Достоинство подобного способа выполнения программ — в
полной независимости байт-кода от операционной системы и оборудования, что позволяет
выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.
Java – название не только самого языка, но и платформы для создания и исполнения
приложений на основе данного языка. Java не является процедурным языком, поэтому основной единицей Java-приложения является класс, именно внутри класса может существовать любая функция.
Eclipse. Платформа Eclipse создана для построения интегрированных сред разработки
(IDE). Она может использоваться для создания различных сквозных вычислительных решений для множества сред выполнения программ.
Основной идеей проекта Eclipse является создание «Apache для инструментов разработчика». Под этим подразумевается создание инфраструктуры с открытым кодом, предоставляющей множество базовых сервисов, так необходимых разработчикам ПО. Это должен
быть "инструментарий для разработки инструментариев". Являясь не просто набором API,
инфраструктура Eclipse будет состоять из реального кода, созданного для выполнения реальной работы.
Платформа Eclipse представляет собой фундамент для построения и запуска интегрированных инструментов разработки сквозного программного обеспечения. Платформа состоит
2
из компонентов с открытым исходным кодом, используемым поставщиками инструментов
для построения решений, встраиваемых в интегрированную рабочую область. Платформа
Eclipse объединяет в себе технологию, выражающуюся в правильно оформленном дизайне и
среде реализации.
Eclipse – в первую очередь полноценная Java IDE, нацеленная на групповую разработку:
среда интегрирована с системами управления версиями – CVS в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. В силу бесплатности
и высокого качества, Eclipse во многих организациях является корпоративным стандартом
для разработки приложений. Eclipse написана на Java, потому является платформонезависимым продуктом
JDBC – Разработка Java-приложений в DB2 не представляет особых сложностей, поскольку каждый клиент и сервер DB2 имеет драйвер, совместимый с JDBC. В настоящее
время в DB2 входят два различных драйвера JDBC. Оригинальные драйверы (db2java.zip)
иногда называли в соответствии с их архитектурой драйвером приложения (тип 2) и сетевым
драйвером. Более новый и гибкий драйвер JDBC (db2jcc.jar) используется в последних промышленных тестах Java Client/Server. Кроме того, драйвер DB2 для JDBC (db2jcc.jar) встроен
в DB2 Run-time client.
Если приложение разрабатывается с использованием «чистого» Java (pure Java), то файлы db2jcc_license_cu.jar и db2jcc.jar должны быть прописаны в переменную CLASSPATH.
Серверы Java 2 Platform Enterprise Edition (J2EE), такие как сервер приложения IBM
WebSphere Application Server, вместе с серверами данных DB2 предоставляют инфраструктуру ответственного распределенного приложения для обеспечения масштабируемых приложений.
4. Порядок выполнения работы
А. Создание и заполнение базы данных
1. Запустить инструментарий Центр управления DB2:
Пуск | Программы | IBM DB2 | DB2COPY1 (по умолчанию) |
Общие инструменты управления | Центр управления ►
ф. Вид Центра управления ← Расширенный; кн. OK ►
ф. Центр управления – DB2COPY1
2. Создать новую базу данных Edu:
ф. Центр управления – DB2COPY1 | раскр. Центр управления |
пр. кн. мыши на Все базы данных | выбр. Создать базу данных | Стандартную ►
ф. Мастер создания новой базы данных | 1. Имя ► Имя базы данных ← Edu;
снять Разрешить использование XML в базе данных; кн. Готово►
ф. Ход работы – Создание базы данных Edu; дождаться закрытия ►
3. В базе данных с помощью конструктора таблиц создать структуру таблицы Students
(справочник студентов):
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Таблицы | пр. кн. мыши на Таблицы | Создать… ► ф. Мастер по созданию
таблиц | вкл. Имя | Имя таблицы ← Students; Комментарий к таблице ← Справочник
студентов |
– задать поле идентификатора студента (счетчик, первичный ключ):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← stud_ID; Тип
данных ← Integer; гр. Генерация значений | уст. Столбец идентификации: начальное
значение ← 0; Приращение ← 1; кн. OK ►ф. Мастер по созданию столбцов |
3
вкл. 5. Ключи; кн. Добавить первичный ключ►ф. Определить первичный ключ; Имя
первичного ключа ← PK_Students; Доступные столбцы | Выделить STUD_ID; кн. [>];
кн. OK ►ф. Мастер по созданию столбцов
– задать поле номера зачетной книжки (уникальное, 6 цифр):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← no_zk; Тип данных ← Varchar; Характеристики типа данных -- Длина ← 6; гр. Генерация значений |
уст. Нет; снять Допускаются пустые значения; кн. OK ►ф. Мастер по созданию
столбцов
вкл. 5. Ключи; кн. Добавить ключ уникальности ►ф. Добавить ключ уникальности;
Имя ключа уникальности ← Unique_no_zk; Доступные столбцы | Выделить NO_ZK;
кн. [>]; кн. OK ►ф. Мастер по созданию столбцов
– задать поля фамилии, имени, отчества (строковые):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← fam; Тип данных
← Varchar; Характеристики типа данных -- Длина ← 20; гр. Генерация значений | уст.
Нет; снять Допускаются пустые значения; кн. OK ►ф. Мастер по созданию столбцов
аналогично – для имени (Im) и отчества (Ot);
– создать уникальный индекс FIO из полей fam, im, ot:
вкл. 5. Ключи; кн. Добавить ключ уникальности ►ф. Добавить ключ уникальности;
Имя ключа уникальности ← Unique_fio; Доступные столбцы | Выделить FAM, IM,
OT; кн. [>]; кн. OK ►ф. Мастер по созданию столбцов
– задать поле кода специальности (до 7 русских букв):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← spec; Тип данных
← Varchar; Характеристики типа данных -- Длина ← 7; гр. Генерация значений | уст.
Значение по умолчанию ← 1; снять Допускаются пустые значения; кн. OK ►ф. Мастер по созданию столбцов
вкл. 7. Ограничения; кн. Добавить…; ф. Добавить проверочное ограничение; ф. Имя
проверочного ограничения ← Russian_spec; Условие проверки ← SPEC>='А' AND
SPEC<='я';
– задать поле курса (одна цифра от 1 до 6):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← kurs; Тип данных
← Varchar; Характеристики типа данных -- Длина ← 1; гр. Генерация значений | уст.
Нет; снять Допускаются пустые значения; кн. OK ►ф. Мастер по созданию столбцов
вкл. 7. Ограничения; кн. Добавить…; ф. Добавить проверочное ограничение; ф. Имя
проверочного ограничения ← kurs_from_1_to_6; Условие проверки ← KURS>='1'
AND KURS<='6';
– задать поле номера группы (две цифры от 01 до 99):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← gr; Тип данных
← Varchar; Характеристики типа данных -- Длина ← 2; гр. Генерация значений | уст.
Нет; снять Допускаются пустые значения; кн. OK ►ф. Мастер по созданию столбцов
вкл. 7. Ограничения; кн. Добавить…; ф. Добавить проверочное ограничение; ф. Имя
проверочного ограничения ← gr_from_01_to_99; Условие проверки ← GR>='01' AND
GR<='99';
– задать поле даты рождения (необязательная дата):
4
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← data_r; Тип данных ← Date; гр. Генерация значений | уст. Нет; уст. Допускаются пустые значения; кн.
OK ►ф. Мастер по созданию столбцов
– задать поле биографии (мемо, необязательное):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← biogr; Тип данных ← Long Varchar; гр. Генерация значений | уст. Нет; уст. Допускаются пустые значения; кн. OK ►ф. Мастер по созданию столбцов
– задать поле фотографии (объект):
вкл. 2. Столбцы; кн. Добавить; ф. Добавить столбец; Имя столбца ← foto; Тип данных
← GRAPHIC; гр. Генерация значений | уст. Нет; уст. Допускаются пустые значения;
кн. OK ►ф. Мастер по созданию столбцов
– сохранить таблицу:
ф. Мастер по созданию таблиц | кн. OK | Сообщение DB2 -- Команда выполнена
успешно; кн. Закрыть.
4. В базе данных с помощью редактора команд запрограммировать структуру таблицы
Subjects (справочник предметов):
– открыть редактор команд:
Пуск | Программы | IBM DB2 | DB2COPY1 (по умолчанию) |
Инструменты командной строки | Редактор команд ►
ф. Редактор команд 1 – DB2COPY1| вкл. Команды |
Назначение → Добавить ► ф. Задать назначение: Доступные назначения ← Edu; уст.
Использовать неявные параметры регистрации; кн. OK
– ввести программный код создания новой базы данных Subjects:
ф. Команды | CREATE TABLE SUBJECTS (
– ввести программный код создания идентификатора предмета (счетчик):
PREDM_ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START
WITH 0, INCREMENT BY 1, NO CACHE
– ввести программный код создания поля названия предмета (строковый, до 20 букв):
PREDM_NAME VARCHAR (20) NOT NULL ,
– ввести программный код создания поля цикла предмета (строковый, до 15 букв):
CYCL VARCHAR (15) NOT NULL ,
– ввести программный код создания поля объема предмета (числовой):
HRS INTEGER NOT NULL ,
– ввести программный код создания поля кафедры предмета (строковый, до 15 букв):
DEP VARCHAR (20) NOT NULL ,
– ввести программный код создания первичного ключа таблицы (поле prem_ID):
CONSTRAINT PK_SUBJECTS PRIMARY KEY ( PREDM_ID) ,
– ввести программный код создания ограничения таблицы (значение поля hrs лежит в
пределах от 10 до 200):
5
CONSTRAINT HRS_FROM_10_TO_200 CHECK (hrs>9 and hrs<201) );
– запустить команды на выполнение:
Панель инструментов | кн. Запустить ►Сообщение «DB20000I Команда SQL выполнена успешно» на экране.
5. Любым из представленных способов создать структуру таблицы Успеваемость (успеваемость студентов по предметам) – Uspev с полями:
– Student (идентификатор студента (тип такой же, как в таблице Студенты, но не
счетчик));
– Predmet (идентификатор предмета (тип такой же, как в таблице Предметы, но не
счетчик));
– Ocenka (оценка (символ));
– Data (дата (дата)).
– ввести составной первичный ключ (поля идентификаторов студента и предмета):
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Таблицы | выбр. Uspev | пр. кн. мыши Изменить…►
ф. Изменить таблицу – Uspev | вкл. Ключи | кн. Добавить первичный ключ ►
ф. Определить первичный ключ; Имя первичного ключа ← PK_Uspev; Доступные
столбцы | Выделить STUDENT, PREDMET; кн. [>]; кн. OK ►ф. Изменить таблицу –
Uspev
– для полей таблицы придумать ограничения на значения.
7. Связать таблицы, сделав таблицы студентов и предметов родительскими, а таблицу
успеваемости – дочерней; установить правила ссылочной целостности: каскадное для удаления и строгое для изменения:
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Таблицы | выбр. Uspev | пр. кн. мыши Изменить…►
ф. Изменить таблицу – Uspev | вкл. Ключи | кн. Добавить внешний ключ… ►
ф. Добавить внешний ключ; Имя внешнего ключа ← FK_Uspev_Student;
гр. Родительская таблица или псевдоним | Имя ← Students | Доступные столбцы | Выделить STUDENT; кн. [>]; При удалении ← Cascade; При изменении ← Restrict; кн.
OK ►ф. Изменить таблицу – Uspev | кн. OK ►ф. Центр управления – DB2COPY1
аналогичным образом установить связь между таблицами Subjects и Uspev.
8. Наполнить базу данных сведениями о студентах (не менее 5), предметах (не менее 3)
и оценках (не менее 10). Освоить приемы изменения и удаления полей и записей. Проверить
работоспособность ограничений значений полей, уникальности и др., предусмотренные при
задании структуры базы данных. Проверить работоспособность ссылочной целостности,
удаляя, изменяя и вставляя данные.
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Таблицы | выбр. Students | пр. кн. мыши; выбр. Открыть… ►
ф. Открыть таблицу – STUDENTS | кн. Добавить строку |
внести данные | кн. Принятие
6
Б. Производные таблицы, хранимые процедуры, триггеры
1. Создать производную таблицу для вывода кратких сведений о студентах (идентификатор, номер зачетки, фамилия и инициалы, идентификатор группы):
– создать производную таблицу Students_info:
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Производные таблицы | пр. кн. мыши; выбр. Создать… ►
ф. Создать производную таблицу | Имя производной таблицы ← Students_info;
Оператор SQL | Заменить текст
[(столбцы, ...)]
AS [WITH (общее_табличное_выражение, ...)]
SELECT <столбцы>
FROM <таблицы>
WHERE <критерии_поиска>
на код:
AS SELECT STUD_ID, NO_ZK,
CONCAT(CONCAT(CONCAT(FAM,' '),
CONCAT(SUBSTR(IM,1,1),'.')), CONCAT(SUBSTR(OT,1,1),'.')) as FIO,
CONCAT(CONCAT(CONCAT(SPEC,'-'),KURS),GR) as GRUPPA from Students
– проверить работоспособность производной таблицы:
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Производные таблицы | выбр. Students_info |
пр. кн. мыши; выбр. Открыть… ► результат на экране
2. Аналогичным образом создать представление для вывода сведений об успеваемости
студентов из таблицы успеваемости с указанием сведений о студенте из запроса
Students_info и сведений о предмете из таблицы предметов. Результат должен содержать следующие поля: ФИО студента, Группа, Предмет, Дата, Оценка. Назвать представление как
Students_uspev.
3. Создать хранимую процедуру для вывода кратких сведений о студенте (идентификатор, фамилия и инициалы, идентификатор группы) по номеру его зачетной книжки:
– открыть редактор команд (см. пункт выше)
– ввести программный код создания хранимой процедуры GetStudentInfo:
CREATE PROCEDURE GetStudentInfo (IN IN_ZK VARCHAR(6))
RESULT SETS 1
LANGUAGE SQL
BEGIN
DECLARE x CURSOR WITH RETURN FOR
SELECT STUD_ID, NO_ZK,
CONCAT(CONCAT(CONCAT(FAM,' '),CONCAT(SUBSTR(IM,1,1),'.')),
CONCAT(SUBSTR(OT,1,1),'.')) as FIO,
CONCAT(CONCAT(CONCAT(SPEC,'-'),KURS),GR) as GRUPPA
FROM STUDENTS WHERE no_zk=IN_ZK; OPEN x;
END
– запустить команды на выполнение:
Панель инструментов | кн. Запустить ►Сообщение «DB20000I Команда SQL выполнена успешно» на экране.
7
– проверить работоспособность хранимой процедуры:
ф. Редактор команд | [Ctrl + N] ►новая форма Редактора команд; ввести код:
call GetStudentInfo ('Номер зачетной книжки')
4. Создать триггер, проверяющий, что каждый студент может сдавать не более двух
предметов в один день.
– создать новый триггер CheckExams для таблицы успеваемости
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Триггеры | пр. кн. мыши; выбр. Создать… ►
ф. Создать триггер | Имя триггера ← CheckExams; Момент действия триггера ← До;
Операция, вызывающая действие триггера ← Вставка;
вкл. Действие триггера; Внутриоператорное имя для новых строк ← New;
Действие триггера ← заменить текст:
WHEN ( критерий-поиска )
BEGIN ATOMIC
оператор-SQL-триггера ;
END
на программный код:
BEGIN ATOMIC
declare stud INTEGER;
declare dt DATE;
declare count INTEGER;
set stud = NEW.STUDENT;
set dt = NEW.DAT;
set count = (SELECT count(*) FROM Uspev WHERE Student=stud and Dat=dt);
if count > 1 then SIGNAL SQLSTATE '70001' (' Студент может сдавать не более двух
предметов в день ');
end if;
END
– проверить работоспособность триггера:
ф. Центр управления – DB2COPY1 | раскр. Центр управления → Все базы данных →
Edu → Таблицы | выбр. Uspev | пр. кн. мыши; выбр. Открыть… ►
ф. Открыть таблицу – USPEV | кн. Добавить строку |
ввести вторую запись по студенту, сдающему второй предмет в один и тот же день; |
кн. Принятие ►сообщение об ошибке с текстом из триггера.
В. DB2 и Java
1. Запустить среду разработки Eclipse:
Локальный диск D | Eclipse | запустить файл Eclipse.exe ►ф. Java Eclipse - SDK
2. Создать новый проект Java:
ф. Java Eclipse – SDK | File → New → Java Project ►
ф. New Java Project | Project Name ← Lab_Группа
3. Добавить драйверы JDBC для работы с базами данных DB2:
ф. Package Explorer | раскр. Lab_Группа; пр. кн. мыши Build Path → Add External Archives… ► ф. Jar Selection | выбр. все файлы .jar и .zip из директории IBM/IBM DATA
SERVER DRIVER/Java на локальном диске D; кн. OK ► ф. Java Eclipse – SDK.
8
4. Создать новый класс:
ф. Package Explorer | пр. кн. мыши на Lab_Группа; New → Class ►ф. New Java Class;
Name ← DbClass; уст. public static void main (String[] args); кн. Finish ►ф. DbClass Java
5. Подключить библиотеку sql для работы с базами данных:
ф. DbClass Java | курсор на первой строке; вписать строку: «import java.sql.*;»
6. Загрузить драйвер JDBC:
ф. DbClass Java | курсор после строки с текстом
public static void main(String[] args) {
// TODO Auto-generated method stub
вписать программный код:
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
System.out.print("Класс найден");
System.out.println("\n");
}
catch (ClassNotFoundException e) {
System.out.print("Класс не найден");
}
7. Проверить работоспособность класса нажатием на клавишу [F11].
8. Установить соединение с базой данных:
ф. DbClass Java | курсор после строк
System.out.print("Класс найден");
System.out.println("\n");
}
вписать программный код:
String url = "jdbc:db2:Edu";
String user = "";
String password = "";
try{
Connection dbConnection=DriverManager.getConnection(url,user,password);
System.out.print("Соединение установлено");
System.out.println("\n");
}
catch( SQLException x ){
System.out.println("Соединение не установлено");
}
9. Проверить работоспособность класса нажатием на клавишу [F11].
10. Выполнить запрос к представлению Students_info базы данных Edu:
ф. DbClass Java | курсор после строк
System.out.print("Соединение установлено");
System.out.println("\n");
}
вписать программный код:
Statement statement = dbConnection.createStatement();
ResultSet results =
statement.executeQuery("SELECT * FROM STUDENTS_INFO ");
9
11. Проверить работоспособность класса нажатием на клавишу [F11].
12. Показать результаты запроса:
ф. DbClass Java | курсор после строк
ResultSet results =
statement.executeQuery("SELECT * FROM STUDENTS_INFO ");
вписать программный код:
while(results.next()){
System.out.print("\n"+results.getString("STUD_ID"));
System.out.print(" "+results.getString("NO_ZK"));
System.out.print(" "+results.getString("FIO"));
System.out.print(" "+results.getString("GRUPPA"));
}
statement.close();
13. Проверить работоспособность класса нажатием на клавишу [F11].
14. Сохранить проект.
5. Контрольные вопросы
1. К какому классу СУБД относится DB2?
2. Каковы особенности IBM DB2?
3. Как реализуются триггеры в IBM DB2?
4. Что представляют собой хранимые процедуры в IBM DB2?
5. Что такое производная таблица?
6. Содержание и оформление отчета
Отчет должен содержать:
– титульный лист, название и цель работы;
– скриншоты результатов работы с СУБД IBM DB2;
– выводы по работе.
10
Download