Bases de Datos - Varias preguntas..

 
Vista:

Varias preguntas..

Publicado por IGNACIO (1 intervención) el 17/01/2013 19:41:04
Hola buenas tardes,

Primero de todo explicaros que hace ya muchos años estudié un módulo de diseño de aplicaciones, pero por cosas de la vida no volví a tomar contacto con la materia; por lo que si lo que pregunto es muy básico perdonadme, pero me estoy volviendo un poco tarumba con el tema.

Os cuento, estoy desarrollando una aplicación para mi negocio, más o menos tengo las tablas y relaciones creadas, pero tengo un problema que me desquicia con respecto a la relación de una de ellas.

Tablas (donde está el problema):
- PROVEEDOR : Datos del proveedor. Clave primaria: IDProve
- ARTICULO : Datos de los artículos sin precio de coste ni de venta. Clave primaria: IDArticulo (código EAN)
- ARPRO : Tabla resultante de la relación N:N que se forma entre AR(TICULO) y PRO(VEEDOR). En esta tabla si se almacena precio de coste y de venta, junto con un código que es el utilizado por el proveedor para este artículo. Clave primaria: IDProve, IDArticulo, IDCod
- DETALLE: El detalle de la factura que se pretende generar. Clave primaria: IDDetalle



Situación:
1 . Los proveedores pueden tener muchos artículos y cada artículo es suministrado por varios proveedores (relación N:N).
2 . Por cada proveedor el precio de coste es distinto.
3 . Cada proveedor que me suministra un artículo no siempre lo suministra al mismo precio, puesto que sacan ofertas puntuales, estando en stock de mi tienda el articulo con dos precios diferentes. Lo único que cambia es el código que maneja el proveedor, por lo que añado la tercera clave primaria a ARPRO.

Problema:
Al ser la tabla ARPRO una tabla resultante de una relación N:N, no sé si esta bien haber añadido una tercera clave primaria.
Por otro lado, al tener IDCod en la tabla iba a utilizarlo para enlazarlo con la tabla DETALLE pero no me deja, dándome el error "No se encontró ningún índice único para el campo al que se hace referencia en la tabla principal".


Aparte de eso, y al no haberlo tocado en tanto tiempo, me decidí a crear la BD en Access, y después la aplicación en Delphi. Las relaciones entre las tablas ¿puedo dejarlas creadas en Access?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder