1
00:00:08,290 --> 00:00:17,080
Hola bienvenidos a una nueva clase y llegó ahora otra etapa se van haciendo un poco más complejas las

2
00:00:17,080 --> 00:00:23,550
cosas y bueno la verdad que yo estoy fascinado con lo que estamos logrando pero podemos hacer más.

3
00:00:23,590 --> 00:00:31,750
Miren tenemos una tabla que es la que va a ir acumulando los videos ya saben propiamente el video no

4
00:00:31,750 --> 00:00:38,500
se va a guardar acá vamos a guardar la ruta pero mucha información que también nos va a ser de utilidad.

5
00:00:38,500 --> 00:00:45,580
Tenemos la fecha en la que se publicó el video entonces esto nos va a permitir mostrar en cada video

6
00:00:45,940 --> 00:00:51,550
ya sea la fecha en la que fue publicada directamente o sino también vamos a poder mostrar vieron como

7
00:00:51,550 --> 00:00:58,580
dice YouTube dice algo como hace tantos días o hace tantos minutos que fue publicado.

8
00:00:58,580 --> 00:01:07,040
Bueno también vamos a poder hacer algo similar aquí sí que se nos presenta un desafío y es que tenemos

9
00:01:07,040 --> 00:01:11,640
que mostrar en cada video a verme inspirar con un poco de YouTube.

10
00:01:12,540 --> 00:01:15,940
Miren si yo entro a cualquier video

11
00:01:18,960 --> 00:01:27,690
no solamente yo puedo ver cosas como las reproducciones que he tenido dicho video miren que estaba acá

12
00:01:27,690 --> 00:01:35,430
lo que les hablaba estoy viendo el nombre del usuario que lo publica y la foto o la imagen del usuario

13
00:01:37,770 --> 00:01:42,810
yo acá en esta tabla no tengo ninguna de las dos cosas.

14
00:01:43,220 --> 00:01:51,290
Si cuando yo generaba esta fila hubiera tenido una columna que sea nombre de usuario o mail.

15
00:01:51,290 --> 00:01:56,330
En nuestro caso recuerden que nosotros usamos mail supongan que por acá hubiéramos tenido otra columna

16
00:01:57,040 --> 00:02:03,560
que diga mail de usuario y otra columna más para guardar la imagen a donde está guardada la imagen del

17
00:02:03,560 --> 00:02:05,240
usuario o del canal.

18
00:02:05,240 --> 00:02:10,460
Vamos a decir vamos a tener el inconveniente en primer lugar no va a ser eficiente porque va a haber

19
00:02:10,460 --> 00:02:11,690
datos duplicados.

20
00:02:11,690 --> 00:02:17,530
Para qué voy a repetir esos datos acá si ya los tengo en la tabla usuarios.

21
00:02:17,660 --> 00:02:22,640
En segundo lugar imaginan que el usuario mañana cambia este nombre.

22
00:02:22,640 --> 00:02:30,410
Entonces yo tendría que hacer toda una programación en PHP para actualizar en cada video el nombre que

23
00:02:30,410 --> 00:02:33,250
aparece un despropósito total.

24
00:02:33,380 --> 00:02:40,140
Por eso es que estamos trabajando con bases de datos relacionales.

25
00:02:40,400 --> 00:02:51,060
Esto nos va a permitir linkear relacionar vincular el Heydi del usuario perdón que que ataca la raíz

26
00:02:51,190 --> 00:02:55,790
del usuario con la tabla usuarios y hacer un entrecruzamiento

27
00:02:59,660 --> 00:03:01,120
esto se lo podría hacer.

28
00:03:01,380 --> 00:03:03,620
No sé digo yo desde PHP.

29
00:03:03,950 --> 00:03:07,580
Supongamos que tenemos que mostrar aquí todos los videos.

30
00:03:07,580 --> 00:03:15,670
Entonces hago una consulta que me traiga toda la tabla de los videos recuerdan que en esta vista sólo

31
00:03:15,830 --> 00:03:22,340
yo veo los videos de todo el mundo en siguiendo veo la vista de determiné veo los videos de determinados

32
00:03:22,340 --> 00:03:31,430
usuarios Bono yo lo que podría hacer es traer toda la tabla fijarme.

33
00:03:31,550 --> 00:03:38,750
El usuario que tiene esto por ejemplo está fila el usuario 5 y luego a posteriori realizará una segunda

34
00:03:38,750 --> 00:03:46,580
consulta a la tabla usuario para averiguar quién es el usuario Zink y traer todos los datos para hacerlo

35
00:03:46,580 --> 00:03:52,790
una o dos veces está bien pero repetir esto a una escala inmensa es ineficiente y bueno y un despropósito

36
00:03:52,820 --> 00:03:58,220
porque hay maneras mucho más simples de llevar esto adelante bueno.

37
00:04:01,210 --> 00:04:09,070
Vamos a hacer algo muy particular vamos a instalar vamos a instalar un programa que se lo recomiendo.

38
00:04:09,070 --> 00:04:16,120
La verdad es que yo lo uso muchísimo y no va a servir en primer lugar para facilitarnos la vida pero

39
00:04:16,120 --> 00:04:25,870
también nos va a servir para aprender de otra manera conceptos muy importantes sobre consultas más SQL

40
00:04:27,070 --> 00:04:36,620
el programa al que quiere imitar se llama Valentina Studio viene para Windows y para Mac para Mac.

41
00:04:36,660 --> 00:04:40,370
Es muy simple de instalar con irnos a la tienda de Apple.

42
00:04:40,410 --> 00:04:42,990
Ya lo podemos bajar para el caso de Windows.

43
00:04:42,990 --> 00:04:49,540
También te puedes bajar una versión gratuita si bien es cierto que para mi gusto la versión de pago

44
00:04:49,810 --> 00:04:52,350
es bastante costosa para mí en exceso.

45
00:04:52,780 --> 00:04:58,090
Pero la versión gratuita nos deja hacer prácticamente todo así que no me molesta para nada yo estoy

46
00:04:58,090 --> 00:05:02,110
usando la versión gratuita en este momento no tengo la versión de pago.

47
00:05:02,170 --> 00:05:12,360
Bueno aquí he abierto Valentina estudio y como ven no muestra mayor detalle no se preocupen pero quiero

48
00:05:12,360 --> 00:05:21,150
contarles que esto no es más que lo mismo que PHP y admin nada más que este gestor de bases de datos

49
00:05:21,510 --> 00:05:26,970
en vez de funcionar en una aplicación web o en un navegador funciona en un programa que está instalado

50
00:05:26,970 --> 00:05:29,420
directamente en la computadora.

51
00:05:29,850 --> 00:05:34,250
Bueno al igual que PHP y admin yo necesito conectarme Amaya SQL.

52
00:05:34,470 --> 00:05:40,460
Si es cierto cuando entras a PHP y admin en ningún lado te pide que pongas un usuario y contraseña la

53
00:05:40,470 --> 00:05:42,060
IPEC de donde se va a conectar.

54
00:05:42,060 --> 00:05:44,700
Pero eso es porque ya te lo dejó configurado.

55
00:05:44,700 --> 00:05:51,360
De hecho Sam te creó un usuario llamado root en releerse usuario y viene por defecto pero lo particular

56
00:05:51,360 --> 00:05:53,570
es que no tiene contraseña.

57
00:05:53,720 --> 00:05:55,110
No te parece inseguro.

58
00:05:55,110 --> 00:06:02,240
Sí claro que es inseguro pero el sistema o al menos SAMP ya sabe que lo vas a usar para desarrollar

59
00:06:02,250 --> 00:06:08,730
para aprender no para hacer nada en producción real y por sobre todo es cierto nos podemos conectar

60
00:06:08,730 --> 00:06:17,400
con el usuario root sin contraseña desde PHP y admin o desde los PHP pero siempre y cuando esta conexión

61
00:06:17,400 --> 00:06:20,820
se genere desde la misma computadora.

62
00:06:20,820 --> 00:06:25,980
El problema está que cuando usamos algo que no sea PHP y admin o cuando estamos en otra computadora

63
00:06:26,250 --> 00:06:29,860
no vamos a poder usar el usuario root y no ponerle contraseña.

64
00:06:30,150 --> 00:06:36,140
Entonces lo propio o si esto te sucede puedes probar lo mejor demanda pero en la mayoría de los casos

65
00:06:36,140 --> 00:06:37,820
esto no va a andar.

66
00:06:37,860 --> 00:06:46,640
Entonces necesitamos crear dentro de Maye se cuele o María Debé que sería lo mismo necesitamos crear

67
00:06:46,700 --> 00:06:53,630
un usuario aparte distinto al cual le vamos a aceptar una contraseña.

68
00:06:53,630 --> 00:06:59,240
Entonces ahí Shima y SQL diseãada así te estás conectando desde afuera me venís con un usuario con una

69
00:06:59,240 --> 00:06:59,920
contraseña.

70
00:06:59,920 --> 00:07:04,000
Bueno esto me huele más segura y nos va a dejar conectarnos.

71
00:07:04,680 --> 00:07:14,020
Bueno entonces para hacer esto de generar un nuevo usuario directamente con una consulta más SQL.

72
00:07:14,230 --> 00:07:25,030
Y es ésta que está acá entonces yo vengo la voy a copiar la copio y me vio venir acá a la web PHP y

73
00:07:25,030 --> 00:07:32,500
admin voy a seleccionar PHP tube y acá me vengo a SQL para escribirla.

74
00:07:32,540 --> 00:07:40,900
Entonces en definitiva lo que hago es vamos a darle todos los privilegios que se puedan a un nombre

75
00:07:40,900 --> 00:07:44,640
de usuario y vamos a crear un nombre en particular.

76
00:07:44,650 --> 00:07:52,040
Le vamos a poner a este usuario yo no tengo un usuario con mi nombre así que lo voy a poner Pablo cuando

77
00:07:52,040 --> 00:07:59,900
Pablo venga a conectarse desde acá yo podría poner una en particular yo le pongo un 5 por ciento para

78
00:07:59,900 --> 00:08:02,200
que me deje conectarme desde cualquier IP.

79
00:08:02,210 --> 00:08:04,730
No importa donde yo me encuentre me va a dejar conectar

80
00:08:08,180 --> 00:08:09,820
usando clave.

81
00:08:09,830 --> 00:08:11,030
Si señor claro que sí.

82
00:08:11,020 --> 00:08:16,310
Si yo dejara así como está mi clave sería la palabra password eso yo lo quiero y lo vamos a poner como

83
00:08:16,310 --> 00:08:21,780
clave 1 2 3 4 5 6 7 8.

84
00:08:21,810 --> 00:08:23,250
Ahí está completo.

85
00:08:23,490 --> 00:08:27,450
Tiene 2 4 1 2 3 4 5 6 7 8 perfecto.

86
00:08:27,550 --> 00:08:36,770
Bueno vamos a aplicar esto vamos a ejecutarlo y hacer clic en Continuar y ahí está.

87
00:08:36,770 --> 00:08:44,950
Ya tenemos ejecutada esta consulta miren si quieren salir de dudas van a más.

88
00:08:45,260 --> 00:08:52,220
Bueno esto se ve más se ve porque tengo muy grande ahí al estar muy grande la pantalla se esconden algunas

89
00:08:52,220 --> 00:08:58,540
opciones en este acumulador más.

90
00:08:59,190 --> 00:09:05,750
Bueno vamos a venir a privilegios y miren ya aparece Pablo el usuario que acabo de crear con todos los

91
00:09:05,750 --> 00:09:12,200
privilegios dados si yo los editara puedo ver que aquí están todas las acciones que pueda hacer un usuario

92
00:09:12,230 --> 00:09:19,310
Cele seleccionar insertar actualizar está en todos lados porque también es casi como un usuario root

93
00:09:19,490 --> 00:09:24,230
que acabo de crear Bueno listo ya tengo el usuario.

94
00:09:24,230 --> 00:09:30,650
Entonces me vuelvo a Valentina estudio y ahora sí aquí donde hice anfitrión por lo general salvo que

95
00:09:30,650 --> 00:09:38,550
tengas Mac vas a poner local Jost todo junto y si tienes Mac en la ventana de SAMP te va a salir la

96
00:09:38,550 --> 00:09:45,130
AIPE que tienes que poner bueno a qué base de datos nos vamos a conectar.

97
00:09:45,320 --> 00:09:49,530
Eso le puse PHP tuve cómo se llama el usuario.

98
00:09:49,780 --> 00:09:55,520
Pablo la contraseña uno dos tres cuatro cinco seis siete ocho.

99
00:09:55,840 --> 00:09:57,640
Espero no haberme equivocado.

100
00:09:57,640 --> 00:10:01,370
No tocó más nada y nos conectamos bien.

101
00:10:01,380 --> 00:10:02,780
Fue exitosa la conexión

102
00:10:06,200 --> 00:10:13,600
a esta si bien puedo ver las otras bases de datos no puedo entrar no puedo ver su contenido porque yo

103
00:10:13,610 --> 00:10:19,260
sólo tengo autorización para operar con PHP Tube.

104
00:10:19,520 --> 00:10:23,330
Miren lo que veo acá usuarios y videos.

105
00:10:23,330 --> 00:10:33,300
A ver si yo hiciera doble clic por ejemplo en usuarios ya directamente me aparece la tabla Bueno se

106
00:10:33,300 --> 00:10:40,650
van abriendo en pestañas y ven a ver que sin mucho trabajo van a encontrar que pueden operarlo como

107
00:10:40,920 --> 00:10:48,570
si fuera PHP y admin incluso a ver dando doble doble click en una celda puedo modificarla

108
00:10:51,210 --> 00:10:53,210
puedo hacer cosas como venirme acá.

109
00:10:53,220 --> 00:10:54,120
Click derecho.

110
00:10:54,120 --> 00:11:01,230
Nueva tabla y crear nuevas nuevas tablas es un poco diferente pero no te va a costar para nada dominar

111
00:11:01,320 --> 00:11:05,550
esta parte es cuestión de dedicarle un poquito de tiempo.

112
00:11:05,550 --> 00:11:12,740
Pero bueno en esta clase y en realidad es el motivo por el que traigo Valentina Studio.

113
00:11:13,320 --> 00:11:18,230
Si te gusta trabajar con este programa lo que es bueno las tablas.

114
00:11:18,240 --> 00:11:23,210
Esto que estoy haciendo aquí de ver los valores o sea si te gusta Valentina estudio para reemplazar

115
00:11:23,210 --> 00:11:29,910
lo que hace PHP y admin genial es muy buen programa pero en realidad para lo que yo la uso y es lo que

116
00:11:29,910 --> 00:11:39,920
te quiero mostrar es una herramienta potentísima potentísima y vas a ver lo que has buana esa herramienta

117
00:11:40,180 --> 00:11:48,600
es este editor gráfico de consultas así como lo escuchas editor gráfico de consultas.

118
00:11:48,760 --> 00:11:49,940
Voy a hacer click en él.

119
00:11:49,940 --> 00:11:59,510
Es esta hoja que tiene como una especie de Esquadra de hacer click y nos aparece esta hoja cuadriculada

120
00:12:01,280 --> 00:12:05,490
y aparecen todas las tablas que tengo en la base de datos.

121
00:12:05,600 --> 00:12:13,780
En este momento solo tengo dos tablas Titania mente a PHP y admin porque estamos acostumbrados ya esta

122
00:12:13,780 --> 00:12:23,980
vista y vamos a repasar cuál era mi desafío yo tengo acá una tabla videos que tiene columnas como videos

123
00:12:23,980 --> 00:12:31,540
ahí video fecha videos where L y una muy importante videos usuario Heydi.

124
00:12:31,600 --> 00:12:34,910
Esta columna es importantísima.

125
00:12:34,910 --> 00:12:43,090
Bueno se acuerdan de que hablábamos de que este usuario Saidi es la llave primaria de esta tabla.

126
00:12:43,090 --> 00:12:51,910
De hecho si me vengo a estructura puedo ver que tiene esta especie de llave porque yo dije esto es llave

127
00:12:51,970 --> 00:12:55,650
primaria bueno en videos pasa lo mismo.

128
00:12:55,770 --> 00:13:07,040
Vengo estructura y videos ahí es la llave primaria pero también si bien no está explícito Yo sé que

129
00:13:07,100 --> 00:13:16,940
videos usuario ahí es lo que se conoce como llave foránea es una llave de otro de otra tabla que va

130
00:13:16,940 --> 00:13:20,430
a servir para vincular ambas se dan cuenta.

131
00:13:20,630 --> 00:13:29,430
Entonces esto que parece bastante raro o a lo mejor difícil de imaginarnos lo que me va a permitir es

132
00:13:29,520 --> 00:13:32,730
unir ambas tablas porque qué sucede.

133
00:13:32,730 --> 00:13:35,390
Yo tengo acá la tabla videos.

134
00:13:35,460 --> 00:13:44,160
Lo dijimos hace un rato yo tengo la fecha tengo la web R.L pero me estoy perdiendo la foto del usuario

135
00:13:44,610 --> 00:13:47,670
y el nombre del usuario en nuestro caso el mail.

136
00:13:47,700 --> 00:13:50,160
Entonces yo tendría que unirlas.

137
00:13:50,250 --> 00:13:56,370
Tendría que poder ver todo o por lo menos yo tendría que poder generar una consulta que relacione las

138
00:13:56,370 --> 00:14:04,790
dos tablas relacione estos son bases de datos relacionales se dan cuenta por dónde venía el nombre porque

139
00:14:04,800 --> 00:14:13,960
vamos a relacionar estas dos tablas que estoy alternando bueno esto se hace mediante unas consultas

140
00:14:14,200 --> 00:14:19,350
a donde interviene un comando llamado Yeun.

141
00:14:19,410 --> 00:14:25,260
La verdad es que yo lo aprendí al revés de como lo vamos a ver ahora y me costó bastante.

142
00:14:25,260 --> 00:14:34,520
Por eso vengo con esta propuesta al ser gráfico ayuda muchísimo para entenderlo Bueno entonces hagamos

143
00:14:34,520 --> 00:14:43,770
un ejemplo y veamos los resultados voy a agarrar aquí la tabla videos y la voy a arrastrar le vamos

144
00:14:43,770 --> 00:14:46,650
a decir vamos a hacer esto momentito

145
00:14:51,230 --> 00:14:53,900
la vamos a arrastrar por ahí ahí está.

146
00:14:54,460 --> 00:14:56,170
Y luego a usuarios

147
00:14:59,090 --> 00:15:07,300
Bueno ya tenemos las dos tablas y miren que salen todas las columnas el tipo de valor y la llave primaria

148
00:15:07,330 --> 00:15:15,960
vean de acá de usuarios ya sale con la cabecita muy importante y aquí videoasta a mí me indica cuál

149
00:15:15,960 --> 00:15:18,000
es la llave primaria.

150
00:15:18,030 --> 00:15:22,820
A mí no me interesaría tanto este dato de la tabla de video es lo que más me interesa es videos usuario

151
00:15:22,820 --> 00:15:23,500
Heydi.

152
00:15:23,710 --> 00:15:24,570
Por qué.

153
00:15:24,580 --> 00:15:30,030
Porque esta columna guarda los mismos valores que de acá.

154
00:15:30,090 --> 00:15:33,460
En definitiva yo voy a poder relacionar las dos tablas.

155
00:15:33,600 --> 00:15:43,150
Gracias a usuarios ahí nada más que dentro de la tabla de videos se llama videos usuario y yo acá encuentro

156
00:15:43,360 --> 00:15:46,270
quién fue el usuario que publicó este video.

157
00:15:46,270 --> 00:15:54,270
Entonces cómo puedo hacer para relacionar ambas tablas utilizando esa clave esa llave es muy simple

158
00:15:54,280 --> 00:16:01,030
miren yo desde aquí voy a hacer click y voy a arrastrar arrastro arrastro arrastro y ven que se genera

159
00:16:01,190 --> 00:16:10,290
una línea y voy a hacer que apunte esa línea aquí a donde está la llave foránea se me desaparece vamos

160
00:16:10,290 --> 00:16:19,630
de nuevo no el problema ahí está hay que ven yo lo voy a bajar para que se note un poco la idea ya el

161
00:16:19,630 --> 00:16:22,930
ser gráfico esto ayuda muchísimo.

162
00:16:23,110 --> 00:16:31,930
Bueno y de la tabla de usuarios qué valores me hace falta todos me hacen falta todas las columnas.

163
00:16:31,930 --> 00:16:35,630
Bueno pues bien la selecciono todas pero no es verdad.

164
00:16:35,630 --> 00:16:42,270
Yo necesito la clave y la voy a necesitar no para nada a lo sumo el mail y poca cosa más.

165
00:16:42,290 --> 00:16:44,010
Hoy la imagen del usuario.

166
00:16:44,050 --> 00:16:52,690
Entonces para hacerla simple voy a seleccionar solamente el mail y de este lado quiero seleccionar solamente

167
00:16:53,910 --> 00:16:55,690
la R.L del video.

168
00:16:55,890 --> 00:17:04,830
Entonces en definitiva saber que este video lo publicó tal persona o tal mail bueno miren acá abajo

169
00:17:06,030 --> 00:17:17,910
tengo estas dos opciones y voy a ir a donde dice Cuadri bueno acá tengo la consulta que yo tendría que

170
00:17:17,910 --> 00:17:21,840
haber hecho para realizar esto que gráficamente armé aquí.

171
00:17:21,870 --> 00:17:28,500
Miren qué bueno que yo graficamente voy armando la consulta y se va redactando.

172
00:17:28,530 --> 00:17:30,390
Bueno analicemos la consulta.

173
00:17:30,390 --> 00:17:34,440
De paso vemos que las consultas con cierto orden se pueden partir.

174
00:17:34,440 --> 00:17:38,760
No hace falta que sea un chorizo largo hacia la derecha inmanejable.

175
00:17:38,760 --> 00:17:43,080
Miren qué interesante y miren cómo funciona esto del Yeun

176
00:17:45,550 --> 00:17:49,610
seleccionamos y acá vienen las columnas.

177
00:17:49,630 --> 00:17:56,860
Bueno viene expresado de una manera más protocolar a donde se pone el nombre de la base de datos mejor

178
00:17:56,860 --> 00:18:00,790
dicho de la tabla digo de la tabla y luego la columna.

179
00:18:00,790 --> 00:18:09,190
Si yo no pusiera la tabla funciona igual pero en definitiva dice seleccionamos usuarios email y videos

180
00:18:09,310 --> 00:18:16,200
Vd. u R.L pero especifica desde dónde es cada una de estas columnas.

181
00:18:17,080 --> 00:18:22,840
Entonces yo puede que de esta no especifique pero de la otra Civio tener que especificar

182
00:18:25,790 --> 00:18:31,090
asimismo no cuesta nada hacerlo lo más protocolar posible.

183
00:18:31,130 --> 00:18:34,370
Y si Valentina lo hace de esta manera no está mal.

184
00:18:34,370 --> 00:18:35,870
Todo lo contrario.

185
00:18:35,870 --> 00:18:48,190
Entonces seleccionamos ambas columnas de donde de la tabla usuarios y acá viene algo particular inner

186
00:18:48,220 --> 00:18:53,390
join INNER JOIN videos.

187
00:18:53,530 --> 00:18:57,100
Entonces acá aparece la segunda tabla

188
00:19:02,480 --> 00:19:09,270
voy a copiar esta consulta si bien la podría ejecutar acá mismo o ya vemos cómo lo podemos hacer andar

189
00:19:10,430 --> 00:19:16,700
a ver mira yo podría venir aquí se cuele y aquí la puedo ejecutar.

190
00:19:16,700 --> 00:19:21,770
No quiero sacarles de foco como ustedes están acostumbrados a ver las respuestas.

191
00:19:21,920 --> 00:19:23,240
Después probamos acá.

192
00:19:23,420 --> 00:19:24,960
Entonces a dónde me voy a ir.

193
00:19:24,980 --> 00:19:27,910
Me vio venir acá a PHP y admin.

194
00:19:28,510 --> 00:19:33,710
Vamos allá ese cuelgue voy a pegar esta consulta que no es ésta.

195
00:19:33,710 --> 00:19:38,060
Por supuesto me he equivocado.

196
00:19:38,210 --> 00:19:39,520
Vamos vamos.

197
00:19:39,560 --> 00:19:44,510
Esta es la que quiero copiar el Yeun que acabamos de crear.

