Evaluación

Criterio%
Trabajo de investigación (I Avance 15% y II Avance (documento completo) 15%)30%
Practicas Dirigidas20%
Examen Final con Defensa de Código (Examen 40% y Defensa 10%)50%
Total100

Se entrega lo que se realizo en el primer avance y correcciones en caso de haber una. En el segundo avance se entrega el documento de Script.

Para el proyecto se solicita un documento en formato APA.

Exponer y se realizan preguntas y en base al tema seleccionado se realizan preguntas.

El examen se hace directamente en la plataforma de la U. Se debe cargar el script de SQL.

Semana 1 - 10/09/2026

**Dato - ** Un dato es un valor sin procesar.

Ejemplo:

  • Juan
  • 8888-9999

Información - Es un conjunto de datos organizados que tienen significado.

Ejemplo: "Juan tiene 25 años y su teléfono en 8888-9999"

Actividad Práctica - Semana 1

Escribir 5 datos Convertirlos en información

DatosInformación
David, 28, Ventas, $3000David tiene 28 años, trabaja en el departamento de Ventas y su salario es de $3000.
Laura, 45, Gerente, $8000Laura es la Gerente, tiene 45 años y su salario es de $8000.
Martin, 32, Recursos Humanos, $4000Ana tiene 32 años, trabaja en el departamento de Recursos Humanos y su salario es de $4000.
Lucas, 22, Pasante, $800Lucas es pasante, tiene 22 años y recibe una compensación de $800.
Sofía, 50, Finanzas, $9500Sofía tiene 50 años, lidera el área de Finanzas y tiene un salario de $9500.

Script

CREATE DATABASE COLEGIO;

CREATE DATABASE colegio;

Semana 2 - 17/09/2026

Tipos de Operaciones

TipoScript
LecturaSELECT * FROM clientes;
EscrituraINSERT INTO clientes VALUES (1,'Ana');
ActualizaciónUPDATE clientes SET nombre='Maria' WHERE id=1;
EliminaciónDELETE FROM clientes WHERE id=1;

Actividad Práctica - Semana 2

Qué operaciones E/S realiza una aplicación como:

Facebook

  • Un usuario realiza una publicación o publica un video -> Entrada
  • Facebook almacena la publicación o video en su base de datos -> Salida
  • El sistema busca y carga las publicaciones a los amigos o seguidores -> Entrada
  • Facebook muestra la publicación -> Salida

WhatsApp

  • El usuario envía un mensaje de audio -> Entrada
  • WhatsApp envía y almacena el mensaje -> Salida
  • La aplicación consulta los mensaje nuevos -> Entrada
  • Muestra la notificación de mensaje recibido al usuario -> Salida
  • El usuario abre la aplicación y lee al mensaje -> Entrada
  • WhatsApp muestra el mensaje en pantalla -> Salida

TikTok

  • El usuario selecciona sus gustos y preferencias -> Entrada
  • TikTok almacena la información en su servidor -> Salida
  • La aplicación consulta videos recomendados a mostrar en base a los gustos del usuario -> Entrada
  • TikTok reproduce y muestra los videos en pantalla al usuario -> Salida

Netflix

  • El usuario busca y selecciona una película -> Entrada
  • Netflix envía la solicitud al servidor -> Salida
  • El sistema consulta los datos de la película y se asegura que la conexión a internet sea estable -> Entrada
  • Netflix reproduce la película y el audio → Salida
-- Para eliminar una base de datos
DROP DATABASE colegio;

-- Para crear una base de datos
CREATE DATABASE ventas;

-- Para especificar la tabla a utilizar
USE ventas;

-- Creacion de tablas
-- Query para crea la tabla clientes
CREATE TABLE clientes (
	id_cliente INT AUTO_INCREMENT PRIMARY KEY,
	nombre VARCHAR (100),
	telefono VARCHAR (20),
	correo VARCHAR (100),
	direccion VARCHAR(200),
	fecha_registro DATE
);

-- Query para crea la tabla proveedores
CREATE TABLE proveedores (
	id_proveedor INT AUTO_INCREMENT PRIMARY KEY,
	nombre_empresa VARCHAR (100),
	telefono VARCHAR (20),
	correo VARCHAR (100),
	direccion VARCHAR(200)
);

