Siete dei Bravi DBA/DB Designer?
Dato che la semplice menzione del fatto che esistono modi migliori di
progettare un database che includere una chiave primaria autogenerata
ha suscitato un vespaio, ho pensato di includere questo piccolo test
per verificare quanti "buoni" dba esistono al mondo. La mia
percezione e' che non ce ne sono molti.
- Un DataBase si definisce relazionale se...
- Rispetta almeno in parte le regole di relazionalita'
definite da Codd.
- Consente di stabilire delle relazioni tra le
entita' gestite utilizzando attributi delle stesse entita'
- Consente chiavi primarie autogenerate
- Ci posso tenere le ricette di cucina
- Una caratteristica essenziale di un database relazionale e' che...
- Ogni tabella deve possedere almeno una chiave primaria che
identifica in modo univoco ed immutabile ogni entita' contenuta nella
tabella.
- Ogni tabella puo' avere piu' chiavi
- Le chiavi autogenerate possono essere modificate in ogni momento.
- Ci posso tenere anche la lista dei miei mp3 illegali
- Una tabella si definisce "normalizzata" se...
- Contiene solo attributi che non possono essere desunti dal valore di
altri attributi nella stessa entita'
- Ha una chiave primaria
- Ha una chiave autogenerata
- normache?
- La "denormalizzazione" e' una procedura che si applica...
- Alla struttura del database al termine della progettazione
- Agli indici del database
- Non si applica mai!
- denorche?
- Lo scopo della "denormalizzazione" e'...
- L'ottimizzazione del funzionamento del database tenendo conto non solo delle
informazioni che sono contenute, ma del modo come il sistema verra' utilizzato in
pratica.
- Minimizzare gli indici del database
- Non si denormalizza mai!
- hemmm... firulin' firula'...
- Al termine della "denormalizzazione" la struttura del database
definita...
- Viene verificata e testata per assicurarsi che risponda ai criteri
funzionali richiesti e mantenga l'integrita' referenziale.
- Viene data al programmatore per scrivere il programma (doh!)
- Vengono aggiunte tutte le chiavi primarie autogenerate
- Ci posso anche tenere l'elenco dei libri... quei 3 che ho...
- Se il database lo supporta, l'uso di stored procedures e
triggers e'...
- Un ottimo sistema per sfruttare le capacita' intrinseche del
database e scaricare il front-end della necessita' di atturare tutta
l'elaborazione e la logica applicativa.
- Una vaccata inventata per dare piu' potere ai DBA. Morte ai DBA!
- Una cosa inutile che impedisce di passare dal database tizio al
datbase caio senza rifare tutto da capo.
- Tricosa?
- Una delle prime fasi nella progettazione di un database e'...
- Definire le funzionalita' del sistema che lo utilizzera' discutendo
le richieste e le possibilita' con gli utenti.
- Scrivere il codice
- Definire tutte le chiavi primarie autogenerate
- Fare click su "crea nuovo"
- L'ottimizzazione del database e' un processo...
- Estremamente complesso che richiede la comprensione di come il sistema
viene usato e di come le query vengono eseguite dal motore interno.
- Che richiede di comperare un computer piu' grosso. Con i dishi in Raid!
- Che consiste nel mettere in ogni tabella una chiave primaria autogenerata
- Si fa click su "ottimizza"
- Se le performance di un database non sono ottimali la prima cosa da
controllare e'
- Se il problema e' durante la lettura o la scrittura delle informazioni.
- Se si puo' comperare un computer piu' nuovo.
- Se ogni tabella ha delle chiavi autogenerate.
- Se c'e' un contratto di assistenza.
- Un problema di performance durante la lettura dei dati e' una indicazione
che...
- Gli indici usati dalla query sono probabilmente sbagliati o non aggiornati,
la query e' mal disegnata e non utilizza gli indici in modo efficiente.
- Ci vuole un computer piu' nuovo.
- Le chiavi autogenerate non sono abbastanza randomiche.
- E' ora di chiamare il mio amico quello bravo coi pc.
- Un problema di performance durante la scrittura dei dati e' una indicazione
che...
- Il sistema ha forse troppi indici che devono essere aggiornati, utilizza
male la cache o il partizionamento delle tabelle e' mal progettato e richiede
la riscrittura di troppi elementi a basso livello nella struttura del database.
- Ci vuole il Raid
- Ci vogliono piu' chiavi primarie autogenerate
- E' ora di chiamare l'altro mio amico, quello meglio.
Non devo dirvi quali sono le risposte "giuste" vero?
Nota importantissima
Non inviate commenti che reiterano il vostro amore smodato ed imperituro
per le chiavi autogenerate, ne' con puntualizzazioni o specifiche risibili. Leggetevi
la mia opinione al riguardo e se volete
mandarmi una mail con la vostra opinione siete liberi di farlo, ma tenetevi le vostre
pessime abitudini di progettazione database per voi grazie.