Mysql
 sql >> Base de données >  >> RDS >> Mysql

Ne jamais supprimer les entrées ? Bonne idée? Habituel?

Dans une de nos bases de données, nous avons distingué entre transactional et dictionary enregistrements.

En quelques mots, transactional les enregistrements sont des choses que vous ne pouvez pas annuler dans la vraie vie, comme un appel d'un client. Vous pouvez modifier le nom, le statut, etc. de l'appelant, mais vous ne pouvez pas rejeter l'appel lui-même.

Dictionary les enregistrements sont des éléments que vous pouvez modifier, comme l'attribution d'une city à un client.

Transactional les enregistrements et les éléments qui y mènent n'ont jamais été supprimés, alors que dictionary ceux-ci pourraient être supprimés sans problème.

Par "choses qui y mènent", je veux dire que dès que l'enregistrement apparaît dans les règles métier, cela peut conduire à un transactional record, cet enregistrement devient également transactional .

Comme, une city peuvent être supprimés de la base de données. Mais lorsqu'une règle est apparue disant "envoyer un SMS à tous les clients de Moscou ", les villes sont devenues transactional enregistre également, sinon nous ne serions pas en mesure de répondre à la question "pourquoi ce SMS être envoyé".

Une règle empirique pour faire la distinction était la suivante :est-ce uniquement l'activité de mon entreprise ?

Si l'un de mes employés a pris une décision basée sur les données de la base de données (par exemple, il a fait un rapport sur la base duquel une décision de gestion a été prise, puis le rapport de données était basé sur la disparition), il a été considéré comme correct de supprimer ces données.

Mais si la décision a affecté certaines actions immédiates avec les clients (comme appeler, modifier le solde du client, etc.), tout ce qui a conduit à ces décisions a été conservé pour toujours.

Cela peut varier d'un modèle commercial à l'autre :parfois, il peut être nécessaire d'enregistrer même des données internes, parfois il est acceptable de supprimer des données qui affectent le monde extérieur.

Mais pour notre modèle d'entreprise, la règle d'en haut a bien fonctionné.