I en av våra databaser skilde vi mellan transactional
och dictionary
rekord.
Med ett par ord, transactional
poster är saker som du inte kan rulla tillbaka i verkligheten, som ett samtal från en kund. Du kan ändra uppringarens namn, status etc., men du kan inte avvisa själva samtalet.
Dictionary
poster är saker som du kan ändra, som att tilldela en city
till en kund.
Transactional
poster och saker som leder till dem togs aldrig bort, medan dictionary
de skulle kunna raderas okej.
Med "saker som leder till dem" menar jag att så snart posten dyker upp i affärsreglerna som kan leda till en transactional
post blir denna post också transactional
.
Som en city
kan raderas från databasen. Men när en regel dök upp som sa "skicka ett SMS
till alla kunder i Moskva ", blev städerna transactional
registrerar också, annars skulle vi inte kunna svara på frågan "varför gjorde detta SMS
bli skickad".
En tumregel för att särskilja var följande:är det bara mitt företags verksamhet?
Om en av mina anställda fattade ett beslut baserat på data från databasen (som han gjorde en rapport utifrån vilken något ledningsbeslut togs, och sedan datarapporten baserades på försvann), ansågs det OK att radera dessa data.
Men om beslutet påverkade några omedelbara handlingar med kunder (som att ringa, krångla med kundens saldo etc.), behölls allt som ledde till dessa beslut för alltid.
Det kan variera från en affärsmodell till en annan:ibland kan det krävas att även interna data registreras, ibland är det OK att radera data som påverkar omvärlden.
Men för vår affärsmodell fungerade regeln från ovan bra.