I have been told that we should use functions to return simple queries to protect direct manipulation of the tables themselves.