Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/01/2013, 06:28
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Varias preguntas

Cita:
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.
Las dos FK ya definen la PK de esa tabla. Únicamente se agrega un discriminante si cada par puede aparecer más de una vez, como por ejemplo, una tabla donde la misma relación pueda ocurrir en diferentes fechas, en ese caso la fecha es parte de la PK.
Cita:
or 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".
No puedes relaciona una tabla por el "Detalle", sino por su PK.
Además, en una tabla "DETALLE", no existe un ID único, sino que su PK se define por FK de tabla origen (cabecera de datos) + ID de subitem. Es el caso de una factura, por ejemplo, donde la factura Nº 23789, donde se vendieron 5 productos, tiene cinco registros de detalle cuyas PK son los pares
Cita:
(23789, 1)
(23789, 2)
(23789, 3)
(23789, 4)
(23789, 5)
Nunca se usa un AI para una tabla de detalle. Es un error conceptual.
Si se llega a usar es por exigencia del sistema, y representa casos excepcionales.

Cita:
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?
Es tu decisión. Access no es un sistema de gestion de bases de datos, sino un manejador de tablas con recursos de SQL embebidos.
Si lo que quieres es usar un verdadero DBMS, hay cosas mucho mejores, incluso entre las portables.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)