Intento utilizar una clave principal doble como clave externa.Tecla Extranjera doble en postgresql
Create table AAA (
AAA_id int primary key
);
create table BBB (
AAA_id int,
BBB_name character varying(20),
primary key (AAA_id, BBB_name)
);
create table CCC (
AAA_id,
BBB_name,
DDD_id,
... ???
);
mesa de AAA es un objeto
mesa de acreditación es de muchos a uno con AAA, y tiene los alias de AAA
Estoy tratando de crear una tabla dinámica, CCC, que tiene un muchos a uno entre DDD y BBB.
Supongo que quiero algo así como
create table CCC (
AAA_id,
BBB_name,
DDD_id,
foreign key (AAA_id, BBB_name) references BBB(AAA_id, BBB_name) on update cascade
);
donde tanto AAA_id y BBB_name son claves externas, pero también siempre estamos refiriendo a la misma fila en la acreditación.
pero, por supuesto, eso no es válido. ¿Cuál es la mejor manera de producir este tipo de comportamiento en postgreSQL?
¡Es perfectamente válido! Pero no se llama una *** llave *** "***", es una tecla ** "compuesta" **. –