Ejercicio de programación con SQL: Creación de tablas e inserción de datos con SQL

Proyecto
Práctica
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;

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 a customers de manera que un cliente puede tener muchos pedidos, también tiene una clave foránea a employees 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 a orders y dishes.

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.

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.
Empezar ejercicio de programación

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.

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

Image

Visual Studio Code

Image

GitHub