-- Query para crea la tabla categorias
CREATE TABLE categorias (
	id_categoria INT AUTO_INCREMENT PRIMARY KEY,
	nombre_categoria VARCHAR (100),
	descripcion VARCHAR (200)
);

-- Query para crea la tabla productos
CREATE TABLE productos (
	id_producto INT AUTO_INCREMENT PRIMARY KEY,
	nombre_producto VARCHAR (100),
	descripcion VARCHAR (150),
	precio DECIMAL(10,2),
	stock INT,
	id_categoria INT,
	id_proveedor INT,
	FOREIGN KEY (id_categoria) REFERENCES categorias(id_categoria),
    FOREIGN KEY (id_proveedor) REFERENCES proveedores(id_proveedor)
);

-- Query para crea la tabla usuarios
CREATE TABLE usuarios (
	id_usuario INT AUTO_INCREMENT PRIMARY KEY,
	nombre_usuario VARCHAR (50),
	contrasena VARCHAR (100),
	rol VARCHAR (100)
);

-- Query para crea la tabla ventas
CREATE TABLE ventas (
	id_ventas INT AUTO_INCREMENT PRIMARY KEY,
	fecha_venta DATETIME,
	id_cliente INT,
	id_usuario INT,
	total DECIMAL(10,2),
	FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente),
    FOREIGN KEY (id_usuario) REFERENCES usuarios(id_usuario)
);

-- Query para crea la tabla detalle ventas
CREATE TABLE detalle_venta (
	id_detalle_venta INT AUTO_INCREMENT PRIMARY KEY,
	id_ventas INT,
	id_producto INT,
	cantidad INT,
	precio_unitario DECIMAL(10,2),
	FOREIGN KEY (id_ventas) REFERENCES ventas(id_ventas),
    FOREIGN KEY (id_producto) REFERENCES productos(id_producto)
);

Semana 3 - 24/09/2026

Vamos a ver temas del proyecto, explicación del documento y se nos va a solicitar el tema a resolver.

En los ejercicios nos va a pedir compartir pantalla y nos va a dividir en salas. Hoy vamos a ver insert y updates.

Vamos a registrar 5 registros para alimentar las tablas

Actividad Práctica - Semana 3

USE ventas;

-- Se realiza el INSERT de los registros de la tabla clientes
-- Para insertar solo un registro
INSERT INTO clientes (nombre, telefono, correo, direccion, fecha_registro)
VALUES ('María Gómez', '8888-1111', 'mgomez@gmail.com', 'Cartago, Costa Rica', '2026-09-24');

-- Para insertar dos o mas registros se deben separar por ,
INSERT INTO clientes (nombre, telefono, correo, direccion, fecha_registro)
VALUES 
('Carlos Rodríguez', '8888-1234', 'crodriguez@gmail.com', 'San José, Costa Rica', '2026-09-01'),
('Marta Soto', '8777-2345', 'msoto@gmail.com', 'Alajuela, Costa Rica', '2026-09-03'),
('José Vargas', '8666-3456', 'jvargas@gmail.com', 'Heredia, Costa Rica', '2026-09-05'),
('Laura Jiménez', '8555-4567', 'ljimenez@gmail.com', 'Cartago, Costa Rica', '2026-09-08'),
('Andrés Morales', '8444-5678', 'amorales@gmail.com', 'Puntarenas, Costa Rica', '2026-09-10'),
('María Gómez', '8888-1111', 'mgomez@gmail.com', 'Cartago, Costa Rica', '2026-09-24'),
('Federico González', '8925-3625', 'fgonzalez@gmail.com', 'Guanacaste, Costa Rica', '2026-09-24');

-- Se realiza el INSERT de los registros de la tabla productos
INSERT INTO productos (nombre_producto, descripcion, precio, stock, id_categoria, id_proveedor)
VALUES ('Laptop HP', 'Laptop HP Core 15 16 GB RAM', 450000.00, 10, 1, 1);

