Durante la cursada vamos a utilizar varias y diversas bases de datos con la finalidad de enfrentar problemas comunes dentro del mundo del desarrollo de software.
En cada trabajo práctico se utilizará un tipo de bases de datos diferente aprovechando las características que estas nos brindan, por lo cual será necesario instalar en cada computadora la base de datos a utilizar.
Aclaración breve, cuando hablamos de instalar una base de datos en realidad nos estamos refiriendo al sistema de administración de bases de datos(DataBase Management System). La diferencia radica en que una base de datos define las características sobre la persistencia de los datos en alto nivel, y en cambio un DBMS es una implementación específica que cumple estas características, como por ejemplo, MySQL, MariaDB y PostgreSQL son DBMS de la base de datos relacional SQL.
Durante las primeras unidades vamos a utilizar la base de datos relacional SQL, por lo cuál debemos instalar alguna de las opciones mencionadas anteriormente. Luego de definir el DBMS a utilizar, nuestra aplicación se tiene que configurar de manera que sea capaz de comunicarse con la base de datos, para esto generalmente se utilizan librerías conocidas como "drivers" o conectores. De ahora en adelante, siempre será necesario utilizar estas librerias para acceder y modificar las base de datos.
Generalmente, cada DBMS implementan estas librerías para múltiples lenguajes de programación. Por ejemplo, el lenguaje Java provee una clase llamada Driver dentro del package JDBC con la que podemos conectarnos a un DBMS como MariaDB o MySQL. Hay que tener cuidado con la versión a usar, ya que en algunos casos estas librerias pueden funcionar solamente para versiones específicas del DBMS.
Para esta primer parte, vamos a instalar la base de datos Open Source MariaDB, que es una variante de MySQL que funciona de manera similar, respetando varias de las interfaces necesarias, al menos las que utilizaremos durante la materia. Algo importante a tener en cuenta es la configuración de la contraseña del usuario root, ya que será necesaria para conectarse al servidor. Otra cosa a tener en cuenta es que la instalación puede variar dependiendo del Sistema Operativo utilizado y su versión.
Acá dejamos un listado de tutoriales para las versiones más conocidas.
Si bien se puede utilizar MySQL usando la interfáz de consola que provee, esto suele ser poco amigable y engorroso por eso existen herramientas como MySQL Workbench que permiten manejar y visualizar el diseño de las bases de datos como también facilitar la creación de esquemas y modelos mediante una interfáz de usuario muy amigable. Este programa funciona con los servidores MySQL y MariaDB. Y se puede descargar en: https://dev.mysql.com/downloads/workbench/
Antes que nada: ¿Qué es Docker?
Docker es un programa que permite la creación e instalación de programas en entornos contenidos, a estos los llamamos contenedores.
Esta herramienta es multiplataforma, por lo que permite instalar programas "prearmados" en cualquier sistema operativo de manera sencilla.
La mayor ventaja es que permite instalar estos programas sin necesidad de preocuparse por detalles especificos, como las dependencias necesarias, los permisos del sistema para instalarlas entre otras. También permite la instalación de diferentes versiones de estos programas.
Explicación detallada sobre su funcionamiento
¿Cómo lo usamos?
en un Sistema Operativo basado en linux
docker run --name=mysql -e MYSQL_USER=user -e MYSQL_PASSWORD=user -p 3306:3306 -d mysql/mysql-server:5.6
en Windows