Search code examples
javasqlrelational-databasejavadb

Database usage in a Java program


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?


Solution

  • 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.