Free YouTube Transcribe

Video transcript

BD - Clase 01.B - Introducción

Germán · 18,720 words · 86 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

Concepto de BD

0:01[Música]

0:07[Aplausos]

0:09Bueno, entonces eso era con respecto al

0:11concepto de bases de datos.

0:14¿Qué ejemplos encontraron? Yo les había

0:16pedido que busquen ejemplos de grandes

0:18bases de datos y ahí es por donde quizás

0:22eh no no estuvo bien la consigna o se

0:26malentendió en el sentido de decir que

0:28me me pusieron motores, algunos me

0:31pusieron motores de bases de datos y no

0:33ejemplos de grandes bases de datos. Sí,

0:36cuando yo me referí a grandes bases de

0:38datos son grandes volúmenes, ¿sí? O

0:40bases de datos que se consideran muy

0:43grandes, ¿sí? Eh, ¿qué encontraron

0:46respecto de eso?

0:49Yo encontré, por ejemplo, que decía las

0:51bases de datos de las consultas de

0:53Google.

0:55Ajá.

0:56Y la base de datos de la no es la Casa

1:01Blanca, era una institución de los

1:02Estados Unidos, del Congreso de los

1:04Estados Unidos, que decían que eran de

1:06las más grandes a nivel mundial.

1:09Bien, ahí creo los que buscaron por

1:13bases de datos y demás, la mayoría

1:15habrán encontrado más o menos la misma,

1:17porque hay una lista hace unos años que

1:20anda circulando, que por lo general no

1:23suelen liberar tanto los eh estos

1:26volúmenes de datos que tienen, pero

1:27obviamente sabemos cuáles pueden llegar

1:29a ser las más grandes bases de datos.

1:31Sí. Por un lado, cuando uno dice eso,

1:34fíjense que eh se le viene a la cabeza

1:37primero Google, Facebook, eh Amazon. Sí,

1:43seguramente vienen esos eh esos nombres

1:46a la mente. Obviamente ahí hay que tener

1:49diferenciar un poco de lo que tanto lo

1:52que es bases de datos en sí, como un

1:55conjunto de una colección de datos

1:56relacionados bajo cierto sistema y lo

2:00que son grandes cantidades de archivos

2:03también. Sí, ahí es un poco el es eh

2:07difuso el límite está porque por ahí

2:11tienen muchas cantidades de archivos.

2:14Tienen, no sé, por ahora decirles esto

2:16YouTube, ¿cuántos cuántos eh eh

2:20terabytes, petabytes, etcétera, debe

2:22tener de videos almacenados? Pero no sé

2:25si podríamos considerar eso como datos

2:27dentro de la base de datos o sí,

2:29digamos, se pueden considerar como datos

2:31blogs dentro de una base de datos. con

2:33lo cual es muy difícil que estén

2:35organizados de esa manera. Pero bueno,

2:37esa consideración quiero que tengan en

2:39mente. Por ahí cuando uno ve las

2:41cantidades de datos, a veces excluyen

2:43los tipos de archivos multimedia, ¿sí?

2:46porque suelen estar almacenados por

2:48fuera del sistema en y están almacenados

2:51en sistemas de archivos directamente.

2:53Sí, pero bueno, entonces ahí yo creo que

2:56más o menos todos encontramos lo mismo.

2:58Eh, ahí están publicando algunos, están

3:02posteando algunos en el en el chat. Eh,

3:06yo tenía acá uno para mostrarles nada

3:09más. Estos son unos datos de hace unos

3:12años.

3:13Fíjense, por ejemplo, este es el es uno

3:16de los que por ahí postearon también es

3:19una gráfica

3:21de el centro de datos mundial para el

3:23clima. Fíjense cómo cómo fue creciendo

3:25la totalidad de eh

3:29de los datos que van guardando. Esto

3:32estaba hasta 2016.

3:35Eh, y fíjense que estamos hablando en eh

3:38esto es en terabytes. Sí.

3:42Y después, por ejemplo, eh uno muy

3:44conocido es eh escucharon hablar hablar

3:49del CERM, ¿no?

3:50Sí,

3:51perfecto. Y del gran colisionador

3:54deadrones. Sí, esta este

4:00proyecto, digamos, en realidad fue uno

4:04de los de los impulsores y gran parte de

4:07la tecnología vinculada a la

4:10informática. Sí,

4:13a ver si tienen en mente

4:16que otro gran proyecto, otro gran hito

4:20vinculado a informática salió de del

4:24CERN y en particular del gran

4:26colisionador de drones.

4:28Exacto. La World Wide Web. Sí.

4:32Eh, Tim Bernlee, que es un un

4:35investigador que trabajaba allí, decidió

4:38decidió armar un sistema de documentos

4:40interconectados como un proyecto

4:43simplemente para tratar de organizar la

4:46gran cantidad de información que se

4:47generaba eh en este en este proyecto.

4:51Sí. Eh, y entonces, ¿qué es lo que

4:53sucedió? Bueno, después fue tan exitoso

4:55que hoy lo tenemos disponible todos

4:58mundialmente. Sí. O sea, que es la la

5:02web. Okay.

5:06Y

5:08no no no ahí eh ahí eso nada más que

5:11estoy mencionando como otro tipo otro

5:14otra descubrimiento, digamos, vinculado

5:18a lo que es el gran colisionador de

5:19drones, que como un un subproducto,

5:22digamos, se eh originó la web. Y en este

5:26caso lo que estoy hablando, lo que me

5:28interesa hablar en particular es eh,

5:32fíjense de la cantidad de eh de datos

5:37que se necesitan almacenar, que se

5:40genera con el gran colisionador de

5:42adrones. Y recuerden que estamos

5:44hablando de estamos hablando de

5:46partículas muy pequeñas, ¿sí? Entonces,

5:50cuando cada vez que hay un choque y

5:52demás o cada vez que quieran hacer un

5:54análisis de estas partículas, todo esto

5:56se tiene que almacerar en algún lugar.

5:59¿Sí?

6:00Y eh fíjense con qué tipo de base de

6:04dato podríamos llegar a manejar esto.

6:06Sí, seguramente no con una sola, ¿sí?

6:09Sino con un conjunto de tecnologías. A

6:12eso es lo que a eso es lo que me

6:13refiero. Okay. Las bases de datos eh SG

6:18yo les mencioné, no sé si lo alcanzaron

6:20a leer ahí en la en la pequeña

6:23información que les puse en el en el

6:26aula, ya tienen ya hace más de 50 años

6:30casi rozando los 60, se podría decir. Lo

6:32que pasa que un poco a nivel teórico,

6:34pero un un hito principal se dio con eh

6:39una asociación que hubo entre en un

6:43proyecto, ¿sí?, para la NASA, para

6:46enviar el

6:49Apolo a la Luna. Okay. Entonces ahí se

6:52hizo ahí se empezaron a idear una de las

6:55bases de datos, una de las primeras que

6:58eh fue gracias a IBM y otra empresa,

7:02¿sí? Que trabajaron en colaboración y

7:05esto estamos hablando ya desde el año

7:07antes del año 69. Sí, obviamente no eran

7:11bases de datos relacionales. Sí, eso es

7:14lo que tienen que tener en cuenta. Okay.

7:18Fíjense, eh, fíjense ahí pueden ver, por

7:21ejemplo,

7:24eh, ellos fueron eh IBM fue obviamente

7:28uno de los de las grandes empresas

7:30vinculadas a la a todo lo que tuvo que

7:33ver con la evolución de la informática,

7:35al menos en sus inicios. Sí.

7:39Y obviamente ahora fue pacada por otras

7:41empresas, pero sigue siendo un gigante

7:43de la computación. Eh, fíjense que así

7:47se llamaba este proyecto. Sí, fue en los

7:50años 60 y fue eh fue, ¿cómo se llama?,

7:54encomendado para justamente eh para

7:57tratar de enviar el para el proyecto

8:00Apolo, o para el programa Apolo. Sí,

8:03justamente esto otra vez esta base de

8:06datos fue un subproducto, ¿sí?, de algo

8:09que hizo la NASA. Y un pequeño detalle,

8:13esto

8:15fue un predecesor de lo que eh son las

8:18bases de datos de hoy, pero fíjense que

8:19también el inventor, el uno de los

8:21grandes ideólogos de la base de datos

8:23relacionales, sino que se puede

8:24considerar el padre de todo el este

8:26modelo, trabajó también para IBM. Sí,

8:31está, o sea, que forman parte de la

8:34historia total de

8:37de la computación.

8:39Bien, volvamos a lo nuestro. Pero hoy en

8:41día lo que tienen que tener en cuenta es

8:43que el foco de las bases de datos

8:45también fue cambiando, se fue

8:46diversificando, digamos, hasta hace

8:48algunos años atrás, vamos a poner 10, 15

8:52años atrás, 10, 12 años atrás, digamos,

8:55el el sí o sí no habían competencia para

8:59las bases de datos relacionales. Sí, hoy

9:02en día las bases de datos relacionales

9:04digamos que tienen competencia o tienen

9:06alternativas, digamos. Sí. Eh, ¿por qué?

9:11porque tiene que ver todo con el

9:12advenimiento de eh justamente la gran

9:15masividad que genera la web. ¿Sí?

9:19Entonces se buscan otras otras formas de

9:21almacenar datos también vinculadas a al

9:25modelo relacional. Pero ahora después si

9:26tenemos tiempo les muestro, les voy a

9:28dar el link para que vean hoy en día

9:30cuáles son las bases, los motores de

9:32base de datos más usados. ¿Sí? Bueno,

9:36con respecto a eso entonces eh es lo que

9:40les quería mencionar, digamos, como para

9:42darle un ejemplo general de eh grandes

9:44volúmenes de datos. ¿Sí?

9:47Eh, bien,

Sistema Gestor de BD (SGBD/DBMS)

9:51esto es con este tema está vinculado el

9:55ejercicio que yo les había pedido. En

9:57realidad ya no era en forma de

9:58ejercicio, sin era más que nada es hacer

10:01un foro, que vayan haciendo aporte y que

10:04cada uno vaya posteando una parte.

10:07Entonces, les va quedando ahí eh el

10:09material también. E sobre todo de qué se

10:13trata un sistema gestor de base de

10:15datos. Sí. Entonces, cuando hablamos de

10:18un eh sistema gestor de base de datos,

10:20lo van a ver también como DBMS por las

10:23dudas. E es un software que de propósito

10:27general que está basado en un conjunto

10:29de programas justamente para tratar de e

10:33crear y mantener bases de datos, ¿sí?

10:36Las bases de datos de la que estábamos

10:37hablando ahora.

10:39En particular, ese conjunto de programas

10:42me tiene que servir a mí para definir,

10:46construir,

10:48manipular y compartir eh los datos que

10:53allí tengo. Sí,

10:56ya que estamos, yo les eh les di dos

10:58libros, es el por ahora solamente les

11:01mencioné este libro que vamos a estar

11:02utilizando y es que es el centro de lo

11:04que nosotros vamos a estar haciendo,

11:06vamos a estar usando en la materia.

11:09Eh, y nada más que les mencioné dos

11:11versiones. Yo no sé si pudieron acceder

11:13a la plataforma y libros por las dudas.

11:17Sí, profe.

11:19Bien. A ver, es una plataforma que eh

11:24tiene cosas buenas y malas. Por un lado,

11:26tenemos libros gratuito y de manera

11:27legal para acceder ahí sin problemas.

11:30Mientras que sean alumnos de la UTN, no

11:32hay ningún problema. El único

11:34inconveniente que tiene es que por ahí

11:36al ser libros en eh al ser libros en

11:40castellano por ahí tienen unos años y lo

11:43otro es que no todos los libros en otros

11:45idiomas, sobre todo en inglés, se llegan

11:47a traducir o si se traducen, se traducen

11:49con algún tiempo de eh de retardo. ¿Sí?

11:56Entonces, fíjense, por ejemplo, que eh

11:59recién ahí está eh cada vez menos.

12:02Exactamente, por eso es que por ahí yo

12:03le suelo dar libros en inglés si los

12:05pueden conseguir, pero en este caso,

12:07bueno, está disponible ahí este libro.

12:10Eh, es la quinta edición la que están

12:14es la que está disponible en esta

12:15plataforma. Sí.

12:18Eh, no, simplemente,

12:20a ver, yo creo que no, la verdad es que

12:22no sé por qué le no sé que cómo es el

12:25tema de la confirmación de usuario,

12:27porque yo entré, si ustedes ingresan

12:31haciendo clic desde el campus en en el

12:36logo que está al costado,

12:39incluso pueden entrar directamente y

12:42leer los libros, ¿sí? sin crear ningún

12:45usuario. Está lo que sí, si quieren por

12:49ahí tienen una posibilidad de si ustedes

12:53quieren eh creo que copiar no te deja,

12:57pero

12:57para poder descargar te pide que te

13:00registres.

13:00Bueno, ahí tengo que ver como no sé si

13:02te deja te deja descargar.

13:04Sí, sí te deja. Yo lo descargué.

13:06Ajá. Perfecto. Bueno, eh

13:10y lo otro también es que por ahí tiene

13:12así como una estantería virtual,

13:13digamos, donde uno va dejando los los

13:16libros y demás. Solo para hacer ese tipo

13:18de cosas es necesario registrarse. Pero

13:21si usted Ah, eso está bien, lo de las

13:24palabras. Pero si eh si ustedes quieren

13:28e, ¿cómo se llama? acceder así no más,

13:31lo pueden hacer. Si quieren pegar una

13:33oada rápida, no, no hay problema. Ni

13:36siquiera necesitan un usuario, así que

13:38por eso me parece

13:40me parece raro. Sí, pero bueno, está

13:43interesante como para por ahí, ¿no? Hay

13:46algunos libros interesantes, otros

13:48sirven de complemento. La verdad que

13:50está bueno. Sí. Eh, de programación hay

13:54poquito y hay viejo por ahí. Hay más

13:57cosas eh de base, ¿sí? Eh, vinculados a

14:00programación.

14:02Bien,

14:04sigamos entonces. Eh, ¿qué? Ah, quedamos

14:06en el tema de eh definir. Y les decía

14:09con respecto a esto, ¿qué aquellos que

14:13pudieron leer algo y demás? ¿A qué nos

14:15referimos con definir una base de datos?

14:19Claro. Eh, bueno,

14:21sí, o sea, estamos hablando de la

14:23creación, pero específicamente de qué

14:25parte de la creación.

14:28¿Cómo van a ser las tablas y lasciones?

14:30El diseño,

14:31exactamente, el diseño de la estructura

14:33que vamos a estar utilizando en esa base

14:36de datos, los tipos de datos, las

14:38restricciones que vamos a tener, ¿sí?

14:41Todo lo que tiene que ver con la

14:43estructura de la organización que va a

14:45tener. Entonces, a eso le llamamos

14:47definición o definir. Bien, eh lo otro

14:51es construir una base de datos. Sí,

14:54cuando hablamos de construir una base de

14:56datos y ahí quizás pueda ser un poco más

14:59confuso, es muy parecido a manipulación,

15:02pero nada más que en diferentes etapas.

15:04¿A qué se a qué se le llama construir?

15:09Cargar la información dentro de de la

15:12base de datos.

15:13Cargar información, cargar la primera

15:16información, inicializar la base de

15:18datos. ¿Si? Entonces, en particular,

15:20nada más a eso se refiere con construir,

15:24¿sí? O sea, llenar con los primeros

15:27datos de esa base y a todo lo posterior,

15:31a todo la actualización

15:33o lectura que hagamos posteriormente.

15:37Es decir, recuerdan que habíamos dicho

15:39que

15:41eh nosotros en la definición de recién o

15:44uno de los elementos de recién,

15:45estábamos diciendo que una base de datos

15:49refleja lo que eh existe en ese

15:52minimundo que está intentando eh

15:54modelar. ¿Sí? Entonces, cuando hay un

15:58cambio en ese universo que está

15:59reflejando, eso debería ir hacia la base

16:02de datos. Sí.

16:04Y ese universo se debería también eh

16:07alimentar de lo que contiene la base de

16:09datos y justamente es el objetivo eh de

16:14los sistemas de gestión de base de datos

16:16en particular. Y después van a aparecer

16:19compartir, que compartir usualmente no

16:22estaba en creo yo, en las ediciones más

16:24viejas, yo no sé si en la quinta está.

16:27E

16:28compartir se refiere justamente a uno de

16:31los propósitos, una de las esencias de

16:32base de datos que en general está hecha

16:35para que sea usada por más de un

16:37usuario. ¿Sí? Entonces la idea es que

16:40esos datos tienen que estar disponibles

16:42para más de una persona. ¿Okay? De

16:45manera simultánea. Sí, eso de base.

16:49Okay.

16:52Bien.

16:53Ahí yo les había dado un ejercicio.

16:56Sí.

16:58Ese ejercicio, ¿de qué trata?

17:01Más que nada un ejercicio, una

17:02discusión, un ejemplo, digamos.

17:06Ese ejemplo es el mismo que está en el

17:09Es el mismo que está en el libro.

17:10Está en el libro. Sí.

17:11Sí. ¿De qué trata?

17:13Caso este era pidió las relaciones de

17:16las relaciones que tenía en cada tabla.

17:18Bien. A ver, entonces primero ahí vamos.

17:22Esperen que voy a ver exactamente qué es

17:24lo que

17:26les había solicitado. Les pedía primero

17:28que identifique los elementos de datos y

17:30su tipo y cómo se relacionan en este

17:32ejemplo. ¿Sí?

17:36¿Cuáles serían los elementos de datos

17:38que yo tengo acá?

17:42¿O se imaginan que se podrían ser?

17:45Las tablas, por ejemplo, son elementos.

17:47Por ejemplo, las tablas podrían podrían

17:49ser elementos de datos. Sí, ahí tenemos

17:52estudiantes, curso, sección, informe,

17:55calificación y además qué otras cosas?

18:01Las columnas,

18:03las columnas que tenemos ahí, los

18:05digamos esos atributos, los nombres, el

18:08número de estudiantes, la clase, por

