corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Работа с базой данных 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 версий 6.8, 6.9, 7.0 и 7.1

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

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans 6.8, 6.9, 7.0, 7.1, Java EE
Комплект для разработки на языке Java (JDK) Версия 6
Java DB версии 10.4.x, 10.5.x

Примечание.

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

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

При регистрации сервера GlassFish Enterprise 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. В окне "Службы" щелкните правой кнопкой мыши узел базы данных Java DB и выберите "Свойства", чтобы открыть диалоговое окно "Настройки Java DB".
  2. В текстовое поле "Установка Java DB" введите путь к корневому каталогу Java DB (javadb), указанный в предыдущем шаге.
  3. В качестве местоположения базы данных используйте местоположение по умолчанию, если оно предлагается. Нажмите кнопку "ОК".

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

    Пример диалогового окна "Настройки Java DB"

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

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

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

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

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

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

Итак, сервер базы данных успешно запущен, и в среде IDE создан экземпляр базы данных с именем contact. Проводник базы данных в среде IDE NetBeans, доступный из окна "Службы", предоставляет функциональные возможности для выполнения стандартных задач в структурах базы данных. Например:

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

Для начала работы с базой данных contactнеобходимо создать подключение к ней. Ниже описаны действия, необходимые для подключения к базе данных contact.

  1. Откройте проводник базы данных в окне "Службы" и найдите новую базу данных.

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

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

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

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

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

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

  2. Разверните узел APP и обратите внимание, что он имеет три подкаталога: "Таблицы", "Представления" и "Процедуры". Щелкните правой кнопкой мыши узел "Таблицы" и выберите команду "Создать таблицу".
    Откроется диалоговое окно "Создание таблицы".

  3. Введите FRIENDS в текстовое поле "Имя таблицы".
  4. Нажмите кнопку "Добавить столбец". Появится диалоговое окно "Добавить столбец".
  5. В поле "Имя столбца" введите id. В поле "Тип данных" выберите элемент INTEGER в раскрывающемся списке.
  6. При определенных обстоятельствах может потребоваться установить флажок "Первичный ключ" для указания того, что данный столбец является первичным ключом для таблицы. Все таблицы, созданные в реляционных базах данных, должны содержать первичный ключ. Обратите внимание, что при выборе флажка "Первичный ключ" выполняется автоматическая установка флажков "Индекс" и "Уникальный", а флажок "Значение отсутствует" при этом снимается. Это объясняется тем, что первичные ключи используются для определения уникальной строки базы данных и по умолчанию применяются как индекс таблицы. Поскольку все строки должны быть определены, первичные ключи не могут иметь значение Null.
    Добавление столбцов в таблицу
  7. Теперь повторите эту процедуру, определив поля, как показано на таблице ниже.
  8. Ключ Индекс Значение отсутствует Уникальный Имя таблицы Тип данных Размер
    [установлен] [установлен] [установлен] id INTEGER 0
    [установлен] firstName VARCHAR 20
    [установлен] lastName VARCHAR 20
    [установлен] nickName VARCHAR 30
    [установлен] friendSince DATE 0
    [установлен] email 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. Разверните в проводнике баз данных узел "Таблицы", щелкните правой кнопкой мыши таблицу FRIENDS и выберите пункт "Выполнить команду". В окне редактора SQL отобразится пустой холст.
  2. Введите в окне редактора SQL следующий оператор: При вводе можно использовать функцию автозавершения кода редактора SQL.
    INSERT INTO APP.FRIENDS VALUES (1,'Theodore','Bagwell','T-Bag','2004-12-25','tbag@foxriver.com')
  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. Щелкните правой кнопкой мыши узел таблицы в проводнике базы данных и выберите команду "Удалить".
    Обратите внимание, что узел таблицы немедленно удаляется из проводника базы данных без запроса подтверждения.

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

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

Для демонстрационных целей создайте локальный файл colleagues.sql и вставьте в файл содержимое файла colleagues.sql.

Можно также загрузить файл colleagues.sql в локальную систему, в главном меню выбрать "Файл > Открыть файл" и перейти в папку с файлом, чтобы открыть файл colleagues.sql в редакторе SQL.

Этот сценарий создает новую таблицу COLLEAGUES и заполняет ее данными. Для выполнения этого сценария в базе данных contact необходимы действия, описываемые ниже.

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

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

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

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

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

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

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

    Новый узел таблицы CUSTOMER в окне "Службы"

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

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

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