Si conoce a 10 personas que han estado en la ciencia de datos durante más de 5 años, ¡es probable que todos conozcan o hayan usado SQL en alguna vez de alguna forma! Tal es el grado de influencia que SQL tuvo en cualquier cosa que ver con datos estructurados.
En este post, aprenderemos los conceptos básicos de SQL y nos centraremos en SQL para RDBMS. Como verá, SQL es bastante sencillo de aprender y comprender.
¿Qué es SQL?
SQL son las siglas de Structured Query Language. Es un lenguaje de programación estándar para tener acceso a una base de datos relacional. Ha sido diseñado para la administración de datos en sistemas de administración de bases de datos relacionales (RDBMS) como Oracle, MySQL, MS SQL Server, IBM DB2.
SQL es uno de los primeros lenguajes comerciales utilizados para el modelo relacional de Edgar F. Codd, además descrito en su influyente post de 1970, “Un modelo relacional de datos para grandes bancos de datos compartidos. «
Previamente, SQL era un lenguaje de facto para la generación de profesionales de tecnología de la información. Esto se debió al hecho de que los almacenes de datos consistían en uno u otro RDBMS. La simplicidad y la belleza del lenguaje permitieron a los profesionales del almacenamiento de datos consultar datos y proporcionarlos a los analistas comerciales.
A pesar de esto, el problema con RDBMS es que a menudo son adecuados solo para información estructurada. Para información no estructurada, las bases de datos más nuevas como MongoDB y HBase (de Hadoop) demuestran ser más adecuadas. Parte de esto es una compensación en las bases de datos, que se debe al teorema CAP.
¿Qué es el teorema CAP?
El teorema de CAP establece que, en el mejor de los casos, podemos aspirar a dos de las tres propiedades siguientes. CAP significa:
Consistencia – Esto significa que los datos en la base de datos permanecen consistentes después de la ejecución de una operación.
Disponibilidad – Esto significa que el sistema de base de datos está siempre activo para garantizar la disponibilidad.
Tolerancia de partición – Esto significa que el sistema continúa funcionando inclusive si la transferencia de información entre los servidores no es confiable.
Las diversas bases de datos y sus relaciones con el teorema de CAP se muestran a continuación:
Propiedades de las bases de datos:
A pesar de esto, una transacción de base de datos debe ser compatible con ACID. ACID significa atómico, consistente, aislado y duradero, como se explica a continuación:
Atómico: Una transacción debe completarse con todas sus modificaciones de datos o no.
Consistente: Al final de la transacción, todos los datos deben dejarse consistentes.
Aislado : Las modificaciones de datos hechas por una transacción deben ser independientes de otras transacciones.
Durable : Al final de la transacción, los efectos de las modificaciones hechas por la transacción deben ser permanentes en el sistema.
Para contrarrestar el ACID, los servicios consistentes proporcionan características BASE (Simplemente disponible, estado suave, consistencia eventual).
Conjunto de comandos en SQL
SELECCIONE- El siguiente es un ejemplo de una consulta SELECT que devuelve una lista de libros económicos. La consulta recupera todas las filas del Biblioteca mesa en la que el precio La columna contiene un valor menor que 10,00. El resultado se clasifica en orden ascendente por precio. El asterisco en el elegir lista indica que todas las columnas de la Libro
SELECT * FROM Library WHERE price < 10.00 ORDER BY price;
La tabla debe incluirse en el conjunto de resultados.
ACTUALIZAR –
Esta consulta ayuda a actualizar tablas en una base de datos. Además se puede combinar la consulta SELECT con el operador GROUP BY para agregar estadísticas de una variable numérica por una variable categórica.
UNIONES-
Por eso, SQL se utiliza mucho no solo para consultar datos, sino además para unir los datos devueltos por tales consultas o tablas. La fusión de datos en SQL se realiza a través de ‘uniones’. La próxima infografía se utiliza a menudo para explicar las uniones SQL:
Cómo utilizar join en SQL
CASO- Tenemos el operador case / when / then / else / end en SQL. Funciona como si no
en otros lenguajes de programación:
CASE WHEN n > 0 THEN 'positive' WHEN n < 0 THEN 'negative' ELSE 'zero' END
Subconsultas anidadas – Las consultas se pueden anidar de modo que los resultados de una consulta se puedan usar en otra consulta a través de un operador relacional o una función de agregación. Una consulta anidada además se conoce comosubconsulta
.
¿Dónde usamos SQL?
- SQL se ha utilizado ampliamente para recuperar datos, fusionar datos, realizar consultas de casos grupales y anidados durante décadas. Inclusive para la ciencia de datos, SQL se ha adoptado ampliamente. A continuación, se muestran algunos ejemplos del uso específico de análisis de SQL:
- En el caso del lenguaje SAS que utiliza PROC SQL, podemos escribir consultas SQL para consultar, actualizar y manipular datos.
- En R, se puede utilizar el paquete sqldf para ejecutar consultas SQL en marcos de datos.
En Python, la biblioteca pandasql le posibilita consultar Pandas DataFrames usando sintaxis SQL.
¿SQL influye además en otros lenguajes?
El inconveniente de las bases de datos relacionales es que no pueden manejar datos no estructurados. Para hacer frente a la aparición, han surgido nuevas bases de datos y se les da NoSQL como un nombre alternativo al DBMS. Pero SQL aún no ha muerto. Ver también:
Un mapeo de SQL a MongoDB
A continuación se muestran algunos lenguajes en los que SQL cuenta con una influencia significativa:
.
SQL-Mapreduce
– Teradata utiliza la base de datos Aster que utiliza SQL con MapReduce para grandes conjuntos de datos en la era de Big Data. SQL-MapReduce® es un marco creado por Teradata Aster para permitir a los desarrolladores escribir funciones SQL-MapReduce poderosas y altamente expresivas en lenguajes como Java, C #, Python, C ++ y R y llevarlas a la plataforma de descubrimiento para análisis de alto rendimiento. Después, los analistas pueden invocar funciones SQL-MapReduce usando SQL estándar o R por medio de la base de datos Aster.
Spark SQL – El proyecto Spark de Apache es paraProcesamiento en tiempo real, en memoria y en paralelo de datos de Hadoop
. Spark SQL se basa en él para permitir que las consultas SQL se escriban en los datos. En Impala de Cloudera, los datos almacenados en HDFS o HBase se pueden consultar, y la sintaxis SQL es la misma que la de Apache Hive.
Ver además: Obtenga más información sobre las formas de realizar consultas en Hadoop mediante SQLaquí
.
Notas finales
En este post discutimos sobre SQL, sus usos, el teorema CAP e influencia de SQL en otros lenguajes. Un conocimiento básico de SQL es muy relevante en el mundo actual, donde Python, R, SAS son lenguajes dominantes en la ciencia de datos. SQL sigue siendo relevante en la era de BIG DATA. La belleza del lenguaje sigue siendo su estructura elegante y simple. Thinkpot:
¿Crees que SQL se ha convertido en un arma inevitable para la administración de datos? ¿Recomendaría algún otro idioma de base de datos?
Comparta sus puntos de vista / opinión / comentarios con nosotros en la sección de comentarios a continuación. ¡Nos encantaría escucharlo de usted! Si le gusta lo que acaba de leer y desea continuar con su aprendizaje sobre análisis,suscríbete a nuestros correos electrónicos , Síguenos en Twitter o como nuestropagina de Facebook
.
Relacionado