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