Disons que j'ai un service de messagerie entre les utilisateurs, avec des messages publics et privés. J'aimerais que les «publics» soient visibles par tous, et que les «privés» soient VRAIMENT privés. Lequel des deux modèles serait le meilleur?Question de conception de base de données très simple
a)
Ayant une base de données unique, appelée "messages" avec les colonnes
- id
- expéditeur
- récepteur
- horodatage
- valeur
- vie privée (ce qui serait une valeur booléenne, 0 pour privé et 1 pour le public)
Ou b)
Avoir deux bases de données, l'un appelé "messages_public" et d'autres appelé "messages_private" avec le mêmes colonnes suivantes
- id
- expéditeur
- récepteur
- horodatage
- valeur
Je sais que la deuxième approche est redondant, mais il est plus sûr dans le sens que dans le cas d'une erreur est survenue, les messages privés ne seraient pas accidentellement affichés pour tout le monde (ce qui serait un désastre ), ai-je raison? Dans le premier cas, en revanche, il pourrait vraiment. Une erreur simple dans la requête SQL pourrait échouer à filtrer les messages privés, et il afficherait chacun.