Aquí vamos a discutir cómo un usuario interactúa con un DBMS y cómo el DBMS está relacionado con el software del sistema. Utilizando un lenguaje de programación de propósito general, el usuario puede escribir un programa fuente de la forma habitual. Sin embargo, en lugar de escribir sentencias de E/S en la forma proporcionada por el lenguaje de programación, el programador escribe comandos en un lenguaje de manipulación de datos (DML) definido para usar con el DBMS. El procesador se puede usar para convertir los comandos DML en declaraciones de lenguaje de programación que llamen a las rutinas DBMS.
Usando el propio lenguaje de programación, algunos DML se definen como un conjunto de instrucciones CALL. Aquí se dan los dos métodos principales para la interacción del usuario con un DBMS.
La interacción con un DBMS utilizando un lenguaje de consulta es otro enfoque de DBMS. No es necesario que el usuario escriba los programas para acceder a una base de datos, sino que el usuario solo necesita ingresar los comandos en un lenguaje de consulta especial definido por DBMS. Estos comandos son procesados por un intérprete de lenguaje de consulta, que llama a las rutinas DBMS para realizar las operaciones solicitadas.
Todos y cada uno de los enfoques que conducen a la interactividad del usuario con un DBMS tienen sus propias ventajas. Los resultados se pueden obtener mucho más rápido con la ayuda del lenguaje de consulta, porque no hay necesidad de escribir y depurar programas, lo que se vuelve muy beneficioso para que los no programadores lo usen de manera eficiente. Permitir que el programador use toda la flexibilidad y el poder de un lenguaje de programación de propósito general es la gran ventaja de DML, sin embargo, este enfoque requiere mucho esfuerzo por parte del usuario. La mayoría de los sistemas de gestión de bases de datos modernos proporcionan un lenguaje de consulta y un DML para que un usuario pueda elegir la forma de interacción que mejor se adapte a sus necesidades.
Estos son algunos pasos para mostrar cómo un DBMS realiza una secuencia típica de acciones:
- Paso 1: La secuencia de eventos comienza cuando se ingresa al DBMS con la ayuda de una llamada del programa de aplicación A. Suponemos que esta llamada es una solicitud para leer datos de la base de datos. Hay secuencias de eventos similares para otros tipos de operaciones de bases de datos.
- Paso 2: La solicitud del programa A se establece en términos del subesquema que utiliza A. Para procesar una solicitud que se solicita del programa A y se establece en términos del subesquema que utiliza A, el DBMS debe primero examine la definición del subesquema.
- Paso 3: El DBMS debe considerar la relación entre el subesquema y el esquema para interpretar la solicitud en términos de la estructura lógica general de la base de datos.
- Paso 4: El DBMS examina la descripción del mapeo de datos, después de determinar los registros lógicos de la base de datos que deben leerse en términos de esquema. La información respecto a la necesidad de ubicar los registros requeridos en los archivos de la base de datos la da esta operación.
- Paso 5: En este punto, DBMS ha convertido una solicitud lógica para un registro de subesquema en requests físicas para leer datos de uno o más archivos. Estas requests de E/S de archivos se pasan al sistema operativo utilizando los tipos de llamadas de servicio.
- Paso 6: El sistema operativo luego emite comandos de canal y dispositivo para realizar las operaciones de E/S físicas necesarias. Estas operaciones de E/S leen los registros requeridos de la base de datos en un área de búfer de DBMS.
- Paso 7: Todos los datos solicitados por el programa de aplicación están presentes en la memoria central después de que se hayan completado las operaciones de E/S físicas. El DBMS logra esta conversión comparando nuevamente el esquema y el subesquema.
- Finalmente, el DBMS devuelve el control al programa de aplicación y pone a disposición del programa una variedad de información de estado, incluidas las posibles indicaciones de error.
Para una comprensión clara, aquí está el diagrama dado: