0% encontró este documento útil (0 votos)
3 vistas24 páginas

Sesion 2sql

El documento es un curso sobre SQL Database y optimización de consultas, que cubre tipos de datos, creación de tablas, restricciones y comandos. Se presentan actividades prácticas para aplicar los conceptos aprendidos, como la creación de bases de datos y tablas con restricciones específicas. Además, se explican comandos para definir, cargar y consultar datos en bases de datos SQL.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas24 páginas

Sesion 2sql

El documento es un curso sobre SQL Database y optimización de consultas, que cubre tipos de datos, creación de tablas, restricciones y comandos. Se presentan actividades prácticas para aplicar los conceptos aprendidos, como la creación de bases de datos y tablas con restricciones específicas. Además, se explican comandos para definir, cargar y consultar datos en bases de datos SQL.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

Curso de SQL Database and


query optimization
Profesor: Nicole Agila

jueves, 28 de agosto de 2025


2

AGENDA

• Tipos de datos
• ¿Cómo crear tablas? - Definición
• [Actividad] Construyendo mi segunda tabla
• Restricciones (CONSTRAINTS)
• Comandos y Consultas

jueves, 28 de agosto de 2025


3

Tipos de datos
La gestión de bases de datos requiere comprender los diferentes tipos de datos disponibles
en MySQL.

● Cadenas (CHAR, VARCHAR, TEXT)


● Numéricos (INT, FLOAT, DECIMAL)
● Fechas y tiempos (DATE, DATETIME, TIMESTAMP)

• Los diferentes tipos de datos se almacenan de forma diferente y ocupan distintos espacios.
• Algunas operaciones sólo se aplican a determinados tipos de datos.

jueves, 28 de agosto de 2025


4

Strings
• Comparación de tipos
Tipo Descripción Capacidad • CHAR reserva un espacio fijo incluso si el
valor es corto.
CHAR Longitud fija, se rellena con Hasta 255
espacios caracteres • VARCHAR ajusta su tamaño al contenido,
optimizando almacenamiento.
VARCHAR Longitud variable, almacena Hasta 65 535 • TEXT se usa para contenidos extensos como
sólo lo necesario caracteres notas o descripciones.
TEXT Campo de texto largo para Hasta 65 535
grandes fragmentos caracteres

• Un string es una secuencia de caracteres, como letras o signos de puntuación.


• VARCHAR es un tipo de datos de cadena flexible y popular en SQL.

jueves, 28 de agosto de 2025


5

Numéricos
Tamaños de almacenamiento
9
Tipos de enteros
8

7 • TINYINT/SMALLINT/INT/BIGINT representan
6 números enteros de diferente rango.
Tamaño (bytes)

4
• Se pueden especificar como UNSIGNED
para permitir sólo valores positivos.
3
Tipos reales
2

1 • FLOAT y DOUBLE almacenan números en


0 coma flotante; DECIMAL guarda
TINYINT SMALLINT INT BIGINT FLOAT DOUBLE DECIMAL decimales exactos.
Tipo numérico

• Integers almacenan números enteros.


• INT es un tipo de datos entero flexible y popular en SQL.

jueves, 28 de agosto de 2025


6

Dates

DATE DATETIME TIMESTAMP


Guarda sólo la fecha Fecha y hora Fecha y hora relativas a la
(aaaa-mm-dd) (aaaa-mm-dd hh:mm:ss) zona UTC
Rango: 1000-01-01 00:00:00 a 9999-12-31 Rango: 1970-01-01 00:00:01 a 2038-01-19
Rango: 1000-01-01 a 9999-12-31
23:59:59 03:14:07

jueves, 28 de agosto de 2025


7

Resumen: Tipos de Datos

Elección de tipo de dato


• Usa CHAR para campos cortos y de longitud fija como códigos.
• Usa VARCHAR para textos variables (nombres, direcciones).
• Usa tipos numéricos apropiados al rango necesario; emplea DECIMAL para importes exactos.
• Elige DATE/DATETIME/TIMESTAMP según requieras sólo fecha, fecha y hora o marca temporal
relativa a UTC.

