Sistema Gestión de Citas Parte 1: Base de Datos (SQL SERVER) - BITácora de Software

Bitacora de software: Programación web, programación de escritorio, programación de servicios, configuración de servidores, IIS, lenguajes de programación C++, C#, PHP, trinity core, unity, jquery, arduino, etc.

 

sábado, 2 de junio de 2018

Sistema Gestión de Citas Parte 1: Base de Datos (SQL SERVER)


Partiendo de los requerimientos funcionales que mostré en la entrada anterior (Sistema Gestión de Citas Parte 0: Introducción)

vamos a identificar las tablas y sus respectivos campos, empezaremos por las tablas de los mantenedores (CRUD):
  1. Mantenedor de Especialidades (RF 2)

  2. Mantenedor de Pacientes (RF 1)

  3. Mantenedor de Médicos (RF 3)
  4. El caso de los médicos es algo especial, ya que tendrá un detalle en el cuál podremos registrar las especialidades que tienen dicho médico, al ser una relación muchos a muchos (un médico puede tener 1 o n especialidades y una especialidad puede pertenecer a 1 o n médicos) tendremos que crear una tabla intermedia la cuál se llamará "MEDICOS_ESPECIALIDADES".
    como podrán observar agregué los campos de auditoria para cada tabla, esto me permite saber quién creo el registro y quién fue el último que lo módifico, así mismo la fecha en que realizaron dicha acción, con respecto al campo activo sirve para eliminar los registros de forma lógica, es decir, que los registros que tengan el campo "Activo" en 0 o False serán aquellos que no se mostrarán en el sistema.

Ahora nos toca identificar las tablas que usaremos para los cores:
  1. Registrar Horarios de médicos (RF 4)


  2. Registrar Citas (RF 5)

  3. Registrar Atención (RF 6)
  4. Para este requerimiento agregué el campo ESTADO a la tabla CITAS, el cuál puede ser PENDIENTE o ATENDIDO, así podremos identificar las citas que están pendientes de atención y cuáles citas fueron atendidas, además el campo OBSERVACIONES sirve para que el médico pueda agregar información acerca de la atención (medicamento y/o instrucciones de la receta).

Por último pero no menos importante, necesitamos la tabla que guardará la información de los usuarios logueados en el sistema
Para este caso el usuario puede o no ser un médico, es por ello que NO agregué una restricción del tipo llave foranea al campo MEDICOID (puede ser NULL).

Para finalizar nuestra BD se llamará: CLINICA_ODONTOLOGICA
a Continuación dejo el script completo de la BD:

Sistema Gestión de Citas Parte 2: Arquitectura N Capas + MVC

8 comentarios:

  1. muy bueno gracias por toda esta informacion soy malo en base de datos y esto me ayudo mucho !! grcias

    ResponderEliminar
    Respuestas
    1. En mis tiempos de estudiante también lo era pero la practica y experiencia que vas obteniendo con el paso del tiempo te hace mejorar.

      [S]aludos

      Eliminar
  2. Amigo, esta muy bueno todo. Sigues desarrollando este sistema? Tengo un problema con esa base de datos que publicaste. Te falto incluir LOS PROCEDIMIENTOS ALMACENADOS (no estoy gritando) el visual studio 2017 me arroja error que estos procedimientos almacenados no existen y por ende la aplicacion falla. Te costó mucho hacer un buen backup que incluyera TODO?? Al menos si de verdad sigues en esto vuelve a subir la BD pero esta vez incluyendo TODO. Por favor y gracias.

    ResponderEliminar
    Respuestas
    1. Hola Mauricio, en los siguiente capítulos voy mostrando el contenido de los SP con el fin de explicar su funcionamiento. Aquí esta el indice: http://www.bitacorasoftware.com/2019/04/sistema-gestion-de-citas-indice-de.html para que puedas ver las demás entradas.

      Sobre el sistema no desarrollé el último feature: "registro de atención médica" porque entre el trabajo y el estudio lo deje olvidado.

      Eliminar