18:10ejemplo, y los tipos. Sí, yo les había

18:12pedido que ensayen unos tipos ahí. Y

18:14después eso se lo dejo para ustedes,

18:16además de que identifiquen cuáles son

18:21las columnas, ¿sí?, o los atributos que

18:24van a estar utilizando para vincular

18:26entre sí, para vincularse entre sí.

18:29Entonces, eso después eh se lo dejo para

18:31que ustedes vayan eh respondiendo ahí y

18:34que eso completo. Ya es un ejercicio

18:36inicial.

18:39Lo otro era que eh digamos piensen qué

18:42usuarios podrían acceder a esta

18:44información, o sea, y cuáles podrían qué

18:48información podrían necesitar cada uno

18:50de estos. Sí. Y finalmente, la tercera

18:53es cómo se relacionan los anteriores

18:55puntos con los procesos que lleva a cabo

18:58en SGB. Entonces, el primer punto que

19:02estaba ahí es justamente el concepto que

19:05nosotros tenemos acá.

19:07Sí, que es o el item de cuál que tiene

19:10que ver con qué.

19:16¿Qué es lo primero que yo le estoy

19:18pidiendo ahí?

19:20Definir.

19:24Definir, profe.

19:25Definir definir la base de datos. ¿Sí?

19:28Entonces, el la primer cuestión que yo

19:30le estoy pidiendo que hagan ahí es

19:32definir esa base de datos. Sí. Y por

19:35otro lado,

19:36después estaba pidiendo que,

19:40fíjense, le dice, les digo, piensen qué

19:42usuarios podrían accederlo y qué

19:44información podrían necesitar. Entonces

19:46ahí ya tenemos entre la parte de

19:47construcción, manipulación y compartir.

19:51Entonces eso es lo que quiero que

19:52ustedes vinculen y se aprendan de esa

19:56manera estos conceptos básicos. ¿Sí?

19:59Entonces, bueno, eso queda para que

20:01ustedes lo vayan completando. Sí,

20:05recuerden que

20:06las llaves también serían eh un

20:08elemento.

20:10Las eh las claves.

20:12Las claves, sí, perdón, las claves.

20:13Claro. Pero fíjense que acá eh sí

20:16podemos identificar algunas claves.

20:18Seguramente sí podrían ser elementos

20:20también. Totalmente. Sí, sí, sí, sí.

20:25Bueno, pero eso ya eh está en el foro,

20:29terminen de completarlo por ahí. Sí, los

20:32puse así porque eh con que unos cuantos

20:36completen ya basta y queda para todos.

20:38Se contempla como participación en clase

20:41también y justamente por esto es la idea

20:43de tener un poco de participación

20:46asincrónica y sincrónica a través de la

20:48clase, ¿sí? Así que les pido que después

20:50lo completen

20:52bien. Eh,

Arquitectura básica (SBD/DBS)

20:56¿qué tenemos que tener en cuenta con

20:58respecto a eh

21:00a el formato básico, la arquitectura

21:04básica que va a tener eh una

21:09una base de datos? Y primero ver qué

21:11conceptos similares tenemos involucrados

21:14allí. Sí, fíjense que después nosotros

21:17vamos a ver una una versión un poco más

21:21eh un poco más detallada de este

21:24esquema, ¿sí? Pero esto en definitiva

21:26refleja como una arquitectura

21:29muy generalizada de lo que es un sistema

21:31gestor de base de datos. Entonces van a

21:33ver que hemos dicho que el sistema

21:35gestor de base de datos es un conjunto

21:37de programas que me sirve para crear y

21:38manipular o mantener una base de datos,

21:42una o más bases de datos en sí. está

21:45teniendo en cuenta eh teniendo en cuenta

21:47que estos programas pueden definir,

21:49construir, manipular y compartir

21:53estos datos dentro de la base. ¿Sí?

21:56Entonces vemos que la parte digamos que

21:58es violeta, por llamarlo de algún color,

22:02eh el el el rectángulo del centro,

22:07tenemos allí adentro dos componentes.

22:09Por un lado, el software para procesar

22:11consultas y por el otro lado, un

22:13software para acceder a los datos

22:15almacenados. Por eso es que ahí

22:16mencionaba, obviamente esto es una s

22:19simplificación, pero ahí mencionaba que

22:21dice que es un conjunto de programas.

22:23Entonces, van a ver que el sistema

22:25gestor de base de datos se considera que

22:26está formado por programas más pequeños

22:29que me permiten acceder a estos datos.

22:31Una de las características particulares

22:34que dentro de la base de datos yo voy a

22:36tener dos partes separadas, ¿sí? Una que

22:40es la base de datos o los datos

22:42almacenados en sí y por el otro lado voy

22:44a tener la definición de la base de

22:47datos. Okay.

22:51Exactamente. Los metadatos.

22:53Bien,

22:55al conjunto de estas aplicaciones, o

22:58sea, de lo que vendría a ser el CORD,

23:00que es el sistema gestor de base de

23:01datos, más estos estos archivos, vamos a

23:05suponer esta parte física, se lo

23:08denomina sistema de base de datos. ¿Sí?

23:12Entonces, por un lado, fíjense que

23:13tenemos la base de datos almacenada en

23:16la parte inferior, ¿sí? Los tamborcitos,

23:20que es la típica forma de representar

23:22una base de datos. En el medio tenemos

23:25el sistema gestor de base de datos, que

23:29eh normalmente es lo que conocemos como

23:31motor de la base de datos, ¿sí? O la

23:34instancia de la base de datos. Y por

23:37fuera tenemos nuestras aplicaciones y

23:38consultas que dependiendo de cuán

23:40vinculada esté también se podrían

23:42considerar parte del sistema de base de

23:44datos. Entonces a todo ese conjunto se

23:46lo denomina sistema de base de datos.

23:49¿Sí? Eso como para eh considerar cuáles

23:54serían las eh los diferentes conceptos

23:57involucrados y cómo los vamos a estar

23:58llamando. ¿Sí?

24:00Eh, normalmente vamos a estar hablando

24:02de sistema gestor de base de datos y de

24:04la base de datos almacenadas,

24:07pero ahí lo que quisiera que me

24:08respondan es lo siguiente.

24:12¿Por qué?

24:15Fíjense acá

24:21decíamos que tiene un propósito

24:23específico

24:28y acá hablamos de que es un software de

24:30propósito general.

24:35¿Dónde está la diferencia?

24:37¿Se está refiriendo a lo mismo o a cosas

24:39distintas?

24:41Se están hablando de cosas diferentes.

24:44Por un lado, hablá sobre una base de

24:46datos específica para una aplicación

24:48específica y por otro lado estás

24:50hablando del sistema de gestor de base

24:52de datos que sirve para muchas cosas.

24:55Perfecto. Está. Entonces, cuando decimos

24:58que hablamos que el software es de

25:01propósito general, estamos hablando del

25:03sistema gestor de base de datos. Sí, no

25:06nos referimos a la base de datos en sí,

25:07la base de datos en sí, esta partecita,

25:11¿sí? La parte de abajo y junto con la

25:14definición de la base de datos

25:15almacenada, eso sí es de propósito

25:17específico.

25:19Sí,

25:21pero de todas maneras hay que aclarar

25:24algo. Son de propósito general por lo

25:27siguiente, digamos. Eh,

25:30a ver, esto quiere decir que eh para que

25:33no se malinterprete, nosotros tenemos

25:36bases de datos que por ahí están

25:38adaptadas a funcionar de mejor manera

25:40con ciertas aplicaciones, ¿sí? Con

25:43cierto tipo de aplicaciones. ¿Alguien se

25:45atreve a a darme un ejemplo

25:48de una base de datos con algún tipo de

25:50aplicación? Claro. O sea, por ejemplo,

25:52vamos a suponer nosotros en estas

25:54materias vamos a estar utilizando de

25:57base

25:58de de base, digamos, para aclararlo más

26:01como motor de base de datos para lo que

26:04son las prácticas. Más adelante vamos a

26:06estar utilizando SQL Server.

26:08SQL Server funciona con, hasta donde

26:11tengo entendido con Windows o hasta hace

26:12muy poco con Windows.

26:14Exacto.

26:15Bien.

26:16Yo uso mucho MySQL y María DB.

26:18Ajá. Perfecto. Y esa qué y My SQL, SQL

26:24Server, María DB, ¿a qué tipo de

26:27aplicaciones se adaptan? ¿Tienen un

26:30tienen una un objetivo específico o son

26:33de propósito más bien amplio general?

26:38Eh, ambas cosas depende.

26:40Ajá. A ver,

26:42hay aplicaciones que son de propósitos

26:44específicos y hay aplicaciones que

26:46tienen tienen propósitos generales.

26:49Claro, pero por ejemplo a lo que me

26:50refiero es yo con un SQL Server, con un

26:53MySQL podría ser un sistema de

26:56facturación, ¿no?

26:58Sí,

26:58tranquilamente. ¿Qué otra cosa podría

27:00ser?

27:02Aplicación web.

27:04una aplicación web para eh vamos a

27:06suponer para

27:08nosotros manejamos aplicaciones móviles,

27:10por ejemplo, con Mysql, vinculaciones

27:12con aplicaciones móviles entre APIs, por

27:15ejemplo.

27:16Bien. Y y ¿qué? Dame un ejemplo de a,

27:20por ejemplo, por ejemplo, trabajamos el

27:22home banking de clientes,

27:24eh en el cual se conectan, pueden

27:26conectarse a través de eh PHP en la en

27:30sitios web

27:31o bien a través de aplicaciones Android

27:33o iOS a través de APIs que que vinculan

27:37con la base de datos.

27:38Bueno, perfecto. Entonces ahí tenés otro

27:40ejemplo de aplicación. Eh, no sé si lo

27:42estoy interpretando bien, pero

27:43vinculadas a home banking, ¿sí? Mismo, o

27:46sea, otro tipo de base de datos se

27:48pueden, por ejemplo, para almacenar eh

27:51clientes de una empresa de

27:52telecomunicaciones.

27:54¿Sí? Entonces son base de datos de

27:57propósito estrictamente general, es

27:59decir, se pueden adaptar a muchos

28:01escenarios posibles. Ahora,

28:04y eso está bien porque eso me dice la

28:06definición,

28:08pero hay motores de bases de datos que

28:11se adapten mejor a ciertos escenarios.

28:15Sí, por ejemplo, Ready se adapta mejor a

28:17lo que es aplicaciones móviles porque

28:19hace como un cacheo en memoria de de la

28:22base de datos. Nosotros hacemos un un,

28:24vamos a decir, un híbrido ahí entre las

28:26bases de datos relacionales con bases de

28:28datos eh no relacionales.

28:32Perfecto. Bien. Entonces eh e cuando

28:37dice base de datos en los chat de

28:39WhatsApp y Telegram almacenados en un

28:42Sí, sí. A ver, son son diferentes tipos,

28:46digamos. Incluso, fíjense, yo creo que

28:48les había mencionado, ahora no está muy

28:50muy en uso. Ustedes pueden correr

28:52motores de bases de datos, si bien no es

28:55la idea, si van a ser monousarios,

28:58pueden correr un motorcito de base de

28:59datos en un celular. Ahora,

29:03eh hay un límite fino entre lo que se

29:06puede considerar una base de datos de

29:08propósito general y un sistema de base

29:10de datos propietarios, o un sistema de

29:12archivo. Sí.

29:14Eh, por ahí hay que ver WhatsApp cómo lo

29:16maneja internamente a eso. Él creo que

29:18se está, vos te estás refiriendo a los a

29:20donde guarda los mensajes y demás, ¿no?

29:23En el teléfono.

29:25Exacto. Bueno, hay que ver ahí si se

29:26llega y ahora tenemos que ver cuál es la

29:28cuestión crítica para ver. Primero

29:30siempre hay que guiarse por el hecho de

29:32decir esto es de propósito general. Esto

29:36implica que no está orientado una sola

29:38aplicación. Y si ahí ya decimos que la

29:41base de datos que usa WhatsApp está solo

29:43para WhatsApp, entonces ya estamos ahí

29:45complicado entrar. Sí, eso por un lado,

29:49profe, entonces podría ser, por ejemplo,

29:51que WhatsApp use una base de datos que

29:53sea específica para eh sistema de

29:57comunicación, por ejemplo, ¿no?

30:00Bueno, y hacia ahí es donde voy el

30:02ejemplo que creo estaba dando Emilio

30:04también, él me dice, "Bueno, este tipo

30:07de base de datos se puede adaptar más a

30:10aplicaciones móviles." Sí.

30:14E

30:15pero hay aplicaciones por hay bases de

30:17datos que, por ejemplo, se adaptan a

30:20tipos de aplicaciones en general, como

30:21por ejemplo pueden ser las aplicaciones

30:24eh GIS, no sé si las escucharon nombrar.

30:28Sí, sí.

30:29Bueno, ¿qué son las aplicaciones GIS?

30:35Más o menos, digamos, no es necesario

30:37una definición.

30:40Exactamente. Son aquellas que se

30:42utilizan para eh el uso de mapas, ¿sí?

30:47Eh, una muy conocida obviamente es

30:50Google Maps, ¿sí? Pero en general

30:54hay aplicaciones por o hay sistemas de

30:56base de datos, sistemas gestores de base

30:58de datos que se adaptan mejor a eso. Y

31:01por ende, con esto que me refiero es que

31:04así como eh algún hay lenguajes de

31:07propósito general, también lenguaje de

31:09programación de propósito general con

31:11los cuales podemos programar muchos

31:13tipos de aplicaciones. Sí, hay otros

31:16lenguajes que están, si bien puedo

31:18programar muchos tipos de aplicaciones,

31:20pero de determinado tipo, en determinada

31:22categoría. Y algo similar viene

31:24sucediendo con las bases de datos a

31:26medida que pasa el tiempo, ¿sí? O sea,

31:28se van diversificando. Es decir, al

31:30principio las bases de datos estaban

31:32hechas más que nada para propósito

31:34general. Sí, se se podían hacer una

31:38infinidad de aplicaciones y después se

31:40se fueron especializando sin dejar de

31:43ser generales dentro de su ámbito. ¿Sí?

31:47Entonces, eso es lo que quiero que les

31:48quede claro. No hay una base de datos

31:51que sea mejor para todos. Sí podemos

31:53llegar a tener que algunos les guste más

31:56trabajar con un con un motor en

31:59particular. Sí.

32:02Y ya obviamente si si el tipo de modelo

32:05en el que se basan es igual, ahí

32:07podríamos llegar a hablar de cuál es

32:09mejor que otro, qué ventajas te ofrece

32:12uno sobre otro. Pero en general

32:14tendríamos que estar buscando cuál es la

32:17mejor opción para resolver el problema.

32:20Con esto no quiere decir que sea tan

32:21fácil como cambiarse la camisa. Sí,

32:24claro, porque también hay que tener hay

32:26que tener en cuenta también el el

32:28propósito de la aplicación. Por ahí hay

32:31bases de datos no relacionales que, por

32:33ejemplo, Firebase de Google que no te

32:36sirven para ciertas cosas que necesitas

32:39hacer en tu aplicación y necesitas sí o

32:41sí una base de datos relacional.

32:43Exactamente, exactamente. O sea, por eso

32:46es que por ahí hay hoy en día después

32:49vamos, creo, si nos da el tiempo ahora,

32:52eh, vamos a hablar un poquito de las

32:54diferentes bases de datos, pero nada,

32:57sepan que tenemos diferentes modelos y

33:00hay un cada vez hay más más variedad de

33:04base de datos, entonces elegir una se

33:05hace muy difícil. Sí, obviamente siempre

33:09tendemos a ir hacia las más conocidas.

33:12Sí.

33:13Vamos a hablar un poquitito más acerca

33:15de eso. Eh, pero bueno, eso quería que

33:18les quede claro para diferenciar bien y

33:20hasta dónde llega el tema de propósito

33:22general, propósito específico y demás.

33:25Ah, y de paso me gustaría saber eh

33:28bueno, acá algunos ya nombraron eh

33:30algunas bases de datos con las que

33:31trabajaron. Los demás

33:33trabajaron ya con alguna base de datos o

33:35todavía no.

33:40Aparte de lo que nosotros ya vimos el

33:42trimestre pasado.

33:46Yo no, profe.

33:48Posre SQL, bien. SQL de B,

33:53perfecto. O sea, ten ahí un mapeo

33:55general de todo. Eh,

33:59¿alguna Cassandra? Bien, perfecto.

34:03Después voy a preguntar para qué lo

34:05usaron, digamos. Bien, ¿alguna otra?

34:08¿Alguien alguien utilizó?

34:13No, eso sí que no.

34:16IBMDB2

34:20es paga la base de datos de Oracle,

34:22profesor o tiene una versión gratuita

34:24recontrapaga.

34:26Sí,

34:27lo que utilicé hace mucho tiempo en un

34:30trabajo que tuve es eh sistema de

34:33archivos eh ficheros para Cobol, por

34:36ejemplo, no maneja base de datos, sino

34:38es como una base de datos, pero en

34:40archivos.

34:43Perfecto. Claro. Es y ahí otra vez entra

34:46la cuestión, digamos, de la

34:47diferenciación.

34:49Perfecto. No, pregunto porque por ahí

34:51una minoría ya tuvo alguna experiencia.

34:55No sé si profesional, si para jugar un

34:58poco o no con las bases de datos.

35:00Entonces, por eso pregunto por si algún

35:02utilizó para tener un mapeo general de

35:06lo que aunque sea de un vistazo general

35:09de lo que pudieron ver de bases de

35:11datos, ¿no?

35:13Bien. Eh, eso era con respecto entonces

35:16a la arquitectura

35:18de vuelta general de una base de datos.

35:21El ejercicio que viene acá se los dejo

35:24para ustedes. Este era el ejemplo que

35:26habíamos visto.

35:27Vayan posteando ahí en el en la en el

35:32muro, vamos a decir, del

35:35del aula virtual y después sí

35:39no puede dejar como tipo como actividad

35:40tarea, así como dejó el primer ejercicio

35:42y listo.

