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 originalCREATE 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
);