SmallSQL is a 100% pure Java DBMS, a relational database for Java desktop applications. It has a JDBC 3.0 interface and offering many ANSI SQL 92 and ANSI SQL 99 features. It is very small and fast Java library. It does not have a network interface.
Even if this SGBD does not respect exactly the ANSI SQL, I'm choosing it to be a main material tool in the Database Administration module I'm giving in the Jijel University. The source code is very easy to analyze and to understand. The physical storage techniques are very easy to explain and well shown in the code (Page, Data types, etc.) I like it.