Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/05/2007, 04:11
Dio_83
 
Fecha de Ingreso: mayo-2007
Mensajes: 20
Antigüedad: 17 años, 10 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.