2 . - Tratamiento Del Datos 2024 - ETL - MYSQL

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

2024

TRATAMIENTO
DEL DATO
Bases de datos - mysql

Elaborado por:

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

02

CONTENIDOS
1.¿Qué es una base de datos?

1.1. Descripción
1.2. Tipos de bases de datos
1.2.1. Basadas en grafos
1.2.2. Columnares
1.2.3. Documentales
1.2.4. Clave-valor
1.2.5. Relacionales

2.Bases de datos relacionales

3.Tipos de datos y expresiones SQL

4.Lenguaje SQL - MySQL

4.1. DDL : Lenguaje de definición de datos


4.2. DML : Lenguaje de manipulación de datos
4.3. DCL: Lenguaje de control de datos

5.MySQL: Definición y características

6.Ejemplos prácticos MySQL

6.1. Creación/modificación/borrado de tablas


6.2. Inserción/modificación/borrado de registros
6.3. Consultas

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

03

OBJETIVOS
Los objetivos que se pretenden alcanzar en este
recurso son los siguientes:

•Comprender qué es una base de datos y los


sistemas gestores de base de datos (SGBD)

•Conocer los diferentes tipos de bases de datos

•Toma de contacto con el lenguaje SQL/MySQL y las


partes en que éste puede ser dividido

•Analizar casos prácticas para su comprensión

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
IBASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

04

1. ¿QUÉ ES UNA BASE DE DATOS?

1.1. Descripción

Una base de datos es un conjunto de datos pertenecientes a un mismo ámbito


y almacenados de manera sistemática de manera que puedan ser usados
posteriormente. En todo proyecto basado en datos vamos a necesitar una
BBDD en la que centralizar la información de forma segura y accesible.

1.2. Tipos de bases de datos

Podemos ver los principales tipos de


bases de datos en la siguiente figura:

Deberemos elegir qué tipo de base de


datos utilizar atendiendo a las
necesidades de nuestro proyecto y las
ventajas/desventajas de los mismos.

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
IBASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

05

1. ¿QUÉ ES UNA BASE DE DATOS?

1.2.1. Basadas en grafos

Una base de datos basada en grafos tiene como objetivo poner en valor las
relaciones existentes en los datos. Los elementos son:

•Nodos: La información; elementos a relacionar (jugadores, equipos, etc)

•Aristas: Las relaciones entre los nodos (jugar juntos, pertenecer, compra-venta,
etc)

1.2.2. Columnares

Una base de datos columnar almacena los datos en columnas y no en filas como
las BBDD tradicionales.

Este tipo de BBDD tienen como objetivo ser lo más eficientes posibles en lo que
a lectura/escritura se refiere.

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

06

1. ¿QUÉ ES UNA BASE DE DATOS?

1.2.3. Documentales

Una BBDD documental está concebida con el propósito de almacenar datos


semiestructurados como documentos. Los formatos más comunes para
almacenar los datos son JSON, YAML o XML.

•Estos documentos se agrupan en "colecciones“. Podemos establecer una


analogía entre la finalidad de estas colecciones y las tablas de las bases de
datos relacionales

1.2.4. Clave-valor

Una base de datos clave-valor se estructura de tal forma que se relaciona,


como su propio nombre indica, uno o varios valores a una clave/key. En un
sistema clave-valor tenemos contenedores, en los que podemos tener tantas
parejas de clave-valor como queramos; de la misma naturaleza o totalmente
diferentes.

1.2.5. Relacionales

Cumplen con un modelo relacional


entre las tablas que la componen.
Nos centramos en este tipo de BD y
más en concreto en el SGBD MySQL

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
IBASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

07

2. BASES DE DATOS RELACIONALES


Una base de datos relacional es una base de datos que se trata como un
conjunto de tablas y se manipula de acuerdo con el modelo de datos relacional.
Las tablas representan las distintas entidades u objetos. Estas entidades
poseen características que se transforman en columnas. Cada registro de la
tabla es la representación de un objeto con sus características. Todas las tablas
pertenecen a un esquema (y sólo uno). Los Sistemas Gestores de bases de
Datos más populares son MySQL, Oracle o SQL Server. Las principales
características que podemos destacar:

•Cada tabla representa una entidad y los campos, los atributos de la misma

•No pueden existir dos tablas con el mismo nombre

•La clave primaria de un registro es la manera de identificarlo de forma única

•La clave ajena relaciona dos tablas a través de un identificador

•Se utiliza como estándar el lenguaje SQL

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

08

3. TIPOS DE DATOS Y EXPRESIONES SQL

La norma SQL define un conjunto de tipos válidos para las columnas de las tablas:

•Normalmente, cada Sistema de Gestión de Bases de Datos (SGBD) tiene tipos


propios o particularidades para los tipos de la norma SQL

