I am trying to include an (Sql) database in a program of mine.

I was thinking to use Apache Derby (because it is free and can be embedded) and now have the following (very basic Questions)

It is all for a single user database. that (for the moment) the program makes, fills, works with and at the end removes. Maybe later i want the program to save the database and be able to start with the previous saved database, but it will always only be used by the program)

I use Java 6SE/ Netbeans 6.9.1

my first list of beginners questions are: (and i hope they are not to dumb)

1) I read that derby can create a new database, but how can i tell him how to call it and where (in which folder) to save it. (and what is the extension i should give it)

2) How do i tell derby the different tables to make?

3) i have 2 tables that have the same stucture, can i copy the structure from one table to another (given that both tables are empty at that point)

4) is an unique key just handy or is it prescribed?

5) Indexes: Do tables need indexes and so they have to be unique?
( in a table there are numbers p and q and the combination p,q is unique but not the numbers p and q individual)

Are there better alternatives to Apache Derby? (but i want it to be embedded)