Test: Siete dei bravi DBA/DB Designer?


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Login/Register

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.

  1. Un DataBase si definisce relazionale se...
    1. Rispetta almeno in parte le regole di relazionalita' definite da Codd.
    2. Consente di stabilire delle relazioni tra le entita' gestite utilizzando attributi delle stesse entita'
    3. Consente chiavi primarie autogenerate
    4. Ci posso tenere le ricette di cucina
  2. Una caratteristica essenziale di un database relazionale e' che...
    1. Ogni tabella deve possedere almeno una chiave primaria che identifica in modo univoco ed immutabile ogni entita' contenuta nella tabella.
    2. Ogni tabella puo' avere piu' chiavi
    3. Le chiavi autogenerate possono essere modificate in ogni momento.
    4. Ci posso tenere anche la lista dei miei mp3 illegali
  3. Una tabella si definisce "normalizzata" se...
    1. Contiene solo attributi che non possono essere desunti dal valore di altri attributi nella stessa entita'
    2. Ha una chiave primaria
    3. Ha una chiave autogenerata
    4. normache?
  4. La "denormalizzazione" e' una procedura che si applica...
    1. Alla struttura del database al termine della progettazione
    2. Agli indici del database
    3. Non si applica mai!
    4. denorche?
  5. Lo scopo della "denormalizzazione" e'...
    1. 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.
    2. Minimizzare gli indici del database
    3. Non si denormalizza mai!
    4. hemmm... firulin' firula'...
  6. Al termine della "denormalizzazione" la struttura del database definita...
    1. Viene verificata e testata per assicurarsi che risponda ai criteri funzionali richiesti e mantenga l'integrita' referenziale.
    2. Viene data al programmatore per scrivere il programma (doh!)
    3. Vengono aggiunte tutte le chiavi primarie autogenerate
    4. Ci posso anche tenere l'elenco dei libri... quei 3 che ho...
  7. Se il database lo supporta, l'uso di stored procedures e triggers e'...
    1. 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.
    2. Una vaccata inventata per dare piu' potere ai DBA. Morte ai DBA!
    3. Una cosa inutile che impedisce di passare dal database tizio al datbase caio senza rifare tutto da capo.
    4. Tricosa?
  8. Una delle prime fasi nella progettazione di un database e'...
    1. Definire le funzionalita' del sistema che lo utilizzera' discutendo le richieste e le possibilita' con gli utenti.
    2. Scrivere il codice
    3. Definire tutte le chiavi primarie autogenerate
    4. Fare click su "crea nuovo"
  9. L'ottimizzazione del database e' un processo...
    1. Estremamente complesso che richiede la comprensione di come il sistema viene usato e di come le query vengono eseguite dal motore interno.
    2. Che richiede di comperare un computer piu' grosso. Con i dishi in Raid!
    3. Che consiste nel mettere in ogni tabella una chiave primaria autogenerata
    4. Si fa click su "ottimizza"
  10. Se le performance di un database non sono ottimali la prima cosa da controllare e'
    1. Se il problema e' durante la lettura o la scrittura delle informazioni.
    2. Se si puo' comperare un computer piu' nuovo.
    3. Se ogni tabella ha delle chiavi autogenerate.
    4. Se c'e' un contratto di assistenza.

  11. Un problema di performance durante la lettura dei dati e' una indicazione che...
    1. Gli indici usati dalla query sono probabilmente sbagliati o non aggiornati, la query e' mal disegnata e non utilizza gli indici in modo efficiente.
    2. Ci vuole un computer piu' nuovo.
    3. Le chiavi autogenerate non sono abbastanza randomiche.
    4. E' ora di chiamare il mio amico quello bravo coi pc.

  12. Un problema di performance durante la scrittura dei dati e' una indicazione che...
    1. 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.
    2. Ci vuole il Raid
    3. Ci vogliono piu' chiavi primarie autogenerate
    4. 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.

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

Nessun messaggio posta messaggio

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira