FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Integridad Referencial tablas paradox
Veamos tengo les siguientes tablas:Negrita la clave principal
tabla maestro CLIENTE (DNI,Apellidos,nombre,...) tabla detalle por DNI REVISION(DNI,Fecha_ReV,reto de campos) Deseo mantener la integridad para que no se pueda borrar un CLIENTE que mantenga datos en REVISION, o que el borrado lo efectue en cascada. No puedo realizar la relacion de integridad puesto que las claves primarias de ambas tablas son diferentes. Se puede hacer?. Saludos colegas |
#2
|
||||
|
||||
Nunca he utilizado paradox, pero por concepto general, he de decirte que la llave primaria no tiene por que ser igual en las tablas. Lo importante es que la relación coincida con la llave primaria de la tabla "padre", sin importar si es parte o no de una llave en la tabla hija.
Algunos motores que te permiten otras claves únicas (además de la clave primaria) también te permitirán definir integridad referencial hacia estas claves. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Si creas integridad referencial con DatabaseDesktop éste mismo te obligará a relacionar las 2 tablas por un campo común que tendría que ser necesariamente el D.N.I.
Si no quieres crear otro índice (te lo crearía el DatabaseDesktop al establecer la integridad referencial), puedes implementar la integridad por código bastará con buscar en la tabla detalle si existen algún registro emparentado con el se desea borrar de la maestra, si existe alguno, o bien no dejamos borrarlo hasta aquí la integridad referencial, o pedimos confirmación y eliminamos todos los del detalle el maestro, esto último sería eliminación en cascada. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
|
|