One row here, at most one there. The foreign key lives on the other table.
One row here, many there. The foreign key lives on the other table.
The inverse of HasOne/HasMany: the foreign key lives on this table.
Many on both sides, through a join table.
The kinds of association between two models.