198
00:19:44,510 --> 00:19:53,630
Me vuelvo a ver ahora sí entonces selecciono las columnas de cada una de las tablas las que desee podrían

199
00:19:53,630 --> 00:19:55,760
haber sido todas.

200
00:19:55,760 --> 00:20:03,940
De donde de la tabla usuarios INER Yeun y Newseum quiere decir intersección central.

201
00:20:04,430 --> 00:20:05,990
Coincidencia central.

202
00:20:05,990 --> 00:20:09,810
Ya lo vamos a ver más gráficamente con la tabla.

203
00:20:09,830 --> 00:20:10,610
Videos

204
00:20:13,960 --> 00:20:14,760
dónde.

205
00:20:14,800 --> 00:20:16,010
Y acá viene lo particular.

206
00:20:16,030 --> 00:20:25,960
Acá se cruzan los Heydi donde on Estevan se usa para decir donde el usuario o usuario Saidi de la tabla

207
00:20:25,960 --> 00:20:32,820
usuarios coincida con el videos usuario y vi de la tabla videos.

208
00:20:32,830 --> 00:20:40,900
Se entiende esto que estamos viendo acá no es más que medio volver esta fantástica relación que hicimos

209
00:20:40,900 --> 00:20:41,340
acá.

210
00:20:41,440 --> 00:20:45,790
Ese pedacito es esta rallitas de acá está uniendo los dos.

211
00:20:45,810 --> 00:20:54,070
Ahí volvemos entonces y vamos a ejecutar y acá empieza la magia de discontinuar y miren lo que me trajo

212
00:20:54,070 --> 00:21:06,430
acá abajo me trajo somos bióticos arroba mail que es el mail de el usuario que publicó este video ven

213
00:21:06,520 --> 00:21:08,980
hemos unido las dos tablas.

214
00:21:08,980 --> 00:21:19,300
Es más ahora miren lo que podemos hacer a seleccionar más a medida que selecciono empiezan a crecer

215
00:21:20,820 --> 00:21:27,740
las columnas aquí abajo en la consulta determinan el seleccionar todo a ver el último y voy a hacer

216
00:21:27,740 --> 00:21:31,650
lo mismo del otro lado.

217
00:21:31,800 --> 00:21:33,810
No vuelvo a seleccionar o se podría.

218
00:21:33,930 --> 00:21:39,930
Voy a seleccionar una sola vez usuarios ahí no tiene sentido seleccionarlo en los dos lados porque son

219
00:21:39,930 --> 00:21:44,880
los mismos valores o se va a ver dos columnas repetidas o dos columnas que contienen los mismos datos.

220
00:21:44,940 --> 00:21:50,490
No tiene mucho sentido si tiene sentido traer también videos ahí ahí está.

221
00:21:50,550 --> 00:21:59,100
Ahora sí miren cómo se Grândola consulta la voy a copiar me vuelvo aquí.

222
00:21:59,100 --> 00:22:06,770
Vamos a ver se cuele la pego y le ejecutã y miren miren qué inmensa tabla trae ahora.

223
00:22:06,780 --> 00:22:13,180
Lamentablemente tenemos un solo video publicado pero ya tengo todos los datos el video y tres aquí a

224
00:22:13,200 --> 00:22:22,680
la derecha lo publicó mi agrandará un poco el video 23 lo publicó el usuario 5 esta fecha la imagen

225
00:22:22,680 --> 00:22:28,260
del usuario es ésta el último Lovin geste la AIPE con la que creó la cuenta es esta.

226
00:22:28,290 --> 00:22:35,390
Miren tengo todas las columnas en una sola tabla sin embargo son dos tablas distintas.

227
00:22:35,670 --> 00:22:41,820
Se imaginan la de relaciones que podríamos hacer en una estructura como las que estamos creando porque

228
00:22:42,210 --> 00:22:48,960
imaginen que tenemos usuarios y videos pero luego vamos a tener otra tabla por ejemplo al un día que

229
00:22:48,960 --> 00:22:57,720
se llame comentarios entonces voy a necesitar saber qué usuario hizo cada comentario y qué comentario

230
00:22:57,720 --> 00:22:59,380
va en video.

231
00:22:59,430 --> 00:23:08,010
Entonces aquí empieza a ponerse espeso y fuerte lo relacional es la verdadera potencia de este tipo

232
00:23:08,010 --> 00:23:11,970
de bases de datos como Mahi SQL María deve etc..

233
00:23:15,540 --> 00:23:23,440
Entonces ya teniendo esta consulta yo me puedo ir a PHP y desde PHP generarla y obtener los datos para

234
00:23:23,440 --> 00:23:25,700
mostrar todos los videos por ejemplo.

235
00:23:25,870 --> 00:23:27,340
Claro que sí.

236
00:23:27,340 --> 00:23:36,210
Ahora bien no dejen de probar esto que les digo de copiar esta consulta probarla desde PHP pero esto

237
00:23:36,210 --> 00:23:37,140
no se termina acá.

238
00:23:37,410 --> 00:23:46,420
Si bien les voy a aconsejar que usen esto no dejen de estudiar por lo menos la estructura y la forma

239
00:23:46,420 --> 00:23:54,170
que va teniendo la consulta para que nos vayamos familiarizando pero queda un tema pendiente y es el

240
00:23:54,290 --> 00:23:57,160
inner join INNER JOIN.

241
00:23:57,350 --> 00:24:05,870
Volvamos a liner a ver les quiero mostrar un pequeño gráfico sin mayor complejidad y van a ver infinidad

242
00:24:05,960 --> 00:24:10,180
de estos gráficos si ponen en Google INER Llonín es lo que he hecho yo ahora.

243
00:24:10,460 --> 00:24:14,160
Miren cómo funciona esto.

244
00:24:14,450 --> 00:24:22,800
Nosotros tendríamos tabla usuarios a la izquierda y la tabla videos a la derecha y hemos hecho un INER

245
00:24:22,900 --> 00:24:23,530
join.

246
00:24:23,930 --> 00:24:29,390
Hemos cruzado algún valor que existe en ambas tablas que lo podemos usar como llave.

247
00:24:29,510 --> 00:24:38,620
En este caso usamos el usuario Heydi el Inner join lo que trae es la intersección o sea va traer todos

248
00:24:39,490 --> 00:24:48,190
aquellos usuarios que tengan un usuario ahí que exista en alguna fila de la tabla de la derecha.

249
00:24:48,190 --> 00:24:50,240
En este caso videos.

250
00:24:50,270 --> 00:24:58,460
Ahora bien si existe algún usuario que no tenga ningún video publicado no va a aparecer el usuario para

251
00:24:58,460 --> 00:25:07,060
que aparezca el usuario sí o sí es usuario tiene que tener un video del otro lado si este usuario tiene

252
00:25:07,060 --> 00:25:09,000
muchos videos del otro lado bueno van a salir.

253
00:25:09,010 --> 00:25:14,850
Muchas veces el mismo usuario con distintos videos si lo vemos desde el otro lado va a pasar lo mismo

254
00:25:15,980 --> 00:25:16,610
si hay

255
00:25:20,520 --> 00:25:28,850
o si hay unos un video si hay un video que por alguna error o lo que fuere not like no tiene un usuario

256
00:25:28,850 --> 00:25:30,520
correspondiente.

257
00:25:30,530 --> 00:25:34,010
O sea se podría decir que no fue publicado por ningún usuario.

258
00:25:34,010 --> 00:25:40,160
Supongamos que por un error borramos un usuario pero no borramos el video que había publicado.

259
00:25:40,160 --> 00:25:45,470
Bueno cuando haga líneas Joyn no va a salir ese video no lo voy a ver en la lista final.

260
00:25:47,030 --> 00:25:50,740
Veamos esto y lo probemos.

261
00:25:50,930 --> 00:25:57,010
Miren repasemos lo que voy a hacer es venir a Valentina.

262
00:25:57,050 --> 00:26:05,700
Quiero por las dudas volver a copiar la consulta acá tengo toda la consulta y miren esto

263
00:26:08,890 --> 00:26:14,370
yo voy a agarrar y ni siquiera tengo que probar.

264
00:26:14,370 --> 00:26:18,630
Yo no me había dado cuenta cuántos usuarios tengo acá.

265
00:26:18,630 --> 00:26:25,890
Dos usuarios yo me había olvidado que tengo un segundo usuario así que miren me ahorro me ahorro tiempo

266
00:26:25,890 --> 00:26:29,780
esto de tener el segundo usuario sin darme cuenta me vengo ese huele.

267
00:26:30,050 --> 00:26:38,050
Voy a aplicar la consulta le doy continuar y díganme cuántos usuarios aparecen acá uno solo porque por

268
00:26:38,050 --> 00:26:44,190
qué el otro usuario no tiene ningún video publicado no tiene ningún video publicado.

269
00:26:44,190 --> 00:26:50,630
Ahora bien yo me vuelvo a la tabla usuarios y me fijo que este usuario que no publicó ningún video sí

270
00:26:50,640 --> 00:26:54,320
tiene un usuario ahí es el 6.

271
00:26:54,390 --> 00:27:02,040
Entonces me vengo de la tabla videos voy a insertar y no me voy a preocupar demasiado de escribir cualquier

272
00:27:02,170 --> 00:27:10,190
R.L no me interesa es para probar pero voy a decir voy a simular que lo publicó el usuario 6 discontinuar

273
00:27:10,640 --> 00:27:17,250
y vemos cómo ahora tengo un segundo video publicado por el usuario 6.

274
00:27:17,250 --> 00:27:25,200
Ahora volvamos a ese cuelgue a la consola y vamos a ejecutar de nuevo Yeun y miren como ahora que apareció

275
00:27:25,200 --> 00:27:27,270
un video para este usuario.

276
00:27:27,540 --> 00:27:32,330
Ahora si salen las dos filas por qué.

