Database programming begins with the database. To build effective database applications, you need to fully appreciate the work the database does for those applications. This first section addresses the best practices in data architecture--the design of relational database elements that support database applications.