Es necesario consultar el manual del SGBD para obtener información acerca de los
tamaños máximos de almacenamiento:

•En el caso de cadenas à Longitud máxima de almacenamiento

•En el caso de tipos numéricos à Rango de valores posibles

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
IBASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

09

3. TIPOS DE DATOS Y EXPRESIONES SQL

Aunque SQL no es un lenguaje de programación de propósito general, permite definir


expresiones calculadas. Estas expresiones pueden contener:

•Referencias a columnas:

Valores literales
Operadores aritméticos
Llamadas a funciones

Los operadores aritméticos son los habituales: +, -, * y /:

•Estos operadores sólo funcionan con valores numéricos

Los operadores '+' y '–' habitualmente funcionan para fechas. Aunque las normas SQL
definen un conjunto mínimo de funciones, los SGBD proporcionan una gran variedad.
Es necesario consultar el manual del SGBD particular.

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

10

4. LENGUAJE SQL - MYSQL

El lenguaje SQL (Structured Query Language) es un lenguaje para el acceso a los datos
en las bases de datos relacionales. Podemos dividirlo en tres partes:

•DDL (Data Definition Language) - Lenguaje de definición de datos: Creación,


modificación y borrado de tablas

•DML (Data Manipulation Language) - Lenguaje de manipulación de datos: Consultas e


inserción/modificación y borrado de registros

•DCL (Data Control Language) - Lenguaje de control de datos: Control de


permisos/usuario

Pasamos a ver más en profundidad las partes de DDL y DML.

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

11

5. MYSQL: DEFINICIÓN Y CARACTERÍSTICAS

MySQL es uno de los SGBD (Sistema Gestor de Bases de datos) de bases de


datos relacionales más populares en la actualidad. Características y ventajas
del uso de MySQL:

•Basado en código abierto (aunque existe una versión empresarial gestionada


por Oracle).

•Utiliza la sintaxis de SQL con alguna adaptación.

•Instalación y gestión sencilla.

•Muy rápido cuando no se trata de datos masivos.

•El entorno gráficos oficial es MySQL Workbench.

•Fácil conexión con multitud de herramientas a través de conectores.

•Disponible para múltiples plataformas.

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

12

6. EJEMPLOS PRÁCTICOS MYSQL

6.1. Creación/modificación/borrado de tablas y esquemas

Creación de esquemas: El esquema es un contenedor de tablas. Sirve para


ordenar la base de datos. De manera general, en cada esquema se incluyen todas
las tablas de un mismo contexto. Los comandos para crear el esquema es el
siguiente (análogos):

•CREATE DATABASE Club; /CREATE SCHEMA Club;

Creación, modificación y borrado de tablas: Utilizaremos los sentencias


CREATE, ALTER y DROP, respectivamente:

•Creamos la table tablatesten club: CREATE TABLE club.tablatest ( ID INT NOT NULL
AUTO_INCREMENT, PRIMARY KEY (ID));

•Añadimos un campo nuevo: ALTER TABLE club.tablatest ADD nuevaColumna


VARCHAR(10);

•Modificamos el campo que hemos añadido: ALTER TABLE club.tablatest MODIFY


nuevaColumna VARCHAR(50);

•Borramos este nuevo campo: ALTER TABLE club.tablatest DROP nuevaColumna;

•Borramos la tabla completa: DROP TABLE club.tablatest;

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

13

6. EJEMPLOS PRÁCTICOS MYSQL

6.2. Inserción/modificación/borrado de registros

Inserción de registros: Para insertar un registro nuevo utilizamos la


sentencia INSERT INTO. Tenemos varias opciones:

Si insertamos todos los campos de la tabla y en el mismo orden en el que fue


creada se pueden omitir los nombres de los campos:

•INSERT INTO club.jugadores values(1,'Enrique', 'Suárez', '28438941Q', 'C/ Mayor


3', '47003', '692763851', '2009-08-11', '2016-09-05', 'Benjamín_masc’);

Si no vamos a insertar todos los campos o se van a insertar en un orden distinto,


hay que indicarlo en la sentencia:

•INSERT INTO club.datospartido (Fecha, Categoria, eq_local, eq_visit, Goles_local,


Goles_visit, T_Amarillas_local, T_Amarillas_visit, T_Roja_Local, T_Roja_Visit)
values('2019-01-12', 'Alevín_fem', 'Moneyball FC', 'Parquesol', 1, 0, 3, 4, 0, 1);

También podemos insertar los datos desde un archivo con formato CSV:

•LOAD DATA INFILE ‘C:/ProgramData/MySQL/MySQL Server


8.0/Upload/EstadisticasJugPartido.csv‘ INTO TABLE club.estadjugpartido FIELDS
TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

14

6. EJEMPLOS PRÁCTICOS MYSQL

Modificación de registros: Para modificar un registro utilizamos la


sentencia UPDATE:
•UPDATE club.jugadores SET Nombre='Carlos', Apellido='García' WHERE ID='21';

Borrado de registros: Para borrar registros utilizamos la sentencia DELETE:


•DELETE FROM club.jugadores WHERE ID='21’;

6.3. Consultas

La estructura básica para las consultas con SQL es la siguiente:

•SELECT : La lista de los atributos que se incluirán en el resultado de una consulta.

•FROM: Especifica las tablas que se van a usar como origen en el proceso de la
consulta.

•WHERE (opcional): Especifica la condición de filtro sobre las tuplas en términos de


los atributos de las tablas de la cláusula FROM.

El contenido de la cláusula WHERE puede ser simple o complejo:

•Se utilizan los conectores lógicos AND (conjunción), OR (disyunción) y NOT


(negación)

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
IBASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

15

6. EJEMPLOS PRÁCTICOS MYSQL


Algunos ejemplos ilustrativos de consultas de la tabla:

•SELECT * FROM club.jugadores; - devuelve todos los campos de la tabla


jugadores.

•SELECT nombre, apellido FROM club.jugadores; - devuelve el nombre y apellido


de todos los jugadores.

•SELECT * FROM club.jugadores WHERE apellido ='García'; - devuelve los registros


cuyo apellido es ‘García’.

•SELECT * FROM club.jugadores WHERE apellido ='García'; - devuelve los registros


cuyo apellido es ‘García’.

•SELECT * FROM club.datospartido where eq_local ='Moneyball FC'; - devuelve


todos los registros donde Moneyball FC jugó como local.

•SELECT * FROM club.datospartido where eq_local ='Moneyball FC' AND


goles_local>1; - Devuelve todos los registros donde Moneyball jugó como local y
marcó al menos un gol.

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

16

6. EJEMPLOS PRÁCTICOS MYSQL


Las expresiones/modificadores de la cláusula WHERE pueden contener :

•Comparaciones (“>”, “<“, “=“, “>=“, “<=“,”!=“)

•BETWEEN / NOT BETWEEN: Devuelve valores dentro de un rango / fuera del rango

•IN / NOT IN: Devuelve valores dentro de una lista (o fuera)

•LIKE / NOT LIKE: Es el operador de comparación de cadenas de caracteres:

•No distingue entre mayúsculas y minúsculas.

•Las cadenas de caracteres se incluyen entre comillas simples

•SQL permite definir patrones a través de los siguientes caracteres:

1.'%', que es equivalente a “cualquier cadena de caracteres”

2.'_', que es equivalente a “cualquier carácter”

Algunos ejemplos ilustrativos:

•SELECT * FROM club.estadjugpartido WHERE valoracion BETWEEN 5 AND 7; -


jugadores con valoración entre 5 y 7 (ambos valores incluidos)

•SELECT * FROM club.estadjugpartido WHERE valoracion in (3,5,8); - Devuelve los


jugadores con valoración 3, 5 u 8.

•SELECT UPPER(CONCAT(nombre," ",apellido)) as Nombre_Completo FROM


club.jugadores; - Devuelve los jugadores con valoración 3, 5 u 8.

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

17

6. EJEMPLOS PRÁCTICOS MYSQL

Las funciones de columna o funciones de agregación son funciones que toman


una colección (conjunto o multiconjunto) de valores de entra da y devuelve
un solo valor. Las funciones de columna disponibles son: AVG, MIN, MAX, SUM,
COUNT. Los datos de entrada para SUM y AVG deben ser una colección de números,
pero el resto de operadores pueden operar sobre colecciones de datos de tipo no
numérico.

Algunos ejemplos ilustrativos:

•SELECT SUM(Goles_local) FROM club.datospartido WHERE eq_local LIKE


'%Money%’; à suma de goles como local de Moneyball FC

•SELECT COUNT(id), categoria FROM club.datospartido WHERE eq_local LIKE


'%Money%'and Goles_local<Goles_visit GROUP BY categoría; à número de partidos
perdidos por Moneyball FC como local separado por categoría

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
BASES DE DATOS - MYSQL // TRATAMIENTO DEL DATO

18

6. EJEMPLOS PRÁCTICOS MYSQL

Consultas sobre varias tablas: Tenemos que encontrar un campo de unión entre las
tablas y utilizar la sentencia “JOIN ON” para definir la relación

•SELECT * FROM club.jugadores jug JOIN club.estadjugpartido estad ON


jug.id=estad.Id_jugador ORDER BY jug.id à tabla jugadores unida con la tabla de
estadísticas

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)
Tratamiento del dato
Bases de datos - mysql

Inteligencia Artificial aplicada a la Dirección Deportiva, Scouting y detección y retención del talento. (3º Edición)

También podría gustarte