How can I make a derby data base for only two types of users, (user1 and user2). 

User1 has the power only to modify the data base structure (create delete tables) and nothing else. This user must no has access in data of the data base. No one else except user1 must not see any information of the structure of the database and any derby.properties file. 

User2 he has the power to work only with the data into data base (read, write, delete data rows inside the tables), but he has no any access in structure of the data base. 

Each user must he has the own key entry.

These two keys must store with cryptography in side of derby database. 

The database will be distributed with those properties and each holder will always user2. 

Along with the database, extra will be given and a ready set of sql queries, ready to run. So user2 can write java programs linked to this database and perform the given sql queries. 

The user2 should be able to change its own key.