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

Un problema interesante.

Estas en el tema de Un problema interesante. en el foro de Mysql en Foros del Web. Hola, tengo un asunto interesante, una tabla que relaciona competiciones, deportes y categorías: 1. 'clave' 2. fkcompeticion (ej. trofeo rector) 3. fkdeporte (ej. fútbol) 4. ...
  #1 (permalink)  
Antiguo 01/05/2007, 04:11
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 16 años, 11 meses
Puntos: 0
Un problema interesante.

Hola,

tengo un asunto interesante, una tabla que relaciona competiciones, deportes y categorías:

1. 'clave'
2. fkcompeticion (ej. trofeo rector)
3. fkdeporte (ej. fútbol)
4. fkcategoria (ej. masculino)
5. fkotra
6. fkotramás

fk significa clave ajena de otra tabla. (jeje, por si acaso.)

El problema es:

(fkcompeticion, fkdeporte, fkcategoria, ...) no se puden repetir, serían clave primaria. El problema es que necesito una clave para identificar la relación y evitar asi el tener que propagar la clave (fkcompeticion, fkdporte, fkcategoria) a otras tablas.

Es decir, qué hago?

[Opción 1]: poner (fkcompeticion, fkdeporte, fkcategoria, ...) como clave primaria, y propagar ésta a otras tablas, lo que añadiría múltiples redundancias.

[Opción 2]: NO poner (fkcompeticion, fkdeporte, fkcategoria, ...) como clave primaria y usar 'clave' como clave primaria para propagarla a otras tablas, y así evitar redundancias. ¿Pero cómo controlo que no se puedan repetir (fkcompeticion, fkdeporte, fkcategoria, ...) ? ¿Con un trigger?

recordar que (fkcompeticion, fkdeporte, fkcategoria, ...) no se puede repetir, es decir, Trofeo Tector, fútbol, masculino, no se puede almacenar dos veces.

¿Alguna sugerencia?

Gracias.
  #2 (permalink)  
Antiguo 01/05/2007, 09:42
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Un problema interesante.

Puedes crear un indice que sea único, as evitas que haya valores repetidos en al tabla

Saludos
  #3 (permalink)  
Antiguo 02/05/2007, 02:27
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Un problema interesante.

Yo voto por la opción 2 y, antes de insertar una nueva fila, comprobar que no exista una tripleta fkcompeticion, fkdeporte, fkcategoria igual.
  #4 (permalink)  
Antiguo 02/05/2007, 06:07
 
Fecha de Ingreso: febrero-2007
Mensajes: 61
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Un problema interesante.

Lo mejor si queres que no se repita nunca esa combinacion es poner como FK a todas las fk.. Pero igual en ese caso no tenes que poner en atributo clave.
Saludos
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:54.