0% found this document useful (1 vote)
223 views

Apache Derby Tutorial PDF

Uploaded by

Mahmoud Naser
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
223 views

Apache Derby Tutorial PDF

Uploaded by

Mahmoud Naser
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Apache Derby

i
Apache Derby

About the Tutorial


Apache Derby is a Relational Database Management System which is fully based on
(written/implemented in) Java programming language. It is an open source database
developed by Apache Software Foundation.

Audience
This tutorial is prepared for beginners to help them understand the basic concepts related
to Apache Derby. This tutorial will give you enough understanding on the various SQL
queries of Apache along with JDBC examples.

Prerequisites
Before you start practicing with various types of examples given in this tutorial, I am
assuming that you are already aware about what a database is, especially the RDBMS and
what is a computer programming language.

Copyright & Disclaimer


 Copyright 2019 by Tutorials Point (I) Pvt. Ltd.

All the content and graphics published in this e-book are the property of Tutorials Point (I)
Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish
any contents or a part of contents of this e-book in any manner without written consent
of the publisher.

We strive to update the contents of our website and tutorials as timely and as precisely as
possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt.
Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our
website or its contents including this tutorial. If you discover any errors on our website or
in this tutorial, please notify us at contact@tutorialspoint.com

i
Apache Derby

Table of Contents
About the Tutorial ...................................................................................................................................... i

Audience .................................................................................................................................................... i

Prerequisites .............................................................................................................................................. i

Copyright & Disclaimer ............................................................................................................................... i

Table of Contents ...................................................................................................................................... ii

1. Apache Derby – Introduction .................................................................................................................... 1

Features of Apache Derby.......................................................................................................................... 1

Limitations of Apache Derby ...................................................................................................................... 1

Data storage .............................................................................................................................................. 1

Apache Derby Library/Components ........................................................................................................... 2

2. Apache Derby – Deployment Modes ......................................................................................................... 3

Embedded mode ....................................................................................................................................... 3

Server mode .............................................................................................................................................. 3

3. Apache Derby – Environment Setup.......................................................................................................... 4

Downloading Apache Derby ....................................................................................................................... 4

Installing Derby in Embedded Mode .......................................................................................................... 6

Installing Derby in Network Server Mode ................................................................................................... 6

Apache Derby Eclipse Environment ............................................................................................................ 8

4. Apache Derby – Tools ............................................................................................................................. 10

sysinfo tool .............................................................................................................................................. 10

ij tool ....................................................................................................................................................... 12

dblook tool .............................................................................................................................................. 15

5. Apache Derby – Syntax ........................................................................................................................... 16

6. Apache Derby – Data Types .................................................................................................................... 19

7. Apache Derby – Create Table .................................................................................................................. 21

Create aTable using JDBC Program........................................................................................................... 22

ii
Apache Derby

8. Apache Derby – Drop Table..................................................................................................................... 24

Drop Table using JDBC program ............................................................................................................... 24

9. Derby – Insert Data ................................................................................................................................. 27

Insert Data using JDBC program ............................................................................................................... 28

10. Apache Derby – Retrieve Data ................................................................................................................ 31

Retrieve Data using JDBC program ........................................................................................................... 32

11. Apache Derby – Update Data .................................................................................................................. 36

Update Data using JDBC program ............................................................................................................ 37

12. Apache Derby – Delete Data ................................................................................................................... 40

Delete Data using JDBC program .............................................................................................................. 41

13. Apache Derby – Where Clause ................................................................................................................ 44

Where clause JDBC example .................................................................................................................... 45

14. Apache Derby – GROUP BY Clause .......................................................................................................... 49

Group By clause JDBC example ................................................................................................................ 50

15. Apache Derby – Order By Clause............................................................................................................. 53

Sorting Data using JDBC program ............................................................................................................. 54

16. Apache Derby – Having Clause ................................................................................................................ 58

Sorting Data using JDBC program ............................................................................................................. 59

