Creación de BBDD para eCommerce con MySQL
Con la realización de este taller, aprenderás a diseñar Base de datos para un proyecto de Ecommerce, modelar...
Descubre en este artículo las principales características de este sistema de gestión de bases de datos que actualmente es el más extendido. Veremos además su origen y evolución, sus mayores ventajas y daremos un repaso a sus sentencias básicas.
Tabla de contenidos
En programación es prácticamente inevitable trabajar con algún tipo de sistema de gestión de bases de datos. Cualquier programa que imaginemos tarde o temprano necesitará almacenar datos en algún lugar, como mínimo para poder almacenar la lista de usuarios autorizados, sus permisos y propiedades.
MySQL es el sistema de gestión de bases de datos relacional más extendido en la actualidad al estar basada en código abierto. Desarrollado originalmente por MySQL AB, fue adquirida por Sun MicroSystems en 2008 y esta su vez comprada por Oracle Corporation en 2010, la cual ya era dueña de un motor propio InnoDB para MySQL.
MySQL es un sistema de gestión de bases de datos que cuenta con una doble licencia. Por una parte es de código abierto, pero por otra, cuenta con una versión comercial gestionada por la compañía Oracle.
Las versiones Enterprise, diseñadas para aquellas empresas que quieran incorporarlo en productos privativos, incluyen productos o servicios adicionales tales como herramientas de monitorización y asistencia técnica oficial.
MySQL presenta algunas ventajas que lo hacen muy interesante para los desarrolladores. La más evidente es que trabaja con bases de datos relacionales, es decir, utiliza tablas múltiples que se interconectan entre sí para almacenar la información y organizarla correctamente.
Al ser basada en código abierto es fácilmente accesible y la inmensa mayoría de programadores que trabajan en desarrollo web han pasado usar MySQL en alguno de sus proyectos porque al estar ampliamente extendido cuenta además con una ingente comunidad que ofrece soporte a otros usuarios. Pero estas no son las únicas características como veremos a continuación:
Descritas las principales características de MySQL es fácil ver sus ventajas. MySQL es una opción razonable para ser usado en ámbito empresarial. Al estar basado en código abierto permite a pequeñas empresas y desarrolladores disponer de una solución fiable y estandarizada para sus aplicaciones. Por ejemplo, si se cuenta con un listado de clientes, una tienda online con un catálogo de productos o incluso una gran selección de contenidos multimedia disponible, MySQL ayuda a gestionarlo todo debida y ordenadamente.
La historia de MySQL comienza cuando Michael Widenius, un programador de software, buscaba una solución sencilla que permitiera dar salida a sus proyectos sin recurrir a soluciones de terceros. Al comienzo MySQL carecía de elementos considerados esenciales como la integridad referencial y transacciones pero a pesar de ello atrajo rápidamente a desarrolladores web.
Esto dió lugar a la fundación de la empresa MySQL AB (empresa fundada por David Axmark, Allan Larsson y Michael Widenius) para dar continuidad al proyecto. Posteriormente la empresa fue adquirida por Sun MicroSystems en 2008 quien vió en MySQL una solución para competir con su competidor Oracle quien, curiosamente, acabó por hacerse con la compañía en 2010.
Desde 1995, momento en el que la compañía de software de MySQL AB creó la versión original hasta hoy MySQL ha ido evolucionando incorporando nuevas funciones. En 1999, se lanzó la versión 3.23.0, la primera versión en importancia a la que luego siguieron otras como las versiones 5.0.0, liberada en 2005, y la 5.5.x que fue lanzada en diciembre de 2009.
MySQL comparte las sentencias del lenguaje SQL. Lo que en la práctica se traduce en una plena compatibilidad. Al ser un elemento muy ligado al backend de cualquier aplicación web, normalmente desarrollada sobre algún lenguaje como PHP, puede ser un poco difícil de ejemplificar pues sería necesario abarcar todo un artículo pero se puede realizar la siguiente relación de sentencias básicas:
SELECT
es usada para consultar datos.DISTINCT
Sirve para eliminar los duplicados de las consultas de datos.WHERE
Es usada incluir las condiciones de los datos que queremos consultar.AND
y OR
es usada para incluir 2 o más condiciones a una consulta.ORDER BY
Es usada para ordenar los resultados de una consulta.INSERT
Es usada para insertar datos.UPDATE
Es usada actualizar o modificar datos ya existentes.DELETE
Es usada borrar datos.Por ejemplo y para mostrar cómo funciona su sintaxis lo mejor es ver un ejemplo con SELECT
. Es sin duda el comando más versátil del lenguaje SQL.
SELECT *
FROM Nombre_Tabla_Vista
WHERE Condiciones
ORDER BY ListaColumnas [ ASC / DESC ]
Por ejemplo:
SELECT nombre, apellido1, apellido2 FROM personas
nombre | apellido1 | apellido2 |
JUAN | MATEOS | MENDEZ |
MARIA | GARCIA | BENITO |
LUIS | GARCIA | MATEOS |
Al realizar una consulta puede ocurrir que existan valores repetidos para algunas columnas. Por ejemplo
SELECT nombre FROM personas
NOMBRE |
EVA |
LUIS |
EVA |
Esto no es un problema, pero a veces queremos que no se repitan, por ejemplo, si queremos saber los nombre diferentes que hay en la tabla personas”, entonces utilizaremos DISTINCT.
SELECT DISTINCT nombre FROM personas
nombre |
EVA |
LUIS |
Ejemplo con WHERE
La cláusula WHERE es usada para hacer filtros en las consultas, es decir, seleccionar solamente algunas filas de la tabla que cumplan una determinada condición.
El valor de la condición debe ir entre comillas simples ”. Por ejemplo:
Seleccionar las personas cuyo nombre sea EVA
SELECT * FROM personas WHERE nombre = EVA
nombre | apellido1 | apellido2 |
EVA | MATEOS | GUTIERREZ |
EVA | BENITO | BENITO |
Ejemplo con AND y OR
Los operadores AND y OR son usados para filtrar resultados con 2 condiciones. Así, el operador AND mostrará los resultados si se cumplan las 2 condiciones.
Condición1 AND condición2
Mientras que el operador OR mostrará los resultados cuando se cumpla alguna de las 2 condiciones.
Condicion1 OR condicion2
Por ejemplo en la tabla personas:
nombre | apellido1 | apellido2 |
EVA | MATEOS | GUTIERREZ |
EVA | BENITO | BENITO |
LUIS | LOPEZ | MATEOS |
La siguiente sentencia (ejemplo AND) dará el siguiente resultado:
SELECT * FROM personas WHERE nombre = ‘EVA’ AND apellido1 = ‘GARCIA’
nombre | apellido1 | apellido2 |
EVA | GARCIA | BENITO |
Ejemplo con ORDER BY
ORDER BY es usada para ordenar los resultados de una consulta, según el valor de la columna especificada. Por ejemplo:
SELECT nombre, apellido1 FROM personas ORDER BY apellido1 ASC
nombre | apellido1 |
LUIS | LOPEZ |
EVA | GARCÍA |
EVA | MATEOS |
SELECT nombre, apellido1 FROM personas ORDER BY apellido1 DESC
nombre | apellido1 |
EVA | MATEOS |
EVA | GARCIA |
LUIS | LOPEZ |
Ejemplo con INSERT
La sentencia INSERT INTO es usada para insertar nuevas filas en una tabla. Si queremos insertar una nueva fila en la tabla personas, lo podemos hacer con cualquiera de las dos sentencias siguientes:
INSERT INTO personas VALUES (‘PEDRO’, ‘RUIZ’, ‘GONZALEZ’)
INSERT INTO personas (nombre, apellido1, apellido2) VALUES (‘PEDRO’, ‘RUIZ’, ‘GONZALEZ’)
Ejemplo con UPDATE
La sentencia UPDATE es usada para modificar valores en una tabla.
Ejemplo del uso de SQL UPDATE
UPDATE personas SET apellido2 = ‘RODRIGUEZ’ WHERE nombre = ‘ANTONIO’ AND apellido1 = ‘GARCIA’ AND apellido2 = ‘BENITO’
Ejemplo con DELETE
La sentencia DELETE es usada para BORRAR valores en una tabla. Por ejemplo:
DELETE FROM personas WHERE nombre = ‘LUIS’ AND apellido1 = ‘LOPEZ’ AND apellido2 = ‘MATEOS’
Por supuesto podríamos ofrecer más ejemplos pero las posibilidades son infinitas. En este tipo de casos la máxima debería ser “la práctica hace al maestro” y estoy seguro que a poco que comiences a trabajar con bases de datos o a desarrollar tus primeras aplicaciones en PHP, Java o Javascript comenzarás a familiarizarte con los conceptos básicos y avanzados del tratamiento de datos en MySQL.
Si te apasionan las bases de datos y quieres trabajar en ese campo, nuestra carrera de experto en bases de datos te va permitir alcanzar un nivel profesional en el manejo de las mismas, tanto relacionales como no relacionales.
También te puede interesar
Con la realización de este taller, aprenderás a diseñar Base de datos para un proyecto de Ecommerce, modelar...
Durante este taller, aprenderás a crear procedimientos almacenados haciendo uso de los parámetros IN, OUT, INOUT, realizar uniones...
Con la realización de este taller aprenderás a crear bases de datos mantenibles, modelar tus bases de datos,...