Relaciones

La información relacionada se guarda en objetos de negocio distintos de la base de datos. Tiene que definir las relaciones entre los distintos objetos de negocio y a continuación, y la aplicación las utiliza para buscar la información relacionada.

Por ejemplo, suponga que quiere llamar a un usuario preguntando sobre un problema que ha registrado. Los números de teléfono del usuario se guardan en el objeto de negocio USUARIO, y los problemas en el objeto de negocio PROBLEMA. Cuando encuentre el problema que le interesa, el sistema busca el número de teléfono mediante la relación entre ambos objetos de negocio. El número de teléfono no se almacena cada vez que un usuario registra un problema: sólo lo hace una vez, en el objeto de negocio relacionado.

Relaciones de objeto y de colección

Existen dos tipos de relaciones:

Relación de objeto: en una relación entre los objetos A y B, en el objeto B se crea una relación con A, pero no se crea una relación con B en A

Es útil para seleccionar un solo valor de A en el objeto B. Por ejemplo, para seleccionar el usuario de una solicitud.

Relación de colección: permite crear muchos objetos relacionados en el objeto principal, así como ver el objeto principal desde cualquiera de los objetos relacionados. En el objeto B se crea una relación con A y en A se crea una relación de colección con B.

Es útil para crear muchas instancias del objeto relacionado desde el objeto de negocio principal. Por ejemplo, para agregar notas a una solicitud.

Evite crear colecciones ilimitadas ya que disminuyen el rendimiento del sistema. Las colecciones ilimitadas son las que tienden a seguir creciendo con el tamaño de la base de datos. Por ejemplo, Notas-Incidencia es una colección limitada porque la incidencia se cierra tras un periodo de tiempo y deja de ser posible añadir notas. Sin embargo una colección Usuario-Incidencias es ilimitada dado que el número de objetos de la colección crece al hacerlo el número de incidencias registradas para cada usuario. Para acceder a las incidencias registradas para cada usuario, es mejor escribir una consulta.