A Simple and Efficient Implementation for Small Databases by Andrew D. Birreil Michael B. Jones Edward P. Wobber*
Based on that paper, you can write a small database engine. I suggest you to add a CLI tool, a SQL parser and executor .. for example!
You could take a look at the SQLite code source to get ideas how this is implemented. By doing that, you get a better understanding how databases work.
If you did, please comment 🙂