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

        // Создание фабрики объектов вывода в XML

final XMLOutputFactory factory = XMLOutputFactory.newInstance();

        // Создание объекта, позволяющего записывать информацию в XML

final XMLStreamWriter writer =

                factory.createXMLStreamWriter(new FileWriter(fileName));

        writer.writeStartDocument();

        writer.writeStartElement("notes");

        for (Notelist sr: results) {

            writer.writeStartElement("note");

            writer.writeAttribute("name", sr.getName());

            writer.writeAttribute("birthday", sr.getBirth());

            writer.writeAttribute("note", sr.getNote());

            writer.writeAttribute("data", sr.getDtNote());

            writer.writeEndElement();

        }

        writer.writeEndElement();

        writer.writeEndDocument();

        writer.flush();

        writer.close();

    }

}

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */

package voen;

/**

 *

 * @author Drugmon

 */

public class Notelist {

    private final String Name;

    private final String Dt_birth;

    private final String Note;

    private final String Dt_note;

    public Notelist(final String Name,final String Dt_birth,  final String Note, final String Dt_note ) {

        this.Name = Name;

        this.Dt_birth = Dt_birth;

       this.Note = Note;

        this.Dt_note = Dt_note;

    }

    public String getName() {

        return Name;

    }

    public String getBirth() {

        return Dt_birth;

    }

        public String getNote() {

        return Note;

    }

    public String getDtNote() {

        return Dt_note;

    }

}

Результаты программы:

При аргументе “-list_note note.xml” из файла note.xml:



Выводы

В данной работе были изучены основные возможности языка SQL, а именно возможности построения и изменения структуры таблиц базы данных и установки ограничений целостности (DDL), добавления и изменения существующих записей в таблицах, выборки записей, удовлетворяющих предопределенным условиям, организации агрегатных данных на основе имеющихся записей (DML).

Были рассмотрены расширенные средства манипулирования базами данных. К таким механизмам можно отнести понятие видов, позволяющих получать промежуточные «виртуальные» таблицы. Данный механизм удобен при селективном доступе со стороны множества пользователей, которые задействуют различные технологии коммуникации для доступа (например, это может быть штатная утилита isql или специализированная среда IBExpert, или пользовательская программа, использующая драйвер). Введение промежуточного звена позволяет скрыть структуру существующих таблиц от пользователей, а также дробить сложные таблицы на несколько унифицированных видов. Второй важный расширенный механизм языка SQL – это возможность построения собственных модулей PSQL. К таким модулям можно отнести понятия хранимых процедур и триггеров. Хранимые процедуры позволяют разрабатывать функции, имеющие входные и выходные параметы и выполняющие преобразования, направленные на извлечение, изменение или удаление сущностей из БД. Полученные процедуры компилируются и хранятся вместе с БД. Триггеры, в отличие от хранимых процедур не имеют входных параметров, и выполняются при наступлении определенных условий. Различают тригерры, выполняющиется при добавлении, изменении и удалении.

Все эксперименты выполнялись в базе данных Firebird. Данная БД поддерирживает основные стандарты SQL, и является динамично развивающися продуктом. Наиболее простые опыты, связанняе с написанием скриптов создания и изменения БД выполнялись в утилите isql. Более сложные задачи, такие как генерирование записей для таблицы или построения диаграммы, выполнялись в специализированной программе IBExpert.

Последний этап заключался в создании консольного приложения на языке Java, которое выполняет взаимодействие с БД с помощью подключаемого драйвера и реализует основные функции по импорту записей из БД и отображение сгруппированных результатов.