Faccio parte di un team incaricato di eseguire alcune analisi predittive con un enorme database relazionale. I dati sono un disastro. La documentazione varia da mediocre a errata a assente. Le informazioni sono sparse su tutti i tavoli.
Ad esempio, se voglio abbinare gli indirizzi ai numeri di telefono, posso interrogare tre o quattro tabelle diverse, ciascuna contenente informazioni sconosciute agli altri, e forse ci sono alcune informazioni che non dovrei usare.
Per ottenere dati, le persone con cui lavoro si affidano strongmente al folklore: sanno che per ottenere i numeri di telefono dagli indirizzi, devi interrogare questo e questo in quel modo perché John glielo ha detto alcuni anni fa. E John lo sapeva perché Sam glielo aveva detto. E così via. Il folklore non è essenzialmente sfidato e spesso non è così giusto.
Recuperare le informazioni è un problema e passiamo la maggior parte del nostro tempo semplicemente estraendolo dal database, senza nemmeno provare a fare qualcosa di intelligente con esso.
Mi piacerebbe stabilire uno standard che possiamo usare in tutti i nostri progetti. Inoltre, mi piacerebbe che migliorasse mentre raccogliamo il folklore. Non voglio creare un super documento "How to do it" che probabilmente genererà un milione di varianti locali. Quindi, in sostanza, penso di voler incapsulare la conoscenza del dominio in "qualcosa".
Ho pensato che potremmo creare tabelle che aggregano informazioni sparse in un unico posto, documentano e interrogano quei nuovi tavoli da ora in poi invece di affidarsi al folklore. Quindi non più tre posizioni per numeri di telefono e indirizzi, una tabella TelephoneToAddress
.
Ha senso? Nel contesto dello sfruttamento dei dati, è anche una buona idea?