17. Apache Derby – Alter Table Statement ................................................................................................... 62

Adding a column to a Table...................................................................................................................... 62

Adding a constraint to a table .................................................................................................................. 63

Dropping a constraint from a table .......................................................................................................... 64

Dropping a column from a table .............................................................................................................. 65

Altering table using JDBC program ........................................................................................................... 65

18. Apache – Derby Indexes ......................................................................................................................... 70

Creating an Index..................................................................................................................................... 70

Creating a UNIQUE index ......................................................................................................................... 70

iii
Apache Derby

Creating a COMPOSITE index ................................................................................................................... 71

Displaying the Indexes ............................................................................................................................. 72

Dropping Indexes..................................................................................................................................... 72

Handling Indexes using JDBC program...................................................................................................... 73

19. Apache Derby – Procedures ................................................................................................................... 76

Creating a procedure ............................................................................................................................... 76

Dropping a procedure.............................................................................................................................. 78

20. Apache Derby – Schemas ....................................................................................................................... 79

Creating a Schema ................................................................................................................................... 79

Dropping a Schema.................................................................................................................................. 80

JDBC Example .......................................................................................................................................... 80

21. Apache Derby – Triggers ......................................................................................................................... 82

Creating a trigger ..................................................................................................................................... 82

Deleting a trigger ..................................................................................................................................... 84

JDBC example .......................................................................................................................................... 84

iv
1. Apache Derby – Introduction Apache Derby

Apache Derby is a Relational Database Management System which is fully based on


(written/implemented in) Java programming language. It is an open source database
developed by Apache Software Foundation.

Oracle released the equivalent of Apache Derby with the name JavaDB.

Features of Apache Derby


Following are the notable features of Derby database:

 Platform independent: Derby uses on-disc database format where the databases
in it are stored in a file in the disc within the directory with the same name as the
database.

 No modifying data: Because of this, you can move derby databases to other
machines without modifying the data.

 Transactional support: Derby provides complete support for transactions


ensuring data integrity.

 Including databases: You can include pre-build/existing databases into your


current derby applications.

 Less space: Derby database has a small footprint, i.e., it occupies less space and
it is easy to use and deploy it.

 Embed with Java Application: Derby provides an embedded database engine


which can be embedded in to Java applications and it will be run in the same JVM
as the application. Simply loading the driver starts the database and it stops with
the applications.

Limitations of Apache Derby


Following are the limitations of Apache Derby:

 Derby does not support indexes for datatypes such as BLOB and LONGVARCHAR.

 If Derby does not have enough disc space, it will shut down immediately.

Data storage
While storing data, Apache Derby follows a concept known as conglomerate. In this, data
of a table will be stored in a separate file. In the same way, each index of a table is also
stored in a separate file. Thus, there will be a separate file for every table or index in the
database.

1
Apache Derby

Apache Derby Library/Components


Apache Derby distribution provides various components. In the lib folder of the apache
distribution you have downloaded, you can observe jar files representing various
components.

Jar file Component Description

derby.jar Database Engine The Database engine of Apache Derby is


and JDBC driver an embedded relational database engine
which supports JDBC and SQL API’s.

This also acts as embedded Driver, using


which you can communicate to Derby
using Java applications.

derbynet.jar Network server The Network Sever of Apache Derby


provides the client server functionality,
derbyrun.jar where the clients can connect to the Derby
server through a network.

derbyclient.jar Network client


JDBC driver

derbytools.jar Command line This jar file holds tools such as sysinfo,
tools ij, and dblook.

derbyoptionaltools.jar Optional command This jar file provides optional tools:


line utilities (tools) databaseMetaData optional tool,
foreignViews optional tool, luceneSupport
optional tool, rawDBReader optional tool,
simpleJson optional tool, etc.

derbyLocale_XX.jar Jar files to localize In addition to the above mentioned jar