35:44Hm. Lo que pasa es que si no los demás

35:47no saben que eh que esa es un poco la

35:50idea, los demás no saben que los demás

35:54eh colocan. Sí. O sea, fíjense que lo

35:57que se trata de emular cuando hacemos

35:59para mí hubiera sido más fácil,

36:00sinceramente, ¿no?

36:03Pero eh se trata se trata de emular la

36:05interacción de lo que ustedes van

36:07aportando acá. Entonces, por eso les

36:09pido que participen eh en esos en esos

36:13foros, ¿está?

36:15Okay, prof.

36:16Está. Entonces, todo lo demás pueden

36:17nutrirse. Incluso hay una actividad que

36:19está buena, que es la de taller, que voy

36:21a ver si la puedo aplicar después. No sé

36:23si ya lo utilizaron en M

36:27alguna vez. Bueno,

36:31bien. ¿Qué es lo que viene

36:35ahora?

36:37Ahora sí vamos a ver un poco más, vamos

36:40a centrarnos en las diferencias de eh

Enfoque de BD

36:44cuándo estamos eh hablando de archivos y

36:47cuándo simplemente estamos hablando de

36:49archivos y cuando estamos hablando de

36:50bases de datos. Sí.

36:53Eh,

36:55justamente a veces la diferencia es un

36:57poco gris, pero los criterios que vamos

36:59a tener son los siguientes, ¿no? En el

37:03cual una de las cuestiones principales

37:05es la noteraleza autodescriptiva de los

37:06sistemas de los de base de datos. Esto,

37:08¿qué quiere decir? Cuando nosotros en el

37:11procesamiento tradicional que tenemos de

37:13archivos, ¿sí?

37:16Lo que suele suceder normalmente es que

37:19eh y esto quizás por el ejemplo que dio

37:23recién Emilio,

37:25eh por ejemplo trabajando con Cobol.

37:27Puede ser que eh nosotros Cobol

37:30normalmente se trabajaba es un se

37:33trabajaba en conjunto con mainframes,

37:36¿sí?

37:38y eh puede ser que estén o no los

37:40archivos centralizados, pero cuando

37:42nosotros tratamos con archivos puede ser

37:44que cada uno de esos archivos estén

37:46distribuidos en diferentes

37:48en diferentes máquinas, en diferentes

37:51computadoras. Entonces, lo que puedes

37:53hacer, vamos a suponer este ejemplo que

37:55tendríamos de de las eh de de la

37:59universidad.

38:01Puede ser que, fíjense, a ver si se los

38:05muestro acá antes de seguir avanzando.

38:06Fíjense, por ejemplo, este eh esta tabla

38:10de estudiantes. Sí, yo podría tener una

38:13tabla de estudiantes, por ejemplo, en

38:15qué sector de la facultad, si trabajamos

38:18con trabajáramos con archivos,

38:21¿quién podría utilizar esta tabla de

38:23estudiantes?

38:25Si es acá alumnado,

38:27bueno, alumnado, por ejemplo, alumnado.

38:30Y si estuviera en forma de archivos en

38:32general, ellos tendrían su propia copia.

38:36Sí, esto es como se hacía en sus

38:37comienzos, ¿no? Tendría su propia copia,

38:40tendría que actualizar allí y después en

38:43qué otra parte podrían tener esta

38:46podrían estar utilizando información del

38:48estudiante.

38:56¿Qué otro departamento podría ser? La

38:58biblioteca, profesor.

38:59En la biblioteca, por ejemplo, podrían

39:01estar utilizando. ¿Y qué pasa si uno

39:03hace una modificación en un lugar?

39:07Sí tiene que después mandar esa

39:11modificación al otro, ¿sí?, al otro

39:13lugar. Entonces, por ahí pueden haber

39:15problemas primero de redundancia, ¿sí?

39:19Porque voy a tener esos valores

39:21repetidos, voy a tener archivo por

39:23separado,

39:24eh, y también puede haber problema de

39:26consistencia.

39:28Sí, porque y fíjense que en realidad acá

39:31tenemos estamos teniendo un problema

39:33bastante similar a pesar de que estamos

39:35trabajando con base de datos. Fíjense

39:38que por un lado tenemos nosotros ISA

39:40AccAD y en vez de que esté integrado

39:43eh eh por ejemplo el aula virtual y

39:45sacar los datos directamente de ahí, es

39:48un proceso que se hace por separado.

39:50¿Sí? Entonces si uno cambió los mails en

39:53un lado, tiene que cambiarlo en el otro.

39:55Sí. Entonces, esto con los archivos era

39:58ineludible, pasaba muchas veces así. Sí,

40:02con la base de datos, fíjense, si no hay

40:04una base de datos sincronizada, también

40:07puede ocurrir. Entonces, tengan en

40:09cuenta que estos problemas se pueden dar

40:11de una u otra forma. Lo que pasa que

40:13cuando tenemos archivos es mucho es

40:17mucho más probable que suceda, ¿sí?

40:19Cuando trabajamos de esta forma eh más

40:22desorganizada,

40:24¿sí?

40:26Entonces, una de las diferencias que

40:28tenemos es que cuando trabajamos con un

40:29enfoque de base de datos, vamos a tener

40:31una naturaleza autodescriptiva de los

40:33sistemas de base de datos. ¿Hacia dónde

40:36se dirige esto?

40:41¿Qué suponen? ¿A qué a qué se refiere

40:43esto exactamente? que nosotros cuando

40:47estamos trabajando acá eh con un sistema

40:51de base de datos, por un lado tenemos

40:54los datos almacenados y por el otro lado

40:56tenemos la descripción. Entonces, esa es

40:59una de las cuestiones que hace que un

41:01sistema gestor de base de datos o un

41:02sistema de base de datos pueda ser de

41:04propósito general que para cada nueva

41:07aplicación

41:09sí yo le tengo que tengo que definir

41:13cuál va a ser la estructura de datos o

41:15el modelo de datos que yo voy a utilizar

41:17para eso, ¿sí? el esquema que voy a

41:20estar utilizando. Estamos entonces

41:24en particular tienen que entender que

41:26esa es una de las características más

41:29importantes que lo diferencia entre lo

41:33que es un sistema de base de datos y un

41:36conjunto de archivos.

41:38Sí, porque incluso yo podría tener de la

41:41siguiente forma. podría ser mi diagrama

41:43y todo y podría tener un archivo que sea

41:45estudiante, un archivo que sea eh

41:49calificaciones, por ejemplo, y emular lo

41:52que es una tabla en un archivo.

41:55Pero, ¿qué pasa? ¿Por qué por qué se

41:58supone que eso no sucede con los

41:59archivos? ¿Por qué decimos que con la

42:01base de datos sí se da? ¿Cuál? ¿Dónde

42:04está la diferencia principal? Entonces,

42:11ya hablamos que la base de datos tiene

42:13los metadatos y en el caso de un

42:15archivo, ¿qué pasa?

42:18Tenés que llevarlo manualmente.

42:21Exactamente. Y esa lógica en general,

42:22¿dónde está la lógica de la estructura

42:26esa en general? ¿Dónde la suelo colocar?

42:28¿En qué parte?

42:31En la definición.

42:33No, en el sistema operativo, no.

42:37En la definición, profe, o

42:41en la definición de ¿qué?

42:44De la base de datos.

42:45No, pero si justamente le estoy

42:47preguntando,

42:49¿no? No tenés

42:51en el sistema archivo no tenés

42:52definición. En realidad

42:54no tenés definición. Entonces, pero a

42:56ver. Ah, no,

42:57yo de alguna manera

43:00tengo que saber, o sea, yo sé que, por

43:02ejemplo, vamos a suponer lo siguiente,

43:04yo sé que para eh estudiantes, sí, vamos

43:07a ir a este ejemplo de acá,

43:12yo sé que para estudiantes voy a tener

43:14cuatro columnas. ¿Sí?

43:18Ahora,

43:21eso en una base de datos

43:26está en el catálogo, ¿sí?, en la

43:28definición de la base de datos. Y eso yo

43:31lo defino por cada base de datos, por

43:32separado que yo armo.

43:35Digo, bueno,

43:35van a estar en la de archivos, van a

43:37estar por archivos.

43:38¿Cómo?

43:39En la de archivos estarían cada una en

43:41sus archivos específicos.

43:43En la de archivos lo que suele suceder

43:46es que esa estructura está metida dentro

43:48del programa.

43:51Claro, dentro del programa, pero se

43:52guarda en un archivo básicamente los

43:54datos.

43:55Exactamente. Pero bueno, eso que

43:57nosotros esos datos específicos acá,

44:00¿dónde están? En la base de datos

44:01almacenada. Sí,

44:04claro. Sí. Cuando hablamos de un

44:05archivo, en el archivo normalmente se

44:07guardan los datos específicamente.

44:10La forma en que yo tengo que accederla

44:12en general la sabe el programa

44:14por el código. Sí, sí, sí. Razón. Sí,

44:17sí,

44:17cóigo por el código. Sí. Entonces ahí

44:20esa es una de las cuestiones que tenemos

44:22que tener en cuenta. Obviamente que

44:25también va a depender de cuán bien

44:26diseñado está, etcétera, etcétera.

44:28Podría ser muchas conjeturas al

44:30respecto, pero vamos a para hacerlo

44:31simple, vamos a decir así. en general

44:34puede estar en el código

44:36y eso hace que sea mucho menos

44:38mantenible.

44:40Es una de las cuestiones principales por

44:42la cual nosotros decimos que el enfoque

44:45a base de datos en realidad

44:49es eh tiene una naturaleza

44:51autodescriptiva. ¿Sí?

44:54El otro punto es el siguiente, es la

44:57separación entre los programas,

45:01¿sí? y eh los datos y al final algo que

45:05se llama abstracción de datos. Entonces,

45:08por un lado dice, yo tengo yo tengo lo

45:10que es la independencia respecto a los

45:13programas y los datos. Esto es y que

45:15justamente se alimenta de lo que vimos

45:18recién.

45:20Sí. Al tener la la posibilidad de la

45:24base de datos de autodescribirse,

45:26yo puedo hacer una separación de mi

45:28programa y los datos que estoy

45:30guardando. Es decir, no tengo necesidad

45:32de guardar esa estructura o hacer tan

45:35dependiente la estructura de mi programa

45:37de los datos que voy a guardar o de la

45:39forma en que los guardo. Sí, obviamente

45:42con ciertos

45:44con ciertos recaos, o sea, a ver, si yo

45:48digo quiero obtener la fecha de

45:49nacimiento de un estudiante, ¿sí? Y yo

45:52no tengo la fecha de nacimiento de un

45:54estudiante, entonces obviamente no la

45:56voy a conseguir y ahí tengo una

45:57relación. Pero lo que me dice es lo

46:00siguiente, o sea, yo tengo en mi archivo

46:04lo tengo guardado de determinada manera.

46:06En tal secuencia, primero tengo el

46:08número, el DNI, después tengo el nombre

46:11del

46:13el nombre del estudiante, después tengo

46:15el la dirección. Entonces yo tengo que

46:18saber que lo tengo que acceder de esa

46:20forma. Entonces sí o sí soy dependiente

46:23uno de otro. Cuando yo hablo de cuando

46:27digo que hay separación entre los

46:28programas y los datos, digo, bueno, la

46:30estructura de cómo se almacena eso

46:32depende de la base de datos. Yo le pido

46:34los datos directamente. Sí. los datos

46:37más bien lógicos. ¿Okay?

46:40Y por otro lado, eh otro punto que nos

46:45está acá en la diapositiva es que dice

46:46independencia con respecto a los

46:48programas y las operaciones. Sí, esto se

46:51da más en tipos de bases de datos, ¿sí?

46:55Que están eh son eh

46:58base de datos multimodelos, ¿sí? O son

47:01relacionales y tienen algo de

47:03orientación a objetos. Entonces, cuando

47:05hablamos de programas y las operaciones,

47:07se dicen en aquellas operaciones que se

47:08pueden hacer en la base de datos. Si

47:10contemplamos operaciones como funciones

47:13que puede tener una base de datos como

47:14procedimiento almacenado, entonces

47:16podríamos hablar de esa independencia.

47:20Sí, después vamos a hablar más en

47:21detalle de eso. Eh, pero específicamente

47:25para ser estrictos en este caso puntual

47:27se refiere más que nada a base de datos

47:29por ahí orientado objeto. La base de

47:31datos relacionales también pueden tener

47:33funciones

47:35y pueden tener eh procedimientos

47:38almacenados vinculados a ciertos datos.

47:41Entonces, bajo ese punto de vista,

47:43podemos decir que yo hago un

47:45procedimiento almacenado o una función

47:48en mi base de datos. No importa lo que

47:51cambie allí dentro, yo le dejo la

47:53responsabilidad que, por ejemplo, tengo

47:56un procedimiento almacenado que es crear

47:58estudiante. Sí.

48:01No sé cómo lo hará la base de datos. yo

48:03le paso los datos, se encarga de hacerlo

48:05y a mí me devuelve, vamos a suponer, el

48:07número de legajo o el o el código del

48:09estudiante. ¿Sí? Entonces, esa es una

48:13forma de decir que tengo independencias,

48:16por un lado, respecto de los programas y

48:18los datos, respecto de los programas y

48:20las operaciones y al conjunto se lo

48:23denomina abstracción de datos. ¿Sí?

48:27Eso es un poquito lo que quería

48:30mencionarle respecto de esto.

48:33En el otro punto

48:35es el manejo de múltiples vistas de los

48:38datos. Sí, esto más que nada aquellos

48:41que por ahí eh ya vienen, ya trabajaron

48:45con algo de base de datos, se van a van

48:47a estar conscientes de qué se trata,

48:49digamos.

48:51Acá lo habla desde un punto de vista más

48:52conceptual, es decir, un conjunto, una

48:55base de datos con los mismos datos puede

48:59servir de diferentes maneras a

49:01diferentes partes de la organización y

49:03era era una parte del ejercicio que yo

49:05quería que hagan en el en el ejemplo que

49:08estaba ahí. Es decir, esa misma tabla

49:11estudiante en conjunto con otras tablas

49:13podría servir de diferentes maneras, a

49:15alumnado, a biblioteca, a decanato, a

49:19secretaría académica, etcétera, al

49:22departamento de la carrera. Sí. Es

49:25decir, cuando hablamos de vista

49:29refleja un un que estoy utilizando una

49:33parte de la base de datos, la parte de

49:35la base que interesa, por ejemplo, a un

49:38sector de la organización o a

49:39determinado usuario. Eso, ¿qué me

49:42posibilita? Me posibilita segmentar esa

49:45base de datos, ¿sí?, para que solamente

49:48tengan acceso a los datos que tienen

49:50permitidos. No solamente se lo hace por

49:52un tema de seguridad, sino que también

49:55se lo hace por una cuestión de enfoque,

49:57es decir, para qué mostrarle datos que

49:59no les sirven, digamos. ¿Sí

50:03se entienden? Entonces, para darles un

50:05ejemplo,

50:07eh en el caso de la biblioteca, por

50:10ejemplo, y alumnado, alumnado, a la

50:13biblioteca se le puede compartir si

50:14quieren la notas de los alumnos, pero

50:18para qué las quieren ver.

50:20Sí, no tienen no tiene nada que ver con

50:23su función. Sí.

50:26Entonces eh sin embargo, alumnado por

50:29ahí interesaría ver, por ejemplo, si

50:30está aprobado, si está regularizado,

50:32etcétera, etcétera. Entonces, es parte

50:34de su función. Entonces, tiene que ver

50:36con una cuestión de seguridad, de

50:37confidencialidad, de enfoque.

50:40Estamos

50:42hasta acá. ¿Alguna pregunta? Por último,

50:45entonces, el último punto

50:50y este dependiendo de cómo lo tratemos

50:52puede ser más o menos largo, es el el

50:56compartimiento de datos y el

50:57procesamiento de transacciones

50:59multiusarios. Acá yo les quiero

51:01mencionar un par de cositas nada más,

51:03que es todo una un capítulo, si si lo

51:07tendríamos que tratar, pero bueno, vamos

51:10a hablar de tema muy muy por arriba.

51:13Bueno, cuando nosotros hablamos una una

51:17de los ítems fundamentales es que si yo

51:19tengo una base de datos es porque

51:22también en general voy a querer que sea

51:24usada por más de un solo por más de un

51:26usuario. ¿Sí? Entonces, eh las bases de

51:30datos también tienen en realidad pueden

51:32probar digamos su su utilidad, su valía

51:35eh cuando tenemos más de un usuario

51:39interactuando con ellos. Sí.

51:42¿Cuáles son los problemas que pueden

51:44surgir entonces cuando hay más de un

51:46usuario allí interactuando con una base

51:49de datos o cuáles son las cuestiones que

51:51hay que tener en cuenta? Básicamente,

51:54paralelismo, la concurrencia.

51:56Exactamente. La concurrencia. Sí. y los

52:00privilegios tamb

52:01cómo

52:02los privilegios también para que no

52:03cualquiera pueda el el acceso a la base

52:07de datos, etcétera, etcétera. Perfecto.

52:10Entonces, pero una una cuestión que hay

52:13que hay que considerar ahí es el tema de

52:16la concurrencia. Nosotros habíamos

52:18hablado ya un ejemplo cuando vimos lo de

52:20Adonet del cuatrimestre pasado. En

52:23principio los mayores problemas se dan

52:25cuando

52:26no hay mayor problema cuando varios

52:29están queriendo acceder a los mismos

52:30datos para leerlos. El problema se da

52:33cuando yo estoy queriendo acceder a los

52:34mismos datos para escribir sobre esos

52:37datos. ¿Sí?

52:41Bueno, entonces lo que les decía era lo

52:43siguiente respecto a el compartimiento

52:45de datos. Una de las cuestiones que

52:47surge ahí tiene que ver con

52:49específicamente el control de eh

52:51concurrencia. ¿Sí? ¿Por qué? Porque eh

52:56obviamente al tener más de un usuario

52:58pueden surgir estas cuestiones, ¿sí?,

53:01vinculadas a eh a que determinados

