Bases de datos
Clase 13 de 19 • Curso de Introducción al Desarrollo Backend
Contenido del curso
Clase 13 de 19 • Curso de Introducción al Desarrollo Backend
Contenido del curso
JUAN CAMILO CAMPO TANGARIFE
Brahyan Antonio Martinez Madera
Alvaro Eduardo Garzón Pira
Mejia Juan Sebastian
Alvaro Eduardo Garzón Pira
Jairo Saul Salas Quiñones Pro-Dev | Sci-Tech
Joan Gomezjurado Sánchez
Cristian Camilo Cortes Ortiz
Cristian Camilo Cortes Ortiz
Guadalupe Monge Barale
Cristofer Vargas Morales
moises montoya
Xavier Armando Larios Alvarenga
Jackssuriss Tatiana Herrera Florez
María del Tránsito Sánchez Linares
Lautaro Martinez
Daniel Eduardo Rojas Pulido
ANDRES ALFONSO MIRA MEJIA
Ismael Torres
Erick Marcial Machacado Rizo
Heber Santiago Alvarez Rincon
Juan pablo Ramirez Gutierrez
Oscar Andrey Martinez Calderon
Bases de datos
Una base de datos es una herramienta para recopilar y organizar información. Las bases de datos pueden almacenar información sobre personas, productos, pedidos u otras cosas. Muchas bases de datos comienzan como una lista en una hoja de cálculo o en un programa de procesamiento de texto. . Existen dos tipos de bases de datos: Relacionales y No Relacionales. .
Relacionales (SQL)
Se caracterizan por ser creadas con tablas que relaciona los datos con otros. usa SQL (Structured Query Language) que es un lenguaje de computación para trabajar con conjuntos de datos y las relaciones entre ellos. . Las BD relacionales más populares son:
. Al trabajar todos con SQL, los frameworks aprovechan para trabajar con ORMS Object-Relational Mapping, que es una forma de abstraer la conexión a estas bases de datos, utilizando la POO (Programación Orientada a Objetos.) .
No Relacionales (No SQL)
Una base de datos no relacional es aquella que no usa el esquema tabular de filas y columnas que se encuentra en la mayoría de los sistemas de base de datos más tradicionales. en vez de SQL, usa un formato JSON o parecido. . Las BD no relacionales más populares son:
CUIDADO CON LOS SERVICIOS DE BASES DE DATOS
... Porque es donde está toda la información delicada de nuestros usuarios. Por medio de los drivers el backend se comunica con las bases de datos.
También es importante tener en cuenta que el desarrollador backend no es quien administra el mantenimiento de las bases de datos, no gestiona backups, sincronización, etc, ésto lo hace el DB Admin. Sino que éste construye la lógica para consumir éste servicio por medio de los drivers.
.
Proveedores de DB Administration
Ofrecen servicios para administrar las bases de datos en diferentes bases de datos y éstos cobran de acuerdo al servicio y puede salir más economico que crear un equipo para administrar toda nuestras bases de datos. Algunos son:
La programacion es enorme
¿Te interesan las bases de datos?
Como backend developer puede que necesitarás tener conocimientos de devops, bases de datos, cloud... Es un camino largo, pero vale muchísimo la pena, por lo que si quieres profundizar conocimientos en bases de datos, te recomiendo Bases de Datos desde Cero
¿Ese es el curso que le sigue a este verdad?, es decir el curso que se debería tomar al finalizar este.
¡Hola Juan! En realidad depende mucho de cuál es el enfoque que te gustaría tener, si quieres irte por el lado del backend te recomiendo tomar el curso de base de datos y ahí definir que lenguaje te gustaría probar, hay buen material aquí en platzi para Java, Node.js y Python desde mi punto de vista; Ya si quieres irte al lado del frontend, te recomendaría el curso de HTML y CSS Definitivo.
Sobre los drivers:( Entre DB y lenguajes de programación)
La importancia de definir los roles en el desarrollo de un software, y especializarce en uno.
ORMs
El mapeo objeto-relacional (ORM) es una técnica de programación que permite a los desarrolladores interactuar con bases de datos relacionales utilizando lenguajes de programación orientados a objetos. Los ORM actúan como un intermediario entre la aplicación y la base de datos, traduciendo las operaciones en objetos a consultas SQL y viceversa. Esta abstracción simplifica el manejo de datos, ya que los desarrolladores pueden trabajar con objetos y sus métodos en lugar de escribir consultas SQL manuales. Entre las herramientas ORM más populares se encuentran:
El uso de ORM mejora la productividad del desarrollo, facilita el mantenimiento del código y promueve la reutilización de componentes, aunque puede introducir cierta sobrecarga y limitaciones en comparación con las consultas SQL optimizadas manualmente.
BASES DE DATOS
Son sistemas organizados para la recopilación, almacenamiento y gestión de datos de manera estructurada, permitiendo un acceso, recuperación y manipulación eficientes de la información. Existen diferentes tipos de bases de datos, como las relacionales, que utilizan tablas para representar datos y sus relaciones mediante SQL** (Structured Query Language), y las NoSQL*, que están diseñadas para manejar grandes volúmenes de datos no estructurados o semi-estructurados con modelos flexibles como documentos, gráficos, clave-valor y columnas. Las bases de datos son fundamentales para:*
y muchas otras aplicaciones que requieren almacenamiento persistente y acceso rápido a la información. La elección del tipo de base de datos y su diseño adecuado son cruciales para el rendimiento, escalabilidad y fiabilidad de las aplicaciones que dependen de ellas.
Cookies
Sesiones
Permiten implementar sistema de autenticación
Una sesión es una cookie temporal y encriptada que estará viva y mantendrá toda la información del usuario mientras esté activa.
A diferencia de una cookie, los datos asociados a una sesión se almacenan en el servidor y nunca en el cliente.
Las sesiones se destruyen en cuanto hacemos logout.
Más información en este curso, excelente https://platzi.com/cursos/php-cookies-sesiones/
interesante
:)
Un ejemplo de ORM (Object Relational Mapping) en Java es Hibernate. Hibernate permite mapear clases de Java a tablas de bases de datos y proporciona una API para realizar operaciones de creación, lectura, actualización y eliminación (CRUD). Permite a los desarrolladores trabajar con objetos en lugar de escribir consultas SQL manualmente, lo cual simplifica el manejo de la base de datos y mejora la eficiencia del desarrollo.
Otra opción popular es JPA (Java Persistence API), que es una especificación que Hibernate implementa.
Una base de datos es un sistema que permite almacenar, organizar y gestionar información de manera eficiente. Se utilizan para guardar grandes volúmenes de datos, facilitando su acceso, manipulación y actualización. Existen diferentes tipos de bases de datos, como relacionales (que utilizan tablas y SQL) y no relacionales (como MongoDB), cada una adecuada para distintos tipos de aplicaciones y necesidades. En el desarrollo backend, la elección de la base de datos es crucial para el rendimiento y escalabilidad de las aplicaciones.
Muy buena información
En el servidor tenemos principalmente lógica, reglas de negocio, validación, autorización, etc. Y como ya vimos anteriormente el servidor no es más que una computadora con grandes capacidades de procesamiento. Un servidor para servicios como APIs u otras aplicaciones utilizará principalmente CPU y RAM y no mucho almacenamiento, mientras que para una Base de datos cuya función es persistir información, el almacenamiento cobrará mucha más relevancia.
Las Apps se conectan a las DBs mediante drivers. Según la arquitectura de nuestro sistema puede que tengamos la base de datos en nuestro mismo servidor o en otro, o incluso tener contratado un servicio de terceros para administrar backups, replicación, escalamiento, dar soporte y mantenimiento. Algunos ejemplos de PaaS para DBs son Heroku, Cloud SQL (GCP), RDS / Aurora (AWS), Azure SQL, MongoDB Atlas (NoSQL).
Un ORM (Object-relational Mapping) permite un modelado de bases de datos relacional usando programación orientada a objetos. Reemplaza a SQL como lenguaje de consultas utilizando funciones.
Esto hace posible que los desarrolladores interactúen con bases de datos relacionales utilizando su lenguaje de POO preferido. Los ORM actúan como un intermediario entre la aplicación y la base de datos, traduciendo las operaciones en objetos a consultas SQL y viceversa. Esta abstracción simplifica el manejo de datos, ya que los desarrolladores pueden trabajar con objetos y sus métodos en lugar de escribir consultas SQL manuales. Entre las herramientas ORM más populares se encuentran: Entity Framework, Hibernate, Type ORM.
El uso de ORM mejora la productividad del desarrollo, facilita el mantenimiento del código y promueve la reutilización de componentes, aunque puede introducir cierta sobrecarga y limitaciones en comparación con las consultas SQL optimizadas manualmente.
El backend se conecta a las bases de datos mediante drivers o ORMs (Object-Relational Mappers). Esto permite que el código de la aplicación envíe consultas para almacenar, recuperar y manipular datos, haciendo que las aplicaciones sean dinámicas. Esta interacción es crucial para gestionar la información de usuarios, productos, y cualquier otro dato de la aplicación.
✅
🧠 Node.js + Express: Busco mentes críticas
Acabo de publicar Neec Backend. Dicen que el mejor código es el que se comparte y se critica.
Estimado compañero desarrollador, si no te conformas con lo básico. Entra, clónalo y dime: ¿Qué harías tú diferente?
Si te gusta la iniciativa, deja una ⭐ en el repo para que más estudiantes lo encuentren. Tu feedback es el combustible de este proyecto.
👇 El código está aquí:
El Backend Developer diseña y construye la lógica del lado del servidor que interactúa con bases de datos. Utiliza lenguajes de programación y ORM/consultas SQL para almacenar, recuperar, actualizar y eliminar datos, garantizando la persistencia y eficiencia de la información para las aplicaciones. SQL: Bases de datos relacionales con esquemas fijos, usan tablas y SQL. NoSQL: Bases de datos no relacionales, flexibles, sin esquemas fijos, escalables horizontalmente.
elephantsql seria plataforma como servicio?
Hay algun modo para saber de cuando es el curso?
Directamente no, pero puedes realizar la búsqueda de la publicación de la URL de la primera clase