Также реализована новая хранимая процедура, которая формирует повестки на день окончания учебы, листинг которой представлен далее:
Листинг 9.
begin
for select person_id, dt_to from delays where reason_id = 1
into :pr_id, :dt
do
begin
insert into summons(dt_create, dt_summon, person_id) values (:dt-7, :dt, :pr_id);
end
end
Результат работы второго запроса:
4.4.Выводы
В результате работы были изучены основные возможности языка PSQL для реализации более сложной обработки данных на стороне сервера с помощью хранимых процедур и триггеров.
Лабораторная 5. Консольное приложение
5.1. Цели работы
Изучение технологий работы с базами данных на примере JDBC. Применение полученных знаний для разработки собственного консольного клиента в соответствии с индивидуальным заданием.
5.2. Программа работы
1) Изучить основы Java DataBase Connectivity.
2) Разместить БД на сервере (tiger.ftk.spbstu.ru:/var/lib/firebird, пользователь: SYSDBA, пароль: masterkey).
3) Установить в среде разработки драйвер JDBC для доступа к БД.
4) Соединиться из среды разработки с созданной ранее в соответствии с индивидуальным заданием БД
5) Разработать полезное и удобное консольное приложение со следующей функциональностью:
- Реализовать функции модификации БД в соответствии с индивидуальным заданием
- Обеспечить поддержку целостности БД при выполнении операций (контроль корректности ссылок при изменении и добавлении записей, проверка входных значений, каскадное удаление зависимых записей)
- Обеспечить контроль ошибок во входных данных и различных ситуациях в БД
5.3. Выполнение работы
Индивидуальное задание.
- Вывести медицинское досье для указанного человека
- Экспорт досье в XML-файл.
Текст программы представлен в листинге 9:
Листинг 9:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package voen;
/**
*
* @author Drugmon
*/
import java.sql.Connection;
import java.sql.SQLException;
import org.firebirdsql.pool.FBWrappingDataSource;
/**
* Установка соединения с БД.
*/
public class ConnectionBase {
private static FBWrappingDataSource dataSource;
/**
* Получить соединение с базой данных.
*
* При первом обращении создается объект соединения.
* При последующих обращениях он повторно используется.
*
* @return соединение
*/
synchronized public static Connection getConnection() throws SQLException {
if (null == dataSource) {
// Создаем источник данных
dataSource = new org.firebirdsql.pool.FBWrappingDataSource();
// Устанавливаем путь к БД
dataSource.setDatabase("//localhost/E:/Base/VOEN.FDB");
//dataSource.setDatabase("//tiger.ftk.spbstu.ru//var/lib/firebird/4081_1/");
// Устанавливаем тип соединения:
// <li><code>"PURE_JAVA"</code> or <code>"TYPE4"</code>
// for pure Java (type 4) JDBC connections;
dataSource.setType("PURE_JAVA");
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.