Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda genérica

Estas en el tema de Duda genérica en el foro de Bases de Datos General en Foros del Web. Muy buenas; Quisiera saber si podrían explicarme un poco en qué momento se ha de tomar la decisión de usar una única tabla (llamemosla "usuarios") ...
  #1 (permalink)  
Antiguo 24/12/2002, 06:08
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
Duda genérica

Muy buenas;

Quisiera saber si podrían explicarme un poco en qué momento se ha de tomar la decisión de usar una única tabla (llamemosla "usuarios") o varias.

El caso es que tengo una con usuarios y pienso que tengo que crear otra con competiciones (al contrario de lo que piensa mi jefe que dice que debo poner todos los valores en la misma tabla). Pero no sé muy bien qué hacer porque si tengo una tabla llamada "competiciones", ¿que forma habría de saber cuanos usuarios se han apuntado a dichas competiciones si no están en la tabla? ¿Que campo han de tener en común: el nombre de la competicion, el ID de usuario, el nombre...?

Estoy hecho un pequeño lío a la hora de querer formalizar mi base, si alguien sabe de los parámetros a seguir para que no sea tan complicado...

GRACIAS
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 24/12/2002, 06:22
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Cuando los datos de algún campo pueden agruparse, conviene crear una tabla de relación.

Ejemplo:

1 Pepito Rojo
2 Jaimito Verde
3 Juanito Verde
4 Maria Azul
5 Jorgito Verde
6 Pepita Rojo
7 Isabelita Azul

Puedes crear una tabla llamada Colores donde cada color tiene un id, y luego relacionar

1 Pepito 1
2 Jaimito 2
3 Juanito 2
...

Si en lugar de colores, fuera algo mucho más extenso, sería más útil.

Tamibén es útil usar varias tablas si las relaciones son 1 a varios.

Ejemplo:

25 usuarios y 5 competiciones.
Cada usuario se apunta a una competicion.
(varios a 1)

Este caso es como el anterior, puedes usar 2 tablas o una sola.

25 usuarios y 5 competiciones.
Cada usuario puede apuntarse a las competiciones que quiera.
(1 a varios)

En este caso conviene crear 2 (o 3) tablas.
Usuarios
Competiciones
Relacion (opcional)

Con 2 tablas quedaría
1 Jaimito 1,4
2 Pepito 2
3 Maria 1,5
...

Con 3 tablas, tendrías Usuario y Competiciones listando sólo los datos de Usuarios y Competiciones. Y Relación contendría:

id_relacion | id_usuario | id_competicion
1 1 2
1 2 1
1 3 5
1 1 4
1 4 3
1 2 2
__________________
M a l d i t o F r i k i
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.