En este tema, aprenderemos cómo almacenar y recuperar datos en MUMPS utilizando variables globales. Las variables globales son una característica fundamental de MUMPS que permite el almacenamiento persistente de datos. A lo largo de esta sección, cubriremos los siguientes puntos:
- Introducción a las Variables Globales
- Sintaxis para Almacenar Datos
- Sintaxis para Recuperar Datos
- Ejemplos Prácticos
- Ejercicios Prácticos
- Introducción a las Variables Globales
Las variables globales en MUMPS son variables que pueden ser accedidas por cualquier proceso en cualquier momento. A diferencia de las variables locales, las variables globales persisten más allá de la ejecución del programa y se almacenan en el disco.
Características de las Variables Globales:
- Persistencia: Los datos almacenados en variables globales persisten después de que el programa ha terminado.
- Accesibilidad: Pueden ser accedidas por múltiples procesos simultáneamente.
- Jerarquía: Las variables globales pueden tener una estructura jerárquica, similar a los árboles.
- Sintaxis para Almacenar Datos
Para almacenar datos en una variable global, utilizamos la siguiente sintaxis:
Ejemplo:
SET ^pacientes(1, "nombre") = "Juan Perez" SET ^pacientes(1, "edad") = 30 SET ^pacientes(2, "nombre") = "Ana Gomez" SET ^pacientes(2, "edad") = 25
En este ejemplo, estamos almacenando información sobre pacientes en una variable global llamada ^pacientes
.
- Sintaxis para Recuperar Datos
Para recuperar datos de una variable global, utilizamos la siguiente sintaxis:
Ejemplo:
WRITE ^pacientes(1, "nombre") ; Esto imprimirá "Juan Perez" WRITE ^pacientes(1, "edad") ; Esto imprimirá 30 WRITE ^pacientes(2, "nombre") ; Esto imprimirá "Ana Gomez" WRITE ^pacientes(2, "edad") ; Esto imprimirá 25
- Ejemplos Prácticos
Ejemplo 1: Almacenamiento y Recuperación de Datos de Pacientes
; Almacenamiento de datos SET ^pacientes(1, "nombre") = "Juan Perez" SET ^pacientes(1, "edad") = 30 SET ^pacientes(2, "nombre") = "Ana Gomez" SET ^pacientes(2, "edad") = 25 ; Recuperación de datos WRITE "Nombre del paciente 1: ", ^pacientes(1, "nombre"), ! WRITE "Edad del paciente 1: ", ^pacientes(1, "edad"), ! WRITE "Nombre del paciente 2: ", ^pacientes(2, "nombre"), ! WRITE "Edad del paciente 2: ", ^pacientes(2, "edad"), !
Ejemplo 2: Almacenamiento y Recuperación de Datos de Productos
; Almacenamiento de datos SET ^productos("A001", "nombre") = "Laptop" SET ^productos("A001", "precio") = 1000 SET ^productos("B002", "nombre") = "Smartphone" SET ^productos("B002", "precio") = 500 ; Recuperación de datos WRITE "Nombre del producto A001: ", ^productos("A001", "nombre"), ! WRITE "Precio del producto A001: ", ^productos("A001", "precio"), ! WRITE "Nombre del producto B002: ", ^productos("B002", "nombre"), ! WRITE "Precio del producto B002: ", ^productos("B002", "precio"), !
- Ejercicios Prácticos
Ejercicio 1: Almacenamiento y Recuperación de Datos de Estudiantes
Instrucciones:
- Almacena la información de tres estudiantes (nombre y calificación) en una variable global.
- Recupera e imprime la información de cada estudiante.
Código Inicial:
; Almacenamiento de datos SET ^estudiantes(1, "nombre") = "Carlos Ruiz" SET ^estudiantes(1, "calificacion") = 85 SET ^estudiantes(2, "nombre") = "Maria Lopez" SET ^estudiantes(2, "calificacion") = 90 SET ^estudiantes(3, "nombre") = "Luis Fernandez" SET ^estudiantes(3, "calificacion") = 78 ; Recuperación de datos WRITE "Nombre del estudiante 1: ", ^estudiantes(1, "nombre"), ! WRITE "Calificación del estudiante 1: ", ^estudiantes(1, "calificacion"), ! WRITE "Nombre del estudiante 2: ", ^estudiantes(2, "nombre"), ! WRITE "Calificación del estudiante 2: ", ^estudiantes(2, "calificacion"), ! WRITE "Nombre del estudiante 3: ", ^estudiantes(3, "nombre"), ! WRITE "Calificación del estudiante 3: ", ^estudiantes(3, "calificacion"), !
Ejercicio 2: Almacenamiento y Recuperación de Datos de Libros
Instrucciones:
- Almacena la información de tres libros (título y autor) en una variable global.
- Recupera e imprime la información de cada libro.
Código Inicial:
; Almacenamiento de datos SET ^libros(1, "titulo") = "Cien Años de Soledad" SET ^libros(1, "autor") = "Gabriel Garcia Marquez" SET ^libros(2, "titulo") = "Don Quijote de la Mancha" SET ^libros(2, "autor") = "Miguel de Cervantes" SET ^libros(3, "titulo") = "El Principito" SET ^libros(3, "autor") = "Antoine de Saint-Exupéry" ; Recuperación de datos WRITE "Título del libro 1: ", ^libros(1, "titulo"), ! WRITE "Autor del libro 1: ", ^libros(1, "autor"), ! WRITE "Título del libro 2: ", ^libros(2, "titulo"), ! WRITE "Autor del libro 2: ", ^libros(2, "autor"), ! WRITE "Título del libro 3: ", ^libros(3, "titulo"), ! WRITE "Autor del libro 3: ", ^libros(3, "autor"), !
Conclusión
En esta sección, hemos aprendido cómo almacenar y recuperar datos en MUMPS utilizando variables globales. Hemos visto la sintaxis básica para estas operaciones y hemos trabajado con ejemplos prácticos para reforzar los conceptos. Ahora estamos listos para avanzar a la siguiente sección, donde exploraremos las estructuras de datos en MUMPS, como arreglos y listas.
Curso de Programación MUMPS (M)
Módulo 1: Introducción a MUMPS
Módulo 2: Conceptos Básicos de Programación
- Variables y Tipos de Datos
- Entrada y Salida Básica
- Estructuras de Control: IF, ELSE, FOR, WHILE
- Funciones y Procedimientos Básicos
Módulo 3: Trabajando con Datos
- Introducción a las Variables Globales
- Almacenamiento y Recuperación de Datos
- Estructuras de Datos: Arreglos y Listas
- Manejo de Archivos en MUMPS
Módulo 4: Conceptos Avanzados de Programación
- Estructuras de Control Avanzadas
- Manejo de Errores y Depuración
- Programación Modular
- Funciones y Procedimientos Avanzados
Módulo 5: Gestión de Bases de Datos
- Introducción a las Bases de Datos MUMPS
- Operaciones de Base de Datos: CRUD
- Indexación y Búsqueda
- Seguridad de Bases de Datos
Módulo 6: Interfaz e Integración
Módulo 7: Rendimiento y Optimización
- Técnicas de Optimización de Código
- Gestión de Memoria
- Ajuste de Rendimiento
- Consideraciones de Escalabilidad
Módulo 8: Temas Avanzados
- Concurrencia y Procesamiento Paralelo
- Estructuras de Datos Avanzadas
- Bibliotecas y Extensiones Personalizadas
- Estudios de Caso y Aplicaciones del Mundo Real