1
00:00:00,290 --> 00:00:01,480
Va bene torneremo.

2
00:00:01,530 --> 00:00:04,630
È giunto il momento per noi di iniziare a lavorare con le sedi di database interattive.

3
00:00:04,770 --> 00:00:09,270
E prima che scriviamo effettivamente il codice, voglio solo fare qualche minuto qui, quindi

4
00:00:09,270 --> 00:00:14,850
parleremo abbastanza rapidamente di quali database sono realmente e quindi di introdurre due ampie categorie di database

5
00:00:14,850 --> 00:00:18,690
che sono sequel database o Escudo contro nessun sequel o no.

6
00:00:18,690 --> 00:00:20,120
Q Tutti i database.

7
00:00:20,720 --> 00:00:21,060
OK.

8
00:00:21,060 --> 00:00:26,160
Quindi iniziamo qui e per iniziare voglio illustrare il problema che abbiamo adesso.

9
00:00:26,250 --> 00:00:32,340
Ho la demo di richiesta POST che esegue questi amici su dove posso elencare tutti i miei amici e possiamo

10
00:00:32,340 --> 00:00:33,410
aggiungere alcuni nuovi amici.

11
00:00:33,600 --> 00:00:39,450
Ne ho appena fatto uno nuovo oggi, di nome Garfield, e un altro amico la chiama mia.

12
00:00:40,550 --> 00:00:41,120
OK.

13
00:00:41,310 --> 00:00:48,780
E poi posso tornare qui e se spengo il server e ricominciato, aggiorno la mia pagina.

14
00:00:49,340 --> 00:00:51,520
Hai appena perso due amici.

15
00:00:51,570 --> 00:00:57,240
Quindi il problema che stiamo affrontando è che i nostri dati non persistono se il nostro server si ferma per qualsiasi

16
00:00:57,690 --> 00:00:59,430
motivo, sia perché è stato spento.

17
00:00:59,430 --> 00:01:00,390
Volevamo riavviarlo.

18
00:01:00,390 --> 00:01:06,360
Abbiamo apportato alcune modifiche al codice o se è perché la potenza si spegne o si verifica qualche

19
00:01:06,360 --> 00:01:12,990
evento anomalo se il server si arresta, perdiamo tutti i dati che è ovviamente una cosa veramente brutta per un'applicazione web.

20
00:01:13,600 --> 00:01:18,450
Se Facebook ha perso i tuoi dati ogni volta che ti sei disconnesso o ogni volta che il server si è fermato,

21
00:01:18,450 --> 00:01:21,700
questo sarebbe davvero pessimo per Facebook, anche se potrebbe essere abbastanza buono per me.

22
00:01:21,840 --> 00:01:22,980
Sarei produttivo.

23
00:01:23,040 --> 00:01:27,840
Ho smesso di confrontarmi con i miei amici di Stop cercando di dimostrare a tutti che io vivo una vita divertente

24
00:01:28,050 --> 00:01:29,530
e ho appena finito di fare cose.

25
00:01:29,940 --> 00:01:33,940
Quindi tutto questo è per dire che i database ci aiuteranno a risolvere questo problema.

26
00:01:34,230 --> 00:01:38,950
Quindi parliamo di quali database sono nella definizione più semplice possibile.

27
00:01:38,950 --> 00:01:47,160
Il database è una raccolta di dati di informazione, ma un database non è solo una raccolta di informazioni.

28
00:01:47,490 --> 00:01:53,910
Quindi se avessimo un file solo un file di testo e sublime che conteneva un mucchio di informazioni e lo abbiamo salvato

29
00:01:53,910 --> 00:01:55,100
non sarebbe un database.

30
00:01:55,380 --> 00:01:57,100
Sì, potrebbe archiviare i dati per noi.

31
00:01:57,120 --> 00:02:02,100
l'aggiunta di un nuovo utente al database o se sta rimuovendo tutti gli utenti o modificando

32
00:02:02,100 --> 00:02:08,130
un utente esistente o qualunque cosa sia ci deve essere un modo per noi di interagire con i dati.

33
00:02:08,130 --> 00:02:14,550
Potrebbe essere una raccolta di informazioni, ma l'altro aspetto importante dei database è che hanno un'interfaccia per interagire con quei dati

34
00:02:14,550 --> 00:02:16,830
sia che si aggiungano nuove informazioni come

35
00:02:16,890 --> 00:02:22,740
Quindi un database è una raccolta di informazioni e contiene un'interfaccia.

36
00:02:23,160 --> 00:02:27,350
Quando dico un'interfaccia intendo che possiamo scrivere codice per interagire con esso.

37
00:02:27,360 --> 00:02:33,470
Quindi, se hai mai lavorato con un database sequel prima che tu possa aver visto cose come

38
00:02:34,090 --> 00:02:36,340
questa select star, dovrei capitalizzare questo.

39
00:02:37,820 --> 00:02:41,270
È come una star dagli utenti.

40
00:02:41,280 --> 00:02:44,630
O potresti vedere qualcosa come insert blah blah blah into.

41
00:02:44,730 --> 00:02:51,930
E questo è un linguaggio chiamato sequel e questa è l'interfaccia per alcuni database che il linguaggio che

42
00:02:51,930 --> 00:02:53,730
useremo assomiglia a questo.

43
00:02:53,910 --> 00:03:08,820
D-B dot dog dot find o D-B dot dogs dot delete e cancellerà i cani dove abbiamo solo 14 anni.

44
00:03:09,060 --> 00:03:13,430
Purtroppo tutti i miei cani sono morti a quell'età e voglio parlarne e cancellerò tutti

45
00:03:13,430 --> 00:03:14,790
i cani di 14 anni.

46
00:03:15,210 --> 00:03:20,070
Entreremo nello specifico della lingua nel prossimo video, ma voglio solo che tu ne sia consapevole.

47
00:03:20,160 --> 00:03:24,690
Questo è ciò che intendo quando dico che c'è un'interfaccia per la raccolta di informazioni sulla barra dati.

48
00:03:25,830 --> 00:03:26,400
OK.

49
00:03:26,400 --> 00:03:31,950
Quindi l'ultima cosa che voglio fare è parlare delle due grandi categorie o due delle

50
00:03:31,950 --> 00:03:38,240
ampie categorie di database e quelle sono sequel che è anche chiamato database relazionale contro no.

51
00:03:38,250 --> 00:03:43,830
Come ben sai sequel che sono chiamati database non relazionali quando sto parlando con i miei studenti di

52
00:03:43,830 --> 00:03:49,830
database molti di loro hanno avuto qualche esperienza con qualche tipo di database, sia che si trattasse di marketing

53
00:03:49,830 --> 00:03:52,130
o vendita al dettaglio o qualcosa di online.

54
00:03:52,200 --> 00:03:57,810
per tutti gli Skewes nello spazio o di un database per il libro paga di tutti gli impiegati e di quello

55
00:03:57,810 --> 00:04:05,010
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

56
00:04:05,010 --> 00:04:09,870
tue foto i tuoi commenti i tuoi post come i tuoi tag tutto ciò che è memorizzato nei database.

57
00:04:10,140 --> 00:04:14,700
Praticamente tutte le aziende là fuori hanno un database di solito un sacco di database con molte

58
00:04:14,700 --> 00:04:17,420
informazioni in esso, sia che si tratti di un database

59
00:04:17,430 --> 00:04:22,470
Quando parlo con gli studenti di database, gli studenti che hanno familiarità e hanno esperienza con

60
00:04:22,830 --> 00:04:30,120
i database hanno quasi sempre esperienza con database sequel o relazionali e questo perché i database sequel sono stati il ​​più lungo e

61
00:04:30,180 --> 00:04:34,950
sono ciò che la maggior parte delle persone pensa quando pensano di un database.

62
00:04:35,280 --> 00:04:38,970
Quindi ora parliamo di quali sequel basano i dati che cosa significa relazionale.

63
00:04:39,270 --> 00:04:43,740
Quindi i database sequel sono database tabulari e sono piatti.

64
00:04:43,830 --> 00:04:45,120
Lascia che ti mostri cosa intendo.

65
00:04:45,120 --> 00:04:52,290
Quindi ho alcuni diagrammi grezzi che ho digitato e questo mostra quali potrebbero essere le tabelle per un

66
00:04:52,290 --> 00:04:54,530
database che coinvolgono utenti e commenti.

67
00:04:54,540 --> 00:04:57,760
Iniziamo concentrandoci sugli utenti.

68
00:04:57,840 --> 00:05:04,110
Quindi, ciò che dobbiamo fare in un database relazionale o in un database Seacole è definire come appare un utente.

69
00:05:04,500 --> 00:05:12,840
Quindi un utente ha un ID come nome ed età e una città e quindi ogni singolo utente che aggiungiamo deve seguire

70
00:05:12,840 --> 00:05:13,520
quel modello.

71
00:05:14,420 --> 00:05:20,280
Quindi stiamo definendo queste tabelle e quindi aggiungiamo le istanze dell'utente o degli utenti a questa

72
00:05:20,840 --> 00:05:23,780
tabella e supponiamo che abbia anche dei commenti.

73
00:05:23,840 --> 00:05:26,220
Quindi voglio che un utente sia in grado di commentare.

74
00:05:26,330 --> 00:05:33,830
Quindi ho una tabella dei commenti e tutto ciò che un commento ha è un ID e qualche testo del commento come EHLO

75
00:05:33,830 --> 00:05:41,030
o vieni a visitare il Montana o amo i cuccioli se voglio che ci sia una relazione tra utenti e commenti dove

76
00:05:41,600 --> 00:05:45,130
un utente può avere un commento quelli associati ad esso.

77
00:05:45,320 --> 00:05:51,370
Quindi Ira ho sentito che chi ha 24 anni da Missoula può essere associato ad alcuni di questi commenti qui.

78
00:05:51,410 --> 00:05:55,160
Come vieni a visitare Montana e seriamente il Montana è fantastico.

79
00:05:55,160 --> 00:06:00,590
L'unico modo per farlo per esprimere questa relazione è attraverso un altro tavolo che è quello che

80
00:06:00,590 --> 00:06:01,120
abbiamo qui.

81
00:06:01,330 --> 00:06:03,020
E questi sono chiamati tabelle di join.

82
00:06:03,170 --> 00:06:08,450
E ciò che questa tabella fa è che unisce l'ID di un utente con un ID di commento.

83
00:06:08,450 --> 00:06:14,700
Quindi in questo caso vediamo che l'utente con ID uno possiede il commento con ID 3.

84
00:06:14,930 --> 00:06:24,560
Questo significa che Tim ha detto che amo i cuccioli e l'utente con l'idea di due commentati due volte e

85
00:06:24,560 --> 00:06:27,270
quei commenti o idee per un'idea.

86
00:06:27,560 --> 00:06:33,080
Quindi possiamo vedere che l'IRA ha commentato di venire a visitare il Montana e anche seriamente.

87
00:06:33,080 --> 00:06:34,360
Il Montana è fantastico

88
00:06:34,370 --> 00:06:36,470
E sì 110 è fantastico.

89
00:06:36,500 --> 00:06:39,740
Quello che voglio davvero mostrare con tutto questo è che tutto è tabellare.

90
00:06:39,800 --> 00:06:44,020
Quindi dobbiamo definire un tavolo in anticipo e non è affatto flessibile.

91
00:06:44,120 --> 00:06:48,830
Supponiamo di voler aggiungere un altro attributo all'IRA che era il colore preferito

92
00:06:48,830 --> 00:06:50,590
e volevo impostarlo come viola.

93
00:06:50,690 --> 00:06:54,240
Dovrei quindi aggiungere un colore preferito per tutti.

94
00:06:54,240 --> 00:07:01,040
Chiamiamolo un colore preferito e dovrebbe essere vuoto, quindi dovrei avere Noel o non definito o

95
00:07:01,040 --> 00:07:05,900
nyl o semplicemente falso o qualcosa qui per ogni singola persona.

96
00:07:06,020 --> 00:07:07,450
Quindi non è flessibile.

97
00:07:07,530 --> 00:07:13,010
Quello che devo fare è definire i modelli esatti di come appare un utente e quindi ho bisogno

98
00:07:13,010 --> 00:07:15,300
di seguire quel modello molto da vicino.

99
00:07:15,410 --> 00:07:22,760
Quindi l'altro tipo di database non relazionali di database o no database e probabilmente li prendi

100
00:07:22,760 --> 00:07:23,900
andando qui.

101
00:07:23,900 --> 00:07:26,240
Non dobbiamo definire i modelli in anticipo.

102
00:07:26,240 --> 00:07:27,660
Sono molto più flessibili.

103
00:07:27,890 --> 00:07:32,400
Quindi ecco un esempio di rappresentazione di irah usando un database non relazionale.

104
00:07:32,480 --> 00:07:33,670
Non ci sono tavoli

105
00:07:33,710 --> 00:07:37,880
Quindi non dobbiamo definire questa struttura tabulare e le cose possono essere annidate.

106
00:07:37,880 --> 00:07:40,380
Quindi non è un database piatto.

107
00:07:40,670 --> 00:07:43,780
Quindi puoi vedere qui sembra proprio come javascript.

108
00:07:43,790 --> 00:07:45,360
In effetti è davvero molto simile.

109
00:07:45,530 --> 00:07:51,590
È qualcosa chiamato beats su cui sta la notazione di oggetti binari javascript ma è fondamentalmente oggetti javascript che

110
00:07:51,680 --> 00:07:57,110
ci sono familiari e hanno un sacco di coppie di valori chiave, quindi il nome è Ira.

111
00:07:57,490 --> 00:08:00,530
L'età è 24 città è Missoula.

112
00:08:00,530 --> 00:08:02,510
E poi questa è la parte veramente importante.

113
00:08:02,510 --> 00:08:06,040
I commenti possono essere semplicemente annidati all'interno dei dati.

114
00:08:06,110 --> 00:08:07,760
Non devo occuparmi di IDS.

115
00:08:07,850 --> 00:08:10,390
Non devo definire questo tavolo prima del tempo.

116
00:08:10,490 --> 00:08:16,820
Posso solo annidare i commenti qui e iniziare ad aggiungere oggetti e se ricomincio qualcos'altro, posso

117
00:08:16,820 --> 00:08:19,910
semplicemente aggiungere un altro commento push in quell'array.

118
00:08:19,910 --> 00:08:27,360
E quindi questo commento potrebbe dire perché a nessuno importa di Tanno.

119
00:08:27,790 --> 00:08:29,120
E questa è davvero una bella domanda.

120
00:08:29,150 --> 00:08:30,470
Non lo so neanche io.

121
00:08:30,590 --> 00:08:36,290
Così finiamo ora con questa struttura molto flessibile dove, se volessimo, potrei semplicemente definire il

122
00:08:36,290 --> 00:08:37,270
colore preferito qui.

123
00:08:37,400 --> 00:08:47,870
Il colore preferito è viola e quindi potrei avere un altro utente che si chiama Tammy.

124
00:08:47,870 --> 00:08:52,900
E Tammy può avere 24 anni anche da uno zoo e non avrà affatto un colore fave.

125
00:08:52,910 --> 00:08:57,290
E invece lei ha il cibo preferito che è revi.

126
00:08:57,320 --> 00:08:57,550
Tutto ok.

127
00:08:57,560 --> 00:08:58,740
Quindi questo è abbastanza.

128
00:08:58,850 --> 00:09:05,060
in realtà solo l'ampia differenza che i database sequel o database relazionali sono stati i più lunghi.

129
00:09:05,120 --> 00:09:10,730
Ma volevo davvero concentrarmi su tutto questo, è la differenza tra relazionale e non relazionale, quindi

130
00:09:10,790 --> 00:09:14,920
non i dettagli nitidi della sintassi o il modo in cui funziona

131
00:09:15,010 --> 00:09:19,580
Sono ciò che pensa la maggior parte delle persone quando pensano ai database in cui dobbiamo definire una tabella.

132
00:09:19,640 --> 00:09:25,520
Tutto è tabellare e se vogliamo mettere in relazione i dati dobbiamo avere più tabelle per mettere in

133
00:09:25,610 --> 00:09:31,940
relazione questi dati e usiamo spesso ID per farlo con un database non relazionale, su cui ci concentreremo per

134
00:09:31,940 --> 00:09:34,040
la maggior parte di questo corso.

135
00:09:34,130 --> 00:09:36,660
Non dobbiamo definire alcun tipo di tabella.

136
00:09:36,680 --> 00:09:41,930
In realtà non abbiamo tabelle e invece abbiamo una struttura molto più flessibile.

137
00:09:41,930 --> 00:09:45,390
Questo non vuol dire che i database non relazionali siano migliori.

138
00:09:45,440 --> 00:09:50,990
Infatti in molti casi non sono quasi sempre in tutti i casi ma ci sono situazioni specifiche in cui

139
00:09:50,990 --> 00:09:55,490
hanno senso e parlerò del perché stiamo usando un database non relazionale nel prossimo video.

140
00:09:55,490 --> 00:10:00,610
Ma non ho bisogno di avere l'impressione che, poiché questo è più flessibile, è intrinsecamente migliore.

141
00:10:00,620 --> 00:10:05,600
Non è questo il caso, ma è più flessibile e se questo è ciò che stai cercando,

142
00:10:05,600 --> 00:10:07,590
allora vuoi usare un database non relazionale.

143
00:10:07,670 --> 00:10:09,580
Va bene, concludiamo.

144
00:10:09,650 --> 00:10:11,980
Un database è una raccolta di informazioni.

145
00:10:12,020 --> 00:10:17,330
Ha un'interfaccia una sorta di linguaggio una sorta di tecnologia o strumenti per interagire con i

146
00:10:17,480 --> 00:10:22,910
dati aggiungere nuove cose leggere le cose dal database cancellare cose modificare le cose e poi ci

147
00:10:22,910 --> 00:10:26,460
sono due grandi categorie di sequel di database e nessun sequel.

148
00:10:26,840 --> 00:10:27,460
OK.
