Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2011, 00:35
Shinku_05
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Duda sobre Tabla que contiene dos FK

Un saludo a tod@s las personas que se interesen por resolver mi duda,
soy estudiente muy primeriza en esto de base de datos... estaba tratando de hacer un programa en java en netbeans, el cual hace referencia a los prestamos de una biblioteca, pero me ha aparesido este error a la hora de ejecutarlo

En Netbeans...
ERROR: inserción o actualización en la tabla «prestamo» viola la llave foránea «fk_libro»
Detail: La llave (id_libro)=(8) no está presente en la tabla «libros»


mis tablas son estas....

/*Tabla estudiante*/
Código MySQL:
Ver original
  1. CREATE TABLE estudiante
  2. (
  3.   ide integer NOT NULL DEFAULT nextval('secuencia_id_estudiante'::regclass),
  4.   nombre character(70),
  5.   apellido character(70),
  6.   matricula integer,
  7.   telefono integer,
  8.   email character(70),
  9.   direccion character(200),
  10.   edad integer,
  11.   sanciones integer,
  12.   id_libro integer,
  13.   CONSTRAINT pk_id_estudiante PRIMARY KEY (ide),
  14.   CONSTRAINT fk_id_libro FOREIGN KEY (id_libro) // sera por esto???
  15.       REFERENCES libros (idl) MATCH SIMPLE
  16. )
  17.   OIDS=FALSE
  18. );
  19. ALTER TABLE estudiante OWNER TO postgres;


/*Tabla libros*/

Código MySQL:
Ver original
  1. CREATE TABLE libros
  2. (
  3.   idl integer NOT NULL DEFAULT nextval('secuencia_id_libro'::regclass),
  4.   nombre_libro character(70),
  5.   autor character(70),
  6.   editorial character(70),
  7.   num_pag integer,
  8.   disponibilidad character(20),
  9.   clave integer,
  10.   CONSTRAINT pk_id PRIMARY KEY (idl)
  11. )
  12.   OIDS=FALSE
  13. );
  14. ALTER TABLE libros OWNER TO postgres;


/*Tabla pretamo*/
Código MySQL:
Ver original
  1. CREATE TABLE prestamo
  2. (
  3.   idp integer NOT NULL DEFAULT nextval('secuencia_id_prestamo'::regclass),
  4.   id_libro integer,
  5.   id_est integer,
  6.   fecha date,
  7.   CONSTRAINT pk_prestamo PRIMARY KEY (idp),
  8.   CONSTRAINT fk_est FOREIGN KEY (id_est)
  9.       REFERENCES estudiante (ide) MATCH SIMPLE
  10.   CONSTRAINT fk_libro FOREIGN KEY (id_libro)
  11.       REFERENCES libros (idl) MATCH SIMPLE
  12. )
  13.   OIDS=FALSE
  14. );
  15. ALTER TABLE prestamo OWNER TO postgres;

Estoy intentando agregar el id de libro y el id de estudiante en la tabla de prestamo ¿como lo hago sin que me aparesca este error?

Bueno la verdad estoy muy confusa (como yo no se nada de esto pero aun asi es muy necesario para mi programa...) acaso no puede existir dos claves foraneas en una tabla o ke??
alguien me dice si esta bien mis tablas?? o acaso es culpa de mi programa de java???
¿Que deberia hacer para solucionar esto?


MILGRACIAS ADELANTADO PARA KIEN ME AYUDE!!!

Última edición por Shinku_05; 22/07/2011 a las 14:53