Database tables with repr, eq and tests confirming that it all works.