Bonjour,

J'ai pour la première fois un projet ou le client aimerait commerialiser l'application qu'il me demande de réaliser.
c'est un projet de gestion clientelle et il voudrait après que son propre client se soit acquité des frais d'abonnement lui proposer un espace dédié. Jusque là pas de problème.

Cependant j'ai une question au niveau de la bdd faudrait il mettre en place une création d'une base relationnelle pour tous les clients ou à chaque client recreer une bdd sur laquelle il viendrait se connecter, pour n'avoir accès qu'à ses propres informations.

Le but étant de sécuriser un maximum les donnnées.

cdt

MK

4 réponses


Grafikart
Réponse acceptée

A toi de voir les 2 solutions sont viables :)

  • Une base par client, changement de client facile à gérer par contre la migration en cas de changement de structure c'est chiant
  • Une base gobale, permet de changer la structure plus simplement par contre bien penser à utiliser une clef étrangère pour savoir à quel client fait référence la donnée.
Mr Moody
Auteur

Merci pour ta réponse rapide :-)

Une solution intermédiaire serait d'utiliser une seule bd mais avec des préfixes de tables différents pour chaque client.
L'avantage est de mutualiser certaines tables (devises, pays ...). Sans connaitre le préfixe, impossible d'accèder aux données
d'un client. L'inconvénient c'est de devoir construire les requêtes à chaque fois mais c'est ce que font pas mal de cms comme Wordpress ou joomla.

Si tu regardes les autres types de SGBD (postgresql, oracle ...) , tu trouveras la notion de schema
les schemas permettent justement l'isolation des données au sein d'une même base.