Dipende da quanto è brutto e da quanto controllo hai sul design e su cosa interagisce con esso. Nel corso del mio attuale lavoro ho dovuto interagire con una serie di brutti database, ed ecco come li ho gestiti:
Dati dei dipendenti
C'è il database che contiene i dati dei dipendenti. È un database di fornitori, quindi non ho alcun controllo su di esso. (Un?) Per fortuna, non ho accesso diretto ad esso. Ricevo una discarica DTS ogni mattina.
La cosa migliore che sono stato in grado di gestire è scrivere uno script che scrubba l'input dal dump mattutino (sì, quella scelta delle parole era intenzionale) e la migra in un formato più utile e lavora dai dati cancellati.
Anche se potessi cambiarlo, probabilmente non lo farei - solo perché ci sono molti altri programmi che si basano sul fatto che sia impostato così com'è, e non posso forzare un cambiamento in essi.
Dati di addestramento online
Questo era un disastro del mio stesso design. L'ho costruito appena uscito dal college senza un mentore per aiutarmi ... Da allora l'ho risolto un po 'alla volta. Dal momento che controllo l'unico programma che accede ai dati, mentre aggiorno parti del sito "aggiornerò" la configurazione del database. Scriverò uno script di trasformazione e lo testerò vigorosamente su una copia in modo da poter garantire che tutte le modifiche che devono essere apportate vengano apportate.
È stato un processo lungo, ma sta procedendo bene.
Dati di addestramento in classe
Il mio progetto pilota ha integrato i dati di 3 diversi database, tutti progettati in modo leggermente diverso dal mio predecessore ... che era un educatore infermiere che ha seguito una o due lezioni di programmazione.
È stato un altro processo lento. Dal momento che ho il pieno controllo dei programmi che accedono ai dati, lo sto cambiando a poco a poco come i dati di addestramento online.
Col senno di poi, questo sarebbe stato un candidato privilegiato per iniziare pulito ... la vista posteriore è sempre 20/20.
Alla fine...
Non so quanto sia stato utile, e posso elaborarne di più (a un certo punto, yada yada legale della società e tutto il resto). La risposta finale è "Dipende".