1
00:00:00,290 --> 00:00:01,480
Está bien, volveremos.

2
00:00:01,530 --> 00:00:04,630
Es hora de que comencemos a trabajar con las bases de datos para interactuar con las ubicaciones.

3
00:00:04,770 --> 00:00:09,270
Y antes de escribir el código, solo quiero tomar unos minutos aquí, así que hablaremos bastante

4
00:00:09,270 --> 00:00:14,850
rápido sobre las bases de datos en realidad y luego presentaremos dos categorías amplias de bases de datos que

5
00:00:14,850 --> 00:00:18,690
son bases de datos de secuencias o Escudo versus no secuela o no.

6
00:00:18,690 --> 00:00:20,120
Q Todas las bases de datos.

7
00:00:20,720 --> 00:00:21,060
DE ACUERDO.

8
00:00:21,060 --> 00:00:26,160
Comencemos aquí y empiece. Quiero ilustrar el problema que tenemos ahora.

9
00:00:26,250 --> 00:00:32,340
Tengo la demo de solicitud POST dirigiendo a estos amigos donde puedo hacer una lista de todos mis amigos y podemos

10
00:00:32,340 --> 00:00:33,410
agregar algunos nuevos amigos.

11
00:00:33,600 --> 00:00:39,450
Acabo de hacer uno nuevo hoy llamado Garfield y otro amigo llamado su mío.

12
00:00:40,550 --> 00:00:41,120
DE ACUERDO.

13
00:00:41,310 --> 00:00:48,780
Y luego puedo volver aquí y si apago el servidor y comienzo de nuevo y actualizo mi página.

14
00:00:49,340 --> 00:00:51,520
Dios, acabas de perder dos amigos.

15
00:00:51,570 --> 00:00:57,240
Entonces, el problema al que nos enfrentamos es que nuestros datos no persisten si nuestro servidor se detiene por algún motivo,

16
00:00:57,690 --> 00:00:59,430
ya sea porque lo hemos apagado.

17
00:00:59,430 --> 00:01:00,390
Queríamos reiniciarlo.

18
00:01:00,390 --> 00:01:06,360
Hicimos algunos cambios en el código o si es porque se corta la energía o ocurre algún evento

19
00:01:06,360 --> 00:01:12,990
extraño si el servidor se detiene, perderíamos todos los datos, lo que obviamente es realmente algo malo para una aplicación web.

20
00:01:13,600 --> 00:01:18,450
Si Facebook pierde tus datos cada vez que cierras la sesión o cada vez que el servidor se detiene eso

21
00:01:18,450 --> 00:01:21,700
sería realmente muy malo para Facebook, aunque podría ser bastante bueno para mí.

22
00:01:21,840 --> 00:01:22,980
Sería productivo

23
00:01:23,040 --> 00:01:27,840
Dejé de compararme con mis amigos en Detener el intento de demostrarles a todos que vivo una vida divertida

24
00:01:28,050 --> 00:01:29,530
y que solo hago las cosas.

25
00:01:29,940 --> 00:01:33,940
Entonces, todo esto es para decir que las bases de datos nos ayudarán con este problema.

26
00:01:34,230 --> 00:01:38,950
Entonces, hablemos sobre qué bases de datos están en la definición más simple posible.

27
00:01:38,950 --> 00:01:47,160
La base de datos es una recopilación de datos de información, pero una base de datos no es solo una recopilación de información.

28
00:01:47,490 --> 00:01:53,910
Entonces, si tuviéramos un archivo solo un archivo de texto y sublime que tuviera un montón de información y lo guardemos, eso no sería

29
00:01:53,910 --> 00:01:55,100
una base de datos.

30
00:01:55,380 --> 00:01:57,100
Sí, podría almacenar datos para nosotros.

31
00:01:57,120 --> 00:02:02,100
nueva como agregar un nuevo usuario a la base de datos o eliminar a todos los usuarios

32
00:02:02,100 --> 00:02:08,130
o editar un usuario existente o lo que sea que esté ahí debe ser una forma de interactuar con los datos.

33
00:02:08,130 --> 00:02:14,550
Puede ser una recopilación de información, pero el otro aspecto importante de las bases de datos es que tienen una interfaz para

34
00:02:14,550 --> 00:02:16,830
interactuar con esos datos, ya sea agregar información

35
00:02:16,890 --> 00:02:22,740
Entonces, una base de datos es una colección de datos borrados de información y tiene una interfaz.

36
00:02:23,160 --> 00:02:27,350
Cuando digo interfaz quiero decir que podemos escribir código para interactuar con él.

37
00:02:27,360 --> 00:02:33,470
Entonces, si alguna vez has trabajado con una base de datos secuela antes de que hayas visto cosas

38
00:02:34,090 --> 00:02:36,340
como esta estrella selecta, debo capitalizar esto.

39
00:02:37,820 --> 00:02:41,270
Es como una estrella de los usuarios.

40
00:02:41,280 --> 00:02:44,630
O quizás veas algo como insertar blah blah blah.

41
00:02:44,730 --> 00:02:51,930
Y este es un lenguaje llamado Secuela y esta es la interfaz para algunas bases de datos. El lenguaje que vamos

42
00:02:51,930 --> 00:02:53,730
a usar se ve así.

43
00:02:53,910 --> 00:03:08,820
D-B dot dogs dot find o D-B dot dogs dot delete y borraremos los perros donde tenemos 14 años de edad.

44
00:03:09,060 --> 00:03:13,430
Lamentablemente, todos mis perros murieron a esa edad y quiero hablar de ello y eliminaré todos los

45
00:03:13,430 --> 00:03:14,790
perros que tengan 14 años.

46
00:03:15,210 --> 00:03:20,070
Vamos a entrar en los detalles del lenguaje en el próximo video, pero solo quiero que sepan.

47
00:03:20,160 --> 00:03:24,690
Esto es lo que quiero decir cuando digo que hay una interfaz para la recopilación de información sobre el corte de datos.

48
00:03:25,830 --> 00:03:26,400
DE ACUERDO.

49
00:03:26,400 --> 00:03:31,950
Entonces, lo último que quiero hacer es hablar sobre las dos amplias categorías o dos de las

50
00:03:31,950 --> 00:03:38,240
amplias categorías de bases de datos y esas son secuelas que también se llaman bases de datos relacionales versus no.

51
00:03:38,250 --> 00:03:43,830
Como bien saben secuelas que se llaman bases de datos no relacionales cuando hablo con mis alumnos sobre

52
00:03:43,830 --> 00:03:49,830
bases de datos, muchos de ellos han tenido alguna experiencia con algún tipo de base de datos, ya sea

53
00:03:49,830 --> 00:03:52,130
en marketing o venta minorista o en línea.

54
00:03:52,200 --> 00:03:57,810
en la brecha o una base de datos para la nómina de todos los empleados y lo que se les

55
00:03:57,810 --> 00:04:05,010
pagó, y cuándo o si se trata de un conjunto de datos sobre usuarios como Facebook, donde está almacenando toda su información de usuario en sus

56
00:04:05,010 --> 00:04:09,870
fotos, sus comentarios, sus publicaciones, sus "me gusta", sus etiquetas, todo eso está almacenado en bases de datos.

57
00:04:10,140 --> 00:04:14,700
Prácticamente todas las empresas tienen bases de datos, generalmente muchas bases de datos con mucha información,

58
00:04:14,700 --> 00:04:17,420
ya sea una base de datos para todos los Skewes

59
00:04:17,430 --> 00:04:22,470
Cuando hablo con los estudiantes sobre las bases de datos, los estudiantes que están familiarizados y tienen experiencia

60
00:04:22,830 --> 00:04:30,120
con las bases de datos casi siempre solo tienen experiencia con las bases de datos secuelas o relacionales y eso se debe a que las bases

61
00:04:30,180 --> 00:04:34,950
de datos posteriores han durado más tiempo y son lo que mucha gente piensa una base de datos

62
00:04:35,280 --> 00:04:38,970
Así que ahora hablemos sobre qué bases de datos de secuelas significa lo relacional.

63
00:04:39,270 --> 00:04:43,740
Así que las bases de datos de continuación son bases de datos tabulares y son planas.

64
00:04:43,830 --> 00:04:45,120
Déjame mostrarte lo que quiero decir.

65
00:04:45,120 --> 00:04:52,290
Así que tengo algunos diagramas crudos que escribí y esto muestra cómo se verían las tablas para una base de datos

66
00:04:52,290 --> 00:04:54,530
con los usuarios y los comentarios.

67
00:04:54,540 --> 00:04:57,760
Comencemos por enfocarnos en los usuarios.

68
00:04:57,840 --> 00:05:04,110
Entonces, lo que tenemos que hacer en una base de datos relacional o en una base de datos Seacole es definir cómo se ve un usuario.

69
00:05:04,500 --> 00:05:12,840
Entonces, un usuario tiene una ID como nombre y edad y una ciudad, y luego cada usuario que agreguemos debe seguir

70
00:05:12,840 --> 00:05:13,520
ese patrón.

71
00:05:14,420 --> 00:05:20,280
Así que estamos definiendo estas tablas y luego estamos agregando instancias del usuario o de los usuarios a

