Saltar navegación

20251202 UD2-BDR-Intro - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 3 de diciembre de 2025 por Raquel G.

2 visualizaciones

Descargar la transcripción

Venga, vamos a ver, realmente contenidos no son muchos, lo que tenemos que ver de acceso a bases de datos relacionales. 00:00:00
No, el primer RA sí que dije que eran como muchas cositas sueltas, entonces eso tiene un efecto sinérgico que despista, esto es más concreto, ¿vale? 00:00:09
¿Por qué? Para empezar, lo que es una base de datos relacional, todos lo sabéis, ahí no hay que meterse, y conocéis SQL, ahí no hay que meterse, y a ver, nosotros no nos va a preocupar hacer sentencias gordas o no, sino cómo ejecutar sentencias, nada igual, nada más, ¿vale? 00:00:21
Entonces, las bases de datos relacionales pues hicieron magia en realidad, porque tienen más años que la TANA y ahí siguen y ahí siguen y ahí siguen y es complicadísimo quitárselas de encima, no hay manera. 00:00:43
las bases de datos 00:00:56
porque cuando la programación orientada a objetos 00:00:57
pues bueno, no hace falta parar 00:00:59
porque en total hemos estampado las reglas 00:01:01
cuando la programación orientada a objetos 00:01:03
se quedó 00:01:06
de alguna manera, se quedó instalada 00:01:08
en el desarrollo de aplicaciones comerciales 00:01:10
pues efectivamente, rápidamente 00:01:12
se identificó el desfase 00:01:14
el desfase que se llama 00:01:15
objeto relacional, que es Polines 00:01:18
tengo una aplicación basada en objetos 00:01:19
que tienen propiedades dentro 00:01:21
y esos objetos tienen objetos dentro 00:01:23
y este objeto tiene un objeto dentro 00:01:25
y mi aplicación trabaja con datos 00:01:27
porque si no, no sirve para nada 00:01:30
y los datos tienen otro diseño 00:01:32
distinto, que es 00:01:34
alumno, matrícula por aquí 00:01:35
secretaría por aquí, sin embargo 00:01:37
mi aplicación tiene la matrícula dentro del alumno 00:01:40
no la tiene aparte 00:01:42
como en la tabla, ¿qué desfase es este? 00:01:43
¿qué cachondeo es este? 00:01:45
pues al identificar este desfase 00:01:47
allá por principios 00:01:49
de los 2000 o un poquito antes 00:01:51
dijeron, pues hombre, bases adrelacionales 00:01:53
ya anticuadas a la corra, vamos a desarrollar tecnologías 00:01:55
de bases de datos orientadas a objetos, de tal manera que 00:02:00
cargar los datos de los objetos de la base de datos es que sea 00:02:03
inmediato, sea una correspondencia biunívoca 00:02:08
pues se intentó, se intentó, se hicieron bases de datos orientadas a objetos 00:02:11
puras de... al final el grupo que se 00:02:15
creó para desarrollar estas tecnologías, para normalizar 00:02:20
todo eso, pues ese grupo 00:02:23
se fue cada uno a su casa 00:02:25
y se aburrieron 00:02:27
y hombre, lo que sí que se han quedado es 00:02:29
lo que sí que se ha quedado es 00:02:32
la tierra 00:02:36
vaya panda de delincuentes 00:02:38
que tenemos ahí 00:02:45
vale 00:02:46
esos son los alumnos míos, no van a conocer 00:02:46
entonces 00:02:50
lo que sí que se ha quedado es 00:02:52
en las bases adrelacionales, tal cual las 00:02:54
conocéis, se ha quedado 00:02:56
pues la probabilidad también 00:02:58
de en el modelo, en el DDL 00:03:00
pues crear objetos y esas cositas 00:03:02
pero luego realmente al final 00:03:04
las bases adrelacionales se usan tal y como 00:03:06
las habéis estudiado el año pasado 00:03:08
un montón de tablas 00:03:09
que son una secuencia 00:03:11
de tuplas con 00:03:14
claves que las relacionan entre ellas 00:03:16
al final se ha quedado así, tal y como 00:03:18
se inventaron hace 50 años 00:03:20
o 60 años, tal cual 00:03:22
Luego, ¿qué es un base de datos relacional? 00:03:24
Tal cual la conocéis. 00:03:26
¿Cuál es nuestro problema ahora? 00:03:28
Pues hombre, tengo una aplicación Java 00:03:30
y necesito comunicarme con mi base de datos relacional. 00:03:32
¿Qué hago? 00:03:39
Esto no tiene nada que ver con esto. 00:03:40
¿Cómo lo hago? 00:03:41
Bueno, pues bueno, aquí llega ya todo el proceso de estandarización. 00:03:42
Vamos a hacer unos estándares para que todos hagamos las cosas igual. 00:03:48
Ese proceso de estandarización 00:03:52
Como se hace en Java 00:03:55
Mediante APIs 00:03:56
Es decir, me voy a hacer 00:03:58
Un conjunto de interfaces 00:04:01
Con métodos, con un nombrecito 00:04:03
Conocido, explicativo 00:04:05
Todos usamos esas APIs 00:04:07
Que yo distribuyo 00:04:09
En mi JDK 00:04:11
La gran mayoría, otras no, pero las puedo poner con dependencia 00:04:12
Todos usamos esas APIs 00:04:15
Es decir, todos usamos esos nombres 00:04:17
Todos llamamos de la misma manera las cosas 00:04:18
y ahora ya vamos a implementar 00:04:21
como toque 00:04:24
y como tocará 00:04:25
pues depende de la base de datos que yo esté usando 00:04:26
porque el problema aquí viene 00:04:29
en eso, que la base de datos 00:04:31
yo puedo estar usando MySQL 00:04:33
puedo estar usando Postgre, Oracle 00:04:35
puedo estar usando mil cosas 00:04:38
entonces tendría que hacer 00:04:40
un programa, tendría que cambiar 00:04:42
el programa cada vez que cambie de base de datos 00:04:44
pues no tendría ningún sentido cambiarlo 00:04:46
entonces el estándar por tanto 00:04:48
se basa en, oye, vamos 00:04:50
a crear una API con unos métodos 00:04:52
yo llamo a esta API 00:04:54
y ahora 00:04:58
esta API ya que se implemente 00:04:59
como toque 00:05:02
como toque, vale 00:05:03
pues, la API básica 00:05:05
sobre lo que todo 00:05:08
lo demás está montado 00:05:10
la API básica que usamos 00:05:11
sí o sí, bueno, sí o sí con 00:05:13
matices, porque bueno, luego tendríamos 00:05:16
la API básica 00:05:18
que se usa sí o sí 00:05:22
para acceder desde Java 00:05:24
a una base A tradicional 00:05:26
es lo que llamamos 00:05:27
la API JDBC 00:05:29
que es una de las del trabajito del año pasado 00:05:32
¿verdad? la API JDBC 00:05:34
Java 00:05:36
Database Connectivity 00:05:37
esto es un conjunto de métodos 00:05:39
para 00:05:42
directamente hablar con la base de datos 00:05:44
de tú a tú, tal cual 00:05:46
para meterse en el fango tal cual 00:05:48
para hablar con la base de datos 00:05:49
y hablar con la base de datos que implica 00:05:51
crear conexión 00:05:53
ejecutar 00:05:55
la sentencia, suele ser SQL 00:05:58
que yo quiera, que puede ser también 00:05:59
de crear modelos 00:06:02
y cerrar conexión 00:06:03
esencialmente es eso 00:06:06
eso es lo que hace la API JDBC 00:06:07
se baja al barro directamente 00:06:11
a la tierra 00:06:13
a hablar directamente con la base de datos 00:06:13
para crear la conexión tal cual 00:06:17
ejecutar, toma este SQL 00:06:19
ala, ejecútalo 00:06:22
si es una consulta, dame los resultados 00:06:24
venga, cierre conexión 00:06:26
esencialmente es eso, bueno 00:06:28
hay otras cositas más que se pueden hacer ya metidos 00:06:30
en el barro de la base de datos 00:06:32
bueno, pues 00:06:34
esto, la API 00:06:35
JDBC tiene métodos 00:06:38
para hacer estas cosas 00:06:40
¿vale? para hacer esas cosas 00:06:41
entonces, uno 00:06:43
no necesitaría nada más, puede hacer 00:06:46
cualquier aplicación directamente así 00:06:48
y tendría un control 00:06:50
exhaustivo de la aplicación 00:06:52
lo que pasa es que bueno 00:06:53
que se queda una aplicación 00:06:55
un poquito 00:06:57
poco escalable, poco mantenible 00:06:58
porque yo tengo ahí un montón de SQL 00:07:02
tengo que hacer mi propia gestión de conexiones 00:07:04
tengo un montón de tries y cuts 00:07:06
tengo un montón de historias raras de código 00:07:08
que maravilloso porque yo lo controlo 00:07:10
pero jolín que feo 00:07:12
entonces sobre esto se pueden ir poniendo 00:07:13
capas de abstracción 00:07:16
sobre esto se pueden ir poniendo capas 00:07:18
¿vale? que son las, son capas 00:07:20
pues que iremos incorporando 00:07:21
las capas de abstracción, ¿vale? 00:07:23
hasta llegar a una capa en la que 00:07:26
ya no saben lo que estás haciendo 00:07:28
efectivamente, tú ya dices, eh 00:07:29
quiero un alumno, y ya está 00:07:31
y de repente ahí empiezan a arrancar 00:07:34
cosas, millones de cosas 00:07:36
y todo para que te dé un alumno 00:07:37
digo, joder, ¿para esto? 00:07:40
hombre, si tú has 00:07:43
configurado bien las capas, debería 00:07:44
darte bien ese alumno 00:07:45
hombre, a ver 00:07:46
que algo más exagerado 00:07:51
el poner capas no significa que tú al final no sabes 00:07:53
lo que estás haciendo 00:07:55
se supone que cada capa que pones 00:07:56
la configuras 00:07:59
correctamente y sabes qué hace 00:08:01
y de qué va, lo que pasa es que es cierto 00:08:03
que cada capa de abstracción ya te mete 00:08:05
un montón de cosas 00:08:07
y al final puedes llegar a una situación que no sabes muy bien 00:08:08
lo que estás haciendo, pero ¿cómo te funciona? 00:08:11
pues ahí lo dejas 00:08:13
entonces, bueno, es verdad que eso tiene el peligro 00:08:15
de que a veces a lo mejor algo te deja 00:08:17
de funcionar y dices 00:08:19
¿y por qué me lo deja de funcionar? ni por yo tener idea 00:08:20
porque como he puesto tantas cosas, ya es que no sé 00:08:22
dónde está el fallo, pero bueno, ese es vuestro trabajo 00:08:24
¿vale? 00:08:27
Esa es una pregunta 00:08:33
filosóficamente interesante 00:08:35
la respuesta 00:08:36
políticamente correcta 00:08:38
que no me comprometes, depende del contexto 00:08:40
y es que 00:08:43
es hasta real, depende del contexto 00:08:45
en una aplicación tuya en la que vas a hacer 00:08:46
cuatro SQLs, cuatro no sé qué 00:08:49
pues hombre, ¿a qué vas a poner 00:08:51
capas? JDC, claro 00:08:53
¿para qué le vas a meter 00:08:55
carga y peso? En una aplicación empresarial 00:08:57
que tiene un modelo 00:08:59
con un montón de clases 00:09:01
como tengas tú 00:09:02
que andar 00:09:04
reconstruyendo cada campo para 00:09:05
construir el objeto, te estás ahí dos horas 00:09:08
bueno, que digo yo dos horas 00:09:11
te estás dos meses 00:09:12
pues por eso es que depende del contexto 00:09:14
si es una aplicación que tira de un modelo 00:09:18
muy complicado, pues hombre 00:09:21
si tú no usas capas 00:09:23
el mapeo entre la base de datos 00:09:24
y el modelo lo vas a tener que estar haciendo todo el rato 00:09:27
en cuanto cambie algo 00:09:29
del modelo, de la base de datos 00:09:31
el cambio tuyo en tu código es enorme 00:09:33
si tú lo haces con esas capas 00:09:35
un cambio en la base de datos 00:09:37
implica tunear muy poquito 00:09:39
en esas capas, pero claro, tienes que controlarlas 00:09:41
tienes que controlar un poco lo que hacen 00:09:43
un poco, pero ahora 00:09:45
vamos rápidamente a 00:09:47
este tema 2 00:09:49
es JDBC, con lo cual 00:09:51
fijaos que poquita cosa, es JDBC 00:09:53
entonces vamos a ver la arquitectura básica de 00:09:55
JDBC y como 00:09:57
se usa más o menos 00:09:59
y ya está, y ya esa parte estaría 00:10:00
y luego ya pasaríamos a 00:10:03
vamos a poner una pequeña capita mínima 00:10:04
de abstracción 00:10:07
que todavía no es un ORM 00:10:08
una pequeña capita mínima de abstracción 00:10:10
para que no sea un JDBC 00:10:12
puro y duro tan feo, para ver que se le puede poner 00:10:14
una mínima capa de abstracción 00:10:16
y ya está, ese sería el tema 2 00:10:17
y el tema 3 es, venga, ahora vamos a poner una capa más gorda 00:10:20
vamos a poner lo que se llama un ORM 00:10:22
y ya está 00:10:24
no hay tanto que queda, pero bueno 00:10:26
vamos a intentar no 00:10:28
perdernos, vale, entonces 00:10:29
cuando yo he hablado 00:10:32
de que esta API 00:10:34
JDBC que se distribuye 00:10:35
con el JB que está en JDK 00:10:37
no tienes que importar ninguna dependencia 00:10:39
ni nada, ahí viene 00:10:41
cuando he dicho que ya veremos 00:10:43
cómo se rellena, pues claro 00:10:45
esto ya sí que 00:10:47
depende de la base de datos con la que yo estoy trabajando 00:10:49
entonces esto ya sí que 00:10:51
es responsabilidad de uno 00:10:53
coger el relleno 00:10:55
coger el relleno, la implementación 00:10:57
coger la implementación de la API 00:11:00
y la implementación de la API 00:11:01
o el relleno 00:11:04
¿cómo se llama? pues es el driver 00:11:05
entonces, que tú trabajas con MySQL 00:11:07
te tienes que preocupar 00:11:10
de descargarte 00:11:12
o conectarte a la dependencia 00:11:14
del driver JDBC 00:11:17
de MySQL, que trabajas con Oracle 00:11:19
pues tienes que ponerte 00:11:21
esta dependencia 00:11:23
entonces, con esta arquitectura 00:11:23
el cambio de base de datos es inmediato 00:11:26
cambias el driver y ya está, no tienes que tocar 00:11:28
nada, porque el API es igual 00:11:31
pues MySQL 00:11:32
porque es la relacional estándar 00:11:34
más fácil de usar y más 00:11:36
vale 00:11:38
y esta sería 00:11:43
la idea de cómo funciona 00:11:46
JDBC, nuestro trabajo va a ser 00:11:48
seleccionar el 00:11:50
driver, esto es lo que se 00:11:52
llama en general el conector 00:11:54
por eso pues esto se le 00:11:55
llama pues 00:11:58
conectar de base de datos con conectores, se le suele llamar 00:11:59
conector o driver JDBC 00:12:02
pues vamos simplemente a eso 00:12:03
a instalar nuestro MySQL 00:12:05
y ver un poquito, más o menos, 00:12:08
cómo se suele usar, en qué tipo de 00:12:10
qué forma de programar 00:12:12
normalmente usamos 00:12:14
para hacer esto, para conectarnos a la base de datos 00:12:15
y poder hacer cualquier cosa con ella, cualquiera 00:12:18
lo que me dé la gana con JBG. 00:12:20
¿Vale? Hay ciertos patrones, pues 00:12:23
usar el try con recursos, 00:12:24
pues unas cositas que más o menos 00:12:27
para hacerlo mono y elegante. 00:12:28
Crear un pool de conexiones, 00:12:30
si estamos en multihilo, algunos detallitos 00:12:32
de eso. 00:12:34
Pues, ¿quién ha suspirado? 00:12:35
Todos 00:12:38
No, no vamos a hacer aplicaciones multilo, Dios no es libre 00:12:38
Se ha entendido 00:12:41
Nosotros en el trabajo de Fintech 00:12:43
Eso, bueno 00:12:46
Si queréis, si no, no 00:12:48
Vale 00:12:49
Pues entonces 00:12:51
Voy a parar la grabación 00:12:56
Porque ahora lo que vamos a hacer va a ser 00:12:59
Instalar MySQL 00:13:01
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Segundo Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
2
Fecha:
3 de diciembre de 2025 - 12:10
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
13′ 04″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
649.25 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid