Per un programmatore o un appassionato di tecnologia, il concetto di un database è qualcosa che può davvero essere dato per scontato. Forse hai letto la guida di Christian su come MySQL funziona con WordPress Un tutorial MySQL passo passo per i blogger di WordPress self-hosted Un tutorial MySQL passo passo per i blogger di WordPress self-hosted Se sei un blogger, le possibilità sei tu che usi WordPress. Ci sono due modi in cui è possibile utilizzare WordPress, ideale per quelli con un certo know-how tecnico e quelli senza. Il primo è ... Read More, o il mio articolo sull'utilizzo di SQLite Database Browser Scopri SQL o Crea un semplice database con SQLite Browser Browser Scopri SQL o crea un semplice database con SQLite Browser Browser Ti sei mai trovato bisogno di un database, ma non puoi davvero permetterti di accedere a Microsoft Access, e certamente non puoi permetterti di installare e far funzionare un server Oracle a casa. Se il tuo obiettivo è ... Leggi altro per imparare come utilizzare un semplice database. Tuttavia, per molte persone il concetto di un database stesso è un po 'estraneo. Chiamate SQL, query, tabelle, record, chiavi: tutti questi termini e molto altro costituiscono il campo della progettazione del database e della gestione del database, e non c'è molto di tutto ciò che è semplice.
D'altra parte, il concetto di un database relazionale - nella forma più semplice - non deve essere eccessivamente complicato. Prima di assumere che questo non è qualcosa che devi sapere, considera che quasi tutti i giorni della tua vita interagisci con un database di qualche forma. Quando si preleva denaro dallo sportello automatico, si acquista un oggetto utilizzando la propria carta cliente abituale o si fa il badge in palestra, si sta effettivamente compilando un tavolo o tabelle all'interno di un database.
Quindi, perché dovrebbe interessarti? Bene, perché una volta che hai apprezzato come funziona un database e come i dati che sembrano essere completamente indipendenti possano essere correlati ad altri dati, inizierai ad apprezzare davvero - e spero che ci siano più avvertenze - su come queste interconnessioni possano tornare a perseguitarti.
Come mai quell'altra azienda di abbigliamento sapeva di inviarti un catalogo di abbigliamento formale meno di due settimane dopo aver appena acquistato un abito? Come ha fatto il concessionario di auto a sapere tre anni dopo aver acquistato un'auto, che la garanzia è quasi scaduta e di inviarti un'offerta di una garanzia estesa? Si tratta di query, correlazioni tra dati e azioni sui risultati. Questa è la magia di un database.
Come funziona un database
Quindi, se sei un amministratore di database, o un programmatore in grado di scrivere un'istruzione SQL a occhi chiusi, questo post probabilmente ti annoierà fino alle lacrime. Ma se sei completamente nuovo al concetto di database, o sei curioso di sapere come potrebbero essere parte della tua vita senza che tu nemmeno lo sappia, allora questo è l'articolo che fa per te.
Per spiegare come funziona un database, in realtà userò Excel. Excel è uno strumento eccellente per creare un foglio di calcolo, ma un foglio di calcolo è semplicemente una raccolta di quelle che verrebbero chiamate "tabelle" in un database. Una tabella è esattamente ciò che sembra, una tabella piena di dati organizzata per campo.
Nel nostro esempio, fingiamo che questo sia il database di una palestra. Questa palestra immaginaria ha un abbonamento, e possiamo fingere che il tavolo unico sopra sia l'informazione che viene popolata ogni volta che un nuovo socio si iscrive al centro benessere. Parte del processo di registrazione è importante, in modo che il club possa aiutarti a trovare nuovi modi per gestire il tuo peso e la tua salute. In effetti, il centro benessere ha in realtà un bar fantastico con cibi salutari sul menu, i membri possono mangiare qualcosa di sano subito dopo un allenamento o bere qualcosa prima.
Dato che questo è un club molto high-tech, hanno anche aggiunto un altro tavolo al loro database. La prossima tabella riceve nuovi dati ogni volta che un membro acquista qualcosa al bar di cibi salutari. Questa transazione (un altro termine di database per l'addizione o la sottrazione di un record) avviene direttamente nel registro. Noterai che tra le due tabelle ci sono dati simili, come il nome del membro. Esistono anche dati univoci, come l'ID della transazione e la data e l'ora.
I dati univoci aiutano a mantenere tutte le informazioni organizzate, mentre i dati comuni tra tutte le tabelle sono ciò che aiuta i programmatori a connettersi-i-punti, per così dire. Ti mostrerò un po 'di logica in questo momento, ma prima, il club deve aggiungere al suo database in continua crescita. Ovviamente, quando i membri entrano nel club o escono dal club, devono usare il loro id del club per "badge" dentro e fuori usando lo scanner digitale. Questa azione riempie ancora un altro tavolo. Questo nuovo tavolo tiene semplicemente traccia di quando il membro ha fatto il check-in e il check-out del centro benessere.
Così il gioco è fatto. Un database molto semplice che il centro benessere ha messo insieme. Tre tavoli base con usi unici. Uno è l'elenco di registrazione dei soci, l'altro è un record degli acquisti del centro benessere e il terzo è l'orario di accesso e di disconnessione di ciascun membro. Queste sono tutte informazioni apparentemente non correlate, giusto?
Bene, la magia di un database relazionale è che è possibile estrarre informazioni da ciascuna di queste tabelle e quindi correlarle tra loro per ottenere dati davvero interessanti. Ad esempio, diciamo che il club vuole capire che tipo di cibo i membri più pesanti stanno mangiando al bar. Potrebbero facilmente capirlo eseguendo una "query" sul database, chiedendo alla tabella di registrazione dei soci la ponderazione dei membri su un certo peso - diciamo 200 sterline. Quindi, chiederei al tavolo acquisti del caffè per gli acquisti di quelle persone che superano i 200 sterline.
Quando si esegue tale "query" su un database, fornisce i risultati in una sorta di nuova tabella "temporanea". Ecco come si presenta un nuovo tavolo. È un elenco di ciò che i membri più pesanti del club hanno comprato per mangiare e bere al bar del centro benessere.
Il linguaggio di query è in realtà piuttosto semplice, per qualcosa di simile. In Microsoft Access, ad esempio, se la tabella di appartenenza è denominata "membership" e la tabella di acquisto del caffè è "purchase", la query potrebbe essere simile a questa: "SELECT purchase.member, purchase.description, purchase.date FROM purchase WHERE membership .name == purchase.name AND membership.weight> 200 "
Ora, quando inizi a guardare le informazioni raccolte in tutto il centro benessere, puoi vedere quali tipi di cose il club potrebbe capire. Le persone che effettuano l'accesso in determinate ore del giorno tendono a comprare di più al bar? Le persone di determinate fasce d'età tendono a controllare più spesso in determinati momenti della giornata? Tutte queste informazioni aiuteranno un'azienda a implementare cose come campagne pubblicitarie o di marketing.
Altri tipi di database
Ora che sai come funziona un database, che tipo di database potresti incontrare durante la tua vita quotidiana? Bene, sempre la volta che visiti la maggior parte dei blog o dei siti web e pubblichi un commento o accedi, stai interagendo con un database. Nel caso di WordPress, il database ha un aspetto simile a questo.
Come puoi vedere, ci sono un sacco di tabelle - 15 in questo caso - per contenere tutti i tipi di informazioni come i dettagli dell'utente, le informazioni sul post, i commenti e altro. Questa è la spina dorsale di un blog WordPress e molti altri siti avanzati hanno back-end di database simili.
Quando apri una di queste tabelle, ad esempio la tabella dei post, puoi vedere che tutte le informazioni che vengono visualizzate nella pagina web attuale sono archiviate all'interno di un database.
Se sei un giocatore, probabilmente hai interagito con un database. Alcuni giochi dipendono in misura maggiore da un database di back-end e probabilmente i giochi più ricchi di database sono giochi online multiplayer. Ad esempio, se hai familiarità con l'enorme gioco spaziale online OGame, questo è un esempio di un tale gioco online che dipende enormemente da un database per gestire lo spettacolo. Solo la lista dei giocatori per uno qualsiasi dei mondi è chiaramente strutturata esattamente come ci si aspetterebbe da qualsiasi tabella di database.
I database di gioco contengono tutto, dai punteggi degli utenti e i risultati ottenuti alle attuali statistiche sugli oggetti di gioco o alle interrelazioni tra personaggi, oggetti e altro. Un sacco di giochi non sarebbe possibile se non fosse per il database di back-end per eseguire lo spettacolo.
Un altro posto dove ti sei imbattuto in un database è quando fai acquisti online. Vedi quei risultati del prodotto ben formattati che sono elencati su Amazon dopo aver eseguito una query alla ricerca di un prodotto?
Sì, quelli sono stati estratti da un database, usando una query come l'esempio che ho mostrato sopra (anche se leggermente più complicato, ovviamente). E quando vai avanti e decidi di andare avanti con quell'acquisto Amazon, puoi essere certo che i dettagli e la cronologia dell'acquisto stanno popolando l'ennesima tabella nell'enorme database di Amazon.
Un altro posto che non si può sospettare dipende da un database è il proprio registro del computer. Questo è in realtà chiamato un database "gerarchico", perché come si può vedere quando si sfoglia il registro, le informazioni vengono archiviate in più gerarchia piuttosto che in un formato relazionale. Tuttavia, la premessa è la stessa.
Le persone possono effettivamente scrivere query per estrarre informazioni dal registro di sistema che assomigliano a query di database, eccetto la "tabella" di ricerca utilizzata è un KeyName e "ValueName" sono i dati effettivi memorizzati nel database per quella chiave.
Quindi, non è necessario sapere come programmare un database o persino come usarne uno, ma essendo consapevoli dei volumi di dati che questi database possono archiviare e con che facilità possono essere utilizzati per correlare le informazioni che sembrano molto distinti nel mondo reale, puoi stare attento al tipo di informazioni che potresti voler condividere (o non condividere) con le imprese.
Questa spiegazione del design del database ha aiutato a capire come funzionano nella tua vita? Sei sorpreso di quanto sia facile connettere i punti per le cose che fai ogni giorno? Condividi le tue opinioni sui database nella sezione commenti qui sotto.
Crediti immagine: scambio di dati simbolici tramite Shutterstock