53:05usuarios quieren estar en determinado

53:07momento accediendo a la misma a los

53:09mismos datos, a los mismos elementos de

53:11datos. Sí.

53:14Bueno,

53:17además de esta además de esta cuestión

53:19que el

53:22¿cómo se llama? El sistema gestor de

53:23base de datos sí o sí tiene que trabajar

53:26sobre eso, sí o sí tiene que tenerlo en

53:29cuenta. Eh, fíjense que ahí viene el

53:33concepto

53:35eh de los e de los sistemas OLTP, ¿sí?

53:41los sistemas eh de transac de

53:43procesamiento de transacciones online.

53:47Por las dudas,

53:49alguno quizás ha escuchado, escuchó la

53:52sigla, no sé, o el ETP está vinculado a

53:56eso, más que nada representa un una un

54:00tipo de aplicaciones muy amplio y el

54:04concepto es medio difuso,

54:06eh que tiene una alta carga de eh de

54:10trabajo de pequeñas transacciones. ¿Sí?

54:13Entonces, se podrán dar cuenta que este

54:15es uno de los principales usos que

54:16tenemos de las bases de datos eh de las

54:19bases de datos y en particular de las

54:21base de datos relacionales. ¿Sí? Em,

54:25¿por qué? Porque ahí tenemos en

54:28particular un concepto fundamental que

54:32es el de la transacción y el de manejo

54:35de la concurrencia para asegurar que esa

54:37transacción se va a llevar a cabo

54:39correctamente.

54:41¿Sí? Y de hecho ahí es una de las

54:44cuestiones donde los sistemas eh

54:47tradicionales de base de datos, los

54:49sistemas relacionales

54:51eh en general tienen la mayor sobrecarga

54:54al momento de ejecutar una consulta.

54:56¿Sí?

54:58Entonces, una de las características de

55:00estos sistemas OLTP tiene que ver con

55:03manejar esa gran cantidad o esa ese gran

55:06número de eh de pequeñas transacciones.

55:09Sí, pero tiene que también otra de las

55:12características que esas transacciones

55:14son en general conocidas, ¿sí? O sea,

55:16son se hacen, tenemos siempre las mismas

55:19transacciones ahí utilizando y la idea

55:21es que se hacen en poquito tiempo.

55:24Los típicos usos o la las típicas

55:27aplicaciones donde vamos a tener esto

55:29son en aplicaciones bancarias. De hecho,

55:32de ahí viene el concepto de transacción

55:35y de ahí viene el concepto este que

55:37estamos eh viendo, que que les voy a

55:40explicar ahora justamente vinculado al

55:42de la transacción en

Transacciones - ACID

55:45qué es una transacción

55:49en el en el eh en términos de base de

55:52datos

55:54una unidad de trabajo independiente de

55:56otras.

55:57Bien, una transacción entonces es uno

56:00más operaciones, mejor dicho, que se

56:02realizan en conjunto que tienen que

56:05llevarse, como decías vos, a cabo en una

56:08sola unidad, ¿sí? Conforman una unidad

56:12lógica de trabajo. ¿Okay?

56:16Entonces, ¿esto qué quiere decir? ¿Por

56:17qué decimos que es una o más operaciones

56:20que trabajan en conjunto? Porque puede

56:22ser simplemente una inserción en una

56:25tabla. Sí. O puede estar formado por una

56:29inserción en una tabla, un borrado en la

56:32otra, una modificación en una tercera,

56:35pero todo eso se lleva a cabo en

56:37conjunto. El ejemplo

56:40que siempre viene a cuento cuando

56:43hacemos esto es justamente el de una

56:46transferencia, ¿sí?

56:49porque es un ejemplo conocido bastante

56:51sencillo, al menos lógicamente, y que se

56:54da en el ámbito bancario, justamente. Es

56:56decir, que cuando nosotros eh intentamos

56:59hacer una transferencia, nosotros

57:01decimos, "Bueno, la transferencia

57:03primero, ¿qué operaciones va a

57:05involucrar?

57:10Estamos hablando entre cuentas

57:11bancarias." Sí.

57:23e

57:24quitar dinero de una cuenta y

57:26transferirse la otra.

57:27Claro. Y en ese proceso, o sea, primero

57:29vamos a tener sí o sí un débito, un

57:32crédito, ¿sí? Y de antemano, además,

57:36vamos a tener que corroborar que tenga

57:38suficiente saldo, ¿sí? Que las cuentas

57:42existan.

57:44Okay.

57:46Pero, ¿dónde está la parte crítica?

57:50La parte de depósito

57:52un lado de otro.

57:53Exactamente. O sea, lo peor que me

57:55podría lo que lo peor que podría pasar

57:57es que yo haga el débito

58:00y jamás llegue el crédito al otro lado.

58:04Sí.

58:06Entonces, ahí viene una colación, unas

58:08siglas eh muy conocidas,

58:12¿sí? en el ámbito de la de lo que son

58:15los sistemas gestores de base de datos,

58:17que son las siglas,

58:19¿sí?

58:20Que significan atomicidad, consistencia,

58:24aislamiento, isolation y durability o

58:28durabilidad.

58:30Sí,

58:33en particular todas estas forman el

58:35concepto o son propiedades necesarias en

58:38una transacción.

58:40Sí.

58:41Por lo tanto, cuando yo hablo y no

58:44quiero que se pierda el foco de donde

58:46estamos de donde estamos ubicados, acá

58:48estamos y empezamos a hablar de las

58:50cuatro características vinculadas al

58:52enfoque de base de datos y esta era la

58:54última y por eso le dije que quizá era

58:56un tema que podía dar para bastante,

58:59pero bueno, vamos a vamos a explicar

59:01rápidamente y lo cortamos acá en el

59:04sentido de decir

59:07cuando hablo de atomicidad

59:11Significa que esas transacciones,

59:13fíjense en el ejemplo que tengo acá en

59:15la diapositiva,

59:17¿sí? ¿Qué es lo que hace? Verifica la

59:21cuenta de origen,

59:24valida la cuenta de destino,

59:28extrae de la cuenta de origen, depositan

59:31la cuenta de destino.

59:35Lo que dice es que las operaciones

59:38se tienen que realizar con una

59:41estrategia de todo o nada. Sí. O se hace

59:45la operación completa o si no que tiene

59:47que pasar.

59:50Se aborta

59:51volver volver hacia atrás.

59:53Exactamente eso se conoce cómo lo

59:56conocemos normalmente por ahí lo que

59:58rb

59:59es el rollback. Sí, es el rollback.

1:00:03Está. Entonces es volver al estado en el

1:00:06que estaban cuando empezamos.

1:00:09¿Qué puede suceder? ¿Por qué puede

1:00:11suceder esto? ¿Hubo un fallo en un

1:00:12disco, hubo un fallo? Eh, se cortó la

1:00:15luz. Eh, o un tema de conexión en

1:00:19internet,

1:00:21pueden pasar varias cosas.

1:00:24Sí, hubo un error en el programa.

1:00:28Sí. Entonces, la automicidad, esto es

1:00:32una de las cosas de las que tiene que

1:00:33encargarse el motor de base de datos,

1:00:35¿sí? De que se ejecute todo o nada.

1:00:40Okay,

1:00:41profe, cuando se realiza una transacción

1:00:44desde el lado del lenguaje de alto

1:00:47nivel, sería por ejemplo no GAS o PHP,

1:00:51lo que fueram

1:00:52la transacción la maneja la base, el

1:00:54motor de base de datos,

1:00:56la debe siempre tiene que estar en en

1:00:59digamos en coordinación con la base de

1:01:01datos. Ahora,

1:01:03si vos elegís una estrategia

1:01:07que lo vos también podrías elegir una

1:01:09estrategia que se maneje desde el punto

1:01:12de vista de la aplicación y la base de

1:01:14datos ni se entera.

1:01:16Claro. Sí. Eh, por eso le preguntaba yo.

1:01:18Normalmente se utiliza transaction, por

1:01:20ejemplo, en los lenguajes de

1:01:21programación y vuelven hacia atrás y

1:01:24algo no se realizó correctamente.

1:01:27Claro. Y ahí

1:01:28ahí yo no sé si es la base de datos o

1:01:30realmente el, vamos a decir, el

1:01:32framework del entorno de programación el

1:01:34que se encarga de dato.

1:01:35Ah, ahí interviene la base de datos. Sí,

1:01:38ahí interviene la base de datos. Pero lo

1:01:41que pasa, lo que conviene más es cuando

1:01:43tenemos este tipo de transacciones que

1:01:45son de todo, nada.

1:01:47conviene que eh se hagan dentro de una

1:01:50operación en la base de datos, dentro de

1:01:53un procedimiento almacenado en la base

1:01:56de datos. Entonces,

1:01:57claro, porque entonces los vamos a decir

1:01:59los recursos no no consumen el servidor,

1:02:02por ejemplo, que aloja el programa, sino

1:02:05exactamente, exactamente, exactamente.

1:02:09Bien. El lo segundo es la consistencia.

1:02:14la consistencia y este tengan en cuenta

1:02:16porque hay diferentes modelos

1:02:19eh

1:02:21hay diferentes modelos que eh por ahí me

1:02:25refiero a modelos de propiedades

1:02:27vinculadas a esto

1:02:29que hablan de eh hablan del mismo

1:02:32término, pero con diferentes sentidos.

1:02:35Cuando hablamos de consistencia acá

1:02:38tiene que ver con que el motor se

1:02:40asegure que todo dato guardado sea

1:02:43válido.

1:02:45Está

1:02:49eso sí o sí tiene que ocurrir. O sea,

1:02:51vamos a ir al ejemplo más sencillo. Es

1:02:54que si sé,

1:02:56por ejemplo, si alguien

1:03:00justamente extrajo e

1:03:04eh extrajo dinero de la cuenta

1:03:08que no pueda y es una caja de ahorro,

1:03:10por ejemplo, no puede existir saldo

1:03:12negativo.

1:03:14Sí.

1:03:15o que si se inserta un registro, por

1:03:18ejemplo, no es el caso de este ejemplo,

1:03:21que no tenga una clave de una clave de

1:03:23tabla duplicada,

1:03:25¿sí? O que si se borra un registro no

1:03:28quede otro registro sin vinculación, ¿se

1:03:32entiende? Entonces, acá no se habla de

1:03:34la consistencia tanto porque tengan

1:03:36mismos valores en diferentes

1:03:38particiones. Se está hablando de

1:03:40consistencia en cuanto al cumplimiento

1:03:42de las reglas de la base de datos, las

1:03:45reglas, las restricciones

1:03:48que tiene esa base.

1:03:49Las reglas de negocio sería

1:03:51son ahí con cuidado, reglas de negocio

1:03:54que pueden que están escritas en la base

1:03:57de datos, ¿sí?

1:04:00a través de diferentes mecanismos,

1:04:03sí, pero que están escritos en la base

1:04:05de datos. Acá sí que si vos tenés reglas

1:04:08de negocios que solamente las reforzás

1:04:11del lado

1:04:13del lado de la aplicación, la base de

1:04:14datos ni se entera. Sí,

1:04:18acá me estoy, creo que ahí lo está

1:04:20diciendo Mauricio, eh, claro, puede ser

1:04:24el tema de actualización en cascada,

1:04:26borrado en cascada, puede ser que tenga

1:04:29triggers, ¿sí? Eh, vinculados a eso para

1:04:33reforzar estas reglas. Entonces, lo que

1:04:36te dice es que antes y después de una

1:04:37transacción siempre los estados tienen

1:04:40que ser válidos.

1:04:42Sí.

1:04:44Bueno, eh aislamiento lo que me dice es

1:04:48que, fíjense el ejemplito que tiene acá.

1:04:53Me dice que cuando tengo varias

1:04:54transacciones o ocurriendo de manera

1:04:58concurrente,

1:05:00lo que tiene que suceder es que cada

1:05:02transacción se tiene que ejecutar como

1:05:04si fuera la única que lo está haciendo.

1:05:07Sí, hasta que se entere de que no es

1:05:10así. ¿Qué significa esto?

1:05:12que

1:05:14cada cliente hace su petición y trata de

1:05:17hacer su, ¿cómo se llama?, su

1:05:20transferencia, vamos a decir, en este

1:05:22caso, ¿sí? O sea, cuando yo hago en el

1:05:24homebanking una transferencia, no me

1:05:26entero, ¿sí? ¿Quién qué qué personas o

1:05:30qué otras personas están haciendo

1:05:31transferencias al mismo tiempo? Y acá en

1:05:34particular es un ejemplo sobre una misma

1:05:35cuenta, digamos. Sí, vamos a suponer que

1:05:37todos estamos haciendo transferencia a

1:05:39la cuenta de la facultad. Yo no me

1:05:40entero que otros están haciendo

1:05:42transferencias en el momento y si llega

1:05:44a suceder que justo exactamente en el

1:05:47mismo milisegundo estamos intentando

1:05:50modificar la miso, el mismo registro,

1:05:55entonces la base de datos o el sistema

1:05:57gestor de base de datos el que se tiene

1:05:58que encargar de resolver esa situación.

1:06:01¿Sí?

1:06:03Por eso se dice que están en

1:06:05aislamiento, tienen que estar aisladas

1:06:08las eh las transacciones. O sea, esta

1:06:12hasta acá llegamos hasta y la D es

1:06:15digamos la más una de las más fáciles de

1:06:17entender. Tiene que ver con que una vez

1:06:20hecha la transacción, ese resultado

1:06:23tiene que persistir.

1:06:25Sí, por más que haya un problema de eh

1:06:29de que la aplicación se cuelgue, haya un

1:06:32problema con errores, haya problema de

1:06:34luz, etcétera, etcétera. O sea, que

1:06:36tiene que encargarse de que alguna

1:06:38manera ese valor persista en el tiempo.

1:06:42Sí, tal como se pretende.

1:06:47Se comprende entonces a qué nos

1:06:49referimos con las cláusulas, con estas

1:06:51siglas AIT.

1:06:53Sí, profe.

1:06:56¿Alguna pregunta por ahí? Quizás lo que

1:06:59tienen no trabajaron con base de datos

1:07:01lo que más me interesa que esto quede

1:07:04claro, digamos.

1:07:06Entonces,

1:07:07sí,

1:07:07en mayoría esto es de del lado de la

1:07:11base de datos, sería todas estas reglas.

1:07:13Sí, sí, sí. Acá acá nosotros por ahí

1:07:15vamos a nombrar las aplicaciones y

1:07:17demás, pero recuerden que estamos

1:07:18hablando de el sistema gestor de base de

1:07:20datos. Sí.

1:07:23Okay. Sí.

1:07:25Bien. Eh, Néstor, en particular, ¿alguna

1:07:28parte querés que vuelva a explicar o hay

1:07:33hay algo que no se entendió? Decimme,

1:07:37a mí me gustaría escuchar de nuevo

1:07:39aislamiento, bro.

1:07:41Bien, aislamiento es es lo siguiente.

1:07:44Vamos a concentrarnos en el ejemplo, en

1:07:46el ejemplo que está acá.

1:07:50Siempre acorddate lo siguiente, el

1:07:51aislamiento solamente se entiende cuando

1:07:54tengo dos transacciones concurrentes.

1:07:56Fíjate que en en los otros ejemplos

1:08:00los o en los otros en las otras

1:08:03propiedades, el ejemplo es de una sola

1:08:05transacción. No sé si se percataron de

1:08:07eso. Sí. Para atomicidad utiliza una

1:08:10sola transacción, para consistencia una,

1:08:12para durabilidad una, pero para

1:08:15aislamiento utiliza dos transacciones. Y

1:08:17es porque esto se ve,

1:08:21esto se ve únicamente cuando tengo más

1:08:23de una transacción corriendo al mismo

1:08:25tiempo. Esto, esto qué implicas e no sé

1:08:29si eh ¿Quién era que me hizo la

1:08:31pregunta?

1:08:33Borchichi.

1:08:34Borchichi. Bueno, vos estuviste en

1:08:35programación TR, ¿te acuerdas cuando

1:08:37estuvimos eh

1:08:40cuando estuvimos, no sé si vos estuviste

1:08:41en la clase de Adonet en la cual

1:08:44hablábamos de por ahí de las tablas y

1:08:47los dataset y quedaban errores cuando

1:08:49alguien ya había modificado la tabla

1:08:51previamente, ¿sí? un un registro que yo

1:08:54estaba. Bueno, esto va más o menos hacia

1:08:56el mismo sentido,

1:08:58o sea, decir, yo acá estoy, tengo dos

1:09:01transacciones, fíjate que lo que quieren

1:09:03es hacer más o menos lo mismo sobre la

1:09:05misma cuenta. Sí.

1:09:09Y lo que te dice el concepto de

1:09:10aislamiento es que cada transacción,

1:09:13vamos a suponer que es una transacción

1:09:15de transferencia,

1:09:17esta no está consciente de la existencia

1:09:19de la otra. Es decir, yo es como si

1:09:22fueran por compartimientos diferentes,

1:09:24¿no? No, cada cliente eh lanza su o

1:09:29vamos a suponer cada cajero del banco

1:09:32lanza la transferencia y no sabe si el

1:09:33otro lo hizo al mismo tiempo y sobre la

1:09:35misma cuenta. ¿Sí?

1:09:38Entonces, suponete que o supónganse,

1:09:41mejor dicho, que sucede lo siguiente.

1:09:45Esto es con propósitos de de del

1:09:47ejemplo, nada más. Vamos a suponer que

1:09:49yo me voy al banco, estoy en el Banco

1:09:51del Chaco, estoy me voy a tengo dos

1:09:55personas en línea de caja al mismo

1:09:57tiempo. Los dos están queriendo hacer

1:09:59una transferencia a

1:10:02una cuenta en particular. Sí, vamos a

1:10:04suponer la cuenta de la facultad.

1:10:06Entonces, lo que lo que hace ahí es el

1:10:08cliente A dice, "Bueno, yo de mi caja de

1:10:11ahorro quiero transferir

1:10:13100 pesos a la cuenta de la facultad. Yo

1:10:15y el otro de mi caja de ahorro quiero

