Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-08-2007
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Problema con Integ. referencial ( paradox 7)

Hola, mi problema es este:
Creo dos tablas paradox con el database desktop del Delphi 4, una master y otra detail, las tablas se hallan en la misma carpeta.
Mi intención es aplicar integridad referencial a el campo codigo (alfa de 8 ch) declarado como clave primaria en ambas tablas.
Cuando voy a definir la Int. ref., me aparecen todos los campos correspondientes a la tabla Detail (child fields), pero debajo de "Table:", (parent's key) no figura la tabla maestra para poder elejir algún campo, sucede lo mismo si hago un nuevo alias de database ( "PRUEBA" por ej ) con el explorer.
Puedo relacionarlas si creo las tablas usando el alias predefinido "WORK".

Agradeceria si alguno me pudiera señalar en que estoy fallando.
Responder Con Cita
  #2  
Antiguo 16-08-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
creo, si mal no recuerdo que, a pesar de que venga lo de integridad referencia l en el database desktop, paradox no deja. Date una vuelta por el foro

lepe dijo:
Cita:
Si estas con paradox, no te molestes, no tiene implementada la integridad referencial (aunque venga en el database editor, la base de datos es la que no lo soporta).

Se puede borrar un campo, pero delphi es un usuario más de la tabla, quita el campo primero de delphi y después del database Editor.... o cierra delphi.

Saludos
Si explicas un poco mejor lo que necesitas hacer quiza podamos ayudarte.
Responder Con Cita
  #3  
Antiguo 16-08-2007
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Gracias por responder anubis.
Mira, he comprobado que permite la integridad referencial, si creo las tablas bajo el alias predefinido "WORK".
Ahora detallo el ejemplo, que es muy sencillo como verás:
Tabla Master: Tabla Detail:
Codigo A 8 * Codigo 8 *
Detalle A 30 Cantidad N *
Precio $
Ahora bien, creadas dichas tablas en la misma carpeta, digamos C:\Delphi_pru, no me permite definir la integridad referencial.
Me muestra los child fields pero no la tabla master (y por supuesto no puedo asignar parent's key).
Da lo mismo si creo un alias, por ej. "PRUEBA" = a (C:\Delphi_pru) con el db Explorer, no permite definirlas.
Pero asi no me sirve, me obligaria a trabajar siempre bajo el path que predefine el alias "WORK".

Muchas gracias nuevamente
Responder Con Cita
  #4  
Antiguo 16-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Yo creo que estas haciendo algo mal porque si se puede hacer, aquí te muestro una imagen de que si se puede.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 16-08-2007
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
gracias

Gracias egostar, yo opino igual. Lo que no encuentro que es lo que realizo mal. Hasta revisé, comparando, las propiedades de los databases con el explore y no encuentro diferencias...
Usando el ejemplo sin alias (alias=None) y en la misma carpeta, te detallo paso a paso lo que hago a ver si asoma el error:

1.- Creo la tabla maestra y declaro al campo "Codigo" como key.
2.- Guardo como (C:\delphi_pru\DBDS), Master.
3.- Creo la tabla detalle y declaro al campo "Codigo" como key.
4.- Guardo como (C:\delphi_pru\DBDS), Detail.
5.- Abro con el database desktop la tabla Detail (C:\delphi_pru\DBDS\Detail)
6.- Elijo restructure.
7.- En table properties elijo "Referential integrity".
8.- Click en botón Define
9.- Pif!!! La tabla Master no figura en guia...
Responder Con Cita
  #6  
Antiguo 16-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Gracias egostar, yo opino igual. Lo que no encuentro que es lo que realizo mal. Hasta revisé, comparando, las propiedades de los databases con el explore y no encuentro diferencias...
Usando el ejemplo sin alias (alias=None) y en la misma carpeta, te detallo paso a paso lo que hago a ver si asoma el error:

1.- Creo la tabla maestra y declaro al campo "Codigo" como key.
2.- Guardo como (C:\delphi_pru\DBDS), Master.
3.- Creo la tabla detalle y declaro al campo "Codigo" como key.
4.- Guardo como (C:\delphi_pru\DBDS), Detail.
5.- Abro con el database desktop la tabla Detail (C:\delphi_pru\DBDS\Detail)
6.- Elijo restructure.
7.- En table properties elijo "Referential integrity".
8.- Click en botón Define
9.- Pif!!! La tabla Master no figura en guia...
Ahora entiendo, no es que no se pueda generar la integridad, simplemente que no ves la tabla para poder hacerla.

Muy bien, lo que necesitas es asignar el directorio de trabajo donde están las tablas, lo puedes hacer de esta forma
  • File
  • Working Directory
  • Seleccionas el directorio donde están tus tablas o un Alias si ya lo has creado
Le das OK y listo, ya verás las tablas y podrás generar la integridad referencial.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 16-08-2007
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Gracias Master!!!

Si egostar, era eso. Muy agradecido.
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
No me deja hacer la integridad referencial en paradox Sayuri Conexión con bases de datos 6 27-07-2005 22:53:03
Integridad Referencial migark Conexión con bases de datos 2 14-06-2005 16:06:57
Problema con integridad referencial en tablas innodb en Mysql 5.0 HombreSigma MySQL 2 21-07-2004 05:16:04
Integridad Referencial tablas paradox tomasgarcia Conexión con bases de datos 2 06-03-2004 19:12:29
Integridad referencial jdiazan Firebird e Interbase 3 07-07-2003 17:27:34


La franja horaria es GMT +2. Ahora son las 00:04:11.


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