This entry is part 2 of 5 in the Building a Database Abstraction Layer Series