jueves, 28 de agosto de 2025


8

Actividad 1
Actividad publicada en el aula virtual:

1. Crea una base de datos llamada practica_sql.


2. Accede a la base de datos practica_sql.
3. Crea una tabla llamada estudiantes con las siguientes columnas:
• id (número entero).
• nombre (cadena de máximo 50 caracteres).
• promedio (número decimal con 2 decimales)
• email (cadena de máximo 80 caracteres)
• fecha_inscripcion (fecha y hora)

jueves, 28 de agosto de 2025


9

Restricciones y Claves

Clave primaria NOT NULL UNIQUE

Identifica de manera Obliga a proporcionar Evita duplicados en una


única cada fila un valor columna

jueves, 28 de agosto de 2025


10

Detalles de las restricciones


CLAVE PRIMARIA
• Un campo (o combinación) que identifica de
forma única cada registro.
CREATE TABLE clientes (
• Implica unicidad y valores NOT NULL. id INT PRIMARY KEY,
email VARCHAR(100) UNIQUE NOT NULL,
nombre VARCHAR(50) NOT NULL
UNIQUE );
• Asegura valores distintos, pero permite un
único valor NULL.

NOT NULL
• Obliga a insertar un valor; no se permiten
registros incompletos.

jueves, 28 de agosto de 2025


11

Ejemplo
id email nombre Resultado

1 juan@[Link] Juan ✔ insertado

2 ana@[Link] Ana ✔ insertado

2 pedro@[Link] Pedro ✖ error (clave duplicada)

3 ana@[Link] Luis ✖ error (email único)

4 ✖ error (NOT NULL)

Observaciones
• Cada valor de id debe ser único y no puede repetirse.
• El email es único: duplicar produce error.
• NOT NULL obliga a insertar nombre y email.

jueves, 28 de agosto de 2025


12

Resumen: Restricciones
• La clave primaria asegura la unicidad de cada registro y no admite valores nulos.

• UNIQUE garantiza que no haya duplicados; puede permitir un valor NULL.

• NOT NULL obliga a proporcionar información, evitando datos incompletos.

• Diseñar tablas con estas restricciones mejora la calidad y coherencia de la información.

jueves, 28 de agosto de 2025


13

Actividad 2
Actividad publicada en el aula virtual (parte 2):

1. Elimina la tabla estudiante y créala nuevamente con las mismas columnas, pero agregando las siguientes
restricciones:
• La columna id debe ser clave primaria y auto incrementable
• La columna nombre no debe aceptar valores nulos
• La columna email debe ser única
• La columna promedio debe ser mayor que 0
2. Inserta tres registros en la tabla estudiantes con los siguientes datos:

• Registro 1: Nombre: Ana López, Promedio: 85.75, Email: [Link]@[Link], Fecha: 2025-01-15 09:30:00

• Registro 2: Nombre: Carlos Pérez, Promedio: 92.50, Email: [Link]@[Link], Fecha: 2025-01-20 14:15:00

• Registro 3: Nombre: María Gómez, Promedio: 78.25, Email: [Link]@[Link], Fecha: 2025-01-18
11:45:00

jueves, 28 de agosto de 2025


14

Comandos y Consultas
• Definición de tablas (CREATE TABLE) y carga eficiente de datos.
• Exploración de la estructura con DESCRIBE.
• Recuperación de información con SELECT: *, columnas, DISTINCT y WHERE

jueves, 28 de agosto de 2025


15

Create, Load

CREATE TABLE LOAD DATA INFILE


Importa rápidamente grandes
Define la estructura: nombre de la
volúmenes desde archivos CSV u otros
tabla, columnas, tipos y restricciones.
Ejemplo: formatos.
CREATE TABLE productos ( id INT PRIMARY KEY, precio Permite opciones como REPLACE,
DECIMAL(8,2) NOT NULL );
IGNORE, FIELDS TERMINATED BY ','.

