Hola Fernando. Entiendo lo que dices, pero el fallo aquí se produce porque al eliminar o modificar registros en un fichero padre, se quedan registros huérfanos en los hijos.
En este caso, una comprobación adicional sería totalmente redundante, y no
aportaría más información ni datos a mostrar.
Contestando a tu primera pregunta, por supuesto que lo hay, al menos en
parte.
Cuando al escribir o modificar un registro se intenta violar una regla de
integridad referencial de Clave Externa o Comprobación de Campo, se puede
recuperar el nombre asignado a la regla que se intenta violar, con lo que
el mensaje al usuario puede ser totalmente explícito.
Si el error detectado es de Clave Duplicada, no conocemos ninguna forma de
recuperar si el error se debe a una Clave Primaria, una Clave Única, o un
Índice con unicidad.
Saludos,
---------------------------
Santiago Martí
Dusen, S.A.
---------------------------
Fernando Pérez
<[EMAIL PROTECTED]
m> Para
Enviado por: "forum.help400"
forum.help400-bou <[email protected]>
[EMAIL PROTECTED] cc
os.es
Asunto
Re: Integridad Referencial
21/02/2008 19:41
Por favor,
responda a
"forum.help400"
<[EMAIL PROTECTED]
stas.combios.es>
Lo de las validaciones redundantes, al menos en nuestro caso, se hacen para
poder avisar al usuario del error en los datos que ha informado ¿Es que hay
alguna manera de identificar el error de integridad referencial al hacer el
write/update?.
Por otro lado, al menos también en nuestro caso, en el 99,9% de las
ocasiones no solo se requiere que el registro en la tabla referida exista,
sino que, por ejemplo, esté en situación distinta de baja, o sea de la
zona del cliente, o ..., con lo que el chain lo tenemos que hacer
igualmente, y controlar si existe el registro (no podemos seguir con las
comprobaciones si no existe). Veo muy pocos casos en los que no se haga la
comprobación redundante que comentas, solo que no es porque no nos fiemos
de la integridad referencial, sino porque hemos de recuperar información de
la tabla referida.
Saludos.
Fernando Pérez
Cerámica Saloni. Dpto. Auditoría y Organización
Santiago G Martí escribió:
En octubre del año pasado, os comente que habíamos detectado un
problema de
integridad referencial, que permitía eliminar registros de un fichero
de
los que colgaban registros en otros ficheros, dejando la base de
datos
destrozada.
Nosotros lo detectamos en V5R4, pero Alex lo reprodujo en V5R3.
Como prometí teneros informados, os cuento:
El 31/10/2007 abrimos un incidente en el CAS, con todo lujo de
detalles.
Finalmente, el laboratorio ha identificado el problema, y promete una
PTF
para el mes que viene.
El APAR correspondiente, MA36171, lo podéis ver en:
http://www-1.ibm.com/support/docview.wss?uid=nas2bb1e12237d5519ed862573ef00423cbe
Afecta a todas las versiones, desde V4R1M0 a V5R4M5 y no es tan
sofisticado
como pensábamos, sólo es necesario tener dos ficheros hijos
dependiendo del
mismo padre, pero de claves diferentes, ya sean la Primary Key y una
Unique
Key o 2 Unique Key diferentes.
Esto me hace preguntarme:
¿Somos los únicos en el mundo que utilizamos la Integridad
Referencial?
Si se supone que las reglas de base de datos debemos especificarlas
en la
propia base de datos, ¿el resto del mundo hace comprobaciones
redundantes
en los programas de aplicación porque desconfían de la base de datos?
Saludos,
---------------------------
Santiago Martí
Dusen, S.A.
---------------------------
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos
reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
(See attached file: fperez.vcf)
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos
reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
fperez.vcf
Description: Binary data
__________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja visita la siguente URL: http://listas.combios.es/mailman/listinfo/forum.help400

