Collections and Relationships
In a relational data model, relations are usually normalized . A relation is in first normal form if the cells of a table contain only a single atomic value, which is nondecomposable as far as the database is concerned. Initially, relational databases supported only simple types, such as integers, strings, and dates. Over time, they have added support for column types that can represent a set of data. But most relational database schema designs represent a collection of values with a set of rows.
You can represent a collection using a foreign key or a join table. We will examine each of these techniques in
the following subsections. We’ll consider the
Role classes in the
com.mediamania.content package and examine
alternate ways of representing the relationship between these two
classes in Java and a relational schema. For this discussion, we will
ignore the inheritance relationship between
MediaContent. We’ll focus on the one-to-many
relationship that exists between
This mapping discussion is important when you are mapping between an existing relational schema and Java classes. If you’re letting the JDO implementation generate a relational schema for you, or letting it generate your Java classes automatically from a relational schema, you do not need to be as concerned with the following discussion. However, as your object model and relational schema evolve, understanding the following material will become more important. ...