72
00:05:20,840 --> 00:05:23,780
esta tabla y luego supongamos que también tengo comentarios.

73
00:05:23,840 --> 00:05:26,220
Entonces quiero que un usuario pueda comentar.

74
00:05:26,330 --> 00:05:33,830
Así que tengo una tabla de comentarios y todo lo que un comentario tiene es una identificación y un texto del comentario como

75
00:05:33,830 --> 00:05:41,030
EHLO o ven a visitar Montana o me encantan los cachorros si quiero que exista una relación entre usuarios y comentarios donde

76
00:05:41,600 --> 00:05:45,130
un usuario puede tener un comentario aquellos asociados con eso.

77
00:05:45,320 --> 00:05:51,370
Entonces, Ira, sé quién tiene 24 de Missoula que se puede asociar con algunos de estos comentarios aquí.

78
00:05:51,410 --> 00:05:55,160
Como venir a visitar Montana y seriamente Montana es genial.

79
00:05:55,160 --> 00:06:00,590
La única manera de hacer eso para expresar esta relación es a través de otra tabla que es la que

80
00:06:00,590 --> 00:06:01,120
tenemos aquí.

81
00:06:01,330 --> 00:06:03,020
Y estas se llaman tablas de unión.

82
00:06:03,170 --> 00:06:08,450
Y lo que hace esta tabla es unir el ID de un usuario con un ID de comentario.

83
00:06:08,450 --> 00:06:14,700
Entonces, en este caso, vemos que el usuario con ID uno posee el comentario con ID 3.

84
00:06:14,930 --> 00:06:24,560
Entonces eso significa que Tim dijo que me encantan los cachorros y el usuario con la idea de los dos comentados dos veces y

85
00:06:24,560 --> 00:06:27,270
esos comentarios o ideas para una idea.

86
00:06:27,560 --> 00:06:33,080
Así que podemos ver que IRA comentó venir a visitar Montana y también en serio.

87
00:06:33,080 --> 00:06:34,360
Montana es genial.

88
00:06:34,370 --> 00:06:36,470
Y sí, 110 es genial.

89
00:06:36,500 --> 00:06:39,740
Lo que realmente quiero mostrar con todo esto es que todo es tabular.

90
00:06:39,800 --> 00:06:44,020
Entonces, tenemos que definir una tabla con anticipación y no es muy flexible en absoluto.

91
00:06:44,120 --> 00:06:48,830
Supongamos que quería agregar otro atributo al IRA que era el color favorito y quería configurarlo

92
00:06:48,830 --> 00:06:50,590
para que fuera de color púrpura.

93
00:06:50,690 --> 00:06:54,240
Entonces tendría que agregar un color favorito para todos.

94
00:06:54,240 --> 00:07:01,040
Simplemente digamos que es un color favorito y debería estar vacío, así que tendría que tener Noel

95
00:07:01,040 --> 00:07:05,900
o indefinido o nyl o simplemente falso o algo aquí para cada persona.

96
00:07:06,020 --> 00:07:07,450
Entonces no es flexible.

97
00:07:07,530 --> 00:07:13,010
Lo que tengo que hacer es definir patrones exactos de cómo se ve un usuario y luego tengo

98
00:07:13,010 --> 00:07:15,300
que seguir ese patrón muy de cerca.

99
00:07:15,410 --> 00:07:22,760
Entonces, el otro tipo de bases de datos no relacionales de bases de datos o bases de datos no tan buenas y probablemente

100
00:07:22,760 --> 00:07:23,900
las atrape yendo aquí.

101
00:07:23,900 --> 00:07:26,240
No tenemos que definir patrones con anticipación.

102
00:07:26,240 --> 00:07:27,660
Son mucho más flexibles.

103
00:07:27,890 --> 00:07:32,400
Así que aquí hay un ejemplo de representación de irah usando una base de datos no relacional.

104
00:07:32,480 --> 00:07:33,670
No hay tablas

105
00:07:33,710 --> 00:07:37,880
Entonces no tenemos que definir esta estructura tabular y las cosas se pueden anidar.

106
00:07:37,880 --> 00:07:40,380
Entonces no es una base de datos plana.

107
00:07:40,670 --> 00:07:43,780
Para que pueda ver aquí se ve como javascript.

108
00:07:43,790 --> 00:07:45,360
De hecho, es realmente muy similar.

109
00:07:45,530 --> 00:07:51,590
Se trata de algo llamado beats, que significa notación binaria de objeto javascript, pero básicamente se trata de objetos javascript con los

110
00:07:51,680 --> 00:07:57,110
que estamos familiarizados y tienen un conjunto de pares de valores clave, por lo que el nombre es Ira.