1:10:17transferir 300es a la cuenta de la

1:10:18facultad.

1:10:20Resulta que la cuenta de la facultad

1:10:22tenía 1,000es antes de que todo esto

1:10:24suceda.

1:10:26¿Sí?

1:10:28Ahora, cuando esto va a suceder,

1:10:32vamos a suponer que exactamente los dos

1:10:35averiguaron cuánto tenía antes la cuenta

1:10:38de la facultad en el saldo. Sí. A ambos

1:10:41le decía que tenían 1,000 pesos. Sí.

1:10:45Ahora, por lo tanto, ¿qué es lo que va a

1:10:47hacer esta transacción? Va a decir,

1:10:48"Bueno, el del cliente A, el resultado

1:10:50final debería ser que hace la extracción

1:10:53de la cuenta y la facultad debería tener

1:10:5511 pesos en la cuenta al finalizar."

1:10:58Y el del cliente B que dije que iba a

1:11:00transferir 300 pesos, al final, al

1:11:02finalizar la transacción debería tener

1:11:041300 pesos la facultad. ¿Sí? Ahora, el

1:11:08problema es que los dos juntos están

1:11:11queriendo hacer esta misma transacción.

1:11:14Entonces,

1:11:16al terminar eso, van entran en la misma

1:11:20al mismo momento al querer hacerlo, pero

1:11:23la base de datos tiene que tomar la

1:11:25decisión de hacer uno primero que el

1:11:26otro. ¿Sí?

1:11:30Entonces, la base de datos dice, "Bueno,

1:11:31yo voy a tomar la del cliente A." Por lo

1:11:35tanto, dice, "Bueno, voy a actualizar la

1:11:37operación a 1100 pesos." Sí, el nuevo

1:11:40saldo de la facultad va a ser 1100

1:11:41pesos. Ahora, si se limita solamente a

1:11:46procesar directamente la otra

1:11:47transacción, lo que va a pasar es que la

1:11:50segunda transacción va a sobreecribir la

1:11:53anterior

1:11:54y en B el resultado final, si las dos se

1:11:57ejecutan una detrás de otra debería ser

1:11:59cuánto, 1400 pesos. Pero si la otra

1:12:03viene y la ejecuta directamente después

1:12:06con el valor que ya tenía, va a tomar y

1:12:09lo va a sobreescribir en 1300. Entonces,

1:12:11lo que tendría que hacer dependiendo de

1:12:13cómo esté programado, puede decir,

1:12:15"Bueno, acomoda la situación, si e

1:12:21deposita o mejor dicho actualiza el

1:12:23salto correctamente o el programa arroja

1:12:27internamente, obviamente, un error

1:12:29diciendo que ya ocurrió una transacción

1:12:31de antemano, que intente de nuevo, ¿sí?

1:12:34Tratando de volver a actualizar esa

1:12:36situación. Entonces, ¿qué tendría que

1:12:37hacer tu programa en ese momento? La

1:12:39base de datos te dice, "Mira, algo

1:12:40cambió acá." Lo que tenés que hacer es

1:12:44tratar de volver a hacer la transacción.

1:12:46Obviamente esto el cajero ni se entera,

1:12:49lo que hace es volver a obtener el valor

1:12:51nuevamente suma lo que quiere depositar

1:12:53y lo vuelve a eh lo vuelve a enviar.

1:12:57¿Sí? Entonces, como esa segunda

1:13:00transacción

1:13:01sí se tuvo que interrumpir la de 300es,

1:13:07tiene que volver atrás todo, ¿se

1:13:10entiende? Porque para ese momento,

1:13:12cuando estaba por actualizar,

1:13:16ya le había descontado el dinero a el a

1:13:19la cuenta de origen.

1:13:22Imagínate si deja ese dinero descontado

1:13:24y después quiere volver a descontárselo

1:13:26de nuevo para depositarlo.

1:13:29Sí. Entonces,

1:13:31ya lo entendí.

1:13:32Esa es la idea,

1:13:34Gabriel, y a todos los demás que

1:13:37se se comprendió esa parte. Entonces,

1:13:40sí, sí.

1:13:41Bien. Bueno, alguien había eh

1:13:45durabilidad,

1:13:48¿no? La parte de integridad es

1:13:51consistencia y durabilidad tiene que ver

1:13:55con el estado en que queda la base de

1:13:58datos después, pero esto se refiere a

1:14:00que tiene que persistir ese valor en el

1:14:03tiempo. Sí.

1:14:05Vamos a ir a los roles.

1:14:13Bueno, cuando hablamos de eh de roles,

1:14:19ah, perdón, acá le dijo una inquietud

1:14:21con respecto a las siglas.

1:14:23Sí,

1:14:27las sido estas propiedades que deben eh

1:14:31que deben existir en las con las

1:14:33transacciones.

1:14:36Eh, tienen que tener en cuenta que eh

1:14:40fueron creadas más que nada para tipos

1:14:42de base de datos relacionales y para

1:14:44otros tipos de base de datos eh,

1:14:49¿cómo se llama?, de con una estructura

1:14:51bien formalizada, digamos. ¿Sí?

1:14:55Entonces, eh

1:14:57lo que tenemos que tener en cuenta es

1:15:00que

1:15:02estas siglas,

1:15:05¿sí?

1:15:08A ver. Ah, bueno, estas siglas, estas

1:15:11siglas AID, eh, lo que lo que sucede es

1:15:15que muchos hoy en día los que empezaron

1:15:19a programar ya con aplicaciones más eh

1:15:22más vinculadas a la web, eh, tienen que

1:15:26tener en cuenta que eh no se pueden

1:15:29respetar en su totalidad.

1:15:32No sé si no sé si se llegaron a percatar

1:15:35de eso. Sí.

1:15:38La pregunta es, ¿cómo hace? Por ejemplo,

1:15:41nosotros estamos hablando acá de una

1:15:42base de datos relacional, ¿sí? Pero hoy

1:15:45en día, por ejemplo, están de moda las

1:15:48bases de datos, ¿no? SQL.

1:15:51Perdón, chicos, ¿están viendo la

1:15:52pantalla o no?

1:15:54Sí, profe,

1:15:55porque no sé si estaban discutiendo por

1:15:57eso o por otra cosa.

1:16:00Bien. E entonces lo que les decía, estas

1:16:03siglas adet son van perfecto en un motor

1:16:06de base de datos relacional, pero

1:16:09tenemos un problema si las queremos

1:16:11aplicar a otro tipo de tecnologías.

1:16:14¿Sí? Entonces, muchas de estas

1:16:16cuestiones o algunas de estas cuestiones

1:16:18no se pueden aplicar al mismo tiempo en

1:16:20otros tipos de bases de datos, como por

1:16:23ejemplo ese esa gran ese gran paraguas

1:16:27que hay o ese gran término que involucra

1:16:31a muchas bases de datos que se conoce

1:16:33como base de datos, ¿no? SQL. Sí,

1:16:37creo que varios de ustedes habrán

1:16:39escuchado nombrar el término y de hecho

1:16:41muchos me algunos me nombraron que ya

1:16:43trabajaron con alguna de esas bases de

1:16:44datos. ¿Sí? Entonces, rápidamente, una

1:16:48base de datos no SQL, ¿qué significa?

1:16:52que no ha sido el modelo relacional del

1:16:54MER en este caso.

1:16:56Eh, exactamente.

1:16:59Y al principio como todos estos términos

1:17:02que

1:17:04como todos estos términos, digamos que

1:17:06que que se van adoptando de facto y no

1:17:08no es que vienen de un consenso general,

1:17:11eh por ahí se van acomodando y al

1:17:13principio es como decía, bueno, son

1:17:15bases de datos no relacionales, ¿sí? O

1:17:18que no trabajan con un lenguaje SQL. Y

1:17:21después la fueron acomodando un poquito

1:17:22y dijeron, "No, en realidad significa el

1:17:26término más aceptado, el significado más

1:17:28aceptado es not only SQL." Sí. O estoy

1:17:32mezclando las consolamente

1:17:34SQL o not only SQL. SQL, ¿sí? Entonces,

1:17:39eh

1:17:42tienen que tener en cuenta esa cuestión.

1:17:44Sí. Eh, por ahí fueron cambiando,

1:17:46modificando el término. ¿Por qué? Porque

1:17:48a medida que fueron avanzando estas

1:17:50bases de datos, fueron incorporando

1:17:52algunos conceptos de bases de datos

1:17:54relacionales o fueron incorporando

1:17:57algunas

1:17:59el uso de lenguaje por ahí, no el SQL,

1:18:01pero sí lenguajes de consultas y demás,

1:18:05con lo cual ahora se dice que no no SQL

1:18:09significa not only SQL. Sí, es como la

1:18:12idea y claro, sí, por supuesto, por eso

1:18:15le digo, no SQL no es ni una marca ni

1:18:18nada, es un tipo de base de datos que

1:18:19decir, bueno, dejamos la base de datos

1:18:22relacionales aparte y digamos todo un

1:18:24gran

1:18:26eh abanico

1:18:29eh de cosas en las cuales pueden entrar

1:18:31muchos tipos de base de datos, incluso

1:18:32algunas que tienen algunos aspectos de

1:18:34base de datos relacionales. Sí.

1:18:38Eh, después vamos a ver eh si un poquito

1:18:41más adelante nos detenemos en eso, ¿sí?

1:18:43En en explicar un poquito más la

1:18:45cuestión. Lo que sí, eh, obviamente

1:18:47nosotros vamos a estar trabajando sobre

1:18:49un modelo eh relacional, básicamente.

1:18:53Sí. Bueno, aquí iba con esto y para ya

1:18:56me fui demasiado de tema, tengan en

1:19:00cuenta que estas siglas AS no son

1:19:02aplicables a muchas de estas bases de

1:19:05datos no SQL.

1:19:07Sí.

1:19:09¿Por qué? Entonces se decidió,

1:19:13¿sí? O se se fue optando por seguir

1:19:16otras estrategias, ¿sí? Y ahí van a

1:19:18encontrar términos como el término base

1:19:21o base.

1:19:23Sí,

1:19:25es un realidad un juego de palabra para

1:19:28acomodarlo, decir que yo tengo ácido y

1:19:32bases. Entonces dijeron, bueno, tenemos

1:19:35ac y sí. Y en realidad el término ve no

1:19:39refleja del todo bien lo que quiere

1:19:41significar, pero lo que dice es está

1:19:43como en la otra punta del espectro. Es

1:19:45decir, no seamos tan estrictos, podemos

1:19:48relajar alguna de las cuestiones que se

1:19:51piden con estas siglas así. Sí. Y hay un

1:19:55teorema de la persona que introdujo esto

1:19:59que se llama teorema CAP, ¿sí? Vinculado

1:20:03a esta cuestión. Pero eso nada, es para

1:20:06que escuchen una vez el término, después

1:20:08si quieren lo buscan y demás. No, no

1:20:10quiero que en este momento nos empezamos

1:20:13a mezclar con eso porque recién eh

1:20:16estamos empezando. Sí.

1:20:20Bien. Entonces, estas son las siglas

1:20:22adit que son propiedades que debe tener

1:20:25toda transacción en un

1:20:29en un gestor de base de datos

1:20:31relacional.

1:20:35Bueno, volviendo a los roles, que era lo

1:20:37que les iba a comentar

Roles

1:20:40con respecto a los roles, entonces

1:20:44tenemos los administradores,

1:20:46¿sí? Un administrador eh

1:20:50de base de datos ustedes lo van a

1:20:52encontrar esto en el libro como actores

1:20:54y trabajadores, ¿sí? Pero básicamente

1:20:56son roles que tenemos en las en una base

1:20:59de datos cuando estamos en un contexto

1:21:02de base de datos. ¿Sí? ¿Qué es lo que

1:21:05implica esto cuando nosotros hablamos

1:21:07administradores de base de datos? Es

1:21:08quizás un uno de los roles más es el rol

1:21:11más importante para mantener esa base de

1:21:14datos. es el que tiene acceso en general

1:21:17a todo los recursos que maneja esa gato.

1:21:20Entonces,

1:21:22a ver si me pueden me pueden decir cuál

1:21:26serían

1:21:27una o dos de las responsabilidades que

1:21:30tendría un administrador de base de

1:21:32datos en general, no más.

1:21:38Ajá. Pero, ¿a qué te referís con a qué

1:21:40se refiere con mantenimiento? ¿Qué

1:21:42involucra el mantenimiento, por ejemplo?

1:21:48Supónganse

1:21:49que ustedes son administradores de base

1:21:52de datos. ¿Qué se supone que deberían

1:21:54hacer cuando están enfrente de la base

1:21:56de datos?

1:21:58Piensen que tenemos, por ejemplo, vamos

1:22:00a suponer que estamos eh eh

1:22:03administrando una base de datos que eh

1:22:06al cual ingresan alrededor de eh

1:22:12100 usuarios por minuto.

1:22:15Sí, para no ser tan exagerados.

1:22:20¿Qué debería controlar allí?

1:22:23Monitorear el rating por lo que pasa en

1:22:25los usuarios. No sé, o sea, me di qué a

1:22:28cuántos usuarios vienen por minuto y la

1:22:30eh mantener la fiabilidad de eso en este

1:22:33caso.

1:22:33Bueno, por un lado saber cuántos

1:22:35usuarios están entrando. Sí, pero y

1:22:37además, o sea, ¿qué qué es lo que la

1:22:40base de datos

1:22:42y el controlar quién eso no se hace del

1:22:44lado de la base de datos, no?

1:22:45Bueno,

1:22:46garantizar la seguridad de los datos.

1:22:48Bueno, una de las cuestiones que tiene

1:22:49que hacer el

1:22:50respaldar,

1:22:52una de las cuestiones que tiene que

1:22:53hacer el administrador y una de las más

1:22:56críticas es garantizar la seguridad,

1:22:58¿sí? De la base de datos. Sí, quizás uno

1:23:02de los dolores que ha de cabeza más

1:23:03grande. Sí. Por ende, en general, con

1:23:06las bases de datos, lo que se trata de

1:23:08de en general no suele ser el frente de

1:23:11batalla de un sistema web, por ejemplo.

1:23:13Sí está un poco más expuesto cuando es

1:23:15un sistema eh que funciona en un

1:23:17intranet, ¿sí? Pero cuando hacemos un

1:23:20sistema web en general no se expone la

1:23:22base de datos, ¿sí? Eh está detrás de la

1:23:25aplicación, pero de todas maneras tiene

1:23:28que asegurarse que esa base de datos

1:23:30tiene todos los permisos correctos. Sí.

1:23:33Es decir, que la base de datos, por

1:23:34ejemplo, no salga con los permisos de un

1:23:36usuario administrador a producción, por

1:23:38ejemplo. Sí, desde ahí para arriba.

1:23:42Eh, ¿qué otra cosa?

1:23:46E,

1:23:49¿quién era? Ah, creo que era Melina.

1:23:51Melina mencionó Melina había mencionado,

1:23:54sí, hacer respaldos de los datos. Bueno,

1:23:57se hacen periódicos

1:23:59por si llega a pasar algo.

1:24:01Exactamente. Entonces, mantener la

1:24:03fiabilidad de de esos datos, es decir,

1:24:07que ante cualquier inconveniente se

1:24:10puedan recuperar hasta su último estado

1:24:13eh guardado. Obviamente, dependiendo de

1:24:17la periodicidad con la que hagamos esas

1:24:20esos resguardos,

1:24:22es cuán si tendríamos un problema,

1:24:25cuánto vamos a poder recuperar de lo que

1:24:27ya teníamos allí, ¿no? También no solo

1:24:30depende a veces en la arquitectura

1:24:33propia del despliegue de la base de

1:24:35datos está,

1:24:38¿cómo se llama?

1:24:41Eh,

1:24:43está el hecho de

1:24:43pasó con con la empresa Canon que

1:24:46perdieron casi una semana de datos, que

1:24:49eran casi 10 TB de datos de los

1:24:51usuarios.

1:24:52Ah, mira, no no no no conocía. Y al

1:24:55final

1:24:55estaban viendo si podían recuperar. Eso

1:24:57fue lo último que le Y encima fueron

1:24:59hackeados. Así que

1:25:01bueno, es a ver esas son las cuestiones

1:25:04en la cual a uno no le gustaría ser no

1:25:07le gustaría estar en el R.

1:25:08Nadie quiere estar en ese lugar. No, eh,

1:25:12a ver, todo lo que tenga que ver con

1:25:14administración de servidores en general

1:25:17o de base de datos en particular, me

1:25:19refiero a base de datos que que son

1:25:22accedidas realmente por muchos usuarios

1:25:24de manera concurrente, puedes pasar un

1:25:26tiempo en que no tengas que hacer nada,

1:25:28pero cuando tenés un problema, tené

1:25:30todos los problemas juntos. Entonces,

1:25:33estás las 24 horas tratando de

1:25:35solucionar los problemas.

1:25:37Es es un gran es un gran tema. Es un

1:25:40gran tema y requiere de mucha

1:25:42experiencia. requiere de mucha

1:25:43experiencia.

1:25:45Eh,

1:25:47pero bueno, porque aparte en de acuerdo

1:25:50al esquema que se está utilizando, el la

1:25:52base de datos puede ser el cuello de

1:25:55botella. Y ahí viene lo tercero

1:25:58que y una de las cosas más importantes,

1:25:59tiene que tratar de que la base de datos

1:26:01funcione con una performance adecuada.

1:26:05Es decir,

1:26:06imagínense si empiezan a ingresar más y

1:26:09más y más usuarios y puede puede ser

1:26:13víctima del éxito que puede llegar a

1:26:14tener la aplicación. Sí.

1:26:18Entonces, eso tiene que estar muy bien

1:26:20pensado.

1:26:21¿Okay?

1:26:23El administrador de base de datos se

1:26:25encarga nada más y nada menos de todas

1:26:28esas esas cuestiones.

1:26:32Sí.

1:26:34Bien. Eh, bueno, después

1:26:38una de las cuestiones centrales donde

1:26:40vamos a estar ubicados nosotros en la

1:26:42parte del diseño. Sí, el diseñador de la

1:26:46base de datos. Y acá tengo, quiero que

1:26:47tengan en cuenta que en realidad esto

1:26:49está separado de, fíjense que abajo

1:26:51tenemos analistas de sistemas y

1:26:53programadores.

1:26:55En realidad normalmente eso forma parte

1:26:57del equipo y por eso se llama rol. Sí,

1:27:00es decir, puede ser lo lo es decir, lo

1:27:03puse como rol porque de acuerdo a la

1:27:05envergadura que tenga eh el proyecto en

1:27:09el que estemos, estos roles pueden ser

1:27:12llevados por una o más personas a cabo.

1:27:14¿Sí?

1:27:16Entonces,

1:27:18el diseñador de de base de datos también

1:27:21tiene, si son personas diferentes, tiene

1:27:23que estar muy en contacto. Por un lado,

1:27:25con este sistema

1:27:28puede llegar a estar en contacto con el

1:27:31con

1:27:33el usuario final, un cliente, digamos,

1:27:35lo que vendría a ser el product owner,

1:27:38si están haciendo ágiles, están

1:27:40aplicando algún alguna metodología ágil,

1:27:44pero lo más normal es que si es solo

1:27:47diseñador esté más en contacto con la

1:27:50gente de con el equipo de desarrollo.

1:27:53Sí. Y en gran parte en la el el una gran

1:27:58parte del éxito de la de lo que tiene

1:28:01que ver con la performance de una base

1:28:03de datos tiene que recaen en manos de

1:28:06diseñador. Un mal diseño de base de

1:28:08datos puede repercutir en la performance

1:28:11totalmente de un sistema, aparte en el

1:28:13tiempo que incurre el desarrollo de una

1:28:17base de datos y el desarrollo de una

1:28:19aplicación en general. Sí.

1:28:24Bien, entonces, pero esencialmente es el

1:28:27encargado de definir, analizar qué

1:28:29estructuras eh voy a colocar, voy a

1:28:33definir en en la base de datos que se va

1:28:35a desarrollar, que se va a construir.

1:28:39¿Okay? Y eh finalmente

1:28:47eh mejor dicho eh dentro del equipo de

1:28:49desarrollo, sí, también vamos a tener

1:28:52los analistas de sistemas y

1:28:53programadores que obviamente en un

1:28:55principio van a trabajar mucho sobre la

1:28:57base de datos y esto es lo que quizás se

1:29:00hace es si

1:29:03o de vuelta depende de la envergadura

1:29:05del proyecto, pero si están hechas bien

1:29:08las cosas, bueno, los programadores y

1:29:11los desarrolladores en general no tienen

1:29:12que estar trabajando obviamente sobre la

1:29:14base de datos de producción, sino con

1:29:16sobre una réplica.

1:29:18Eh, y van a estar trabajando en conjunto

1:29:21con estos con los diseñadores de la base

1:29:23de datos en particular. nos quedan dos

1:29:26roles. Por un lado, los trabajadores de

1:29:28soporte, que yo, a ver, están están ahí

1:29:33juntos en un en un solo en una sola

1:29:36categoría, pero en realidad estoy

1:29:37agrupando muchas cosas importantes,

1:29:40¿sí? Nada más y nada menos como por

1:29:43ejemplo los diseñadores implementadores

1:29:45del sistema gestor de base de datos, es

1:29:47decir, los que desarrollaron el sistema

1:29:48gestor de base de datos en sí. Entonces,

1:29:50a eso en el libro se lo considera un eh

1:29:54un trabajador de soporte. Lo mismo

1:29:57pueden ser creadores de herramientas eh

1:30:00que podemos tener vinculadas, por

1:30:02ejemplo, al diseño de base de datos.

1:30:04¿Sí? alguna herramienta para hacer para

1:30:07hacer diagramas y que después me haga

1:30:08ingeniería directa sobre para crear la

1:30:11base de datos, por ejemplo, se podría

1:30:13considerar dentro de esta categoría,

1:30:16pero esencialmente una de las que

1:30:17nosotros nos vamos a imaginar y que

1:30:19normalmente es la que tienen que tener

1:30:21en mente cuando decimos trabajadores

1:30:23soporte con el rol de una base de datos

1:30:25tiene que ver con el personal que

1:30:28trabaja eh para el mantenimiento, por

1:30:32ejemplo, del hardware, del software, de

1:30:35las redes, sí,

1:30:38que de vuelta puede ser más o menos una

1:30:41persona, digamos. Sí. Eh, entonces eso

1:30:45aquel que maneja se encarga de

1:30:47configurar los servidores, de mantener

1:30:50los sistemas operativos correctamente,

1:30:52de mantener la infraestructura

1:30:54refuncionando.

1:30:55Sí, son todos roles supercíticos.

1:30:59O sea, el hecho de que estén todos

1:31:01agrupados en un solo lugar no les quita

1:31:03ningún mérito. De hecho, son los que uno

1:31:06de los principales, digamos. Lo que pasa

1:31:08que acá estamos poniendo relevancia

1:31:10sobre los roles específicos de base de

1:31:13datos y por eso el administrador es el

1:31:14que aparece ahí con mayor relevancia.

1:31:17¿Sí? Y por último, ahora sí tenemos el

1:31:20de eh los usuarios finales. Okay.

1:31:25El un usuario final eh o los usuarios

1:31:28finales se pueden dividir en varias en

1:31:31varias categorías y un poco el libro ahí

1:31:34trata cuatro categorías, digamos, en

1:31:36principio, pero eh algunas se solapan y

1:31:40es difícil diferenciarla, pero bueno,

1:31:42vamos a hacer un ensayo. Por un lado,

1:31:44decimos que tenemos los usuarios eh

1:31:47finales autónomos. Sí, los usuarios

1:31:51finales autónomos son aquellos que

1:31:53utilizan la base son en general se

1:31:55refiere a usuarios que trabajan sobre

1:31:56una aplicación monousuario, es decir,

1:31:58una pequeña aplicación con una base de

1:32:00datos chiquitita que utilizan algún

1:32:04programa para acceder a esa base de

1:32:05datos y ya digamos puede ser en un

1:32:07celular, en una aplicación de escritorio

1:32:09o lo que fuera. Y después tienes otro

1:32:12otro otra subcategorización ahí muy

1:32:15parecida que es la de los usuarios

1:32:16simples o paramétricos.

1:32:19Sí, los usuarios estos simples o

1:32:21paramétricos son aquellos que en

1:32:23realidad se acuerdan que estuvimos

1:32:25hablando hace un ratito de las

1:32:27aplicaciones o los sistemas OLTP. Sí.

1:32:31¿Qué dijimos? ¿Qué significado OLTP?

1:32:39eh de transacciones online.

1:32:41Es sistema de procesamiento

1:32:42transacciones online y me implicaba ¿qué

1:32:45cosa?

1:32:49eh altas cargas de trabajo en pequeñas

1:32:52transacciones.

1:32:53En pequeñas transacciones. Entonces,

1:32:54cuando habla de eh en particular de

1:32:58usuarios simples o paramétricos, se está

1:33:00refiriendo esto a usuarios de este tip

1:33:02que hacen uso de este tipo de

1:33:04aplicaciones. Es decir, eh usuarios que

1:33:07en general son empresas medianas,

1:33:10digamos, o grandes, pero que tienen

1:33:12sistemas que son altamente

1:33:14estructurados, es decir, o operaciones

1:33:16que son altamente estructuradas, que

1:33:17hacen exactamente lo mismo una y otra

1:33:19vez. Sí. Por eso en general el ejemplo

1:33:23que siempre se da acá es del de un

1:33:25cajero de banco, eh, o incluso un

1:33:28cliente bancario, ¿sí? O sea, puede

1:33:30depositar, puede transferir, puede

1:33:32obtener un extracto, es decir, siempre

1:33:35hace lo mismo de una y otra manera. Es

1:33:37decir, no no tiene forma de salirse de

1:33:40esa de esa operación. Por eso se llama

1:33:44usuario simple paramétrico, siempre

1:33:45utiliza las mismas. Y fíjense que si uno

1:33:48se pone a pensar, no hay mucha

1:33:50diferencia con el usuario autónomo. Nada

1:33:52más que eh tómenlo por este lado, este

1:33:55ejemplo que les di aplicación OLTP.

1:33:59Sí. Y después como en el otro extremo,

1:34:04sí podríamos agrupar a los usuarios

1:34:06esporádicos y a los usuarios avanzados.

1:34:09¿Qué tienen en común, digamos, si lo

1:34:11queremos relacionar así para acordarnos

1:34:13de los usuarios eh esporádicos?

1:34:17Es que los tanto los esporádicos como

1:34:19los avanzados eh normalmente hacen uso

1:34:22de la base de datos, pero hacen uso de

1:34:24manera diferente, ¿sí? cada vez que eh

1:34:27acceden, es decir, no siempre hacen las

1:34:30mismas consultas o las mismas eh las

1:34:33mismas actualizaciones. En el caso

1:34:35particular de los usuarios esporádicos,

1:34:37lo que se refiere es, bueno, el usuario

1:34:39esporádico se supone que no es una

1:34:41persona que que sepa que esté embebido

1:34:46en el ámbito de la de de de la

1:34:49informática. Es decir, seguramente sabe

1:34:51y demás y tiene conocimiento, pero lo

1:34:53que me dice es va a acceder a esa base

1:34:55de datos. a través de una aplicación

1:34:57seguramente, pero va a necesitar hacer

1:34:59cosas distintas y en general se piensa

1:35:01en un gerente de rango medio, gerente

1:35:04alto que de alto nivel, que lo que

1:35:07intenta es acceder a diferentes tipos de

1:35:10información en diferentes momentos.

1:35:13Entonces, eh no hace siempre el mismo

1:35:17trabajo. ¿Okay? ¿Y para qué sucede en

1:35:21ese caso?

1:35:23¿Cómo hacemos para que una persona así

1:35:27pueda acceder a la base de datos?

1:35:33¿Se comprende o no el ejemplo que le

1:35:35estoy dando?

1:35:45Chicos, ¿están por ahí?

1:35:47Sí, se

1:35:48bueno. Entonces, ¿de qué tipo? A ver,

1:35:50denme un ejemplo de eh Bueno, ahí me

1:35:53Rubén me dice que no, pero imagínense lo

1:35:56siguiente. Ustedes son eh

1:36:00ustedes son el gerente de un de de un

1:36:05banco internacional en la Argentina. Sí.

1:36:09Ustedes se imaginan que obviamente el

1:36:12gerente no va a estar haciendo

1:36:13transferencias y y depósitos y demás,

1:36:17sino que por se va a ocupar eh de tratar

1:36:21de obtener información de alto nivel de

1:36:23la base de datos. ¿Sí? Entonces, le va

1:36:27le va les van a interesar cosas como eh,

1:36:31¿qué es? por ejemplo, la cantidad de

1:36:33clientes que se adquir que entraron al

1:36:36banco en determinado tiempo y eso sería

1:36:39algo básico, pero quizás les va a

1:36:42interesar saber por qué esos clientes

1:36:44ingresaron en determinado momento, por

1:36:46qué vamos a suponer de febrero a marzo

1:36:49se el banco adquirió más clientes y

1:36:52perdió clientes en tal periodo, se

1:36:55entiende, es información muchas veces

1:36:58vinculada a estadísticas y demás.

1:37:01muchas veces vinculada, tiene que ver ya

1:37:04con inteligencia de negocios, que

1:37:06necesita obtener de toda la información

1:37:10que se fue cargando de a poquito en

1:37:13nuestra base de datos.

1:37:15Entonces, ese tipo de consultas

1:37:19es muy difícil de eh obtener de hacer

1:37:22una pantalla que me resuelva de manera

1:37:25fácil eso. Entonces, por lo tanto, se

1:37:28considera que tiene que tener una

1:37:29interfaz medianamente sofisticada

1:37:32para poder hacer eso o contemplando de

1:37:35menos eh una variedad de interacciones

1:37:38bastante interesantes.

1:37:42Y el último es el de los usuarios

1:37:44avanzados. Sí,

1:37:47van a ver allí que habla de ingenieros,

1:37:50¿no? No especifica cuál, cualquier tipo,

1:37:52científicos, lo que sea, que sepan

1:37:56utilizar base de datos y en general

1:37:57ellos ya van a hacer uso directo de la

1:37:59base de datos. van a tener que, por

1:38:00ejemplo, saber armar consultas SQL, por

1:38:03ejemplo. Sí, porque es decir, cualquier

1:38:05aplicación que se les haga puede llegar

1:38:08a resultar eh

1:38:11puede quedarse corta enseguida porque no

1:38:13va a tener en cuenta todas las

1:38:14necesidades que tiene. ¿Sí?

1:38:17Entonces, fíjense que ahí tenemos a esas

1:38:21cuatro divisiones o esas cuatro

1:38:22subcategorías que presentan ahí la

1:38:25podemos dividir, la podíamos podemos

1:38:28armar grupos de dos por un lado, los que

1:38:30tienen transacciones o hacen operaciones

1:38:34similares día tras día y aquellos que

1:38:36hacen operaciones distintas y poco

1:38:39predecibles.

1:38:43¿Comprendido?

1:38:47Sí,

1:38:48sí, profe.

1:38:50Bueno,

1:38:52bueno, ¿cómo están hasta ahora? ¿Ya

1:38:54están aburridos? ¿Están cansados?

1:38:55¿Quieren cortar acá o seguimos con un

1:38:57tema más?

1:39:01Un creo, profe.

1:39:02Eh,

1:39:03un crédito podría ser.

1:39:05Bueno, vamos a hacer una cosa, eh,

1:39:09si todavía tienen para tirar un poquito

1:39:11más, vamos a hacer un recreo de 10

1:39:13minutos y tocamos un tema más que nos a

1:39:17los nos llevará 30 minutos. Sí.

1:39:21Y después,

1:39:23¿qué prefieren? ¿Seguir de largo los 30

1:39:25minutos o hacer? Profesor, una pregunta

1:39:27nada más de todo. Lo último que conversó

1:39:30ahora es sobre la misma diap positiva en

1:39:33lo que está ahora o cambió

1:39:36todo lo que conversé ahora.

1:39:38Sí, sí, sí. El final

1:39:39es la misma diapositiva de roles, nada

1:39:41más que estaba inspirado.

1:39:44Está está. Gracias.

1:39:45Listo.

1:39:47Eh, ¿qué les iba a decir? Bueno,

1:39:49seguimos. Parece que

1:39:52eh bueno, parece que

1:39:55eh bueno, como quieran. Lo mismo

1:39:58si hacemos 10 minutos, 11 40 minutos.

1:40:00Seguimos. Todos dijeron, la mayoría dijo

1:40:02para seguir. Lo siento, Melina, pero

1:40:05vamos a seguir.

1:40:06Profe, podemos repasar un poquito el

1:40:08tema de

1:40:10e, ¿cómo se llama? de las definiciones

1:40:12de cada uno de los roles, eh, un

1:40:15repasito rápido por los diseñadores,

1:40:18usuarios finales, todo eso.

1:40:19Bueno, a ver, pero ahí te pido que

1:40:21eh chicos, yo si quieren les comparto

1:40:25después en un Google Drive estoy

1:40:26grabando la la clase como para después

1:40:29subirla al campus.

1:40:31Emilio, Emilio, acá yo la yo la grabo,

1:40:33yo la subo. Va, yo se las voy a ir

1:40:36pasando, así que no se preocupen. Aquel

1:40:37que quiera grabar lo hacen, pero yo

1:40:40tengo grabada la clase

1:40:42perfecto.

1:40:42Está por eso, pero si hay lo que quiero

1:40:45saber es si alguna cosa no se entendió,

1:40:47si no como ahí menciona Emilio, se puede

1:40:50se puede revisar, pero vayamos

1:40:52rápidamente.

1:40:54administradores. Ahí, ahí quiero que me

1:40:56ayuden ustedes a hacer el recuento.

1:40:57Entonces, vamos rápido. Administradores,

1:41:00¿cuáles son las responsabilidades

1:41:01principales que nombramos?

1:41:06La seguridad de la base de datos.

1:41:08Seguridad por un lado. La otra

1:41:10viabilidad.

1:41:11Fiabilidad. Vinculado a qué?

1:41:17Para distinguirlo un poco de la

1:41:18fiabilidad. ¿En qué se diferen la

1:41:20seguridad? ¿En qué se diferencia la

1:41:21fiabilidad de la seguridad?

1:41:24la protección y el backup de los datos

1:41:27en este caso.

1:41:27Eh, bueno, sí estamos. Y lo tercero que

1:41:30está que es lo una de las cosas más

1:41:32importantes

1:41:35que ante una cantidad, una aluión de

1:41:37gente o ante mucha concurrencia, ¿qué?

1:41:42La performance,

1:41:43la performance, que

1:41:45que la performance se siga manteniendo

1:41:47adecuadamente, que la base de datos

1:41:49pueda responder, que no se degrade. Sí.

1:41:53Estamos.

1:41:55Lo otro, de todas maneras, chicos, esto

1:41:58está en el libro buenísimo. O sea, acá

1:42:01yo estoy como para darle una explicación

1:42:03por arriba de esto, así que de ahí lo

1:42:06pueden sacar muy bien si alguien le

1:42:08quedó a alguien algo en el tintero. Lo

1:42:11otro, lo otro que habíamos visto es el

1:42:13diseñador.

1:42:15Sí, diseñador. Ya estamos hablando de lo

1:42:18mismo. Estamos hablando básicamente

1:42:21eh de un término prácticamente

1:42:24transparente, es decir, el que se va a

1:42:27encargar de diseñar la estructura o de

1:42:31elegir las estructuras apropiadas como

1:42:33para volcarla a la base de datos que

1:42:35vamos a estar elaborando.

1:42:37El trabajo del diseñador se hace una vez

1:42:39o es o es más o menos constante? ¿Qué

1:42:41qué piensan de eso?

1:42:45¿Se

1:42:47hace solamente cuando desarrollamos y

