Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Diseño DB claves primarias (https://www.clubdelphi.com/foros/showthread.php?t=41595)

Alfonsoft 20-03-2007 17:44:21

Diseño DB claves primarias
 
Buenas,

Estoy diseñando una base de datos para guardar datos de equipos, jugadores y estadios de la liga de mi comarca.

Turbo Delphi, ADO, Access.

He pensado en poner un maestro detalle de Equipos (maestro) Jugadores (Detalle) Pero tengo dudas sobre estadios y entrenadores, no se si hacerlos tambien detalle de equipo o que ya que un estadio no es unico de un equipo, pueden haber dos equipos de un mismo publo que jueguen en el mismo estadio y n ose como hacerlo, ya que me gustaria que al pasar de un equipo a otro, ver la imagen del estadio y poder editarlo.

Y con el entrenador, me gustaria poder añadir y editar entrenadores, pero que tambien se cambie al pasar de un equipo al otro.

Por eso no se que claves primarias y ajenas meter en las tablas, por ahoa tengo esto:


Entrenadores
id_entrenador
nombre
foto

Equipos
id_equipo
id_entrenador
id_estadio
nombre
escudo

Estadios
id_estadio
Nombre
Capacidad
foto


Gracias,

Caral 20-03-2007 18:18:57

Hola Alfonsoft
Yo o del todo no pondria claves primarias o haria un campo autonumerico en cada tabla y lo usaria de clave.
No veo la necesidad de complicar una relacion tan sencilla.
Saludos

Ivanzinho 20-03-2007 18:53:54

Cita:

Empezado por Caral
Hola Alfonsoft
Yo o del todo no pondria claves primarias o haria un campo autonumerico en cada tabla y lo usaria de clave.
No veo la necesidad de complicar una relacion tan sencilla.
Saludos

Al tener relaciones entre tablas se van a necesitar claves para saber exactamente que registros están relaccionados. Yo haría de la siguente manera
Código:

Equipos ==> id_equipo
            id_estadio FK

Estadios ==> id_estadio PK

Entrenadores ==> id_entrenador PK 
                id_equipo FK

de donde se saca que cada equipo tiene 1 estadio pero 1 estadio puede pertenecer a varios equipos, cada entreandor entrena 1 equipo pero 1 equipo puede ser entrenado por varios entreandores

Un saúdo

Alfonsoft 20-03-2007 19:02:00

Mas que nada mi duda era para establecer los mastro-detalle entre estas tres tablas, que no se si es lo correcto o no hacerlas maestro detalle.

Gracias,

Ivanzinho 20-03-2007 19:07:27

Cita:

Empezado por Alfonsoft
Mas que nada mi duda era para establecer los mastro-detalle entre estas tres tablas, que no se si es lo correcto o no hacerlas maestro detalle.

Gracias,

No veo por qué no, pero fijate en la corrección que hice a tus tablas, puede ser que te interese.

Un saúdo

Alfonsoft 20-03-2007 19:25:25

:D Has dado justo en la duda que tenia, no sabia si meter el id_equipo en entrenador o el id_entrenador en equipo.

La duda es que no se si es correcto hacer un mastro detalle donde, en el caso del estadio, un equipo solo podria tener un estadio, no se si es correcto hacer un maestro detalle en ese supuesto. Y en el caso del entrenador, tal como lo has puesto, un equipo podria tener muchos entrenadores a la vez, pero creo que lo correcto seria tener solo uno. Se me ocurre que la FK id_equipo de Entrenadores no se pueda repetir, no se...

Todo esto es duda de estudiante, quiro saber cual es el metodo adecuado, ya que podria estar haciendo pruebas, pero me gustaria saber el metodo apropiado en un caso asi.

Gracias,

Ivanzinho 21-03-2007 14:05:00

Veo que tienes problemas a la hora de identificar cuales son las claves foraneas que deben ir en cada tábla, para eso te recomiendo que leas esto y esto fijate sobre todo en donde hablan del paso de Entidad-Relación a Relaccinal.

Lo primero que tienes que hacer es definir las tablas con sus atributos (olvidate de claves foranesa) y las relaciones entre distintas tablas, teniendo en cuenta la cardinalidad. Una vez tengas el modelo E-R puedes pasarlo al modelo entidad relación siguiendo los paso que se comentas en las direcciones anterior, con lo que ya tendras la BD diseñada.

Lo que comentas de maestro detalle puedes hacerlo perfectamente, incluso poniendo distintas opciones :

1.- Consultar equipo : En este caso la tabla EQUIPOS sería maestro y las tablas ESTADIOS y ENTRENADORES serían detalles de la tabla EQUIPOS

2.- Consultar estadio : ESTADIOS maestro y EQUIPOS detalle. Incluso podrías poner la tabla ENTRENADORES como detalle de la tabla EQUIPOS.

3.- Consultar entrenador : ENTRENADOR maestro y EQUIPO detalle.

Y así todas las combinaciones que necesites.

Un saúdo

Alfonsoft 22-03-2007 02:09:41

Gracias por vuestra ayuda!

Volvere a repasar el modelo ER.

Hasta ahora, en los ejercicios de clase haciamos un DM con las tablas y ds y ahi entableciamos la relacion maestro detalle, nunca he hecho algo como lo que comentas de ir cambiando la relacion maestro detalle.

¿Sabeis de algun libro o tutorial donde traten el tema?


La franja horaria es GMT +2. Ahora son las 16:20:57.

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