111
00:07:57,490 --> 00:08:00,530
La edad es 24 ciudad es Missoula.

112
00:08:00,530 --> 00:08:02,510
Y luego esta es la parte realmente importante.

113
00:08:02,510 --> 00:08:06,040
Los comentarios se pueden anidar justo dentro de los datos.

114
00:08:06,110 --> 00:08:07,760
No tengo que lidiar con IDS.

115
00:08:07,850 --> 00:08:10,390
No tengo que definir esta tabla antes de tiempo.

116
00:08:10,490 --> 00:08:16,820
Solo puedo anidar los comentarios aquí y simplemente comenzar a agregar objetos, y si vuelvo a comprometerme con otra

117
00:08:16,820 --> 00:08:19,910
cosa, simplemente puedo añadir otro comentario en esa matriz.

118
00:08:19,910 --> 00:08:27,360
Y entonces este comentario podría decir por qué a nadie le importa Tanno.

119
00:08:27,790 --> 00:08:29,120
Y esa es una muy buena pregunta.

120
00:08:29,150 --> 00:08:30,470
Yo tampoco lo sé.

121
00:08:30,590 --> 00:08:36,290
Así que terminamos ahora con esta estructura muy flexible, donde si quisiéramos, podría definir el

122
00:08:36,290 --> 00:08:37,270
color favorito aquí.

123
00:08:37,400 --> 00:08:47,870
El color favorito es el morado y luego podría tener un usuario diferente que se llame Tammy.

124
00:08:47,870 --> 00:08:52,900
Y Tammy también puede tener 24 años en un zoológico y no tendrá ningún color favorito.

125
00:08:52,910 --> 00:08:57,290
Y en cambio ella tiene comida favorita que es revi.

126
00:08:57,320 --> 00:08:57,550
Todo bien.

127
00:08:57,560 --> 00:08:58,740
Entonces eso es suficiente.

128
00:08:58,850 --> 00:09:05,060
la gran diferencia que las bases de datos de seguimiento o las bases de datos relacionales han tenido durante más tiempo.

129
00:09:05,120 --> 00:09:10,730
Pero realmente quería centrarme en todo esto, es la diferencia entre relacional y no relacional, de modo que

130
00:09:10,790 --> 00:09:14,920
no son los detalles esenciales de la sintaxis o cómo funciona en realidad

131
00:09:15,010 --> 00:09:19,580
Es en lo que piensa la mayoría de las personas cuando piensan en las bases de datos donde tenemos que definir una tabla.

132
00:09:19,640 --> 00:09:25,520
Todo es tabular y si queremos relacionar los datos, tenemos que tener múltiples tablas para relacionar esos datos y, a

133
00:09:25,610 --> 00:09:31,940
menudo, usamos IDs para hacer eso con una base de datos no relacional, que es en lo que vamos a enfocarnos durante

134
00:09:31,940 --> 00:09:34,040
la mayor parte de este proceso. curso.

135
00:09:34,130 --> 00:09:36,660
No tenemos que definir ningún tipo de tablas.

136
00:09:36,680 --> 00:09:41,930
En realidad, no tenemos tablas y, en cambio, tenemos una estructura mucho más flexible.

137
00:09:41,930 --> 00:09:45,390
Ahora bien, esto no quiere decir que las bases de datos no relacionales sean mejores.

138
00:09:45,440 --> 00:09:50,990
De hecho, en muchos casos no son casi en todos los casos, pero hay situaciones específicas en las que tienen sentido y

139
00:09:50,990 --> 00:09:55,490
en el siguiente video hablaré acerca de por qué estamos usando una base de datos no relacional.

140
00:09:55,490 --> 00:10:00,610
Pero no necesito dar la impresión de que, debido a que es más flexible, es inherentemente mejor.

141
00:10:00,620 --> 00:10:05,600
Ese no es el caso, pero es más flexible, y si eso es lo que estás buscando, entonces quieres

142
00:10:05,600 --> 00:10:07,590
usar una base de datos no relacional.

143
00:10:07,670 --> 00:10:09,580
Bien, terminemos esto.

144
00:10:09,650 --> 00:10:11,980
Una base de datos es una colección de información.

145
00:10:12,020 --> 00:10:17,330
Tiene una interfaz de algún tipo de lenguaje, algún tipo de tecnología o herramientas para interactuar con los

146
00:10:17,480 --> 00:10:22,910
datos, agregar cosas nuevas, leer cosas de la base de datos, eliminar cosas, editar cosas y luego hay dos

147
00:10:22,910 --> 00:10:26,460
amplias categorías de continuación de las bases de datos y ninguna secuela.

148
00:10:26,840 --> 00:10:27,460
DE ACUERDO.
