Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/12/2009, 17:57
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como sería la relacion entre Grado, seccion y alumno?

Para darte el script me tienes que decir con qué DBMS estás trabajando, porque la sintaxis cambia entre algunos de ellos.
Con lo que te puse deberías poder resolverlo tu: Sólo necesitas eliminar las FK de TB_ALUMNO y crear una tabla con los tres códigos más un campo con el año y declarar la PK con los cuatro campos.

Agregale la tabla faltante a esto:
Código SQL:
Ver original
  1. CREATE TABLE TB_ALUMNO(
  2. COD_ALU CHAR(10) NOT NULL PRIMARY KEY,
  3. NOM_ALU VARCHAR(100) NOT NULL,
  4. APEPAT_ALU VARCHAR(100) NOT NULL,
  5. APEMAT_ALU VARCHAR(100) NOT NULL,
  6. DIR_ALU VARCHAR(100) NOT NULL,
  7. FEC_NAC DATE NOT NULL,
  8. FEC_REG DATE NOT NULL,
  9. FALTA_ALU INT NOT NULL);
  10.  
  11. CREATE TABLE TB_GRADO(
  12. COD_GRA CHAR(5) NOT NULL PRIMARY KEY,
  13. NIV_GRA VARCHAR(20) NOT NULL);
  14.  
  15. CREATE TABLE TB_SECCION(
  16. COD_GRA CHAR(5) REFERENCES TB_GRADO(COD_GRA),
  17. COD_SEC CHAR(5) NOT NULL,
  18. DESC_SEC CHAR(1) NOT NULL,
  19. PRIMARY KEY(COD_GRA,COD_SEC));
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)