Supresión de datos asociados

Cuando las entidades forman relaciones padre-hijo, si se suprime la entidad padre, también se suprimen todas las entidades hijo. Cuando se suprime una entidad que participa en una relación, de forma predeterminada se suprimen las relaciones de dicha entidad, pero las entidades relacionadas no.

Por ejemplo, suponga que los detalles de todas las personas de una unidad familiar se han recopilado y que se han creado entidades de persona y las relaciones entre las personas de la unidad familiar también se han capturado y las entidades de relación se han creado. Si el usuario elige eliminar una persona, las relaciones en las que participa dicha persona también se eliminarán, pero no se eliminará ninguna de las demás personas de la unidad familiar.

Este comportamiento predeterminado también se aplica al ejemplo de ingresos y empleo. Si el usuario elige eliminar un ingreso, cualquier relación de empleo para los ingresos se eliminará pero no se eliminará ninguna de las entidades de Empleo.

Es posible cambiar el comportamiento predeterminado al suprimir entidades asociadas de modo que también se eliminarán las entidades relacionadas con la entidad.

Para cambiar el comportamiento predeterminado, se puede añadir una anotación que contenga un elemento de documentación a la definición de una entidad de relación en el esquema de DS. Un elemento de documentación que contenga el texto "@curam.ieg.cascading.delete=true" indica que las entidades relacionadas deben suprimirse cuando se suprima la relación.

Figura 1. Esquema de supresiones en cascada
<xsd:element name="EmploymentRelationship">
  <xsd:annotation>
    <xsd:documentation>@curam.ieg.cascading.delete=true
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:attribute name="employmentID" type="d:SVR_KEY" />
  </xsd:complexType>
</xsd:element>

En el ejemplo de ingresos y empleo, si curam.ieg.cascading.delete se establece en true para el EmploymentRelationship, cuando se elimine entidad de ingresos también se eliminará cualquier entidad de Empleo asociada. La eliminación de las entidades de empleo utilizando este método no hace que se eliminen otras entidades de ingresos.