Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: d91 en 25 Agosto 2015, 12:12 pm



Título: duda con llaves foraneas
Publicado por: d91 en 25 Agosto 2015, 12:12 pm
hola a todos, como tarea me han dado un diagrama entidad-relacion para que lo monte en una base de datos, estoy trabajando sobre oracle, mi duda es que en este diagrama existe una tabla ventas que  pretende usar como foraneas campos de una tabla inventario que tambien son foraneas, no se si puedo declarar llaves foraneas tambien como primarias al mismo tiempo, porque el modelador no me deja hacer dicha relacion
Código
  1. CREATE TABLE tab_inventario(
  2. existencia   NUMBER(6),
  3. id_tienda  NUMBER(6),
  4. id_producto NUMBER(6),
  5. id_proveedor NUMBER(6),
  6. CONSTRAINT inventario_tienda_FK FOREIGN KEY id_tienda REFERENCES tab_tienda(id_tienda),
  7. CONSTRAINT producto_tienda_FK FOREIGN KEY id_producto REFERENCES tab_producto(id_producto),
  8. CONSTRAINT proveedor_tienda_FK FOREIGN KEY id_proveedor REFERENCES tab_proveedor(id_proveedor),
  9. );
  10.  
  11. CREATE TABLE tab_venta(
  12. id_venta NUMBER(6),
  13. monto    NUMBER(6,2),
  14. cantidad_producto NUMBER(6),
  15. id_tienda  NUMBER(6),
  16. id_producto NUMBER(6),
  17. CONSTRAINT id_venta_PK PRIMARY KEY id_venta
  18. /*aqui irian las foraneas*/
  19. );
  20.  
asi vendria quedando el script, pero id_tienda y id_producto de la tabla venta tienen que hacer referencia a los campos de la tabla inventario y al hacer la referencia desde la tabla venta el error dice: en tab_inventario no existen campos primary key para hacer referencia


Título: Re: duda con llaves foraneas
Publicado por: Carloswaldo en 31 Agosto 2015, 21:35 pm
¿Eh?

¿Estás seguro de que los campos id_tienda e id_producto de tab_venta no deben referenciar a tab_tienda y tab_producto correspondientemente?