Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   maestro/detalle con relacion entre 3 tablas (https://www.clubdelphi.com/foros/showthread.php?t=43463)

FDB 11-05-2007 18:59:26

maestro/detalle con relacion entre 3 tablas
 
Hola!

Les comento:

Estoy utilizando los componentes Zeos para acceder a una base de datos, la base de datos tiene las siguientes tablas:

Alumno(codigo_alumno,....)
Grupo(codigo_grupo,....)
lineas_grupo(codigo_grupo,codigo_alumno)

La tabla alumno contiene los datos de los alumnos, y se identifica por el codigo_alumno.

La tabla grupo contiene la descripción de los grupos y se identifica por el codigo_grupo.

La tabla lineas_grupo contiene los datos pertenecientes a cada grupo y tiene como claves, codigo_grupo y codigo_alumno

Mi objetivo es obtener la descripción de la tabla grupo, segun el codigo_alumno que haya seleccionado. Esto lo conseguí hacer mediante una select que funciona perfectamente.. pero estuve leyendo acerca de las tablas Maestro/detalle e intenté sacar esta consulta mediante esta forma pero no lo consegui.

¿Se podria obtener mediante maestro/detalle la descripcion de la tabla grupo haciendo las relaciones pertinentes entre las 3 tablas?

Saludos!

Gracias de antemano.

marioerp 12-05-2007 15:11:26

Relacions
 
Hola, ante que nada quisiera decir que los componentes que estas usando soportan perfectamente las maestros/detalles, es más todo los componete de acceso a la base de datos soportan estás caracteristicas, y pasó pregunto a que base de datos estas accediendo?

FDB 12-05-2007 21:55:07

Hola!

Saber se que soporta maestro-detalle, el problema no es que no lo soporte, el problema es que no se como hacer un maestro-detalle pero relacionando las 3 tablas para sacar los datos necesarios que quiero mostrar.

Actualmente estoy usando sqlite, pero si consiguiese dar con como se hace en otro tipo de base de datos podria migrar sin problema, puesto que la aplicación está recien iniciada y no seria gran esfuerzo.

¿que me recomiendan?

Saludos

Gracias.

Cañones 12-05-2007 23:49:52

La verdad que no entiendo bien que es lo que queres, ni con que estas trabajando, si es con Firebird te puedo ayudar si me explicas mejor.
Saludos.

FDB 13-05-2007 15:03:51

A ver.. os explico de nuevo:

Yo tengo una base de datos, actualmente en sqlite, pero se podria contemplar la opción de cambiar de motor si fuese necesario, en la que tengo varias de ellas, una de ellas seria la que conteniese la información de los alumnos, otra de ellas contiene la información de los grupos y otra contiene la información que relaciona la tabla alumnos con la tabla grupos, es decir, los datos irian asi:

Alumnos:

Codigo_alumno, nombre, etc..
1 ------------- Pedro
2 --------------Pablo

Grupos:

codigo_grupo, descripcion
1 -------------Grupo 1
2 -------------Grupo 2

lineas_grupos:

codigo_grupo, codigo_alumno
1------------- 1
2 -------------1
2 -------------2

Entonces en un dbgrid cargaria los alumnos, y en otro dbgrid me gustaria cargar la descripcion de los grupos que contiene cada alumno segun la tabla linea_grupos, es decir, si yo segun el ejemplo pinchase en el dbgrid en el alumno con codigo_alumno 1 pues me deberia devolver en el dbgrid Grupo 1, Grupo 2.

Lo que no se es si es posible hacerlo mediante maestro-detalle, si es asi, ¿como podria hacerse? o en su defecto ¿cual seria la mejor forma de hacerlo?

Espero que me entiendan.

Saludos


La franja horaria es GMT +2. Ahora son las 15:58:52.

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