1:42:49ahí lo despedimos o o qué piensan al

1:42:53respecto?

1:42:57Para mí sí, en un principio se diseña

1:43:00una sola vez, pero supongo que el

1:43:02diseñador tiene en cuenta igual para el

1:43:05diseño que él desarrolló en caso que

1:43:07necesite crecer o la aplicación o lo que

1:43:10sea.

1:43:10Claro, de vuelta tiene que ver con la

1:43:12envergadura del proyecto. Sí.

1:43:15Obviamente un diseñador va a tener su

1:43:17carga de trabajo máxima cuando se está

1:43:20desarrollando el proyecto. Y cuando

1:43:23entra en producción, lo que puede llegar

1:43:26a ser que deje en manos de otra persona,

1:43:29¿sí? O puede ser que él mismo haga una

1:43:32especie de eh de mantenimiento de

1:43:35retroalimentación

1:43:36sobre esta base de datos en particular.

1:43:39Sí. Eh, ¿y porque tranquilamente? Esa es

1:43:43otra de las cuestiones. La estructura es

1:43:45normal que cambie, o sea, al principio

1:43:47vamos a tener los cambios más abruptos,

1:43:51¿si? Pero después eh vamos a ver que eso

1:43:56esa es el ritmo de cambios baja, pero

1:44:00igual pueden suceder algunas cosas.

1:44:03Eh, siempre que la aplicación se siga

1:44:05moviendo van a ver pueden haber cambios

1:44:07de estructura en la base de datos. ¿Sí?

1:44:11Y eh bueno, panelista de sistema y

1:44:13programadores es en este en este aspecto

1:44:16es algo menor, pero cuando hablamos de

1:44:19programadores de aplicaciones van a

1:44:20tener que conocer la base de datos para

1:44:22saber contra qué están programando.

1:44:24Obviamente dependiendo de qué parte de

1:44:26la aplicación están programando. Si

1:44:28solamente están en la parte de frontend,

1:44:30quizás sepan poco o nada de la base de

1:44:33datos. Sí, si están trabajando en el

1:44:35backend, obviamente van a estar en

1:44:37contacto directo con la base de datos y

1:44:39si hacen todo, no te les queda otra que

1:44:41conocerla también. Y lo mismo con un

1:44:44analista. ¿Cuál es la diferencia entre

1:44:46el analista y el diseñador de base de

1:44:48datos? Cuando habla cada analista se

1:44:49refiere al analista en sistema, el

1:44:51analista de sistema, que es el rol que

1:44:54se va a encargar de saber qué grandes

1:44:56datos vas a tener que ir ahí. Entonces,

1:44:58él se va a encargar de averiguar cuáles

1:45:00son los requerimientos de datos de esta

1:45:02aplicación. El diseñador se encarga de

1:45:05llevarlos o devolcarlos a la base de

1:45:07datos. Sí, claro. Trabajan sobre eh

1:45:11supuestamente réplica de la base de

1:45:12datos. Bien. Y eh yendo a los

1:45:17trabajadores de soporte, ahí el sin duda

1:45:20uno de los principales, ¿cuál era?

1:45:22Uruti.

1:45:24Había mencionado.

1:45:31Está por ahí. ¿Cómo? Uruti.

1:45:34Sí,

1:45:37Uruti. Me había pedido que que revise

1:45:39estos conceptos, ¿no?

1:45:41Sí, sí, sí.

1:45:42Pero

1:45:44pero lo que quiero saber es a ver si

1:45:46esta parte te quedó te quedó clara

1:45:49dentro de los trabajadores de soporte.

1:45:51¿Te acordas alguno que hayamos

1:45:52mencionado?

1:46:01No, no, profe, no estoy tipo revisando

1:46:03para poder

1:46:05Bueno, a ver, otro que lo otro que lo

1:46:07ayude.

1:46:08Y los desarrolladores de los gestores,

1:46:11eh, desarrolladores de herramientas que

1:46:13sirvan, por ejemplo,

1:46:15una ORM que te que te automatice el

1:46:19trabajo.

1:46:20Bien. y uno

1:46:22contacto más directo con la base de

1:46:24datos, con nuestro ecosistema, ¿cuáles

1:46:26serían?

1:46:32Que los había nombrado al final. Eso, el

1:46:34personal que trabaja sobre el hardware,

1:46:36las redes, el software. Sí,

1:46:39esos son típicamente los que se encar el

1:46:42personal, el que se encarga del

1:46:43mantenimiento de la infraestructura.

1:46:45¿Sí? Bien. Y de los usuarios habíamos

1:46:48dicho que existían dos tipos, dos

1:46:49grandes tipos. unos los que hacen los

1:46:52que hacen las mismas operaciones día

1:46:54tras día o operaciones similares y

1:46:56aquellos que hacen operaciones distintas

1:46:59todos los días. La diferencia está en

1:47:01que los otros para los primeros digamos

1:47:04se pueden tener interfaces diferentes a

1:47:06la de las bases de datos a través de una

1:47:09aplicación que son bastante predecibles,

1:47:12son estructuradas y demás y una vez que

1:47:14se diseñan no tienen mayores cambios.

1:47:17Ahora, cuando hablamos de los usuarios

1:47:19esporádicos y los usuarios avanzados,

1:47:21los usuarios esporádicos, por un lado,

1:47:23se refiere a gente va a acceder de

1:47:25manera esporádica o casual a a los datos

1:47:30en la base de datos, no necesariamente

1:47:32de manera directa, pero sí a través de

1:47:34una aplicación que le tiene que dar

1:47:35herramientas que sean lo suficientemente

1:47:37flexibles

1:47:39como para poder eh obtener los datos que

1:47:43necesitan. Sí.

1:47:46Y por el otro lado tenen los usuarios,

1:47:48tienen los usuarios avanzados que son

1:47:51personas que van a estar trabajando en

1:47:52general de manera directa con la base de

1:47:54datos. Fíjense que no por esto ya no

1:47:57tiene que ver en sí con bases de datos

1:47:59en particular, pero eh eh funciona más o

1:48:03menos al mismo nivel. Imagínense que

1:48:05ingenieros científicos y demás que eh

1:48:09personas que trabajan con estadísticas

1:48:11que no no no están estudiando una

1:48:14carrera de programador y demás, muchos

1:48:16se lanzaron a aprender. ¿Qué lenguaje de

1:48:18programación?

1:48:24Python.

1:48:25Python. Sí. Python. ¿Por qué?

1:48:31Porque un Excel seguramente les quedará

1:48:34corto, no les no le dará todas las

1:48:37herramientas matemáticas que necesitan o

1:48:39estadísticas que necesitan. Entonces,

1:48:40necesitan ir a algo mucho más flexible,

1:48:43es decir, necesitan acceder a un

1:48:44lenguaje de programación, ¿sí? que es un

1:48:47lenguaje de programación que se adapta

1:48:49bien, bastante bien a las necesidades

1:48:51que ellos tienen. Lo mismo sucede con

1:48:53aquellas personas que no tienen que ver

1:48:56necesariamente con la rama de

1:48:59informática, programación o lo que sea,

1:49:01pero que quizás les convenga más

1:49:04aprender, por ejemplo, un lenguaje SQL

1:49:08y empezar a acceder a la base de datos

1:49:09que estar dependiendo de un tercero para

1:49:11que le haga las interfaces, ¿se

1:49:13entiende?

1:49:16Entonces, a eso se refiere con usuarios

1:49:18avanzados.

1:49:21¿Comprendido?

1:49:24Sí, profe, gracias.

1:49:25Bueno, bueno, bueno. Listo. Eh, vayamos

1:49:29entonces a eh

1:49:33las características o las ventajas,

1:49:36mejor dicho,

1:49:40de

1:49:41las bases de datos. Sí. Y acá esta parte

1:49:45les voy a pedir que yo voy muy por

1:49:47arriba les voy a voy a hablar sobre el

1:49:49tema. Si alguien me me quiere me me pide

1:49:52una explicación, no hay problema con

1:49:53eso, pero esto después quiero que lo

1:49:55vean por su lado. Sí, esto seguro que si

1:49:58hay preguntas en el examen van a entrar

Características de las BD

1:50:00cosas sobre esto, ¿sí? Así que ténganlo

1:50:03en cuenta. Eh, bueno, ventajas de las

1:50:07bases de datos. Entonces, cuando

1:50:08hablamos de ventaja de la base de datos,

1:50:09nos referimos por un lado al control de

1:50:12la redundancia. Sí,

1:50:15estábamos hablando esto siempre cuando

1:50:17hace cuando está cotejando esta parte en

1:50:20general la contrasta con la con

1:50:25archivos, ¿sí? Con tener archivos eh

1:50:28sencillos, digamos. Sí. Entonces, cuando

1:50:31una base de datos debe estar preparada,

1:50:34el hecho de usar una base de datos sí o

1:50:36sí tiene que estar preparada para

1:50:38manejar la eh la redundancia que puede

1:50:41llegar a existir eh cuando nosotros

1:50:44vamos volcando datos en la misma. ¿Sí?

1:50:47Entonces, ¿recuerdan el ejemplo que hoy

1:50:49les habíamos les había mencionado

1:50:52respecto de que, por ejemplo, podían

1:50:54tener duplicado, sí, el registro de

1:50:56alumnos, sí, en biblioteca, en alumnado,

1:51:00en cooperadora, en tesorería, vamos a

1:51:03suponer, ¿sí? Entonces hace que haya un

1:51:08desperdicio de espacio, ¿si? Y una

1:51:11duplicación de del trabajo para mantener

1:51:14eso actualizado. Sí.

1:51:17Entonces,

1:51:19las bases de datos lo que permiten es

1:51:23mitigar el

1:51:26mitigar esta la existencia de estos

1:51:28problemas. Está obviamente cuando

1:51:31nosotros tenemos datos repetidos es lo

1:51:33mismo que cuando tenemos código repetido

1:51:35en nuestra aplicación. ¿Qué pasa cuando

1:51:37cambia?

1:51:40Tenemos que ir a cambiar a todos los

1:51:41lugares. Sí. en donde en donde hicimos

1:51:44copypaste de ese de ese código.

1:51:47Entonces, por eso así como cuando

1:51:50nosotros codificamos, obviamente se

1:51:52recomienda hacer reutilización de código

1:51:54y demás a través de diferentes técnicas

1:51:56que vimos. Cuando hablamos de datos, se

1:51:59recomienda el uso de base de datos

1:52:00porque me permite hacer control de esta

1:52:02redundancia que puede surgir por primero

1:52:06eh primero por no manejar bien los

1:52:09archivos, es decir, desperdicio espacio

1:52:12de almacenamiento, que hoy en día eso es

1:52:15muy secundario porque realmente el

1:52:17almacenamiento está muy barato. Pero las

1:52:20dos cuestiones principales en realidad

1:52:22tiene que ver con que

1:52:24si yo tengo duplicados archivos que

1:52:26cargan lo mismo, tengo que duplicar el

1:52:29trabajo. Es decir, si en alumnado tienen

1:52:31que cargar estudiante y en biblioteca

1:52:34tienen que cargar un estudiante, lo

1:52:35tienen que hacer dos veces. en vez de

1:52:36hacerlo una sola ve y que se actualice

1:52:38en ambos lugares.

1:52:41Y si lo tienen que cargar en dos lugares

1:52:43diferente, lo tercero que puede surgir

1:52:46es que haya inconsistencia entre esos

1:52:49valores, es decir, que uno lo cargue con

1:52:50un mail y el otro con otro, ¿sí? o que

1:52:53uno cargue el DNI con un número y en

1:52:56otro lugar esté cargado correctamente.

1:53:00Entonces, bueno,

1:53:01por eso

1:53:02eh

1:53:02deberían tener relaciones por eso las

1:53:04tablas, digamos, del alumno

1:53:06en los archivos las relaciones no

1:53:07existe, olvidate, eso lo tien que hacer,

1:53:09lo tenés que hacer a nivel de

1:53:11aplicación, por eso es que esto ya se da

1:53:14por sentado en las bases de datos, ¿sí?

1:53:17O sea, teniendo base de datos lo puedo

1:53:20hacer mal igual, ¿sí? Pero se supone que

1:53:23la base de datos te predispone a que

1:53:25hagas bien el trabajo,

1:53:28¿correcto? Entonces,

1:53:30a este tipo de redundancia

1:53:33se lo denomina redundancia, no es

1:53:36redundancia controlada.

1:53:39Sí, perdón, mejor dicho, me rectifico.

1:53:43Los problemas que recién le estabas los

1:53:46problemas que recién le estaba

1:53:47mencionando, ¿sí?, de duplicación del

1:53:50trabajo, de que pueden estar mal

1:53:51cargados los datos, etcétera. Eso se

1:53:53denomina redundancia no controlada

1:53:55porque es redundancia

1:53:59que uno que no es deseable, ¿sí?

1:54:04Que sucede porque están mal hechas las

1:54:07cosas.

1:54:08Entonces, la pregunta que les queda a

1:54:10ustedes es, ¿en qué casos

1:54:13conviene que haya redundancia?

1:54:17Okay, eso les queda a ustedes después

1:54:20para comentarme la próxima clase y

1:54:22demás. Ahora tenemos una actividad sobre

1:54:24eso.

1:54:27Bien, lo segundo es restricción de

1:54:30accesos no autorizado. Hoy lo habíamos

1:54:32mencionado cuando

1:54:36eh cuando hablábamos de administración,

1:54:40el tema de seguridad es esencial. Y acá

1:54:42les pido dos cositas.

1:54:45Cuando hablamos de restricción de acceso

1:54:48no autorizado, ¿qué dos conceptos

1:54:50tenemos que traer a colación?

1:54:59¿Cómo sabemos que alguien está

1:55:00autorizado a algo?

1:55:02¿Permisos?

1:55:03Bueno, permisos. Ahora, la autorización,

1:55:06¿con qué tiene que con qué tiene que

1:55:08ver? ¿Con con qué concepto?

1:55:11La

1:55:12autorización.

1:55:13La seguridad. con la autenticación

1:55:16podría ser.

1:55:17Exactamente. Y la autenticación, ¿para

1:55:19qué existe?

1:55:23Eh, para validar algún, bueno, algún

1:55:26usuario, alguien que quiera acceder.

1:55:28Exacto. Entonces, por un lado,

1:55:30autenticación

1:55:32me dice, me debe verificar que la

1:55:36persona

1:55:38si que está ingresando al sistema es

1:55:41quien dice ser.

1:55:43Sí,

1:55:46y

1:55:48eso tendría que hacer para las clases. Y

1:55:51la otra, la autorización

1:55:54es que para determinada persona que ya

1:55:58tenga autenticada, ¿qué

1:56:01cosas tienes autorizadas a realizar? Sí,

1:56:05en mi base de datos.

1:56:09Okay,

1:56:11entonces tenemos esas dos cuestiones,

1:56:13autenticación y autorización.

1:56:18Bien.

1:56:21Bueno, eh el otro punto es dice si

1:56:26proporcionar almacenamiento persistente

1:56:28para el objeto de programa. Bueno, esto

1:56:31evidentemente

1:56:33si se refiere a básicamente cuando yo

1:56:37estoy utilizando un una aplicación

1:56:41orientada a objetos, ¿cómo hago para

1:56:43guardar esos objetos

1:56:47en una base de datos?

1:56:50¿Sí? Entonces ahí viene una colación,

1:56:53una manera directa y fabulosa sería que

1:56:55las bases de datos orientados a objetos

1:56:57sean superpopulares.

1:56:59Sí,

1:57:01lamentablemente no lo son.

1:57:05Entonces, ¿qué es lo que sucede?

1:57:08¿Qué problema existe ahí?

1:57:17Nosotros dijimos que estamos por

1:57:19trabajar con qué tipo de base de datos

1:57:22relación.

1:57:24Base de datos relacionales. Sí.

1:57:28Eh, Mauricio, eh cuando cuando hables,

1:57:32por favor, deja habilitado el micrófono

1:57:33un milisegundo más porque se escucha la

1:57:35mitad de lo que de lo que

1:57:38Ah, dale, profe.

1:57:39Ya. Eh,

1:57:42lo entonces sí estamos hablando de base

1:57:44de datos relacionales. Sí. Bueno, y qué

1:57:48cuál es el problema que creo que ya los

1:57:49mencionamos antes, pero ¿cuál es el

1:57:51problema que existe ahí?

1:57:58Yo en mi en mi aplicación hay objetos

1:58:00tiene que tenés que transformar la

1:58:02información, separarla en distintos

1:58:04tipos.

1:58:06Exactamente. Está.

1:58:08Entonces ahí es donde vienen. Si yo sigo

1:58:12trabajando con base de datos

1:58:13relacionales, en el medio yo tengo que

1:58:15transformar la mano. Si o utilizar una

1:58:20herramienta

1:58:21M

1:58:22de mapeos.

1:58:24Exactamente. Bien. El problema ese que

1:58:27existe, que nosotros tenemos objetos por

1:58:31un lado y relaciones por el otro se

1:58:35llama un problema de impedancia de

1:58:37modelos.

1:58:39¿Sí? Es decir, quiero quiero poner es

1:58:43como decirle quiero enchufar un enchufe

1:58:45de dos patitas redondas en uno de tres

1:58:47patitas planas. Sí, no se puede. Tengo

1:58:51que adaptar. un adaptador.

1:58:53Necesito un adaptador. Ese adaptador es

1:58:55ORM, el herramiento RM o lo tengo que

1:58:57hacer yo con unos cables. Sí,

1:59:01como verán, el ejemplo también sirve

1:59:03para que ellan no lo hagan tanto a mano.

1:59:05Si lo van a hacer, tienen que saber

1:59:07hacerlo. Sí. ¿Cuál es el problema que

1:59:10surge en el medio? es que eh

1:59:15está bien hoy los servidores y demás

1:59:18tienen la suficiente velocidad como para

1:59:20acceder a eso, pero es otra capa más

1:59:25que estoy colocando en el medio.

1:59:29¿Se entiende? Y obviamente eso, ¿qué

1:59:31sucede con esa cuestión?

