En Core Data, las reglas de borrado determinan qué sucede con los objetos relacionados cuando se elimina un objeto de tu modelo. Se aplican en las relaciones entre entidades y controlan la consistencia de los datos.
Hay cuatro tipos de reglas de borrado:
1. Nullify
Cuando se borra un objeto, Core Data no elimina los objetos relacionados. Simplemente pone en nil (o vacío) las referencias de la relación.
Ejemplo: Tengo una relación
Departamento ->> Empleado. Si elimino unDepartamento, losEmpleadoque apuntaban a él ahora quedan condepartamento = nil.
En caso de que la relación inversa sea uno-a-varios, eliminar una instancia no significa que en el otro extremo vamos a tener un nulo dentro de un arreglo sino que CoreData se encarga de mantener consistencia automática en los datos, lo que significa que simplemente va a eliminar la referencia del arreglo.
Ejemplo: Tengo la misma relación
Departamento ->> Empleado. Si elimino unEmpleado, se elimina la referencia hacia este objeto de la coleccióndepartamento.empleados.
2. Cascade
Cuando borramos un objeto, también se eliminan automáticamente todos los objetos relacionados.
Ejemplo:
Departamento ->> Empleado(un departamento tiene muchos empleados). Si eliminamos elDepartamento, se borran también todos susEmpleado.
3. Deny
Impide que se elimine un objeto si todavía tiene relaciones con otros objetos. Sirve para mantener integridad y evitar borrados accidentales.
Ejemplo: Si intento borrar un
Departamentoque aún tieneEmpleado, Core Data no lo permite hasta que yo elimine o mueva esosEmpleado.
4. No Action
No pasa nada automáticamente. Core Data no hace limpieza ni pone en nil las referencias. Esto puede causar errores si se accede a esos punteros.
Ejemplo: Si borro un
Departamento, losEmpleadoseguirán apuntando a un objeto que ya no existe.
Top comments (0)