Working With The Java DB (Derby) Database
Working With The Java DB (Derby) Database
This document demonstrates how to set up a connection to Java DB database in NetBeans IDE. Once a
connection is made, you can begin working with the database in the IDE, allowing you to create tables,
populate them with data, run SQL statements and queries, and more.
The Java DB database is Sun's supported distribution of Apache Derby. Java DB is a fully transactional,
secure, standards-based database server, written entirely in Java, and fully supports SQL, JDBC API,
and Java EE technology. The Java DB database is packaged with the GlassFish application server, and
is included in JDK 6 as well. For more information on Java DB database, consult the official
documentation.
Contents
Page 1 of 13
already be registered for you. Therefore, you can skip ahead to Starting the Server and Creating a
Database.
If you downloaded the GlassFish server separately and need help registering it in NetBeans IDE, see
Registering a GlassFish Application Server Instance in the IDE's Help Contents (F1).
If you just downloaded Java DB on its own, perform the following steps.
1. Run the self-extracting file. A folder named 'javadb' will be created in the same location as the
file. If you just downloaded Java DB and want to have the database server reside in a different
location than where it was extracted to, you should relocate it now.
2. On your system, create a new directory to be used as a home directory for the individual
instances of the database server. For example, you can create this folder in the Java DB root
directory (javadb) or in any other location.
Before continuing further, it is important to understand the components found in Java DB's root
directory:
• The demo subdirectory contains the demonstration programs.
• The bin subdirectory contains the scripts for executing utilities and setting up the environment.
• The javadoc subdirectory contains the API documentation that was generated from source
code comments.
• The docs subdirectory contains the Java DB documentation.
• The lib subdirectory contains the Java DB jar files.
Page 2 of 13
Note. If the Database Location field is empty you will need to set the path to the directory that
contains your databases. You will need to create a directory for the databases if no directory
exists.
2. Right-click the Java DB node and choose Create Database to open the Create Java DB Database
dialog.
3. Type contact for the Database Name.
4. Type nbuser for the User Name and Password. Click OK.
Page 3 of 13
Note that Database Location is the default location set during installation of Java DB from
GlassFish. If you installed Java DB separately, this location might be different.
Page 4 of 13
Note that sample [app on APP] is the default database schema.
2. Right-click the database connection node (jdbc:derby://localhost:1527/contact
[nbuser on NBUSER]) and choose Connect.
The connection node icon now appears whole ( ), signifying that the connection was
successful.
3. Create a convenient display name for the database by right-clicking the database connection
node (jdbc:derby://localhost:1527/contact [nbuser on NBUSER]) and
choosing Rename. Type Contact DB in the text field and click OK.
Creating Tables
The contact database that you just created is currently empty. It does not yet contain any tables or
data. In NetBeans IDE you can add a database table by either using the Create Table dialog, or by
inputting an SQL statement and running it directly from the SQL Editor. You can explore both methods:
• Using the Create Table Dialog
• Using the SQL Editor
Page 5 of 13
4. Click Add Column. The Add Column dialog box appears.
5. For Column Name, enter id. For Data Type, select INTEGER from the drop-down list.
6. Under Constraints, select the Primary Key checkbox to specify that this column is the primary
key for your table. All tables found in relational databases must contain a primary key. Note that
when you select the Primary Key check box, the Index and Unique check boxes are also
automatically selected and the Null check box is deselected. This is because primary keys are
used to identify a unique row in the database, and by default are used as the table index.
Because all rows must be identified, primary keys cannot contain a Null value.
7. Repeat this procedure now by specifying fields as shown in the table below:
Key Index Null Unique Column name Data type Size
[checked] [checked] [checked] id INTEGER 0
[checked] firstName VARCHAR 20
[checked] lastName VARCHAR 20
[checked] nickName VARCHAR 30
[checked] friendSince DATE 0
[checked] email VARCHAR 60
8. You are creating a table named FRIENDS that holds the following data for each contact record:
• First Name
• Last Name
• Nick Name
• Friend Since Date
• Email Address
Page 6 of 13
9. When you are sure that your Create Table dialog contains the same specifications as those
shown above, click OK. The IDE generates the FRIENDS table in the database, and you can see
a new FRIENDS table node ( ) display under Tables in the Database Explorer. Beneath the
table node the columns (fields) are listed, starting with the primary key ( ).
Page 7 of 13
Using the SQL Editor:
1. In the Database Explorer, either right-click the Contact DB connection node or the Tables
node beneath it and choose Execute Command. A blank canvas opens in the SQL Editor in the
main window.
2. Enter the following query in the SQL Editor. This is a table definition for the COLLEAGUES
table you are about to create:
CREATE TABLE "COLLEAGUES" (
"ID" INTEGER not null primary key,
"FIRSTNAME" VARCHAR(30),
"LASTNAME" VARCHAR(30),
"TITLE" VARCHAR(10),
"DEPARTMENT" VARCHAR(20),
"EMAIL" VARCHAR(60)
);
Note: Statements and queries formed in the SQL Editor are parsed in Structured Query
Language. SQL adheres to strict syntax rules which you should be familiar with when working
in the IDE's editor. SQL syntax can also differ depending on the database management system.
See the JavaDB Reference Manual for specific guidelines.
3. Click the Run SQL ( ) button in the task bar at the top of the editor (Ctrl-Shift-E) to execute
the query. In the Output window (Ctrl-4), a message displays indicating that the statement was
successfully executed.
4. To verify changes, right-click the Contact DB connection node in the Database Explorer and
choose Refresh. This updates the Runtime UI component to the current status of the specified
database. This step is necessary when running queries from the SQL Editor in NetBeans IDE.
Note that the new COLLEAGUES table node ( ) now displays under Tables in the Services
window.
Page 8 of 13
• Use an external SQL script to import records to the table.
Read the sections below to learn how to use all these methods of populating the FRIENDS table with
data.
3. Right-click inside the SQL Editor and choose Run Statement. The Output window displays a
message indicating that the statement was successfully executed.
4. To verify that the new record has been added to the FRIENDS table, right-click the FRIENDS
table node in the Services window and choose View Data.
When you choose View Data, a query to select all the data from the table is automatically
generated in the upper pane of the SQL Editor. The results of the statement are displayed in the
lower pane of the SQL Editor. In this case, the FRIENDS table displays in the lower pane. Note
that a new row has been added with the data you just supplied from the SQL statement.
Page 9 of 13
In the SQL Editor, you can sort the results by clicking on a row header, modify and delete
existing records, and see the SQL script for the actions you are doing in the editor (the Show
SQL Script command from the pop-up menu).
Deleting Tables
In the following step, you use an external SQL script to create a new COLLEAGUES table. However,
you just created a COLLEAGUES table in the Using the SQL Editor section above. In order to make it
clear that the SQL script indeed creates a new table, you can delete the already created COLLEAGUES
table now. To delete a database table:
1. Right-click the table node in the Database Explorer and choose Delete.
Note that the table node is immediately removed from the Database Explorer without
confirmation.
Page 10 of 13
1. Choose File > Open File from the IDE's main menu. In the file browser navigate to the location
of the saved colleagues.sql file and click Open. The script automatically opens in the
SQL Editor.
2. Make sure your connection to Contact DB is selected from the Connection drop-down box
in the tool bar at the top of the editor.
3. Click the Run SQL ( ) button in the SQL Editor's task bar. The script is executed against the
selected database, and any feedback is generated in the Output window.
4. To verify changes, right-click the Contact DB connection node in the Services window and
choose Refresh. Note that the new COLLEAGUES table from the SQL script now displays as a
table node under contact in the Services window.
5. To view the data contained in the new tables, right-click the COLLEAGUES table and choose
View Data. In this manner, you can also compare the tabular data with the data contained in the
SQL script to see that they match.
Page 11 of 13
3. In the Grab Table dialog that opens, specify a location on your computer to save the grab file
that will be created. Click Save. The grab file records the table definition of the selected table.
4. In the Databases Explorer, right-click the Tables node beneath the Contact DB database
connection and choose Recreate Table.
5. In the Recreate Table dialog that opens, navigate to the location where you saved the
CUSTOMER grab file, then click Open. The Name the Table dialog opens.
Page 12 of 13
6. At this point you can change the table name or edit the table definition. Otherwise, click OK to
immediately create the table in the contact database. A new CUSTOMER table node displays
beneath the Contact DB connection node.
Conclusion
This concludes the Working with the Java DB (Derby) Database tutorial. This tutorial demonstrated
how to set up a connection to the Java DB database in NetBeans IDE. It then demonstrated how to
create, view, modify and delete tables using the Database Explorer from the IDE's Services window. It
also showed how work with the SQL Editor to add data to tables, and use the IDE's functionality
allowing you to recreate tables using definitions from other databases.
Page 13 of 13