  Writing urlLink SteveDb , I am at the point where I am working with user tables. I have some system tables too though, which I'll call systables and syscolumns (they don't really have names in the normal sense). I am past that now, but I thought I'd mention how those tables work. The system tables store the structure of the user tables. As such, their own structure has no place to go. The solution is simple -- the structure of the system tables is hardcoded inside of factory classes, one for each system table.
These classes just create and return a TableStructure object that represents the structures of the system tables. Simple, no? For now, my system tables are very simple. Writing and reading them uses more primitive data access routines than for the user-tables. I may refactor that in the near future, so that they leverage the full power and efficiency of the higher level interfaces. (Right now those interfaces are pretty weak, but that will change). 
