I have found out, from multiple sources, that object serialization is primarily for storing objects so that they could be sent across a network, to be remade. It even has to be tested: http://www.ibm.com/developerworks/library/j-serialtest/index.html . As an alternative, I have decided to use relational databases. The only problem is, if I rely on relational databases to store data, must I ask any users of my program to install or configure anything? //Forgive me: I have no prior experience with databases.
Also, I have heard of JavaDB (my Java textbook is calling it a version of Apache Derby). Is it a collection of relational database management systems (RDBMSs)? If the answer is "yes", what RDBMSs are included with JavaDB?
Derby is one of many relational databases available to you. Others are Oracle, SQL Server, MySQL, PostgreSQL, and Hypersonic SQL.
Some are open source (MySQL, PostgreSQL, Hypersonic SQL, SQL Lite); others require a license (Oracle, SQL Server).
Some require installation (MySQL, PostgreSQL, Oracle, SQL Server); others do not (SQL Lite, Derby, Hypersonic SQL).
Java interacts with all databases using JDBC. You get a JAR of classes from the vendor that implement the interfaces in the java.sql
package for that particular database.