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
CREATE TABLE D ( d1 INTEGER PRIMARY KEY, d2 INTEGER ); CREATE TABLE C ( c1 INTEGER PRIMARY KEY, c2 INTEGER, d1 INTEGER REFERENCES D ); CREATE TABLE B ( b1 INTEGER UNIQUE, --discriminante por ser tabla debil dependiente de C b2 INTEGER, c1 INTEGER REFERENCES C, PRIMARY KEY (c1, b1) ); CREATE TABLE A ( a1 INTEGER PRIMARY KEY REFERENCES A, a2 INTEGER, b1 INTEGER NOT NULL REFERENCES B );