Desde una base de datos relacional diseñada para una clínica médica hasta una aplicación para gestionar datos de películas con MySQL.

SQL

Movie Application con MySQL

Esta es una aplicación de ejemplo que permite gestionar una base de datos de películas utilizando Node.js y MySQL.

Tecnologías usadas:
  • Node.js: Un entorno de ejecución para JavaScript en el lado del servidor.

  • MySQL: Un sistema de gestión de bases de datos relacional.

  • MySQL2: Un cliente MySQL mejorado para Node.js, con soporte para promesas.

  • Express.js: Un framework de aplicación web minimalista para Node.js.

  • Zod: Una biblioteca de validación de esquemas para TypeScript y JavaScript.

  • HTTPie: Una herramienta para hacer solicitudes HTTP y probar APIs.

Este repositorio contiene scripts SQL para crear y gestionar una base de datos relacional diseñada para una clínica médica. La base de datos incluye tablas para almacenar información sobre médicos, pacientes, citas, recetas y medicamentos, así como procedimientos almacenados para realizar operaciones más complejas y consultas para extraer información relevante.

Base de datos para una clínica médica

Creación de tablas

Este script SQL define la estructura de una base de datos relacional para una clínica médica. Incluye tablas para gestionar información sobre médicos, pacientes, citas, recetas y medicamentos.

  • Relación 1:1:

    • Una cita puede tener una receta (tabla prescriptions).

  • Relación N:M:

    • Una receta puede contener varios medicamentos (tabla prescriptions_medicines).

    • Un medicamento puede estar en varias recetas (tabla prescriptions_medicines).

  • Relación 1:N:

    • Un médico puede tener muchos pacientes (tabla patients).

    • Un paciente puede tener muchas citas (tabla appointments).

    • Un médico puede tener muchas citas (tabla appointments).

    • Una categoría puede tener muchos medicamentos (tabla medicines).

Relaciones

Procedimientos Almacenados para la Base de Datos de Clínica Médica

Esta sección contiene ejemplos de procedimientos almacenados que implementan funcionalidades más avanzadas en la base de datos de la clínica médica.

  • Descripción: Este procedimiento crea una nueva receta para un paciente, pero solo si cumple las siguientes condiciones:

    • El paciente tiene una cita programada.

    • Hay stock disponible del medicamento.

  • Implementación:

    • Verifica si el paciente tiene una cita programada consultando la tabla appointments.

    • Verifica el stock del medicamento consultando las tablas appointments, prescriptions, prescriptions_medicines y medicines.

    • Si se cumplen ambas condiciones, crea la nueva receta y actualiza el stock del medicamento.

    • Si alguna de las condiciones no se cumple, muestra un mensaje de error.

Procedimiento: Nueva Receta con Validación

¿Qué pacientes ha atendido un doctor en particular?
¿Cuál es el medicamento más recetado para pacientes con gripe?
¿Cuáles son los 3 doctores más eficientes en recetar analgésicos?

Consultas SQL para la Base de Datos de Clínica Médica

Esta sección describe un conjunto de consultas SQL para la base de datos de clínica médica definida anteriormente. Las consultas se han organizado en tres niveles de dificultad: básico, medio y avanzado.