Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2014, 06:09
sbd02
 
Fecha de Ingreso: noviembre-2014
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
Problemas con paso de e/r a sql

Buenas, resulta que estoy con un trabajillo en el que tengo un pequeño problema.
En el esquema e/r tengo algo asi: http://gyazo.com/52c04bb13d70ee63a2a41245f6028b64

A tiene una fk de B en el campo b1, y B tiene una fk de C en el campo c1, el problema es que al representar la tabla debil con doble pk (el discriminante propio y la pk de la entidad fuerte), despues, al referenciar a B desde A por medio de b1, me salta el siguiente error
ERROR: el número de columnas referidas en la llave foránea no coincide con el número de columnas de referencia

********** Error **********

ERROR: el número de columnas referidas en la llave foránea no coincide con el número de columnas de referencia
SQL state: 42830


Mi codigo es el siguiente:


--Esta tabla D al caso es irrelevante


Código SQL:
Ver original
  1. CREATE TABLE D (
  2. d1 INTEGER PRIMARY KEY,
  3. d2 INTEGER
  4. );
  5.  
  6.  
  7. CREATE TABLE C (
  8. c1 INTEGER PRIMARY KEY,
  9. c2 INTEGER,
  10. d1 INTEGER REFERENCES D
  11. );
  12.  
  13.  
  14. CREATE TABLE B (
  15. b1 INTEGER UNIQUE,
  16. --discriminante por ser tabla debil dependiente de C
  17. b2 INTEGER,
  18. c1 INTEGER REFERENCES C,
  19. PRIMARY KEY (c1, b1)
  20.  
  21. );
  22.  
  23.  
  24.  
  25. CREATE TABLE A (
  26. a1 INTEGER PRIMARY KEY REFERENCES A,
  27. a2 INTEGER,
  28. b1 INTEGER NOT NULL REFERENCES B
  29.  
  30. );

Última edición por gnzsoloyo; 23/11/2014 a las 07:15