Bonjour,
Je précise un peu le contexte qui me pousse à proposer ce sujet.
Je travaille sur une application client riche (CR) qui accède à une base Oracle qui nous sert de "panier de données". La logique métier se trouve entièrement sur le CR et dans la couche web, rien en base.
Le client (qui a à priori quelques connaissances en base de données) m'affirme que les contraintes sur la base : clés primaires, clés étrangères et tout le toutim sont inutiles puisque l'insertion en base et la cohérence entre les données est à priori gérée par la couche web.
Mon avis est que dans une base relationnel, il faut TOUJOURS (quand c'est possible évidement) définir des clés et des références pour garantir que les données sont TOUJOURS dans un état cohérent. Ce qui évite aussi les petites bévues liés aux manipulations directes en base lors des campagnes de tests.
Ces arguments n'ont pas l'air de l'émouvoir plus que ça et j'aimerai un retour d'expérience, l'avis de DBA ou autres, et peut-être des références de livres ou de documents qui argumentent en faveur de l'un ou de l'autre histoire que nous finissions par tomber d'accord.
En vous remerciant.
Partager