Базы данных SQL-DDL и SQL-DML. Изучение транзакций. Программирование на языке SQL. Консольное приложение (Цикл лабораторных работ). Вариант № 1, страница 20

Также реализована новая хранимая процедура, которая формирует повестки на день окончания учебы, листинг которой представлен далее:

Листинг 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");