277
00:27:32,460 --> 00:27:39,000
Insisto porque Eleni en el INER Joyn tiene que existir en ambos lados para que aparezca el resultado

278
00:27:39,120 --> 00:27:40,550
unido.

279
00:27:40,610 --> 00:27:47,900
Ahora bien puede ser el caso que yo quiera tener la lista completa de usuarios y si es que tiene un

280
00:27:47,900 --> 00:27:49,880
video que aparezca el video en cuestión.

281
00:27:50,210 --> 00:27:55,010
Bueno en ese caso vamos a hacer lo que se llama como Left Behind.

282
00:27:55,610 --> 00:27:58,720
Miren a ver vamos voy a borrar el video.

283
00:27:59,120 --> 00:28:05,690
Este último video que hicimos de prueba a ver en videos este ultimo lo borra bien.

284
00:28:05,960 --> 00:28:13,930
Mira voy a aplicar la misma consulta y ahora de nuevo va a aparecer una sola fila.

285
00:28:13,930 --> 00:28:17,740
El otro usuario no aparece porque no ha publicado ningún video.

286
00:28:17,740 --> 00:28:24,670
Voy a volver ese SQL voy a volver a pegar la consulta y lo que voy a hacer aquí es cambiar INER por

287
00:28:24,670 --> 00:28:27,500
left que es izquierda.

288
00:28:27,540 --> 00:28:32,080
Bueno vamos a probar y miren lo que pasó acá.

289
00:28:32,370 --> 00:28:37,500
Un left in abarcaría todo esto en azul.

290
00:28:39,550 --> 00:28:40,800
Todo este círculo.

291
00:28:40,870 --> 00:28:43,690
A ver voy a buscar algún ejemplo.

292
00:28:43,690 --> 00:28:44,280
Aquí está.

293
00:28:44,320 --> 00:28:48,310
Yo no quería marear demasiado porque hay varias maneras de hacer esto.

294
00:28:48,340 --> 00:28:56,150
Pero repasemos las las más usadas y Mersey en la que acabamos de ver la intersección sólo sale si están

295
00:28:56,380 --> 00:28:59,950
en los dos lados left join.

296
00:28:59,950 --> 00:29:05,720
El último ejemplo que hicimos vieron aunque este usuario no tiene ningún video publicado.

297
00:29:05,740 --> 00:29:07,310
Sí que me trajo el resultado.

298
00:29:07,320 --> 00:29:10,940
Sí miren en ver videos ahí dicen Nul.

299
00:29:10,980 --> 00:29:14,200
Por qué no publicó ningún video en video fecha dice.

300
00:29:14,220 --> 00:29:15,170
Por qué no.

301
00:29:15,250 --> 00:29:16,180
Por qué no lo publicó.

302
00:29:16,180 --> 00:29:17,350
Obvio.

303
00:29:17,500 --> 00:29:19,300
Pero sin embargo el usuario me lo trae.

304
00:29:20,050 --> 00:29:26,740
Bueno eso es el Left Behind porque le estoy diciendo bueno aunque no tenga nada a la derecha.

305
00:29:26,740 --> 00:29:32,850
Vos traeme toda la tabla izquierda más cualquier coincidencia de la tabla derecha.

306
00:29:32,910 --> 00:29:42,510
Bueno por supuesto que así como tenemos un Left Yeun tenemos un right in que es lo opuesto sería traeme

307
00:29:42,540 --> 00:29:46,760
todos los videos y si alguno de los videos ha sido publicado por un usuario.

308
00:29:46,770 --> 00:29:53,580
También quiero ver qué usuario era se dan cuenta por supuesto en toda consulta miren aquí esta está

309
00:29:53,580 --> 00:30:02,220
la parte a donde las llaves se vinculan que se hace a través del on la llave de la tabla sea igual a

310
00:30:02,220 --> 00:30:04,360
la llave de la table de la tabla.

311
00:30:05,790 --> 00:30:15,670
Volvamos a Valentina para repasar algo y ya cerrar esta clase Valentina estudio una herramienta para

312
00:30:15,670 --> 00:30:25,030
mí increíble que le tenemos que usar y nunca olvidarnos de leer lo que está haciendo la consulta o la

313
00:30:25,030 --> 00:30:27,830
consulta que está generando este editor gráfico.

314
00:30:27,830 --> 00:30:38,340
Y vamos a ver cómo de a poco vamos entendiendo más y más bueno clase árdua si las hubo en la próxima

315
00:30:38,340 --> 00:30:47,370
clase le vamos a transmitir a ustedes un tip súper potente de lo que es Valentina estudio y mi escuela

316
00:30:47,370 --> 00:30:48,070
en general.

317
00:30:48,210 --> 00:30:51,740
Pero una manera muy práctica de hacer esto desde Valentina.

318
00:30:51,900 --> 00:30:55,190
Les va a gustar van a ver muchísimas gracias por la compañía.

319
00:30:55,230 --> 00:30:56,710
Nos vemos en la siguiente clase.
