sql >> Database >  >> RDS >> Mysql

Nooit items verwijderen? Goed idee? Gebruikelijk?

In een van onze databases hebben we onderscheid gemaakt tussen transactional en dictionary records.

In een paar woorden, transactional records zijn dingen die u in het echte leven niet kunt terugdraaien, zoals een telefoontje van een klant. U kunt de naam, status enz. van de beller wijzigen, maar u kunt de oproep zelf niet afwijzen.

Dictionary records zijn dingen die u kunt wijzigen, zoals het toewijzen van een city aan een klant.

Transactional records en dingen die ertoe leiden werden nooit verwijderd, terwijl dictionary die kunnen goed worden verwijderd.

Met "dingen die ertoe leiden" bedoel ik dat zodra het record in de bedrijfsregels verschijnt, dit kan leiden tot een transactional record, wordt dit record ook transactional .

Zoals, een city uit de database kan worden verwijderd. Maar toen er een regel verscheen die zei:"stuur een SMS aan alle klanten in Moskou ", werden de steden transactional ook records, anders zouden we de vraag "waarom heeft deze SMS wordt verzonden".

Een vuistregel om te onderscheiden was deze:is het alleen de zaak van mijn bedrijf?

Als een van mijn medewerkers een beslissing nam op basis van gegevens uit de database (hij maakte bijvoorbeeld een rapport op basis waarvan een managementbeslissing werd genomen, en vervolgens was het gegevensrapport gebaseerd op verdwenen), werd het als OK beschouwd om deze gegevens te verwijderen.

Maar als de beslissing gevolgen had voor enkele directe acties met klanten (zoals bellen, het saldo van de klant verprutsen, enz.), werd alles wat tot deze beslissingen leidde voor altijd bewaard.

Het kan van het ene bedrijfsmodel tot het andere verschillen:soms kan het nodig zijn om zelfs interne gegevens vast te leggen, soms is het oké om gegevens te verwijderen die van invloed zijn op de buitenwereld.

Maar voor ons bedrijfsmodel werkte de regel van boven prima.



  1. mysql match tegen meerdere woorden

  2. Snapshots van SQL Server-database -3

  3. Django-ontwikkelingsdatabase wijzigen van de standaard SQLite naar PostgreSQL

  4. T-SQL - Gegevens in bovenliggende en onderliggende tabellen invoegen