Design considerations
In many applications, the database structure is reflected by the application's architecture and vice versa. A table is mapped to a class, and an instance of such a class corresponds to one row of data. When designing such an application, the basics of database design and normalization can also be applied to the class design.
For such applications, an object-relational mapping library can be used to translate between the tabular representation in a database and objects that can be used from within an application.
An example of such a library is Hibernate, which will be introduced in the next chapter.