Derby system

A Derby database exists within a system.

A Derby system is a single instance of the Derby database engine and the environment in which it runs. It consists of a system directory, zero or more databases, and a system-wide configuration. The system directory contains any persistent system-wide configuration parameters, or properties, specific to that system in a properties file called derby.properties. This file is not automatically created; you must create it yourself.

The Derby system is not persistent; you must specify the location of the system directory at every startup.

However, the system - as well as its directory, which you name - is an essential part of a running database or databases. Understanding the Derby system is essential to successful development and deployment of Derby applications.

Figure 1. Derby databases live in a system, which includes system-wide properties, an error log, and one or more databases.
Derby databases live in
a system, which includes system-wide properties, an error log, and one or
more databases.

The system directory can also contain an error log file called derby.log (see The error log).

Each database within that system is contained in a subdirectory, which has the same name as the database (see A Derby database).

You can use a property (see "derby.service" in Tuning Derby) to include databases in other directories or in subdirectories of the system directory in the current system when you start it up.

In addition, if you connect to a database outside the current system, it automatically becomes part of the current system.

Related concepts
Derby JDBC driver
Derby JDBC database connection URL
A Derby database
Connecting to databases
Working with the database connection URL attributes