Работа с базой данных Java DB (Derby)

Вь этом документе описывается настройка соединения с базой данных Java DB в IDE NetBeans. По завершении установки подключения можно начинать работу с базой данных в среде IDE, позволяющей создавать таблицы, заполнять их данными, выполнять операторы и запросы SQL и т.д.

База данных Java DB является поддерживаемым корпорацией Sun дистрибутивом Apache Derby. Java DB - полностью транзакционный безопасный сервер базы данных на основе стандартов, написанный целиком на языке Java, полностью поддерживающий технологии SQL, интерфейс API JDBC и Java EE. База данных Java DB поставляется с сервером приложений GlassFish , а также включена в пакет JDK 6. Дополнительные сведения о базе данных Java DB приведены в официальной документации.

Содержание

Содержимое на этой странице применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0

Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.

Программное обеспечение или материал Требуемая версия
IDE NetBeans 7.2, 7.3, 7.4, 8.0, Java EE
Комплект для разработчика на языке Java (JDK) Версия 7 или 8
Java DB версии 10.4.x, 10.5.x

Примечание.

  • Java DB был установлен при установке JDK 7 или JDK 8 (за исключением Mac OS X). При использовании Mac OS X можно загрузить и установить базу данных Java вручную или использовать базу данных Java, установленную с помощью версии Java EE средства установки IDE NetBeans.

Настройка базы данных

При регистрации сервера GlassFish Server в установленной среде IDE NetBeans база данных Java DB также будет зарегистрирована. Для получения дополнительных сведений обратитесь к разделу Запуск сервера и создание базы данных.

Если сервер GlassFish загружен отдельно, и требуется помощь в регистрации его в среде IDE NetBeans, ознакомьтесь со справкой по среде IDE (F1), раздел Регистрация экземпляра сервера GlassFish.

Если вы только что самостоятельно загрузили Java DB, выполните следующие действия.

  1. Выполните самораспаковывающийся файл. В месте хранения файла будет создана папка javadb. Если требуется, чтобы сервер базы данных находился не в той папке, в которую он был извлечен, его необходимо переместить сразу по завершении загрузки Java DB.
  2. Создайте в системе новый каталог для использования в качестве домашнего каталога для отдельных экземпляров сервера базы данных. Например, можно создать эту папку в корневом каталоге базы данных Java DB (javadb) или в другой папке.

Перед продолжением работы необходимо изучить компоненты, расположенные в корневом каталоге Java DB.

  • Подкаталог demo содержит демонстрационные версии программ.
  • Подкаталог bin содержит сценарии для выполнения служебных программ и настройки среды.
  • Подкаталог javadoc содержит документацию по интерфейсу API, созданную из комментариев исходного кода.
  • Подкаталог docs содержит документацию по Java DB.
  • Подкаталог lib содержит архивы JAR базы данных Java DB.

Регистрация базы данных в IDE NetBeans

Теперь, после настройки базы данных, выполните следующие шаги для регистрации Java DB в среде IDE.

  1. В окне 'Службы' щелкните правой кнопкой мыши узел базы данных DB Database и выберите 'Свойства', чтобы открыть диалоговое окно 'Настройки  DB Java'.
  2. В текстовое поле "Установка Java DB" введите путь к корневому каталогу Java DB (javadb), указанный в предыдущем шаге.
  3. В качестве местоположения базы данных используйте местоположение по умолчанию, если оно предлагается. Нажмите кнопку "OK".

    Например, на компьютере под управлением Windows местоположение по умолчанию может иметь следующий вид: C:\Documents and Settings\username\.netbeans-derby.

    Диалоговое окно 'Настройки базы данных Java'

    Примечание. Если поле 'Расположение базы данных' пустое необходимо указать путь к каталогу, который содержит базы данных. Если каталога нет, для баз данных потребуется создать каталог.

Запуск сервера и создание базы данных

Параметры меню базы данных Java DB отображаются при щелчке правой кнопкой мыши узла Java DB в окне 'Службы'. Появившиеся пункты контекстного меню позволяют запускать сервер базы данных и останавливать его работу, создавать новые экземпляры базы данных, а также регистрировать серверы базы данных в среде IDE (как описано в предыдущем действии). Запуск сервера базы данных.

  1. В окне 'Службы' щелкните правой кнопкой мыши узел Java DB и выберите 'Запустить сервер'. Обратите внимание на следующую информацию, выведенную в окне "Вывод" и сообщающую о запуске сервера:
    Окно 'Результаты' отображается после запуска сервера баз данных
  2. Правой кнопкой мыши щелкните узел Java DB и выберите "Создать базу данных", чтобы открыть диалоговое окно "Создание базы данных DB".
  3. В качестве имени базы данных введите contact.
  4. В качестве имени пользователя и пароля введите nbuser. Нажмите кнопку "ОК".
    Диалоговое окно создания базы данных Java DB

    Примечание. Поле "Расположение базы данных" указан путь по умолчанию, определенный во время установки Java DB из GlassFish. Если база данных Java DB установлена отдельно, это местоположение может быть другим.

После создания базы данных при развертывании узла 'Базы данных' в окне 'Службы', можно увидеть, что среда IDE создала соединение с базой данных и что база данных была добавлена в список под узлом Java DB.

Подключение к базе данных

Итак, сервер базы данных успешно запущен, и в среде IDE создан экземпляр базы данных с именем contact. В окне 'Службы' в IDE вы можете выполнять следующие общие задачи в структурах баз данных.

  • создание, удаление, изменение таблиц;
  • заполнение таблиц данными;
  • просмотр табличных данных;
  • выполнение операторов SQL и запросов.

