Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-01-2004
pablo pablo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Argentina . Junin
Posts: 78
Poder: 21
pablo Va por buen camino
Integridad Referencial

hola, quisiera saber como se usa y para que sirve exactamente la seccion de definicion
de integridad referencial entre tablas del database desktop que trae delphi...

yo intenté generar una relacion entre el campo codigoDeLocalidad de la tabla Cliente con el campo
codigoDeLocalidad de la tabla localidades para mantener integridad entre ellos pero al elegir
el primero no me muestra la tabla localidades para elegir el segundo, eso que el alias esta definido
y ambas tablas estan en el mismo directorio...

saludos y gracias
pablo
__________________
Pablo Tello
Responder Con Cita
  #2  
Antiguo 01-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Establecer integridad referencial en Paradox mediante el DatabaseDesktop

1º. - Tendremos dos tablas que casan mediante un campo común, en la primera será clave única.

2º. - Las dos tablas deben de estar en la misma carpeta, ya que sino no nos las muestra y entonces no podemos relacionarlas.

3º. - Abrimos solamente la tabla dependiente, no la maestra.

4º. - Establecemos la integridad referencial entre ambas tablas.

5º. - Nos creará un índice en la tabla secundaria, con el mismo nombre del campo que casa con la tabla maestra.

6º. - En Delphi, no tiene porque declararse como maestro detalle.


Finalmente hay que destacar que la opción Strict integrity, no debe de marcarse pues según indica la información de Paradox, esto impediría la actualización en cascada que es precisamente lo que se persigue, ya que esta opción impide el cambio o borrado de cualquier ocurrencia en la tabla maestra que tenga correspondencia en la tabla detalle.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 03-01-2004
pablo pablo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Argentina . Junin
Posts: 78
Poder: 21
pablo Va por buen camino
hola; muchisimas gracias por responderme, aunque me quedo una duda:

es cierto que yo persigo la actualizacion en cascada; pero que
ocurre si yo tengo que eliminar un registro de la tabla maestra, ¿que pasa con
los registros dependientes de otras tablas?

*¿se borran?
*¿quedan con el campo nil?

en el caso que yo te pregunto relacione dos tablas:

Tabla clientes y tabla localidades, donde en la primera hay un campo llamado
codigoDeLocalidad (codigo postal) y en la segunda estan los codigos con los
nombres de las ciudades, y se supone que ademas del domicilio del cliente registro
el codigo de la ciudad donde vive...

que me conviene hacer en base a lo anterior?

saludos y gracias
pablo
__________________
Pablo Tello
Responder Con Cita
  #4  
Antiguo 03-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Aquí tienes la información, pero en inglés, no tengo tiempo de traducirlo.

Cita:
Update Rule

Database Desktop provides two update rules for tables that use referential integrity. Update rules specify what happens when a user tries to update or delete data in a parent table that has dependent records in a child table.

Prohibit

Prohibit specifies that you cannot change or delete a value in the parent's key if there are records that match the value in the child table.
For example, if the value 1356 exists in the Customer No field of Orders, you cannot change that value in the Customer No field of Customer. (You can change it in Customer only if you first delete or change all records in Orders that contain it). If, however, the value doesn't exist in any records of the child table, you can change the parent table.

Cascade

Cascade specifies that any change you make to the value in the key of the parent table is automatically made in the child table. If you delete a value in the key of the parent table, dependent records in the child table are also deleted. Cascade is the default update rule.
To cascade an update across tables, Database Desktop must place a lock on the target table. If the lock is denied (because another user has already placed a lock), Database Desktop cannot perform the cascade update.

If you are working with SQL tables, the availability of cascading updates and deletes varies according to the table type and software version.

Strict Referential Integrity

Choose Strict Referential Integrity to protect your data from being corrupted by earlier versions of Database Desktop (the default). Strict Referential Integrity specifies that Paradox for DOS cannot access a table on which you've defined referential integrity.
Suppose you use a version of Paradox for DOS to open a Paradox for Windows table that uses referential integrity. You could add data that violates the referential integrity, because the version of Paradox you're using doesn't recognize the referential integrity. To prevent versions of Paradox for DOS from opening the table, check the Strict Referential Integrity check box.
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
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


La franja horaria es GMT +2. Ahora son las 07:28:44.


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