yo dejaria mi tabla asi:
detalles de articulo
........................................
cve_art-----nom_art-----precio
.......................................
compra:
.................................................. ..............................
cve_compra------cve_art---precio----cantidad-----total
.................................................. ..............................
y si con duplicado te refieres a datos innesecarios en la misma tupla
para mi seria si dejas tu tabla asi
.................................................. ..............................
cve_compra------cve_art-----nom_art---precio----cantidad-----total
.................................................. ..............................
claro q pensando en lo que dices si por alguna razon se borra la tabla detalles de articulo esto seria una solucion rapida ,,,,, de cualquier forma depende de la actividad que vayas a ralizar con la informacion lo que te hara decidir como dejar los campos en tus tablas
espero aya resuelto tu duda, halguien mas quiere aportar algo