‫Tutte le aziende archiviano i dati da un semplice registro di una piccola impresa, magari anche su un diario o su un pezzo
‫di carta, fino a grandi aziende come Amazon che hanno bisogno di computer per archiviare petabyte di dati.
‫Ora, per archiviare queste informazioni, praticamente ogni azienda e talvolta gli individui hanno bisogno di qualcosa
‫chiamato database.
‫Abbiamo visto nell'ultima sezione quanto fosse difficile far ricordare al nostro server un nuovo utente.
‫Ogni volta che il server si è bloccato, la variabile verrà ripristinata e quindi ricomincerà da capo.
‫O se volessimo fare un login o un segno e controllare e scorrere le e-mail e le password, facendo
‫un ciclo attraverso JavaScript, è inefficiente.
‫È qui che il database viene in soccorso.
‫Allora chiediamoci, cos'è un database?
‫Un database è una raccolta di dati.
‫E cosa intendiamo per dati, ce ne sono molte forme, giusto, ci possono essere
‫numeri, possono esserci date, potrebbero esserci password hash, potrebbero esserci informazioni sull'utente.
‫I database ci consentono di organizzare questi dati in un modo che ci è utile e semplificano la gestione dei
‫dati.
‫E ne è venuto fuori qualcosa, e si chiama Database Management System, o DBMS in breve.
‫È una raccolta di programmi che ci consente di accedere a database e lavorare con i dati, oltre a
‫consentire il controllo dell'accesso agli utenti del database.
‫Quindi un DBMS è qualcosa in questa scatola.
‫Qualcosa che ci permetta uno strumento, un software che ci permetta di comunicare.
‫Con il database archiviare le informazioni che ci sono utili e ci permette anche di aggiornare, inserire, eliminare, Look-Up, qualunque cosa ci
‫sia nel database, e questa idea di un DBMS ha iniziato a prendere forma negli anni '60 e ora
‫è in prima linea tante cose eccitanti.
‫C'è un intero settore di ingegneri che lavorano solo con i database perché è così importante.
‫Ora, ci sono due tipi di DBMS che sono molto popolari in questo momento e di cui parleremo in questo
‫corso.
‫E questi due tipi sono rappresentati molto bene da postscript e Mongo DB.
‫Parliamo del primo, che è il database relazionale.
‫E questo è probabilmente il più popolare.
‫Come puoi vedere sul lato destro.
‫Vedete che tutti questi sono database relazionali, post-laurea Oracle, SQL Server.
‫Potresti aver sentito parlare di MySQL, Escorial Lite.
‫Questi sono tutti i tipi di database che hanno questo tag di database relazionale e la bellezza di questi è
‫che sono tutti molto simili.
‫Seguono tutti lo stesso formato standard.
‫I database relazionali sono costituiti da due o più tabelle con colonne e righe.
‫Quindi, in questo caso, gli utenti sono una tabella e un nome completo, il testo del nome utente creato nelle nostre colonne e
‫tutti i valori che hanno qui sono righe.
‫Ogni riga rappresenta una voce in ogni colonna.
‫Quindi è un tipo di informazione molto specifico come nome, indirizzo o numeri di telefono.
‫E poi la relazione tra tabelle e campo.
‫Si chiama schema in un database relazionale, lo schema deve essere chiaramente definito prima di poter aggiungere qualsiasi
‫informazione.
‫E se questo è fonte di confusione in questo momento, non preoccuparti, creeremo effettivamente questi database, quindi ha
‫senso per te.
‫Se avessimo Twitter, ad esempio, puoi vedere qui i tipi di tabelle che avremmo e come
‫lo organizzeremmo.
‫Avremmo una user stable, una tabella tweet, una tabella seguente.
‫E possiamo collegare tutte queste informazioni, ad esempio, collegando diversi pezzi del tavolo.
‫Ad esempio, il nome utente sarà lo stesso nella tabella degli utenti come nella tabella dei tweet.
‫In questo modo, possiamo dire che il nome utente e la tabella dei tweet sono la chiave esterna del nome utente nella
‫tabella dell'utente e quindi dell'utente.
‫Sarà la chiave esterna del nome utente nella tabella seguente.
‫Ora, cose come il nome completo o l'ID, qualcosa che identifica ogni riga in una tabella, è chiamato chiave primaria e lo
‫esamineremo più avanti nella sezione.
‫Va bene, quindi tutti questi database che impareremo a conoscere i post-crisi, ma sono tutti più o meno gli
‫stessi.
‫Quindi, una volta che ne conosci uno, è abbastanza facile raccogliere gli altri.
‫Come comunicano effettivamente con un server con il back-end?
‫Bene, tutti i database relazionali usano qualcosa chiamato oscuro.
‫E chiedi a tutti ci permette di comunicare, proprio come ha fatto HTP tra il front-end e il
‫back-end con tutti voi siete stati in grado di comunicare con il database e modificare o ottenere o aggiornare come vogliamo.
‫E avremo anche un video su questo argomento.
‫Tutto bene.
‫Quindi questi sono i database relazionali.
‫E il secondo tipo?
‫Il secondo tipo è chiamato database non relazionale o database senza ESKIL e, ancora una volta, ci sono molti, molti diversi
‫tipi di database con alcuni nomi interessanti come Kotb e Hyper Table.
‫Ora, un database Mongo o un database non relazionale ti consente di creare un'applicazione senza dover prima
‫definire lo schema, a differenza di un database relazionale.
‫Se torniamo al database relazionale, questo schema o queste tabelle devono essere predefiniti, giusto?
‫Dobbiamo sapere come apparirà la nostra app, creare queste tabelle in modo che una volta che l'app sarà pubblica,
‫possiamo iniziare a inserire informazioni sull'utente, tweet e follower.
‫Senza scuse o database non relazionale, possiamo semplicemente definirlo mentre procediamo e tutti hanno modi diversi
‫di archiviare queste informazioni.
‫Quindi ognuno è molto, molto diverso.
‫E questa è un'altra potente ragione per utilizzare un database non relazionale, è che se i
‫tuoi requisiti di dati non sono chiari all'inizio del tuo progetto e forse hai una quantità enorme di dati non
‫strutturati, potresti non avere il lusso di sviluppare un database relazionale database con uno schema chiaramente definito.
‫Offrono invece una maggiore flessibilità in quanto un database non relazionale sono più simili a cartelle, semplicemente assemblando
‫informazioni correlate di tutti i tipi.
‫Ora, Mongo DB è qualcosa chiamato orientato ai documenti, memorizza le informazioni come documenti.
‫Lascia che ti illustri questo punto.
‫Ho il mio desktop qui con due cartelle.
‫Uno è un database davvero relazionale e qui ci sono i tweet degli utenti, il profilo che segue.
‫E puoi pensare a database relazionali con questo tipo di archiviazione in cui questa cartella risiede da qualche parte su
‫un computer che memorizza queste informazioni e ogni volta che dobbiamo chiedere qualcosa a un database, beh,
‫prendiamo gli utenti.
‫E se vogliamo anche prendere i tweet dell'utente, troviamo l'utente che ci interessa,
‫quindi troviamo i tweet dell'utente che ci interessa anche con la chiave esterna che collega agli utenti.
‫E possiamo anche trovare comunque molti follower che l'utente ha.
‫Prendiamo queste informazioni e le mostriamo sulla nostra app Web.
‫Mongo DB, d'altra parte, avrà effettivamente ogni utente come documento.
‫Quindi, se volessi catturare il primo utente, beh, ho appena preso questo documento e ha tutti i
‫follower, i tweet, il profilo, tutto è in questo unico documento.
‫E potresti pensare che Mongo DB sembri una scelta migliore rispetto a questo.
‫Modo di fare le cose per bene.
‫Bene, dipende dalle tue necessità, ed è per questo che il database è un argomento così complesso.
‫Dipende molto, molto dalla tua situazione.
‫Puoi vedere che questo modo Mongo DB è molto utile se hai qualcosa come un profilo, forse un profilo
‫LinkedIn.
‫Ma se hai bisogno di qualcosa in cui lavori solo con i seguenti dati o solo con i dati dei
‫tweet, forse con i tweet vuoi vedere qual è la dimensione media dei tweet?
‫Bene, è davvero facile prendere questo file e calcolarlo rispetto a questo modo in cui
‫potresti doverlo estrarre da ciascuno degli utenti.
‫Quindi dipende molto dalle tue esigenze.
‫Lascia che ti mostri un altro diagramma che potrebbe essere.
‫Utile.
‫Quando guardiamo ai database relazionali e non relazionali, puoi pensare al relazionale come ogni tabella ha un post sul blog,
‫un tag del blog, un commento sul blog e collega queste tabelle per darti le informazioni del blog rispetto a un non
‫relazionale che memorizza tutto questo post del blog in una voce e contiene commenti, categorie fiscali e tutti gli
‫altri dati correlati in un unico posto.
‫Quindi cosa usa Mongo DB per comunicare?
‫Se torniamo al nostro esempio qui, abbiamo chiesto a tutti voi database relazionali come postcrisis o
‫Mongo.
‫DB ha il proprio linguaggio di query, ed è solo il linguaggio di query Mongo DB.
‫Ma entrambi mirano a fare la stessa cosa, ovvero comunicare con il database, fornire
‫un modo semplice per il server di comunicare con il database.
‫E in questa sezione ne parleremo e finalmente collegheremo i punti e vi mostreremo la
‫potenza dei database una volta che sono connessi a un server.
‫Ci vediamo alla prossima.