messages files, you can see several
derbyLocale_XX.jar (es, fr, hu, it, ja,
etc.). Using these, you can localize the
messages of Apache Derby.

2
2. Apache Derby – Deployment Modes Apache Derby

You can deploy apache derby in two modes, namely embedded mode and server mode.

Embedded mode
You can run derby in embedded mode using Java application (using embedded driver). If
you deploy Derby in embedded mode, the database engine will run in the same JVM as
the Java application. It starts and stops with the application. You can access the database
only with this application.

Server mode
In the server mode, derby will be run in the JVM of an application server where you can
send a request to the server to access it. Unlike in embedded mode, multiple applications
(java) can send a request to the server and access the database.

3
3. Apache Derby – Environment Setup Apache Derby

Following chapter explains how to download and install Apache Derby.

Downloading Apache Derby


Visit the home page of Apache Derby home page https://db.apache.org/derby/. Click the
Download tab.

Select and click on the link of the latest version of Apache Derby.

4
Apache Derby

On clicking the selected link, you will be redirected to the Distributions page of apache
derby. If you observe here, derby provides distributions namely, db-derby-bin, db-derby-
lib.zip, db-derby-lib-debug.zip, and db-derby-src.zip.

Download the db-derby-bin folder. Copy its contents to a separate folder where you
wanted to install Apache Derby. (for example, say C:\Derby)

Now, to work with Derby,

 Make sure that you already have set the JAVA_HOME variable by passing the
location of bin folder of Java Installation folder, and include the JAVA_HOME/bin
in the PATH variable.

 Create a new environment variable, DERBY_HOME with value C:\Derby.

 The bin folder of db-derby-bin distributions (we changed it as C:\Derby\bin)


contains all the required jar files.

As discussed, Apache Derby can be installed/deployed in two ways as follows:

 Embedded mode: In this, you need to access the database using Embedded Derby
JDBC driver. You can start and stop derby through Java application. Both Database
engine and your application will run on the same JVM.

 Network Server mode: In this mode, you can access Derby in a typical client-
server fashion, where Derby is embedded in the server system. Then, the client
machines running in different JVM’s (that of the Server) will send requests to the
server, and the server responds to those requests.

5
Apache Derby

The client can be another JVM in the same system machine of the server or a Java
application from a remote system.

Installing Derby in Embedded Mode


To install Apache Derby in embedded mode, include the jar file derby.jar in your
CLASSPATH.

Or, you can set the classpath for required jar files by running the setEmbeddedCP
command. Browse through the bin directory of Apache Derby and run this file as shown
below:

C:\Users\MYUSER>cd %DERBY_HOME%/bin
C:\Derby\bin>setEmbeddedCP.bat
C:\Derby\bin>SET DERBY_HOME=C:\Derby
C:\Derby\bin>set
CLASSPATH=C:\Derby\lib\derby.jar;C:\Derby\lib\derbytools.jar;C:\Derby/lib/derby
optionaltools.jar;C:\Users\Tutorialspoint\Google
Drive\Office\Derby\derby_zip\New folder\db-derby-10.12.1.1-
bin\lib;C:\EXAMPLES_\Task\jars\*;C:\EXAMPLES\jars\mysql-connector-java-5.1.40-
bin.jar;C:\Users\Tutorialspoint\Google Drive\Office\37.Junit
Update\jars;C:\Program Files\Apache Software Foundation\Tomcat
8.5\lib\*;C:\Derby\lib\*;

After setting up Apache Derby, to access it, run Java programs using the embedded driver.

Verification
You can verify the setup using the ij tool as shown below:

C:\Derby\bin>ij
ij version 10.14
ij> connect 'jdbc:derby:SampleDB;create=true';
ij>

Installing Derby in Network Server Mode


To install Apache Derby in network server mode, you need to include derbynet.jar and
derbytools.jar files to the CLASSPATH.

Or, you can set the class path for required jar files by running the setNetworkServerCP
command. Browse through the bin directory of Apache Derby and run this file as shown
below:

