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 23-07-2003
Avatar de hgiacobone
hgiacobone hgiacobone is offline
Miembro
 
Registrado: may 2003
Ubicación: La Plata, Bs. As., Argentina
Posts: 165
Poder: 21
hgiacobone Va por buen camino
Question Master/Detail/Detail/Detail/etc...

Hola amigos...
Estoy en una encrucijada con las relaciones. Es un caso tonto, pero no lo puedo resolver.
Tengo que hacer una relacion Master/Detail pero la propiedad MasterSource-Detail solo me permite hacerlo uno a uno y yo necesito UNO A VARIOS.

Las tablas son:
ALQUILER
CLIENTES
PELICULA1
PELICULA2
DET1
DET2
Tengo una tabla (ALQUILER) que contiene un detalle de casetes de peliculas en alquiler. Este almacena el ID del cliente (CLIENTES)y de la pelicula en cuestion (PELICULA1).

A su vez, la tabla PELICULA1 debería estar relacionada con PELICULA2 que es donde existen los detalles y las tablas DET1, DET2, etc. que contienen otro grupo de detalles como el formato o la editora.

Cuando agrego a ALQUILERES una pelicula, con su ID debo obtener los detalles de las tablas PELICULA2;DET1;DET2 entre otras y almacenar sus respectivos códigos en la tabla de alquileres.


Veamos si puedo hacer un gráfico:

PELICULA1__----> ALQUILER <----__CLIENTES
| |
| |
PELICULA2 |
DET1
DET2


Espero se entienda el problema.
__________________
Gracias de antemano por vuestra ayuda.
·.:*:.·Yako·.:*:.·
Responder Con Cita
  #2  
Antiguo 23-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
No se si entendí bien tu pregunta.

Supondre que la tabla Alquileres es el master, y de ella cuelgan Pelicula1 y Pelicula 2 y de esta última Det1 y Det2.

Ademas, que tenes datasources con el Nombre dsAlquiler y dsPelicula2.

Además, que el indice que usas en todas siempre tiene como primer segmento un campo llamado ID que es el correspondiente a la llave primaria de alquileres.

Las propiedades debieran ser:


Código:
Pelicula1
  MasterSource = dsAlquiler
  MasterFields = ID
end

Pelicula2
  MasterSource = dsAlquiler
  MasterFields = ID
end

Det1
  MasterSource = dsPelicula2
  MasterFields = ID;PELICULA
end

Det2
  MasterSource = dsPelicula2
  MasterFields = ID;PELICULA
end
Es probable que no se ajuste a tu estructura, pero te servirá para adaptarlo.

Como te daras cuenta, la relación maestro/detalle no se hace en el master, sino en el detalle. De esa forma un solo dataset puede servirte de master para muchos, muchos details.

Hasta luego

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 24-07-2003
Avatar de hgiacobone
hgiacobone hgiacobone is offline
Miembro
 
Registrado: may 2003
Ubicación: La Plata, Bs. As., Argentina
Posts: 165
Poder: 21
hgiacobone Va por buen camino
Lightbulb

Es que tal vez no lo explique bien.

La tabla ALQUILER almacena lo siguiente:
idClliente-idPelicula-Detalle-Formato-Precio

La tabla CLIENTES se conforma:
idCliente
Nombre
Direccion

La tabla PELICULA1 se conforma:
idPelicula
Titulo

La tabla PELICULA2 se conforma:
idPelicula
idFormato
idPrecio
Comentarios

La tabla FORMATO se conforma:
idFormato
TipoFormato

La tabla PRECIOS se conforma:
idPrecio
Monto1
Monto2

¿Cómo hago para mantener la relación al mismo tiempo entre la tabla CLIENTES y PRECIOS1 y que esta a su vez mantenga relaciones con FORMATO, PRECIOS y otras tantas?
__________________
Gracias de antemano por vuestra ayuda.
·.:*:.·Yako·.:*:.·

Última edición por hgiacobone fecha: 24-07-2003 a las 17:50:08.
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:55:29.


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