jueves, 28 de agosto de 2025


16

LOAD DATA INFILE


Tiene 3 variantes: Sintaxis Básica

1. LOAD DATA INFILE (servidor) - Archivo en


el servidor MySQL. LOAD DATA INFILE 'ruta/[Link]'
INTO TABLE nombre_tabla
2. LOAD DATA LOCAL INFILE (cliente) - FIELDS TERMINATED BY ','
Archivo en tu computadora. LINES TERMINATED BY '\n'
IGNORE 1 ROWS; -- Si tiene encabezados
3. Table Import Wizard - Interfaz gráfica de
Workbench

En entornos corporativos, LOCAL INFILE está


deshabilitado por seguridad.
La alternativa práctica es el Import Wizard.

jueves, 28 de agosto de 2025


17

Explorar tablas con DESCRIBE

DESCRIBE tabla
Field Type Null Key Default Extra
Muestra metadatos de una tabla: nombre del
campo, tipo de dato, si acepta nulos y claves. id int NO PRI auto_increment

email varchar(100) NO UNI

nomb varchar(50) NO
Utilidad re

• Permite verificar la estructura antes de insertar


datos.
• Ayuda a entender tablas existentes en un
proyecto colaborativo.

jueves, 28 de agosto de 2025


18

Consultas SELECT
SELECT *
Devuelve todas las columnas de la tabla. Útil para exploración inicial.

SELECT columnas
Permite especificar las columnas necesarias, optimizando ancho de banda.

SELECT DISTINCT
Elimina duplicados y muestra valores únicos.

WHERE
Filtra registros que cumplen una condición (>, =, LIKE, BETWEEN, etc.).

jueves, 28 de agosto de 2025


19

Consultas SELECT - Ejemplos

-- Seleccionar todas las columnas


SELECT * FROM clientes;

-- Seleccionar columnas específicas


SELECT nombre, email FROM clientes;

-- Obtener valores únicos


SELECT DISTINCT email FROM clientes;

-- Filtrar registros
SELECT * FROM clientes WHERE id > 10;

jueves, 28 de agosto de 2025


20

Aspectos importantes
• DEFINE: Utiliza CREATE TABLE para establecer columnas, tipos y restricciones.

• CARGA: Emplea LOAD DATA INFILE para importar volúmenes de datos de forma eficiente.

• EXPLORA: Revisa la estructura con DESCRIBE para entender la tabla antes de trabajar.

• CONSULTA: Usa SELECT y WHERE para recuperar y filtrar la información necesaria.

jueves, 28 de agosto de 2025


21

Aspectos importantes
• Selecciona cuidadosamente los tipos de datos para optimizar almacenamiento y
rendimiento.

• Aplica restricciones (PRIMARY KEY, UNIQUE, NOT NULL) para mantener la coherencia
de los datos.

• Usa CREATE, DESCRIBE y LOAD DATA para gestionar y poblar tus tablas de manera
eficiente.

• Aprovecha SELECT y WHERE para obtener información precisa y útil.

jueves, 28 de agosto de 2025


22

Actividad 3
Actividad publicada en el aula virtual (parte 3):

1. Utiliza DESCRIBE para ver la estructura de la tabla estudiantes


2. Realiza una consulta que muestre todos los registros de la tabla estudiantes
3. Realiza una consulta que muestre únicamente las columnas nombre y promedio
4. Realiza una consulta que muestre únicamente los estudiantes con promedio mayor a 80

jueves, 28 de agosto de 2025


23

Preguntas y dudas

jueves, 28 de agosto de 2025


24

Próxima Clase
1. Subir la actividad 1, 2 y 3 al aula virtual.
2. Material por revisar previo a la sesión 3: Comandos WHERE, Operadores de lógica (Control
de Lectura)

jueves, 28 de agosto de 2025

También podría gustarte