You define the system directory when Derby starts up by specifying a Java system property called derby.system.home.
If you do not specify the system directory when starting up Derby, the current directory becomes the system directory.
Derby uses the derby.system.home property to determine which directory is its system directory - and thus what databases are in its system, where to create new databases, and what configuration parameters to use. See Tuning Derby for more information on setting this property.
If you specify a system directory at startup that does not exist, Derby creates this new directory - and thus a new system with no databases-automatically.