Для начала работы с базой данных contactнеобходимо создать подключение к ней. Для соединения с базой данных контактов выполните следующие шаги.

  1. Разверните узел 'Базы данных' в окне 'Службы' и найти новую базу данных и узлы подключения к базе данных.

    Узел подключения к базе данных ( значок узла подключения) отображается ниже узла 'Базы данных'. Имя базы данных отображается ниже узла Java DB.

    база данных контактов в окне 'Службы'

    Примечание. Также отобразится соединение с базой данных образец [app on APP], которое является схемой базы данных по умолчанию.

  2. Щелкните правой кнопкой мыши узел подключения к базе данных контактов (jdbc:derby://localhost:1527/contact [nbuser on NBUSER]) и выберите команду "Подключить".

    Отобразится весь значок узла подключения ( значок узла подключения), что означает, что соединение установлено успешно.
  3. Задайте удобное отображаемое имя для базы данных, щелкнув правой кнопкой мыши узел подключения к базе данных (jdbc:derby://localhost:1527/contact [nbuser on NBUSER]) и выберите 'Переименовать'. В текстовом поле введите Contact DB и нажмите кнопку "ОК".

Создание таблиц

Созданная база данных contact в настоящее время пуста. Она еще не наполнена таблицами или данными. В IDE NetBeans можно добавить таблицу баз данных либо с помощью диалогового окна 'Создать таблицу' или путем ввода оператора SQL и запуска его напрямую из редактора SQL. Можно использовать оба метода:

Использование диалогового окна "Создание таблицы"

  1. Разверните узел подключения Contact DB и обратите внимание, что он имеет несколько подузлов. В этом учебном курсе рассматривается схема "app". Щелкните правой кнопкой мыши узел "APP" и выберите "Установить как схему по умолчанию".

  2. Разверните узел APP и обратите внимание, что он имеет три подкаталога: "Таблицы", "Представления" и "Процедуры". Правой кнопкой мыши щелкните узел 'Таблицы' и выберите 'Создать таблицу', чтобы открыть диалоговое окно 'Создание таблицы'.
  3. Введите FRIENDS в текстовое поле "Имя таблицы".
  4. Нажмите кнопку "Добавить столбец". Появится диалоговое окно "Добавить столбец".
  5. В поле "Имя столбца" введите id. В поле "Тип данных" выберите элемент INTEGER в раскрывающемся списке.
  6. При определенных обстоятельствах может потребоваться установить флажок "Первичный ключ" для указания того, что данный столбец является первичным ключом для таблицы. Все таблицы, созданные в реляционных базах данных, должны содержать первичный ключ. Обратите внимание, что при выборе флажка "Первичный ключ" выполняется автоматическая установка флажков "Индекс" и "Уникальный", а флажок "Значение отсутствует" при этом снимается. Это объясняется тем, что первичные ключи используются для определения уникальной строки базы данных и по умолчанию применяются как индекс таблицы. Поскольку все строки должны быть определены, первичные ключи не могут иметь значение Null.
    Добавление столбцов к таблице
  7. Теперь повторите эту процедуру, определив поля, как показано на таблице ниже.
  8. Ключ Индекс Значение отсутствует Уникальный Имя таблицы Тип данных Размер
    [установлен] [установлен] [установлен] идентификатор INTEGER 0
    [установлен] firstName VARCHAR 20
    [установлен] lastName VARCHAR 20
    [установлен] nickName VARCHAR 30
    [установлен] friendSince DATE 0
    [установлен] эл. почта VARCHAR 60

    В создаваемой таблице FRIENDS для каждой записи контакта содержатся следующие данные:

    • имя;
    • фамилия;
    • псевдоним;
    • дата включения в список контактов;
    • адрес электронной почты.
    Диалоговое окно 'Создать таблицу' с выбранными полями для таблицы контактов
  9. Если диалоговое окно "Создание таблицы" содержит значения, идентичные вышеописанным, нажмите кнопку "ОК". В IDE создается таблица FRIENDS в базе данных и отображается новый узел таблицы FRIENDS (Значок узла подключения к базе данных) ниже узла 'Таблицы'. Под узлом таблицы перечислены столбцы (поля), начиная с первичного ключа (значок узла первичного ключа).

    Таблица FRIENDS отображается в окне 'Службы'

Использование редактора SQL

  1. В окне 'Службы' либо щелкните правой кнопкой мыши узел подключения Contact DB или узел 'Таблицы' под ним и выберите пункт 'Выполнить команду'. В главном окне редактора SQL отобразится пустой холст.
  2. Введите в редактор SQL запрос, как описывается ниже. Определение создаваемой таблицы COLLEAGUES:
    CREATE TABLE "COLLEAGUES" (
        "ID" INTEGER not null primary key,
        "FIRSTNAME" VARCHAR(30),
        "LASTNAME" VARCHAR(30),
        "TITLE" VARCHAR(10),
        "DEPARTMENT" VARCHAR(20),
        "EMAIL" VARCHAR(60)
    );

    Примечание Операторы и запросы, сформированные в редакторе SQL, анализируются в соответствии с нормами языка структурированных запросов (Structured Query Language, SQL). Для SQL характерны строгие синтаксические правила, применяемые также при работе с редактором среды IDE. Синтаксис SQL также может быть различаться в зависимости от системы управления базами данных. Дополнительные сведения приведены в Справочном пособии по JavaDB.

  3. Нажмите кнопку 'Выполнить SQL' (Кнопка 'Выполните SQL') на панели задач в верхней части редактора (Ctrl-Shift-E) для выполнения запроса. В окне "Вывод" (CTRL+4) будет выведено сообщение об успешном выполнении оператора.
    Окно 'Результаты', указывающее на успешное выполнение
  4. Для проверки изменений щелкните правой кнопкой мыши узел подключения Contact DB в окне 'Службы' и выберите 'Обновить'. В результате этого действия будет произведено обновление компонента пользовательского интерфейса среды выполнения до текущего состояния указанной базы данных. Этот шаг необходим при запуске запросов из редактора SQL в IDE NetBeans. Обратите внимание, что новый зузел таблицы COLLEAGUES (Значок узла подключения к базе данных) теперь отображается ниже 'Таблицы' в окне 'Службы'.

Добавление данных в таблицу

После того, когда в базе данных contact уже создана одна или несколько таблиц, можно начинать заполнять их данными. Существует несколько способов добавления записей в таблицу:

Для получения сведений об использовании всех описанных методов заполнения таблицы FRIENDS данными обратитесь к указанным ниже разделам.

Выполнение оператора SQL

  1. Разверните 'Таблицы' под узлом Contact DB в окне 'Службы', щелкните правой кнопкой мыши таблицу FRIENDS и выберите 'Выполнить команду', чтобы открыть окно редактора SQL.
  2. Введите в окне редактора SQL следующий оператор:
    INSERT INTO APP.FRIENDS VALUES (1,'Theodore','Bagwell','T-Bag','2004-12-25','tbag@foxriver.com')

    При вводе можно использовать функцию автозавершения кода редактора SQL.

  3. Щелкните правой кнопкой мыши в пространстве внутри редактора SQL и выберите команду "Выполнить оператор". В окне "Вывод" появится сообщение об успешном выполнении оператора.
  4. Чтобы убедиться, что новая запись была добавлена к таблице FRIENDS щелкните правой кнопкой мыши узел таблицы FRIENDS в окне 'Службы' и выберите 'Просмотреть данные'.

    При выборе команды "Просмотреть данные" на верхней панели редактора SQL автоматически создается запрос на выбор всех данных таблицы. На нижней панели редактора SQL выводятся выходные данные оператора. В этом случае таблица FRIENDS будет отображена на нижней панели. Обратите внимание, что новая строка была добавлена с данными, предоставленными в операторе SQL.

    новая запись добавлена к таблице FRIENDS

Использование редактора SQL

  1. Щелкните правой кнопкой мыши узел таблицы FRIENDS и выберите "Просмотреть данные" (если просмотр не был выполнен в последнем действии предыдущего раздела).
  2. Нажмите кнопку "Вставить записи" (ALT+I) для добавления строки.
    Появится диалоговое окно "Вставить записи".
  3. Щелкните каждую ячейку и введите записи. Обратите внимание, что для ячеек с типом данных срока можно выбрать дату из календаря. Нажмите кнопку "ОК" после выполнения действия.
    новые записи добавлены к таблице FRIENDS
    В редакторе SQL можно отсортировать результаты, щелкнув заголовок строки, изменить и удалить существующие записи, а также просмотреть сценарий SQL для действий, выполняемых в редакторе (команда "Показать сценарий SQL" во всплывающем меню).

Удаление таблиц

В следующем действии потребуется использование внешнего сценария SQL для создания новой таблицы COLLEAGUES. При этом в предыдущем действии раздела Использование редактора SQL уже была создана таблица COLLEAGUES. Чтобы убедиться в возможности создавать новые таблицы при помощи сценария SQL, можно удалить существующую таблицу COLLEAGUES. Для удаления таблицы баз данных выполните следующие действия:

  1. Разверните узел 'Таблицы' под узлом соединения с базой данных в окне 'Службы'.
  2. Щелкните правой кнопкой мыши таблицу, которую необходимо удалить, и выберите команду "Удалить".

Использование внешнего сценария SQL

Ввод команд из внешнего сценария SQL является распространенным способом управления базой данных. Возможно, сценарий SQL уже создан в другом местоположении и требуется выполнить его импорт в IDE NetBeans для запуска в указанной базе данных.

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

  1. Загрузите colleagues.sql в локальную систему.
  2. В главном меню среды IDE выберите "Файл" > "Открыть". В браузере файлов перейдите к месту хранения файла colleagues.sql и нажмите "Открыть". Сценарий автоматически откроется в редакторе SQL.

    В качестве альтернативы вы можете скопировать содержимое colleagues.sql, а затем открыть редактор SQL и вставить содержимое файла в редактор SQL.

  3. Убедитесь, что подключение к базе данных Contact DB в раскрывающемся списке "Подключение" на панели инструментов в верхней части редактора выбрано.
    Раскрывающийся список 'Подключение' на панели инструментов редактора SQL
  4. Нажмите кнопку 'Выполнить SQL' (Кнопка 'Выполните SQL') на панели инструментов редактора SQL. Сценарий будет выполнен для выбранной базы данных, возвращаемые данные будут выведены в окне "Вывод".
  5. Для проверки изменений щелкните правой кнопкой мыши узел подключения Contact DB в окне 'Службы' и выберите 'Обновить'. Обратите внимание, что новая таблица COLLEAGUES сценария SQL теперь отображена в виде узла таблицы contact в окне "Службы".
  6. Для просмотра данных. содержащихся в новой таблице, щелкните правой кнопкой мыши таблицу COLLEAGUES и выберите 'Просмотреть данные'. Таким образом можно сравнить данные в таблицах с данными сценария SQL, чтобы убедиться в их соответствии.

Восстановление таблиц из различных баз данных

При наличии таблицы из другой базы данных, которую необходимо повторно создать в базе данных, с которой пользователь работает из IDE NetBeans, среда IDE обеспечивает для этой задачи удобный инструмент. Для начала потребуется наличие второй базы данных, зарегистрированной в среде IDE, как описывается в начале учебного курса. Для работы в рамках данного учебного курса используйте пример базы данных, входящий в пакет Java DB. Этот процесс выполняется в два этапа: сначала необходимо "захватить" определение выбранной таблицы, а потом восстановить таблицу в выбранной базе данных.

  1. Подключитесь к базе данных sample щелкнув правой кнопкой мыши узел подключения под узлом 'Базы данных' в окне 'Службы' и выберите 'Подключение' (имя пользователя и пароль: app).
  2. Разверните узел 'Таблицы' под подключением к базе данных sample, щелкните правой кнопкой мыши узел таблицы CUSTOMER и выберите 'Копировать структуру'.

    Элемент меню 'Копировать структуру', отображаемый в окне 'Службы'
  3. В открывшемся диалоговом окне "Сохранение таблицы" укажите путь для сохранения создаваемого файла захвата на компьютере. Нажмите кнопку "Сохранить".

    Определение выбранной таблицы будет записано в файл захвата.

  4. Разверните узел схемы APP в подключении к базе данных Contact DB, щелкните правой кнопкой мыши узел 'Таблицы' и выберите 'Повторно создайте таблицу', чтобы открыть открыть диалоговое окно 'Повторно создайте таблицу'.
  5. В открывшемся диалоговом окне "Восстановление таблицы" перейдите по пути хранения файла захвата CUSTOMER, скопируйте файл и нажмите кнопку "Открыть", чтобы открыть диалоговое окно 'Именование таблицы'.

    Задайте имя для диалогового окна 'Таблицы', одержащего определение таблицы для CUSTOMER
  6. В выведенном окне можно изменить имя таблицы или отредактировать ее определение. Для немедленного создания таблицы в базе данных contact нажмите кнопку "ОК". Узел таблицы CUSTOMER отобразится под узлом подключения к базе данных Contact DB.

    новый узел таблицы CUSTOMER отображается в окне 'Службы'

Если просмотреть данные в новой таблице CUSTOMER, то будет видно, что в базе данных отсутствуют записи, но структура таблицы совпадает с скопированной таблицей.


Дополнительные сведения

Это заключительный раздел учебного курса по работе с базой данных Java DB (Derby). В этом учебном курсе описывается настройка соединения с базой данных DB Java в IDE NetBeans. Также были описаны способы создания, просмотра, изменения и удаления таблиц в окне "Службы" среды IDE. Кроме того, были представлены методы работы с редактором SQL для добавления данных в таблицы и использование возможностей среды IDE для восстановления таблиц при помощи определений из других баз данных.

Более подробные учебные курсы представлены на следующих ресурсах:

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2015, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo