Buenos días listeros:
Tengo dos tablas en una BD cuyo código SQL es el siguiente:

modlic_licencias:
---------------------------
CREATE TABLE public.modlic_licencias (
  id_licencia        bigint NOT NULL,
  id_categoria       bigint NOT NULL,
  id_autor           bigint NOT NULL,
  nombre             varchar(50),
  nodvd              integer NOT NULL,
  fecha_creacion     date,
  version            varchar(10),
  documentacion      text,
  sitio              varchar(150),
  fecha_vencimiento  date,
  privativo          boolean NOT NULL DEFAULT true,
  CONSTRAINT licencia_software_pkey
    PRIMARY KEY (id_licencia),
  CONSTRAINT fk_lic_licidio
    FOREIGN KEY (id_licencia)
    REFERENCES public.modlicrel_licidio(id_licencia)
    ON DELETE CASCADE
    ON UPDATE CASCADE
) WITH (
    OIDS = FALSE
);

modlic_categorias:
---------------------------
CREATE TABLE public.modlic_categorias (
  id_categoria      integer NOT NULL,
  titulo_categoria  varchar(150) NOT NULL,
  activa            boolean NOT NULL DEFAULT false,
  CONSTRAINT modlic_categorias_pkey
    PRIMARY KEY (id_categoria)
) WITH (
    OIDS = FALSE
);

Ahora bien. Una categoría puede tener 0 o muchas licencias lo cual crearía una 
relación 0 ... n de la tabla categorías a la tabla licencias. Cuando intento 
crear la relación Postgre me arroja este error:

SQL Error: ERROR:  there is no unique constraint matching given keys for 
referenced table "modlic_licencias"

¿Alguien me podría decir que es lo que estoy haciendo mal?

Un saludo y gracias por adelantado
Ing. Reynier Pérez Mira
Grupo de Soporte al Desarrollo - Dirección Técnica IP 

--
TIP 8: explain analyze es tu amigo

Responder a