¿Qué es MySQL? Explicación detallada para principiantes
Si quieres aprender sobre terminología técnica fácilmente, sin frustraciones, has llegado al lugar correcto. Hacemos que el alojamiento web sea fácil, y también hacemos todo lo posible para explicarlo en castellano simple. Entonces, ¿qué es MySQL? Vamos a verlo.
Descarga Glosario Completo de Desarrollo Web
Tabla de Contenidos
¿Qué es MySQL?
Primero lo primero, tienes que saber cómo pronunciarlo: MY-ES-KYU-EL’ [maɪˌɛsˌkjuːˈɛl]. Una compañía sueca llamada MySQL AB originalmente desarrolló MySQL en 1994. La compañía de tecnología de los Estados Unidos Sun Microsystems luego tomó el control por completo cuando compró MySQL AB en el 2008. El gigante de la tecnología estadounidense Oracle adquirió Sun Microsystems en el 2010, y MySQL ha sido propiedad de Oracle desde entonces.
En cuanto a la definición general, MySQL es un sistema de gestión de bases de datos relacionales de código abierto (RDBMS, por sus siglas en inglés) con un modelo cliente-servidor. RDBMS es un software o servicio utilizado para crear y administrar bases de datos basadas en un modelo relacional. Ahora, echemos un vistazo más de cerca a cada término:
Base de datos
Una base de datos es simplemente una colección de datos estructurados. Imagina que te tomas una selfie: presionas un botón y capturas una imagen de ti mismo. Tu foto es información y la galería de tu teléfono es la base de datos. Una base de datos es un lugar en el que los datos son almacenados y organizados. La palabra “relacional” significa que los datos almacenados en el conjunto de datos son organizados en forma de tablas. Cada tabla se relaciona de alguna manera. Si el software no es compatible con el modelo de datos relacionales, simplemente se llama DBMS.
Código abierto
Código abierto significa que eres libre de usarlo y modificarlo. Cualquiera puede instalar el software. También puedes aprender y personalizar el código fuente para que se adapte mejor a tus necesidades. Sin embargo, la GPL (licencia pública de GNU) determina lo que puedes hacer según las condiciones. La versión con licencia comercial está disponible si necesitas una propiedad más flexible y un soporte avanzado.
Modelo cliente-servidor
Las computadoras que tienen instalado y ejecutan el software RDBMS se llaman clientes. Siempre que necesitan acceder a los datos, se conectan al servidor RDBMS. Esa es la parte “cliente-servidor”.
MySQL es una de las muchas opciones de software RDBMS. Suele pensarse que RDBMS y MySQL son lo mismo debido a la popularidad de MySQL. Para nombrar algunas aplicaciones web grandes como Facebook, Twitter, YouTube, Google y Yahoo!, todas usan MySQL para el almacenamiento de datos. Aunque inicialmente se creó para un uso limitado, ahora es compatible con muchas plataformas de computación importantes como Linux, macOS, Microsoft Windows y Ubuntu.
SQL
MySQL y SQL no son lo mismo. Ten en cuenta que MySQL es una de las marcas más populares de software RDBMS, que implementa un modelo cliente-servidor. Entonces, ¿cómo se comunican el cliente y el servidor en un entorno RDBMS? Utilizan un lenguaje específico del dominio: lenguaje de consulta estructurado (SQL, Structured Query Language). Cuando veas otros nombres que contienen SQL, como PostgreSQL y el servidor Microsoft SQL, es muy probable que sean marcas que también utilizan la sintaxis SQL. El software RDBMS a menudo se escribe en otros lenguajes de programación, pero siempre usa SQL como lenguaje principal para interactuar con la base de datos. MySQL como tal está escrito en C y C ++. Pasa como con los países sudamericanos, todos son geográficamente diferentes y tienen historias diferentes, pero todos hablan principalmente español.
El científico informático Ted Codd desarrolló SQL a principios de la década de 1970 con un modelo relacional basado en IBM. Se volvió más común en 1974 y reemplazó rápidamente a lenguajes similares, por entonces obsoletos, ISAM y VISAM.
Dejando de lado la historia, SQL le dice al servidor qué hacer con los datos. Es similar a tu contraseña o código de WordPress. Lo ingresas en el sistema para obtener acceso al área del panel de control. En este caso, las declaraciones de SQL pueden indicarle al servidor que realice ciertas operaciones:
- Consulta de datos: solicitar información específica de la base de datos existente.
- Manipulación de datos: agregar, eliminar, cambiar, ordenar y otras operaciones para modificar los datos, los valores o los elementos visuales.
- Identidad de datos: definir tipos de datos, por ejemplo, cambiar datos numéricos a números enteros. Esto también incluye la definición de un esquema o la relación de cada tabla en la base de datos.
- Control de acceso a los datos: proporcionar técnicas de seguridad para proteger los datos, lo que incluye decidir quién puede ver o usar cualquier información almacenada en la base de datos.
¿Cómo funciona MySQL?
La imagen explica la estructura básica cliente-servidor. Uno o más dispositivos (clientes) se conectan a un servidor a través de una red específica. Cada cliente puede realizar una solicitud desde la interfaz gráfica de usuario (GUI) en sus pantallas, y el servidor producirá el output deseado, siempre que ambas partes entiendan la instrucción. Sin meternos demasiado a fondo en temas técnicos, los procesos principales que tienen lugar en un entorno MySQL son los mismos, y son:
- MySQL crea una base de datos para almacenar y manipular datos, definiendo la relación de cada tabla.
- Los clientes pueden realizar solicitudes escribiendo instrucciones SQL específicas en MySQL.
- La aplicación del servidor responderá con la información solicitada y esta aparecerá frente a los clientes.
Y eso es prácticamente todo. Desde el lado de los clientes, generalmente enfatizan qué GUI de MySQL usar. Cuanto más ligera y fácil de usar sea la GUI, más rápidas y fáciles serán sus actividades de administración de datos. Algunas de las GUI de MySQL más populares son MySQL WorkBench, SequelPro, DBVisualizer y Navicat DB Admin Tool. Algunas de ellas son gratuitas, mientras que otras son comerciales, otras son exclusivamente para macOS y otras son compatibles con los principales sistemas operativos. Los clientes deben elegir la GUI en función de sus necesidades. Para la administración de bases de datos web, incluido un sitio de WordPress, la opción más obvia es phpMyAdmin.
¿Por qué MySQL es tan popular?
MySQL no es el único (R)DBMS que hay en el mercado, pero es uno de los más populares y solo está por detrás de Oracle Database cuando se califica utilizando parámetros críticos como la cantidad de menciones en los resultados de búsqueda, los perfiles profesionales en LinkedIn y la frecuencia de discusiones técnicas en foros de internet. El hecho de que muchos de los principales gigantes de la tecnología confíen en él refuerza aún más esta merecida posición. ¿Por qué? Aquí están las razones:
Flexible y fácil de usar
Puedes modificar el código fuente para satisfacer tus propias expectativas, y no tienes que pagar nada por este nivel de libertad, incluidas las opciones de actualización a la versión comercial avanzada. El proceso de instalación es relativamente simple y no debería durar más de 30 minutos.
Alto rendimiento
Un amplio compendio de servidores de clúster respalda a MySQL. Ya sea que estés almacenando enormes cantidades de datos de e-Commerce grandes o realizando actividades intensas de inteligencia de negocios, MySQL puede ayudarte sin problemas con una velocidad óptima.
Un estándar de la industria
Las industrias han estado usando MySQL durante años, lo que significa que hay abundantes recursos para desarrolladores calificados. Los usuarios de MySQL pueden esperar un rápido desarrollo del software y trabajadores freelance expertos dispuestos a trabajar.
Seguro
Tus datos deberían ser la principal preocupación al elegir el software RDBMS correcto. Con su sistema de privilegios de acceso y la administración de cuentas de usuario, MySQL establece un alto estándar de seguridad. La verificación basada en el host y el cifrado de contraseña están disponibles.
¿Todavía queda algo por clarificar? Escríbelo en los comentarios a continuación o explora más sobre nuestra configuración de MySQL aquí en Hostinger.
Comentarios
November 09 2019
mil gracias por tu aporte definitivamente ayudas mucho con este tipo de informacion. saludos
November 14 2019
Hola Jorge, gracias por tu comentario. Nos alegra que te sea útil nuestro post :)
February 07 2020
Gracias por tan buena información
February 07 2020
Hola Álvaro, gracias por tu comentario. Eso nos motiva a seguir generando más contenidos similares :)
March 26 2020
Muchas Gracias, recien comence a estudiar programacion y me sirvio de mucho
April 02 2020
Hola Sergio, gracias por compartir tu opinión y por leer nuestro tutorial. Un saludo y feliz aprendizaje!
March 26 2020
Gracias Geniooooo
April 02 2020
Hola Andrés, gracias por tu comentario. Nos llena de satisfacción saber que te ha sido útil. Saludos!
April 01 2020
Buena explicación para diferenciar la GUI de la DBMS :)
April 02 2020
Hola Alexander, gracias por tu comentario. Qué bueno que te haya sido útil!
May 16 2020
soy totalmente neófito en la materia por lo tanto pricipiante apenas estoy descubriendo las siglas y su sgnificado, esto es que todo me ha servido y aprovechado lo suficiente gracias Maestro
May 21 2020
Hola Manuel, qué bueno saber que el tutorial te sirvió para iniciarte en la materia. Un saludo y muchos éxitos!
July 10 2020
Gracias por la Info... tienes cursos?
July 10 2020
Hola Felipe, lamentablemente no contamos con cursos, pero puedes chequear este tutorial https://www.hostinger.es/tutoriales/mejores-sitios-para-aprender-a-programar-gratis/ , seguramente podrá ayudarte con tu consulta, espero que así sea. ¡Saludos!
July 20 2020
GranP... Qué bien explicado, ME FASCINÓ. ,Mil gracias de veras... Ojalá y los profesores explicaran así, paso a paso y cada definición por separado
July 23 2020
Hola Roque, muchas gracias por tu comentario! En hostinger.es/tutoriales encuentras más tutoriales útiles que te pueden servir en tu camino. Saludos y éxitos!
August 06 2020
Buen día. Quiero dejarte mi gratitud por tu trabajo. Frecuentemente una se encuentra con recetas que aseguran ser "para principiantes", pero rara vez con una que realmente lo sea, como la que has confeccionado en esta oportunidad. Un resultado que seguramente te llevó horas de trabajo, y que me resultó muy claro. Te dejo mi sincero agradecimiento. Creo que personas como vos mejoran el mundo. (Alicia, desde San Lorenzo, Argentina)
August 14 2020
¡Muchas gracias por tu comentario Alicia! Nos alegra que te haya sido útil la información :)
September 28 2020
Buen día. Tengo algunas dudas, MySQL tiene la opción de particionar tablas. El acceso a los datos los trabaja con índices? Existen herramientas para la extracción, análisis y reporteo de los datos nativo de MYSQL.
December 27 2020
Excelente tutorial. Se lo voy a pasar a todos mis alumnos. Mil Gracias.
April 06 2021
Hola que versión de MySQL tienen los planes de hosting compartidos ?
April 07 2021
Hola Marlene! Te recomiendo que contactes a uno de nuestros agentes de atención al cliente en https://www.hostinger.es/contactos, sin duda alguna ellos podrán orientarte con una respuesta. Saludos!