Moi, je le mettrai coté base, car c'est elle qui sait quels champs doivent etre remplis, c'est elle qui sait ou elle en est dans ses index (s'il y en a), de plus, si d'autres appli utilisent la même base, ça ne pose pas de problème de compatibilité, et évite des redondances dans le code, bref, mieux vaut, à mon avis, dans ce cas, faire en sorte que l'unité contenant le traitement de la base sache gérer la base en entier.
Ca évite d'avoir des bout de codes qui manipulent la base un peu partout dans tes unités ... valà, bref, j'espère que tu m'auras compris ...