Foto de Dominik Martin en UnsplashAunque sql tiene más de 50 años, sigue siendo el idioma principal utilizado en la mayoría de los equipos de ciencia de datos para recuperar datos (grandes) de una base de datos. En la Encuesta de desarrolladores de Stack Overflow 2022, había 3424 profesionales con un trabajo actual como científico de datos o especialista en aprendizaje automático. De ellos, el 58% ha trabajado con SQL en el último año. A modo de comparación, el 70 % ha trabajado con R y el 87 % con Python, con un 40 % usando los tres en el último año. En otras palabras, 6 de cada 10 equipos de ciencia de datos esperarán que use SQL en su rol. En esta serie de tres partes, he creado una guía para aspirantes a científicos de datos que desean aprender SQL con los estándares de una buena ciencia de datos. equipo. La guía estará estructurada de la siguiente manera:
Introducción a SQLInstale SQL y cargue su primera base de datos de demostración¡Ejecute su primera consulta SELECT!
Parte 2: Aprenda todas las consultas SQL básicas y avanzadas que se usan dentro de un equipo de ciencia de datos y practíquelas usando la base de datos de demostraciónParte 3: Optimización de consultas, mejores prácticas de codificación de ciencia de datos y plan de capacitaciónFoto de Dose Media en Unsplash
SQL significa Lenguaje de consulta estructurado y se usa para manipular datos en una base de datos relacional (a menudo escuchará el término “Escribí una consulta” que se refiere al código SQL)
En esencia, una base de datos relacional es simplemente una colección de tablas (en informática, las tablas se denominan relaciones, de ahí el nombre de base de datos relacional). Hay otros objetos de bases de datos, pero como científico de datos, más del 90 % de su tiempo se dedicará a las tablas. Dentro de una tabla, cada fila debe ser única. En otras palabras, la combinación de valores de columna para una fila determinada no se puede encontrar en ninguna otra fila. Para ese propósito, generalmente creamos una columna sustituta que será única por diseño para cada fila de la tabla. Esta columna se llama Clave primaria de una tablaDentro de una tabla, cada celda debe contener un solo valor. Por lo tanto, no puede tener dentro de una celda el nombre y la dirección de un cliente. Estos deben dividirse en diferentes columnas.
Según mi experiencia trabajando como analista sénior para una consultoría minorista/de comercio electrónico y como científico de datos para juegos móviles, encontrará tres tablas principales en casi cualquier base de datos relacional.Cliente o Usuario tabla (customer_id, nombre, apellido, fecha de creación de la cuenta, dirección, etc.)Actas tabla (transaction_id, marca de tiempo de compra, valor de transacción, etc.)Producto tabla (product_id, nombre del producto, departamento del producto, etc.)
Como científico de datos, empleará principalmente SQL para extraer datos de la base de datos (usando el SELECCIONE declaración). Luego, los datos se cargarán en R, Python o Excel para realizar su análisis. Por lo general, querrá combinar información de varias tablas. Por lo tanto, es posible que desee encontrar los clientes que compraron el producto A en el último año. A veces, aunque rara vez, puede modificar o crear tablas en la base de datos (como una tabla con las puntuaciones de su modelo).
Un concepto esencial de cualquier base de datos relacional es cómo se asocian las tablas entre sí. Hay tres tipos de asociaciones o relaciones, como se muestra a continuación (las columnas de clave principal tienen un icono de llave junto a ellas). Para vincular las tablas, usamos las columnas compartidas.Tipos de relaciones en una base de datos relacional [Image by the author]
los demografía del cliente y el correo electrónico del cliente las tablas tienen una relación de uno a uno, ya que ambas son únicas en la columna customer_id. Identificación del cliente la columna se utilizará para vincular las tablas
los demografía del cliente y el actas Las tablas tienen una relación de uno a muchos, ya que un cliente (customer_id) podría haber realizado más de una transacción (transaction_id), pero cada transacción solo puede ser realizada por un único cliente. Identificación del cliente la columna se utilizará para vincular las tablas
los actas y el producto las tablas tienen una relación de muchos a muchos, ya que cada transacción puede tener más de un producto, y cada producto puede estar en más de una transacción. Las bases de datos relacionales solo admiten relaciones de uno a muchos directamente. Una relación de muchos a muchos se implementa agregando una tercera tabla entre la primera y la segunda tabla para crear dos relaciones de uno a muchos. los Detalles de la transacción la tabla se agregó para ese propósito (la clave principal es la combinación de la columna transaction_id y product_id)Foto de Amauri Mejía en UnsplashHasta ahora, hemos cubierto los conceptos básicos de las bases de datos relacionales y SQL. A continuación, será útil ver cómo todo eso se combina con el uso de RDBMS (Sistemas de gestión de bases de datos relacionales). Hay muchos diferentes RDBMS, como PostgreSQL, SQLite, MongoDB, MySQL y Microsoft SQL Server (o simplemente SQL Server). En una nota interesante, a pesar de que el modelo relacional y SQL se inventaron en IBM, otras compañías lo identificaron de inmediato como un cambio de juego que llevó a Oracle a vencerlos al entregar su RDBMS en el mercado primero. Pero a pesar de que hay muchos, todos los RDBMS tienen un único punto principal de valor, ellos proporcionar un entorno que admita SQL y bases de datos relacionales.A los efectos de esta guía, utilizaremos SQL Server. Para visualizar la base de datos y las tablas y escribir consultas SQL, usaremos SSMS (Estudio de administración de SQL Server). Similar a la forma en que usa RStudio para R o Spyder para Python, tiene SSMS para SQL Server.
Vaya a la página de descarga de Microsoft y descargue Servidor SQL ExpressUna vez descargado, abra el instalador de SQL Server ExpressSeleccione Básico como el tipo de instalaciónSeleccione la ruta de instalación (recomiendo dejarlo por defecto)Siga las instrucciones del instalador hasta que termine la instalación
Una vez que finalice la instalación de SQL Server Express Edition, se le pedirá que instale SSMS Siga los pasos predeterminados hasta que termine Abra SSMS y espere hasta que aparezca la ventana emergente “Conectar al servidor” Complete la ventana emergente como en la instantánea a continuación si el nombre del servidor .\SqlExpress no funciona, usa nombre del dispositivo\SqlExpress (una consulta de google de cómo encontrar el nombre del dispositivo de su computadora en su sistema operativo le dará el resultado. Por ejemplo, en mi caso, es LAPTOPVAMVAS\SqlExpress)SSMS Conectar al servidor [Image by the author]Una vez que haya terminado, debería ver los tres paneles en SSMS, como se muestra a continuación. En el panel izquierdo, puede ver el Explorador de objetos. Estaremos conectados a una instancia local de SQL Server, que es la computadora que actúa como servidor (también podría ser un servidor en la nube o un servidor físico, si existe). También puede ver las cuatro bases de datos del sistema creadas en el servidor de forma predeterminada (con instalación). En el panel superior derecho está el área donde escribirá y ejecutará sus consultas SQL, y en el panel inferior derecho también puede ver los resultados de sus consultas.Instantánea de SSMS después de la instalación [Image by the author]
Descargar AdventureWorks .bak archivo de uno de los enlaces proporcionados en la sección de descarga de archivos de copia de seguridad (recomiendo seleccionar el archivo OLTP 2019) Mueva el .bak archivo a su ubicación de copia de seguridad de SQL Server. Esto varía según la ubicación de la instalación, el nombre de la instancia y la versión de SQL Server. Por ejemplo, la ubicación predeterminada para una instancia predeterminada de SQL Server 2019 es “C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Backup”. En SSMS, haga clic con el botón derecho en bases de datos en el Explorador de objetos y Restaurar base de datos para iniciar el asistente Restaurar base de datosSeleccione Dispositivo y luego seleccione los puntos suspensivos (…) para elegir un dispositivo.Seleccione Agregar y luego elija el archivo .bak que movió recientemente a la ubicación de la copia de seguridadSeleccione OK para confirmar la selección de la copia de seguridad de la base de datos y cerrar la ventana Seleccionar dispositivos de copia de seguridadSeleccione OK para restaurar su base de datos Visite esta página de Microsoft para obtener la última guía paso a paso Y con ese último paso, ahora es el orgulloso propietario de una base de datos relacional de demostración alojada en su computadora (vea la imagen a continuación). Este es un hito importante ya que ahora tiene un activo creado: ¡la capacidad de practicar consultas SQL con datos reales en cualquier momento que lo desee!SSMS con la base de datos de demostración de AdventureWorks cargada [Image by the author]En el panel izquierdo está nuestra base de datos de demostración (AventuraObras2019). Como puede ver, lo he expandido para ver todas las tablas dentro de la base de datos, y también he expandido el Departamento de Recursos Humanos tabla para examinar las columnas dentro de ella (también puedo ver la clave junto a la ID de departamento columna que indica que es una clave principal para esa tabla). También escribí un simple SELECCIONE en el panel superior derecho de SSMS (como se ve en el fragmento de código a continuación) para extraer las primeras 1000 filas de la tabla HumanResources.Department. En el panel inferior derecho, puede ver los resultados de esa consulta. La tabla tiene 16 filas y 4 columnas. SELECCIONE ARRIBA (1000)
[DepartmentID],
[Name],
[GroupName],
[ModifiedDate]
DE [AdventureWorks2019].[HumanResources].[Department]— o use el simpleSELECT *
DE [AdventureWorks2019].[HumanResources].[Department]En el próximo artículo de esta serie (próximamente), profundizaremos y aprenderemos todas las consultas SQL básicas y avanzadas que se usan dentro de un equipo de ciencia de datos y las practicaremos usando SSMS y nuestra base de datos de demostración. También recomiendo los siguientes ejercicios para explorar algunos de las características en SSMS y su base de datos recién cargada: Cree una nueva ventana de consulta seleccionando “Nueva consulta” desde la barra de herramientas y cambiando la base de datos de maestro a AventuraObras2019 (esquina inferior izquierda de la barra de herramientas)Escriba una consulta que seleccione CustomerID y TerritoryID de la tabla Sales.Customer y ejecútelaUse el Explorador de objetos (panel izquierdo) para navegar por las diferentes tablas, columnas y claves principales en la base de datosGuarde su consulta SQL en su computadora (como un archivo .sql) y cárguelo usando SSMSSave los resultados de su consulta (haciendo clic con el botón derecho en la pestaña de resultados del panel inferior derecho) en su computadora como un archivo .csv Espero que este artículo le haya resultado útil y haya consulta divertida!
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…