C:\Users\MYUSER>cd %DERBY_HOME%/bin
C:\Derby\bin>setNetworkServerCP.bat
C:\Derby\bin>SET DERBY_INSTALL=C:\Derby

6
Apache Derby

C:\Derby\bin>set
CLASSPATH=C:\Derby\lib\derbynet.jar;C:\Derby\lib\derbytools.jar;C:\Derby/lib/de
rbyoptionaltools.jar;C:\Users\Tutorialspoint\Google
Drive\Office\Derby\derby_zip\New folder\db-derby-10.12.1.1-
bin\lib;C:\EXAMPLES_\Task\jars\*;C:\EXAMPLES\jars\mysql-connector-java-5.1.40-
bin.jar;C:\Users\Tutorialspoint\Google Drive\Office\37.Junit
Update\jars;C:\Program Files\Apache Software Foundation\Tomcat
8.5\lib\*;C:\Derby\lib\*;

Starting Derby in Server Mode


You can start Network Server by running the command startNetworkServer. Browse
through the bin directory of Apache Derby and run this command as shown below:

C:\Derby\bin>startNetworkServer
Fri Jan 04 11:20:30 IST 2019 : Security manager installed using the Basic
server security policy.
Fri Jan 04 11:20:30 IST 2019 : Apache Derby Network Server - 10.14.2.0 -
(1828579) started and ready to accept connections on port 1527

Or, you can start the server using derbyrun.jar as shown below:

C:\Users\MYUSER>cd %DERBY_HOME%/lib
C:\Derby\lib>java -jar derbyrun.jar server start
Fri Jan 04 11:27:20 IST 2019: Security manager installed using the Basic server
security policy.
Fri Jan 04 11:27:21 IST 2019: Apache Derby Network Server - 10.14.2.0 -
(1828579) started and ready to accept connections on port 1527

Network Client
In client, add the jar files derbyclient.jar and derbytools.jar to the CLASSPATH. Or,
run the setNetworkClientCP command as shown below:

C:\Users\MYUSER>cd %DERBY_HOME%/bin
C:\Derby\bin>setNetworkClientCP
C:\Derby\bin>SET DERBY_HOME=C:\Derby
C:\Derby\bin>set
CLASSPATH=C:\Derby\lib\derbyclient.jar;C:\Derby\lib\derbytools.jar;C:\Derby/lib
/derbyoptionaltools.jar;C:\Derby\lib\derby.jar;C:\Derby\lib\derbytools.jar;C:\D
erby/lib/derbyoptionaltools.jar;C:\Users\Tutorialspoint\Google
Drive\Office\Derby\derby_zip\New folder\db-derby-10.12.1.1-
bin\lib;C:\EXAMPLES_\Task\jars\*;C:\EXAMPLES\jars\mysql-connector-java-5.1.40-
bin.jar;C:\Users\Tutorialspoint\Google Drive\Office\37.Junit
Update\jars;C:\Program Files\Apache Software Foundation\Tomcat
8.5\lib\*;C:\Derby\lib\*;

7
Apache Derby

Then from this client, you can send requests to the server.

Verification
You can verify the setup using the ij tool as shown below:

C:\Derby\bin>ij
ij version 10.14
ij> connect 'jdbc:derby://localhost:1527/SampleDB;create=true';
ij>

Apache Derby Eclipse Environment


While working with Eclipse, you need to set the build path for all the required jar files.

Step 1: Create a project and set build path


Open eclipse and create a sample project. Right click on the project and select the option
Build Path -> Configure Build Path as shown below:

8
Apache Derby

In the Java Build Path frame in the Libraries tab, click on Add External JARs.

And select the required jar files in the lib folder of the Derby installation folder and click
on Apply and Close.

9
Apache Derby

End of ebook preview

If you liked what you saw…

Buy it from our store @ https://store.tutorialspoint.com

10

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy