Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-05-2006
seara2005 seara2005 is offline
Miembro
 
Registrado: ago 2003
Ubicación: Colombia
Posts: 63
Poder: 21
seara2005 Va por buen camino
Question Integridad Referencial

hola a todos,

Necesito que alguien me explique si existe alguna variante de que Interbase me chequee el mantenimiento de la integridad referencial.
Me explico mejor: Tengo creada una Base de datos maestro detalles, la cuestión es que yo tengo que controlar si un usuario va a eliminar o modificar el campo llave del maestro de forma tal que no deje ningún detalle colgado (sin maestro).

¿Es posible que el propio SGBD me controle esto?

Yo estoy utilizando Delphi 7 e Interbase 6.5

Gracias
__________________
Saludos

Seara2005
Responder Con Cita
  #2  
Antiguo 13-05-2006
Avatar de waltergomez
waltergomez waltergomez is offline
Miembro
 
Registrado: may 2006
Posts: 202
Poder: 18
waltergomez Va por buen camino
Lee sobre la clausula cascade.

Salu2.
Responder Con Cita
  #3  
Antiguo 14-05-2006
seara2005 seara2005 is offline
Miembro
 
Registrado: ago 2003
Ubicación: Colombia
Posts: 63
Poder: 21
seara2005 Va por buen camino
Thumbs up

Gracias Ya Resolvi Y Me Funciona De Maravilla
__________________
Saludos

Seara2005
Responder Con Cita
  #4  
Antiguo 14-05-2006
seara2005 seara2005 is offline
Miembro
 
Registrado: ago 2003
Ubicación: Colombia
Posts: 63
Poder: 21
seara2005 Va por buen camino
Thumbs up

Me explico como lo hice para que le pueda servir a otros, porque de eso se tratan los foros:

Bien, yo estoy utilizándo el (IB Expert) un software muy bueno y que tiene una versión libre con pocas limitaciones.

Tengo dos tablas una Maestra y una detalles.

Creo una llave primaria (primary key) en maestra, y voy a la tabla detalles y en las restrinciones creo una llave foránea (foreing key) sobre el campo llave y que hace referencia al campo llave de la tabla maestra, luego aparecen las opciones de como responder ante una modificación o una eliminación del campo llave de la tabla maestra, particularmente yo escogí para modificación (cascade) donde el SGBD me modifica automáticamente el campo llave de la tabla esclava manteniendo la intedridad, y en eliminar escogí (no action) que evita la posibilidad de que el usuario elimine un record de la tabla maestra si tiene dependencias en la tabla esclava.
en IB Expert todo esto es visual y muy fácil y además te va poniendo el código SQL que se va generando.

CODIGO SQL:

Para crear la llave primaria en la tabla maestra:

ALTER TABLE MAESTRA ADD CONSTRAINT PK_MAESTRA PRIMARY KEY (CAMPO LLAVE);


Para crear el índice foráneo en la tabla esclava:

ALTER TABLE ESCLAVA ADD CONSTRAINT FK_ESCLAVA_1 FOREIGN KEY (LLAVE DE ESCLAVA) REFERENCES MAESTRA (LLAVE DE MAESTRA) ON UPDATE CASCADE;


Ya lo he probado y funciona de maravila.

Gracias a todos y a los principiantes como yó les recomiendo que utilicen el IB Expert que nos permite hacerlo todo visualmente e ir aprendiendo SQL.
__________________
Saludos

Seara2005
Responder Con Cita
  #5  
Antiguo 14-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Deberías añadir ... ON DELETE CASCADE
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 15-05-2006
seara2005 seara2005 is offline
Miembro
 
Registrado: ago 2003
Ubicación: Colombia
Posts: 63
Poder: 21
seara2005 Va por buen camino
Thumbs up

Lepe, gracias pero si agrego lo que me sugieres me himagino que se eliminarían los records de la tabla esclava si se borra su maestro y no es lo que pretendo, con solo omitir ON DELETE el SGBD para mantener la integridad no permite borrar un maestro que tenga esclavos y es precisamente lo que quiero.

Gracias de todos modos
__________________
Saludos

Seara2005
Responder Con Cita
  #7  
Antiguo 15-05-2006
seara2005 seara2005 is offline
Miembro
 
Registrado: ago 2003
Ubicación: Colombia
Posts: 63
Poder: 21
seara2005 Va por buen camino
Lightbulb

Si alguien necesita el instalador del IB Expert se lo puedo enviar a su correo, la versión que tengo es libre.
__________________
Saludos

Seara2005
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿ Integridad referencial ? Turia MySQL 1 25-01-2006 13:59:33
Integridad Referencial migark Conexión con bases de datos 2 14-06-2005 16:06:57
opciones integridad referencial marrullas Firebird e Interbase 2 04-06-2004 16:16:14
Integridad Referencial pablo Conexión con bases de datos 3 03-01-2004 14:02:53
Integridad referencial jdiazan Firebird e Interbase 3 07-07-2003 17:27:34


La franja horaria es GMT +2. Ahora son las 12:22:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi