Ho iniziato a lavorare in una nuova organizzazione e uno dei pattern che ho visto nel database è la duplicazione dei campi per rendere le query di scrittura più semplici per gli analisti di business. Stiamo usando Django e il suo ORM.
In un caso, manteniamo un oggetto MedicalRecordNumber con una stringa univoca che identifica un paziente in un determinato contesto. Abbiamo Registration oggetti che tracciano i pazienti e hanno MedicalRecordNumbers associati, ma piuttosto che usare una relazione di chiave esterna, duplicano la stringa in modo che possano evitare di scrivere un join ( non per motivi di prestazioni). Questo modello è comune in tutto il database.
Per me l'importanza di un modello di dati pulito è solo così posso pensarci bene. La complessità inutile è uno spreco del mio limitato tempo di elaborazione cognitiva. È un problema sistematico. Non essere a proprio agio nello scrivere join è un problema di abilità rettificabile. Non voglio necessariamente sostenere di tornare indietro e modificare lo schema, ma mi piacerebbe essere in grado di articolare in modo convincente i problemi con questo tipo di duplicazione.