Ejercicio de programación con SQL: Creación de tablas e inserción de datos con SQL
Proyecto
0h 30m
Ejercicios SQL Creación Tablas Inserción Datos. Domina la creación de tablas y la inserción de datos en SQL mediante ejercicios prácticos y ejemplos claros.
Objetivo
Desarrollar una base de datos para un sistema de gestión de restaurantes que incluya la gestión de pedidos, clientes, platos de la carta y personal empleado del restaurante.
Creación de la Base de Datos
- Base de Datos: restaurant
- Instrucción SQL para Creación:
CREATE DATABASE restaurant;
- Instrucción SQL para Creación:
Diseño de Tablas
En el archivo schema.sql
crear las siguientes tablas:
Tabla dishes (Platos de la Carta)
- Propósito: Almacenar información sobre los platos disponibles.
- Campos:
- dish_id (clave primaria)
- dish_name
- description
- price
Tabla employees (Empleados)
- Propósito: Registrar a los empleados del restaurante.
- Campos:
- employee_id (clave primaria)
- first_name
- last_name
- position
- salary
Tabla customers (Clientes)
- Propósito: Guardar información de los clientes.
- Campos:
- customer_id (clave primaria)
- first_name
- last_name
- contact_info
Tabla orders (Pedidos)
- Propósito: Gestionar los pedidos realizados por los clientes.
- Campos:
- order_id (clave primaria)
- customer_id (clave foránea de customers)
- employee_id (clave foránea de employees)
- order_date
- total_amount
Tabla order_details (Detalles del Pedido)
- Propósito: Detallar los platos incluidos en cada pedido.
- Campos:
- order_id (clave foránea de orders) (forma parte de la clave primaria)
- dish_id (clave foránea de dishes) (forma parte de la clave primaria)
- quantity
- price
Relaciones entre Tablas
- Many-to-One: la tabla
orders
tiene una clave foránea acustomers
de manera que un cliente puede tener muchos pedidos, también tiene una clave foránea aemployees
de manera que un empleado puede atender muchos pedidos. - Many-To-Many: los platos se relacionan con los pedidos en many to many, de forma que un pedido puede tener muchos platos y un plato puede estar en muchos pedidos. Para ello se crea la tabla
order_details
con clave primaria compuesta apuntando aorders
ydishes
.
Población de las Tablas
- Archivo: data.sql
- Contenido: Código SQL para insertar datos de prueba en cada tabla, se hará en un archivo independiente llamado
data.sql
.
- Contenido: Código SQL para insertar datos de prueba en cada tabla, se hará en un archivo independiente llamado
Consultas a Tablas
- Archivo: queries.sql
- Contenido: Código SQL para realizar consultas diversas:
- Calcular el total de pedidos por fecha.
- Mostrar todos los pedidos realizados por un cliente específico, por ejemplo cliente 1.
- Obtener una lista detallada de los platos en un pedido específico, por ejemplo pedido 1.
- Obtener los salarios promedio de los empleados agrupados por posición.
- Listar los platos más vendidos basados en la cantidad de veces que fueron pedidos.
- Mostrar la cantidad de pedidos atendidos por cada empleado.
- Identificar a los clientes que han realizado el mayor número de pedidos, es decir, mostrar nombre, apellido, número de pedidos y número de pedidos que ha hecho ese cliente.
- Contenido: Código SQL para realizar consultas diversas:
Más ejercicios de programación con SQL
Evalúa tus conocimientos en SQL con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.
Tipos de datos
Test
Uso de vistas
Test
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Test
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Código
Instalación de MySQL
Test
Relaciones entre tablas
Código
Eliminación de datos: DELETE
Código
Creación y uso de funciones
Test
Filtrado de valores únicos con DISTINCT
Test
Alterar la estructura de tablas existentes: ALTER TABLE
Test
Introducción a SQL
Test
Triggers y eventos
Test
Agrupación de resultados con GROUP BY
Test
Creación de bases de datos y tablas: CREATE DATABASE, CREATE TABLE
Test
Bases de datos y tablas
Test
Consultas básicas de selección SELECT y WHERE
Código
Relaciones entre tablas
Test
Actualización de datos: UPDATE
Código
Creación y uso de procedimientos almacenados
Test
Certificados de superación de SQL
Supera todos los retos de SQL y obtén certificados de superación para mejorar tu currículum y empleabilidad.
Tecnologías de este ejercicio de programación
Entornos de desarrollo para este ejercicio
Visual Studio Code
GitHub