-- Se realiza el INSERT de los registros de la tabla proveedores
INSERT INTO proveedores (nombre_empresa, telefono, correo, direccion)
VALUES 
('Distribuidora Tres Patitos', '2222-3344', 'ventas@trespatitos.com', 'San José, Costa Rica'),
('Tecno 506', '2440-5566', 'info@tecno506.com', 'Alajuela, Costa Rica'),
('Papelería Nalita S.A.', 'pedidos@papelerianalita.com', '2236-7788', 'Limón, Costa Rica'),
('Comercial La Sabana', '2290-3344', 'compras@lasabana.com', 'Heredia, Costa Rica'),
('Suministros del Pacífico', '2666-1122', 'contacto@suministrospacifico.com', 'Puntarenas, Costa Rica');

-- Se realiza el INSERT de los registros de la tabla categorias
INSERT INTO categorias (nombre_categoria, descripcion)
VALUES
('Tecnología', 'Productos tecnológicos y electrónicos'),
('Accesorios', 'Accesorios y periféricos para computadoras y dispositivos'),
('Oficina', 'Artículos y suministros de oficina'),
('Electrodomésticos', 'Productos para el hogar'),
('Limpieza', 'Productos de limpieza');

-- Se realiza el INSERT de los registros de la tabla productos
INSERT INTO productos (nombre_producto, descripcion, precio, stock, id_categoria, id_proveedor)
VALUES 
('Laptop HP', 'Laptop HP Core 15 16 GB RAM', 450000.00, 10, 1, 1),
('Mouse inalámbrico Logitech', 'Mouse inalámbrico USB', 12500.00, 25, 2, 2),
('Cuaderno universitario', 'Cuaderno de 100 hojas', 2500.00, 50, 3, 3),
('Licuadora Oster', 'Licuadora de 10 velocidades', 35000.00, 8, 4, 4),
('Limpiador multiusos', 'Limpiador para diferentes superficies', 3200.00, 30, 5, 5);

-- Se realiza el INSERT de los registros de la tabla usuarios
INSERT INTO usuarios (nombre_usuario, contrasena, rol)
VALUES 
('admin', 'admin123', 'Administrador'),
('jperez', 'juan123', 'Vendedor'),
('amora', 'ana123', 'Vendedor'),
('csoto', 'carlos123', 'Supervisor'),
('lcastro', 'laura123', 'Vendedor');

-- Se realiza el INSERT de los registros de la tabla ventas
INSERT INTO ventas (fecha_venta, id_cliente, id_usuario, total)
VALUES 
('2026-09-24 09:30:00', 1, 2, 462500.00),
('2026-09-24 10:15:00', 2, 3, 12500.00),
('2026-09-24 11:00:00', 3, 5, 2500.00),
('2026-09-24 13:30:00', 4, 5, 35000.00),
('2026-09-24 15:00:00', 5, 2, 3200.00);

-- Se realiza el INSERT de los registros de la tabla  detalle ventas
INSERT INTO detalle_venta (id_ventas, id_producto, cantidad, precio_unitario)
VALUES
(1, 1, 1, 450000.00),
(1, 2, 1, 12500.00),
(2, 2, 1, 12500.00),
(3, 3, 1, 2500.00),
(4, 4, 1, 35000.00),
(5, 5, 1, 3200.00);

-- Para actualizar datos
UPDATE clientes SET nombre = 'María Peréz' WHERE id_cliente = 2;

-- Para eliminar un registro
DELETE FROM clientes WHERE id_cliente = 6;

-- Para eliminar varios registros a la vez
DELETE FROM clientes WHERE id_cliente IN (4, 5);

Semana 4 - 01/10/2026

Vamos a realizar análisis de la creación de las tablas de un sistema.

Se desarrolla en dos entregables si el primero tiene correcciones el segundo debe incluir dichas correcciones.

Debe tener la tabla de usuario y login.

USE ventas;

-- SELECT para mostrar todo los datos de la tabla clientes
SELECT * FROM clientes;

-- Uso del INNER JOIN en una consulta a la tabla clientes
SELECT c.nombre, v.fecha_venta
FROM clientes c
INNER JOIN ventas v ON c.id_cliente = v.id_cliente;


Built with LogoFlowershow