1:59:36Se hace más lento todo.

1:59:38Exacto. Hace un poco hace un poco más

1:59:40lento todo. Hace un poco más lento.

1:59:42También genera una dependencia porque

1:59:43depende de los desalladores de

1:59:45sangramienta para mantener la seguridad.

1:59:49Bueno, exactamente, exactamente.

1:59:53Es un muy buen análisis. Bien. Eh,

1:59:58bueno, el otro punto es

2:00:02proporcionar estructura de

2:00:03almacenamiento y técnicas de búsqueda de

2:00:06procesamiento. Este es un poco largo el

2:00:08ítem. Eh,

2:00:12y búsqueda de procesamiento de consultas

2:00:14eficientes. Bueno, todo esto se refiere

2:00:16a que básicamente estructuras más ¿Por

2:00:20qué? ¿Por qué es tan larga la cuestión?

2:00:22Porque por un lado son estructura y por

2:00:23el otro técnicas y están se juntan una a

2:00:28veces coinciden. ¿Sí?

2:00:31Eh, ¿cuál es el ejemplo directo?

2:00:34Diciendo lo específico, por ejemplo,

2:00:36para el acceso a una a una tabla en

2:00:38particular, una tabla que voy a estar

2:00:40leyendo constantemente,

2:00:43poner una estructura auxiliar que, por

2:00:44ejemplo, se conoce como índice. Sí,

2:00:49esto ya lo vamos a ver. tiene de manera

2:00:52conceptual y haciendo una analogía se

2:00:54llaman así por los índices de los

2:00:56libros. Sí, decir uno quiere, imagínense

2:01:00en un libro no digital, sí, el libro

2:01:02clásico de papel, uno quería quiere

2:01:05buscar una información, tiene 1000

2:01:08páginas en libro, pueden ir si quieren

2:01:10pasando las hojas, pero van a tardar un

2:01:13tiempo, entonces lo que conviene en ese

2:01:15caso era un índice, lo lleva a la página

2:01:17adecuada y se ahorra muchísimo tiempo en

2:01:19la búsqueda. El mismo concepto se usa en

2:01:22índices de

2:01:25base de datos. Sí. es una estructura

2:01:27separada de las tablas que voy a

2:01:29utilizar

2:01:31para hacer el acceso más rápido. Y a eso

2:01:34es uno de los ejemplos de eh de este

2:01:38punto. Okay, hay otros más que los dejo

2:01:40para que ustedes los lean.

2:01:43Bien,

2:01:50bueno, uno es eh el otro es suministro

2:01:53de múltiples interfaces con los

2:01:55usuarios, muy vinculado a lo que

2:01:57habíamos visto antes, nada más que esto

2:01:59lo ve levemente desde el punto de vista

2:02:01más de la interfaz que del usuario en

2:02:03sí. ¿Está con qué me refiero a esto?

2:02:08con que eh dependiendo del tipo de

2:02:10usuario y del tipo de aplicación, mi el

2:02:14acceso a mi base de datos lo voy a tener

2:02:15que hacer.

2:02:18Y esto para que lo diferencie porque en

2:02:20ese aspecto por ahí el libro mezcla un

2:02:22poquito las cuestiones y creo, considero

2:02:25humildemente que debería separarse así.

2:02:28Eh, la las aplicación por un lado habla

2:02:32del acceso a través de aplicaciones que

2:02:34pueden ser aplicaciones de escritorio,

2:02:36web, es muy difícil eh mejor dicho, si

2:02:40son si estamos hablando aplicaciones en

2:02:42general, pueden ser móviles. ¿Sí? Y por

2:02:45el otro lado habla de eh las interfaces

2:02:50de usuarios, pero las que vienen ya

2:02:53preparado, las que se usan de manera

2:02:55directa con la base de datos. Es decir,

2:02:58e aquellos que trabajaron con My SQL,

2:03:02no sé si se tienen un ejemplo a mano

2:03:04para darme.

2:03:08El PHP My Admin. Puede ser

2:03:10el PHP My Admin, que es de qué tipo?

2:03:16Web

2:03:16es web y y conocen alguno que sea

2:03:19escritorio para my SQLQLCH.

2:03:25El workbench, exactamente

2:03:27Pro también.

2:03:28Bien.

2:03:29Valentina Studio

2:03:31y existen, perdón, Emilio.

2:03:34Valentina Studio uso yo.

2:03:36Ah, mira, ese no lo conocía.

2:03:39Bueno, después en todo caso est

2:03:40es muy bueno.

2:03:41Después estaría en todo caso bueno que

2:03:43en algún momento si tenemos tiempo le lo

2:03:47muestres un ratito.

2:03:49Sí, sirve para todo en realidad, no solo

2:03:51paraales.

2:03:54Bien.

2:03:54Exacto.

2:03:56Perfecto. Eh,

2:03:58bueno, SQL,

2:04:00¿cómo

2:04:01Hey? SQL trae.

2:04:03E es, vos sabes que ese ese lo tenía

2:04:05el heo. Yo lo usaba mucho, pero para

2:04:08Linux no viene.

2:04:10Ajá. O sea, e ese es el que tenía en la

2:04:12lengua y no me estaba saliendo. He s

2:04:17¿Qué ibas a decir, Pablo?

2:04:20Eh, cuando te instalas Lara arabal para

2:04:22utilizarlo con la Arabel te trae ya como

2:04:26base de datos de prueba G SQL.

2:04:29Exacto. Eh, en Windows yo utilizaba

2:04:33mucho He SQL y era muy bueno, eh, porque

2:04:36tenía muchas ventajas a comparación de

2:04:39de otros. Por ejemplo, el Wbench es un

2:04:41poquito más complejo utilizarlo, pero el

2:04:43Valentina Studio después de utilizarlo

2:04:45es como muy similar al Heidi.

2:04:48Bien. Y bueno, por ejemplo, de el lado

2:04:51de eh SQL de Microsoft SQL Server, por

2:04:55ejemplo, tienen el administrador que

2:04:58viene con el que a ver, hoy en día se

2:05:02bajan por separado, pero es una

2:05:04herramienta que viene para utilizársela

2:05:07con SQL Server.

2:05:09Eh,

2:05:11y eh además, por ejemplo, que nosotros

2:05:14estuvimos viendo en Visual Studio,

2:05:16Visual Studio tiene entre muchas

2:05:18herramientas tiene una herramienta para

2:05:19manejar de manera sencilla SQL Server

2:05:22también. Sí. O sea, que ahí tenemos

2:05:25muchos ejemplos. Y por el otro lado,

2:05:27aquel que le gusta más la consola o

2:05:30simplemente no es que le guste más, sino

2:05:32que hay algunas cuestiones que son más

2:05:34convenientes hacerla por consola, es la

2:05:36que está disponible siempre.

2:05:39Sí.

2:05:40Eh, para ser usada, ¿no? Eh, y

2:05:44obviamente eh al todo esto de base tiene

2:05:48un lenguaje que en las bases de datos

2:05:50relacionales el lenguaje SQL. ¿Sí?

2:05:55Y bueno, eso después vamos a seguir

2:05:57agregando más cosas. Estamos. Entonces,

2:06:00eso tiene que ver con las interfaces.

2:06:02Después dice representación de vínculos

2:06:04complejos entre los datos. Sí.

2:06:08Esto no tiene mucho misterio y tiene que

2:06:11ver con el hecho de poder de qué manera

2:06:14la base de datos o el sistema gestor de

2:06:15base de datos viene preparado para poder

2:06:17representar esas relaciones, esos

2:06:19vínculos que yo hago en un diagrama.

2:06:22¿Sí? O sea, yo digo, "Bueno, mi tabla

2:06:24estudiantes o mi entidad, vamos a

2:06:27después vamos a ver cuáles son las

2:06:28diferencias. Mi entidad de estudiante

2:06:30está vinculada con mi entidad material.

2:06:35Sí. eh o mi tabla materia. Entonces, ¿de

2:06:39qué manera yo represento ese vínculo?

2:06:43Y vínculo un poco más complejo, cuando

2:06:45ya hay varias tablas involucradas, una

2:06:48tabla tiene vínculos a más de a a muchas

2:06:51otras, digamos.

2:06:53Y esto ni hablar de si por ahí se trata

2:06:56de eh una base de datos orientada a

2:06:59objetos, ¿sí? que por ahí además de

2:07:02representar vínculos específicos, tiene

2:07:05que también representar concepto de

2:07:08herencia, que es esencial para que se

2:07:10considere base de datos orientado a

2:07:12objetos. ¿Sí?

2:07:15Eh,

2:07:19bueno, eso cumplimiento de las

2:07:21restricciones de integridad. Esto es

2:07:23fundamental en una base de datos

2:07:26referencial.

2:07:28Sí.

2:07:29Eh,

2:07:31ya vamos aondar más sobre esta cuestión

2:07:33que, por ejemplo, alguna algunas cosas

2:07:37ya habíamos hablado hoy. Les doy una que

2:07:40tiene que ver con la integridad

2:07:42referencial, ¿sí? Es decir, vamos a

2:07:46suponer que el alumno se inscribió a una

2:07:48materia

2:07:50y resulta que eh después esa materia eh

2:07:55resulta que estaba mal escrita y el

2:07:57administrador decide eliminarla. Bueno,

2:08:00eso generaría un conflicto ahí porque si

2:08:02estaba inscripto significa que el alumno

2:08:05dependía esa materia y si la llega si

2:08:07alguien llega a borrar esa materia

2:08:10va a haber un problema de de integridad

2:08:12allí. Esas son las restricciones de

2:08:14clave foránea.

2:08:16Exactamente, son las restricciones de

2:08:18clave foránea. Es la manera en que se

2:08:20llevan a cabo. Eh, pero bueno, ahí, ¿qué

2:08:24vamos a tener que hacer? Eh, vamos a

2:08:27tener que ver qué estrategia vamos a

2:08:28usar. Hoy nombraron por ahí el uso de el

2:08:31uso de actualización en cascada o

2:08:34borrado en cascada o o lo que fuera.

2:08:36Alguna estrategia hay que utilizar para

2:08:39eh poder

2:08:41sobrellevar esa cuestión.

2:08:43Sí, estas cuestiones las nombro así muy

2:08:46por arriba, pero ya no se preocupen que

2:08:48vamos a entrar bien en detalle después.

2:08:51Eh, y el último que creo que yo tengo

2:08:54acá es el de respaldo y recuperación.

2:08:58Sí.

2:09:00Bueno, esto es una de las cuestiones que

2:09:01estaban hablando hoy de la fiabilidad de

2:09:05la información, es decir, que ante

2:09:06cualquier problema que pueda surgir

2:09:09tener una un respaldo de de esos datos,

2:09:13hay diferentes maneras de hacerlos y a

2:09:16diferentes niveles de granularidad.

2:09:18Algunos ya vienen, digamos, uno puede

2:09:21hacerlo a nivel quizás de sistema

2:09:23operativo o de hardware y decir y tener

2:09:26un a ver qué se les ocurre con respecto

2:09:29a tener algo a nivel de hardware o de

2:09:31sistema operativo.

2:09:33¿Qué podrían tener ahí?

2:09:37Y tener una copia en todo momento en

2:09:39otro disco, por ejemplo.

2:09:40En otro servidor.

2:09:42Bueno, pero y si y si no fuera así en un

2:09:45conectado, ¿qué podríamos tener?

2:09:47Discos despejados.

2:09:48Discos despejados. Exactamente. Sí. O

2:09:51sea, eso es una forma eh de de tenerlo.

2:09:54La otra es sin tener eh usar diferentes

2:09:57dispositivos que pueden ser extraíbles e

2:09:59ir haciendo backup o hacer copias

2:10:02directamente en otro disco que tenemos

2:10:04conectado, no espejado, pero podemos ir

2:10:07sincronizando cada tanto e ir haciendo

2:10:10eh respaldos allí.

2:10:14La historia no termina ahí porque eh

2:10:18si se hace bien el trabajo cada tanto,

2:10:21todo esto que yo le estoy nombrando muy

2:10:22alegremente realmente lleva mucho

2:10:24trabajo y por eso que muchas veces la

2:10:27gente no lo hace. Sí. Eh,

2:10:31hay que ir probando que los respaldos

2:10:33que vayas haciendo vayan sirviendo, ¿se

2:10:36entiende?

2:10:38O sea, no sea que esté haciendo

2:10:39respaldo, en algún momento se corrompió

2:10:41algo y no me sirva de nada. después

2:10:42cuando lo necesites.

2:10:45Okay. Entonces, la idea de eso es eh

2:10:49justamente ir controlando que hacer

2:10:52recuperaciones de prueba y después

2:10:56cuando necesita realmente tener ahí la

2:10:59información, los datos disponibles.

2:11:03Bien,

2:11:06preguntas hasta acá.

2:11:12En caso de que no exista ese respaldo,

2:11:15digamos, eh si se borra, no no hay forma

2:11:19de recuperar.

2:11:21Si no ten si no la estrategia que

2:11:25dijimos, no no va a tener forma de

2:11:27recuperar. No,

2:11:29no,

2:11:33no sé. Bueno, dependerá mucho de la

2:11:37dependerá mucho del tipo de error que

2:11:39tengas, ¿no?

2:11:42Pero

2:11:43en definitiva la respuesta es, ¿no?

2:11:45digamos, ya o tenés que algo, tenés que

2:11:48alguna estrategia explícita tenés que

2:11:50seguir, digamos,

2:11:52eh, no lo que normalmente eh lo que en

2:11:55una aplicación

2:11:57no estoy hablando así de aplicaciones

2:11:59monstruosas ni nada porque de hecho no

2:12:01sé como cada cada uno lo está llevando a

2:12:04cabo, ¿no? Pero normalmente lo que se

2:12:06hace es hacer eh backups diferenciales.

2:12:11Sí.

2:12:13Esto, ¿qué implica? que no no es que

2:12:15estás haciendo un backup, no es que vos

2:12:17en cada momento decís llevo toda la base

2:12:19de datos y la vuelco cada rato, ¿sí?

2:12:23Sino que cada tanto lo que hago es

2:12:25cambiar lo que

2:12:28eh mejor dicho hacer backup de lo que

2:12:30cambió. ¿Se entiende?

2:12:34Entonces, de esa manera, eh de esa

2:12:37manera voy teniendo cada tanto los

2:12:41asegurados los datos que necesito y no

2:12:44pasa tanto tiempo entre un backup y

2:12:46otro, ¿se entiende? Tiene sus pro y sus

2:12:48contras, que ya lo conversaremos.

2:12:51Okay.

2:12:53Okay. Bueno,

2:12:58tarea para ustedes.

2:13:01Sí, esto seguramente después también una

2:13:04vez que termine, por favor, les pido que

2:13:06vuelquen la info que vimos hoy, lo que

2:13:08estuvimos comentando en el foro, por lo

2:13:11menos algunos de ustedes allí. Y lo que

2:13:14les voy a pedir después que ustedes

2:13:15también analicen es parte de la lectura

2:13:18del material y demás que tienen y es

2:13:20parte de este de esta forma de trabajo

2:13:22que vamos a ir teniendo de no estar

2:13:24conectados hasta las 11. Hoy mi idea era

2:13:26estar conectado hasta las 9:30 9 sí,

2:13:30pero bueno, no entendimos un poco más,

2:13:31por eso no les quise dar una hora de

2:13:33entrada.

2:13:34Eh,

2:13:37lo que quiero es que elijan dos

2:13:38ventajas, las que usted quiera, si

2:13:40quieren las más importantes, las que más

2:13:41le gustan, las que más fácil les

2:13:43parezcan. Eligan el criterio que quieran

2:13:47y ejemplifíquenla. No, no quiero que me

2:13:50den una definición solamente si quieren

2:13:53poner decir qué es lo que significa

2:13:55bárbaro. Pero lo que quiero es que den

2:13:57un ejemplo que ustedes consideren,

2:13:59búsquenlo de internet donde quieran,

2:14:02vinculado a esa eh a esa ventaja. Sí. Y

2:14:09además que en ese ejemplo

2:14:13aparezcan alguno uno o más roles de los

2:14:16que vimos recién.

2:14:18¿Se

2:14:19comprende el la actividad o no?

2:14:22Ventajas de los gestores de de base de

2:14:24datos.

2:14:25Esto que estuvimos viendo recién, estas

2:14:26ocho cositas, estos ocho íems que

2:14:29estuvimos viendo recién, elijan, tomen

2:14:32dos.

2:14:34Sí, tomen dos de esto. Vamos a suponer.

2:14:38Elegí

2:14:40cumplimiento de restricciones de

2:14:41integridad. Sí, sobre cumplimiento de

2:14:44restricción e integridad.

2:14:46Doy un ejemplo,

2:14:48un elaborado,

2:14:50¿sí?

2:14:52Y digo, bueno, en este ejemplo, en esta

2:14:55situación que puede estar vinculada a la

2:14:58restricción de integridad,

2:15:00¿sí? Puede ser un error, puede ser cómo

2:15:02establecerla, además cómo se diseña.

2:15:05Ustedes eligen además un rol, es decir,

2:15:08quién va a ser el actor involucrado en

2:15:11ese en esa situación.

2:15:14¿Se comprende? Entonces ahí aunamos las

2:15:16ventajas con los roles que vimos.

2:15:20Es una actividad meramente conceptual,

2:15:22pero quiero que la apliquen a algo que

2:15:24ustedes suponen, ¿sí? Aquellos que no

2:15:27tuvieron contacto todavía con esto, que

2:15:29suponen que puede existir en la práctica

2:15:33diaria vinculada con estas ventajas.

2:15:37Bien, se comprendió, chicos.

2:15:39Perfecto.

2:15:39Okay.

2:15:41Sí, profe, ¿dónde los oiríamos?

2:15:43Eh, yo después eh voy a ver, quizás lo

2:15:45conversemos directamente o si no yo les

2:15:48voy a habilitar una actividad durante la

2:15:51semana. Sí.

2:15:55Perfecto, prof.

2:15:55Profe, muchas gracias.

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com: free, unlimited, no sign-up.