# Introduction and prerequisites

Welcome to Derby! To help you get up and running with Derby as quickly as possible, this self-study guide highlights some of the more important features of Derby through a series of activities designed to demonstrate the use of Derby in embedded and client-server configurations. After performing these activities, you will find Derby to be an easy to use and fully functional RDBMS. This section provides a brief description of Derby, followed by information on the skills and software required to perform the activities presented in this document, and ends with a brief description of what is presented by each of the Working With Derby activities.

Derby is a full featured, open source relational database engine. It is written and implemented completely in Java, and provides users with a small footprint standards-based database engine that can be tightly embedded into any Java based solution. Derby ensures data integrity and provides sophisticated transaction support. In its default configuration there is no separate database server to be installed or maintained by the end user. For more information on Derby visit the Derby website at: http://db.apache.org/derby.

Performing the Working With Derby activities requires no prior knowledge of Java, JDBC or SQL. Each Activity Sequence section provides the complete command syntax needed to execute each operation on a Windows machine or in a UNIX/Linux Korn shell. This document demonstrates, but does not teach, the Java, JDBC and SQL presented, so readers wishing a deeper understanding of these topics will need additional reference materials.

Performing the Working With Derby activities does require that Java and Derby software be installed on the computer, and the ability to enter computer operating system commands. Specifically:

- A Java development kit version 1.3 or higher
- The binary (`bin`) installation of Apache Derby version 10.2
- A basic knowledge of the computer command line interface
  - how to start a command shell or window
  - how to navigate the filesystem hierarchy

If unsure about the Java or Derby environments installed, perform the following steps before attempting the subsequent activities:

1. Verify that the JAVA_HOME environment variable is set and points to a Java development kit version 1.3 or higher. Open a command window and run the command `java -version` using the appropriate syntax for your system:
   On Windows platforms:

         "%JAVA_HOME%\bin\java" -version

   On UNIX Korn Shell platforms:

         "$JAVA_HOME/bin/java" -version

   The output from the command will look something like this:

       java version "1.4.2_04"
       Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
       Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)

   The output you see may be different from what is shown here, because the `java -version` command outputs vendor-specific information. If the command produced an error or the version listed is not 1.3 or higher, please install a Java development kit before continuing.
2. Verify that the DERBY_HOME environment variable is set and points to the filesystem path to the root directory of the Derby 10.2 installation: Open a command window and run the appropriate command for your system:
   On Windows platforms:

         echo %DERBY_HOME%

   On UNIX Korn Shell platforms:

         echo $DERBY_HOME

   The output from the command will look something like this:

       Windows: C:\derby
       Unix/Linux: /opt/derby

   If Derby is not installed or cannot be found, please install a copy now. For instructions, see Getting Started with Java DB.

Anyone having problems with any aspect of these activities can gain assistance via e-mail by writing to derby-user@db.apache.org. The questions and feedback received will be used to make this document even more useful.

- Activity overview
  What you can expect to learn in each activity.

Previous topic: Relationship between Java DB and Derby
Next topic: Activity 1: Run SQL using the Embedded driver