Va bene torneremo.
È giunto il momento per noi di iniziare a lavorare con le sedi di database interattive.
E prima che scriviamo effettivamente il codice, voglio solo fare qualche minuto qui, quindi
parleremo abbastanza rapidamente di quali database sono realmente e quindi di introdurre due ampie categorie di database
che sono sequel database o Escudo contro nessun sequel o no.
Q Tutti i database.
OK.
Quindi iniziamo qui e per iniziare voglio illustrare il problema che abbiamo adesso.
Ho la demo di richiesta POST che esegue questi amici su dove posso elencare tutti i miei amici e possiamo
aggiungere alcuni nuovi amici.
Ne ho appena fatto uno nuovo oggi, di nome Garfield, e un altro amico la chiama mia.
OK.
E poi posso tornare qui e se spengo il server e ricominciato, aggiorno la mia pagina.
Hai appena perso due amici.
Quindi il problema che stiamo affrontando è che i nostri dati non persistono se il nostro server si ferma per qualsiasi
motivo, sia perché è stato spento.
Volevamo riavviarlo.
Abbiamo apportato alcune modifiche al codice o se è perché la potenza si spegne o si verifica qualche
evento anomalo se il server si arresta, perdiamo tutti i dati che è ovviamente una cosa veramente brutta per un'applicazione web.
Se Facebook ha perso i tuoi dati ogni volta che ti sei disconnesso o ogni volta che il server si è fermato,
questo sarebbe davvero pessimo per Facebook, anche se potrebbe essere abbastanza buono per me.
Sarei produttivo.
Ho smesso di confrontarmi con i miei amici di Stop cercando di dimostrare a tutti che io vivo una vita divertente
e ho appena finito di fare cose.
Quindi tutto questo è per dire che i database ci aiuteranno a risolvere questo problema.
Quindi parliamo di quali database sono nella definizione più semplice possibile.
Il database è una raccolta di dati di informazione, ma un database non è solo una raccolta di informazioni.
Quindi se avessimo un file solo un file di testo e sublime che conteneva un mucchio di informazioni e lo abbiamo salvato
non sarebbe un database.
Sì, potrebbe archiviare i dati per noi.
l'aggiunta di un nuovo utente al database o se sta rimuovendo tutti gli utenti o modificando
un utente esistente o qualunque cosa sia ci deve essere un modo per noi di interagire con i dati.
Potrebbe essere una raccolta di informazioni, ma l'altro aspetto importante dei database è che hanno un'interfaccia per interagire con quei dati
sia che si aggiungano nuove informazioni come
Quindi un database è una raccolta di informazioni e contiene un'interfaccia.
Quando dico un'interfaccia intendo che possiamo scrivere codice per interagire con esso.
Quindi, se hai mai lavorato con un database sequel prima che tu possa aver visto cose come
questa select star, dovrei capitalizzare questo.
È come una star dagli utenti.
O potresti vedere qualcosa come insert blah blah blah into.
E questo è un linguaggio chiamato sequel e questa è l'interfaccia per alcuni database che il linguaggio che
useremo assomiglia a questo.
D-B dot dog dot find o D-B dot dogs dot delete e cancellerà i cani dove abbiamo solo 14 anni.
Purtroppo tutti i miei cani sono morti a quell'età e voglio parlarne e cancellerò tutti
i cani di 14 anni.
Entreremo nello specifico della lingua nel prossimo video, ma voglio solo che tu ne sia consapevole.
Questo è ciò che intendo quando dico che c'è un'interfaccia per la raccolta di informazioni sulla barra dati.
OK.
Quindi l'ultima cosa che voglio fare è parlare delle due grandi categorie o due delle
ampie categorie di database e quelle sono sequel che è anche chiamato database relazionale contro no.
Come ben sai sequel che sono chiamati database non relazionali quando sto parlando con i miei studenti di
database molti di loro hanno avuto qualche esperienza con qualche tipo di database, sia che si trattasse di marketing
o vendita al dettaglio o qualcosa di online.
per tutti gli Skewes nello spazio o di un database per il libro paga di tutti gli impiegati e di quello
che sono stati pagati e quando o se è un mucchio di dati su utenti come Facebook ha dove sta memorizzando tutte le tue informazioni utente sulle
tue foto i tuoi commenti i tuoi post come i tuoi tag tutto ciò che è memorizzato nei database.
Praticamente tutte le aziende là fuori hanno un database di solito un sacco di database con molte
informazioni in esso, sia che si tratti di un database
Quando parlo con gli studenti di database, gli studenti che hanno familiarità e hanno esperienza con
i database hanno quasi sempre esperienza con database sequel o relazionali e questo perché i database sequel sono stati il ​​più lungo e
sono ciò che la maggior parte delle persone pensa quando pensano di un database.
Quindi ora parliamo di quali sequel basano i dati che cosa significa relazionale.
Quindi i database sequel sono database tabulari e sono piatti.
Lascia che ti mostri cosa intendo.
Quindi ho alcuni diagrammi grezzi che ho digitato e questo mostra quali potrebbero essere le tabelle per un
database che coinvolgono utenti e commenti.
Iniziamo concentrandoci sugli utenti.
Quindi, ciò che dobbiamo fare in un database relazionale o in un database Seacole è definire come appare un utente.
Quindi un utente ha un ID come nome ed età e una città e quindi ogni singolo utente che aggiungiamo deve seguire
quel modello.
Quindi stiamo definendo queste tabelle e quindi aggiungiamo le istanze dell'utente o degli utenti a questa
tabella e supponiamo che abbia anche dei commenti.
Quindi voglio che un utente sia in grado di commentare.
Quindi ho una tabella dei commenti e tutto ciò che un commento ha è un ID e qualche testo del commento come EHLO
o vieni a visitare il Montana o amo i cuccioli se voglio che ci sia una relazione tra utenti e commenti dove
un utente può avere un commento quelli associati ad esso.
Quindi Ira ho sentito che chi ha 24 anni da Missoula può essere associato ad alcuni di questi commenti qui.
Come vieni a visitare Montana e seriamente il Montana è fantastico.
L'unico modo per farlo per esprimere questa relazione è attraverso un altro tavolo che è quello che
abbiamo qui.
E questi sono chiamati tabelle di join.
E ciò che questa tabella fa è che unisce l'ID di un utente con un ID di commento.
Quindi in questo caso vediamo che l'utente con ID uno possiede il commento con ID 3.
Questo significa che Tim ha detto che amo i cuccioli e l'utente con l'idea di due commentati due volte e
quei commenti o idee per un'idea.
Quindi possiamo vedere che l'IRA ha commentato di venire a visitare il Montana e anche seriamente.
Il Montana è fantastico
E sì 110 è fantastico.
Quello che voglio davvero mostrare con tutto questo è che tutto è tabellare.
Quindi dobbiamo definire un tavolo in anticipo e non è affatto flessibile.
Supponiamo di voler aggiungere un altro attributo all'IRA che era il colore preferito
e volevo impostarlo come viola.
Dovrei quindi aggiungere un colore preferito per tutti.
Chiamiamolo un colore preferito e dovrebbe essere vuoto, quindi dovrei avere Noel o non definito o
nyl o semplicemente falso o qualcosa qui per ogni singola persona.
Quindi non è flessibile.
Quello che devo fare è definire i modelli esatti di come appare un utente e quindi ho bisogno
di seguire quel modello molto da vicino.
Quindi l'altro tipo di database non relazionali di database o no database e probabilmente li prendi
andando qui.
Non dobbiamo definire i modelli in anticipo.
Sono molto più flessibili.
Quindi ecco un esempio di rappresentazione di irah usando un database non relazionale.
Non ci sono tavoli
Quindi non dobbiamo definire questa struttura tabulare e le cose possono essere annidate.
Quindi non è un database piatto.
Quindi puoi vedere qui sembra proprio come javascript.
In effetti è davvero molto simile.
È qualcosa chiamato beats su cui sta la notazione di oggetti binari javascript ma è fondamentalmente oggetti javascript che
ci sono familiari e hanno un sacco di coppie di valori chiave, quindi il nome è Ira.
L'età è 24 città è Missoula.
E poi questa è la parte veramente importante.
I commenti possono essere semplicemente annidati all'interno dei dati.
Non devo occuparmi di IDS.
Non devo definire questo tavolo prima del tempo.
Posso solo annidare i commenti qui e iniziare ad aggiungere oggetti e se ricomincio qualcos'altro, posso
semplicemente aggiungere un altro commento push in quell'array.
E quindi questo commento potrebbe dire perché a nessuno importa di Tanno.
E questa è davvero una bella domanda.
Non lo so neanche io.
Così finiamo ora con questa struttura molto flessibile dove, se volessimo, potrei semplicemente definire il
colore preferito qui.
Il colore preferito è viola e quindi potrei avere un altro utente che si chiama Tammy.
E Tammy può avere 24 anni anche da uno zoo e non avrà affatto un colore fave.
E invece lei ha il cibo preferito che è revi.
Tutto ok.
Quindi questo è abbastanza.
in realtà solo l'ampia differenza che i database sequel o database relazionali sono stati i più lunghi.
Ma volevo davvero concentrarmi su tutto questo, è la differenza tra relazionale e non relazionale, quindi
non i dettagli nitidi della sintassi o il modo in cui funziona
Sono ciò che pensa la maggior parte delle persone quando pensano ai database in cui dobbiamo definire una tabella.
Tutto è tabellare e se vogliamo mettere in relazione i dati dobbiamo avere più tabelle per mettere in
relazione questi dati e usiamo spesso ID per farlo con un database non relazionale, su cui ci concentreremo per
la maggior parte di questo corso.
Non dobbiamo definire alcun tipo di tabella.
In realtà non abbiamo tabelle e invece abbiamo una struttura molto più flessibile.
Questo non vuol dire che i database non relazionali siano migliori.
Infatti in molti casi non sono quasi sempre in tutti i casi ma ci sono situazioni specifiche in cui
hanno senso e parlerò del perché stiamo usando un database non relazionale nel prossimo video.
Ma non ho bisogno di avere l'impressione che, poiché questo è più flessibile, è intrinsecamente migliore.
Non è questo il caso, ma è più flessibile e se questo è ciò che stai cercando,
allora vuoi usare un database non relazionale.
Va bene, concludiamo.
Un database è una raccolta di informazioni.
Ha un'interfaccia una sorta di linguaggio una sorta di tecnologia o strumenti per interagire con i
dati aggiungere nuove cose leggere le cose dal database cancellare cose modificare le cose e poi ci
sono due grandi categorie di sequel di database e nessun sequel.
OK.