Herramientas lingüísticas para sistemas de gestión de bases de datos. Lenguajes de programación y bases de datos.

Un DBMS moderno contiene herramientas de software para crear bases de datos, herramientas para trabajar con datos y herramientas de servicio adicionales (Fig. 3.10).

Arroz. 3.10.

Se utilizan lenguajes especiales para trabajar con bases de datos. Los primeros DBMS admitían varios lenguajes especializados en sus funciones. La mayoría de las veces, se distinguían dos lenguajes: DDL (lenguaje de descripción de datos o lenguaje de definición de esquemas de bases de datos) y DML (lenguaje de manipulación de datos). El LDL sirvió principalmente para determinar la estructura lógica de la base de datos, es decir. la estructura de la base de datos tal como aparece ante los usuarios. YMD contenía un conjunto de operadores de manipulación de datos, es decir. Operadores que permiten ingresar datos a la base de datos, eliminar, modificar o seleccionar datos existentes.

Así, con la ayuda de herramientas de creación de bases de datos, el diseñador, utilizando LDB, traduce el modelo lógico de la base de datos en una estructura física, y utilizando LDM desarrolla programas que implementan operaciones básicas con datos (en bases de datos relacionales, estas son operaciones relacionales). Al diseñar, se utilizan medios visuales, es decir. objetos y un programa depurador, con la ayuda del cual se conectan y prueban bloques individuales del programa de control desarrollado para una base de datos específica.

Las herramientas para trabajar con datos están destinadas al usuario. Le permiten instalar con el usuario una interfaz conveniente, generalmente gráfica, de múltiples ventanas, crear la configuración funcional necesaria de la representación en pantalla de la información de entrada y salida (color, tamaño y número de ventanas, iconos, etc.), realizar operaciones con datos manipulando texto y objetos gráficos.

Las herramientas de servicio le permiten involucrar a otros sistemas al diseñar y usar una base de datos, por ejemplo, usando texto del editor de Word, una tabla del procesador de hojas de cálculo de Excel o accediendo a un servidor de red.

Los DBMS modernos suelen admitir un único lenguaje integrado que contiene todas las herramientas necesarias para trabajar con una base de datos, desde su creación y proporcionando una interfaz de usuario básica con las bases de datos. El lenguaje estándar de los DBMS relacionales más utilizados en la actualidad es SQL. El lenguaje SQL combina las herramientas de DML y DML, es decir. le permite definir un esquema de base de datos relacional y manipular datos. En los tutoriales se pueden encontrar ejemplos que explican los principales operadores (instrucciones) del lenguaje SQL y el “dialecto” desarrollado por Microsoft.

La denominación de objetos de la base de datos (para una base de datos relacional, la denominación de tablas y campos) se admite a nivel de lenguaje de tal manera que el compilador SQL convierte los nombres de los objetos en sus identificadores internos basándose en tablas de catálogos de servicios especialmente compatibles. La parte interna del DBMS (kernel) no funciona en absoluto con nombres de tablas y campos.

El lenguaje SQL contiene medios especiales para determinar Restricciones de integridad de la base de datos. Las restricciones de integridad también se almacenan en tablas de directorio especiales. El control de la integridad de la base de datos está garantizado a nivel del idioma, es decir. Al compilar los operadores de modificación de la base de datos (insertar, eliminar, actualizar un registro), el compilador SQL, basándose en las restricciones de integridad existentes en la base de datos, genera el código de programa correspondiente.

Los operadores especiales del lenguaje SQL le permiten definir las llamadas vistas de bases de datos, que en realidad son consultas almacenadas en la base de datos (el resultado de cualquier consulta a una base de datos relacional es una tabla) con columnas con nombre.

Finalmente, la autorización de acceso a los objetos de la base de datos también se realiza sobre la base de un conjunto especial de sentencias SQL. Para ejecutar diferentes tipos de sentencias SQL, el usuario debe tener diferentes permisos. El usuario que creó la tabla de la base de datos tiene un conjunto completo de derechos para trabajar con esta tabla. Los permisos de usuario se describen en tablas de catálogo especiales y el control de permisos se admite a nivel de idioma.

El rango en las consultas, además del valor TODO (predeterminado), puede tomar el siguiente valor:

  • para una tabla separada, DISTINCT, indica excepciones de la consulta resultante, que no contiene todos los campos o registros duplicados;
  • DISTINCTROW: se utiliza, por regla general, para tablas relacionadas en consultas que no contienen todos los campos de la tabla, omite registros completamente duplicados;
  • TOP p - utilizado, como regla general, cuando hay clasificación: ORDER BY... - salidas norte primeros registros clasificados; PEDIR POR... DÓNDE . Si no utiliza ORDER BY, el sistema devolverá norte registros arbitrarios.
  • SQL.ru. URL: http://www.sql.ru.

Para trabajar con bases de datos se utilizan lenguajes especiales, generalmente llamados lenguajes de bases de datos. Los primeros DBMS admitían varios lenguajes especializados en sus funciones. La mayoría de las veces, se destacaron dos idiomas: lenguaje de definición de esquema DB (SDL - Lenguaje de definición de esquemas) Y lenguaje de manipulación de datos (DML - Lenguaje de manipulación de datos). SDL sirvió principalmente para definir la estructura lógica de la base de datos, es decir. la estructura de la base de datos tal como aparece ante los usuarios. El DML contenía un conjunto de operadores de manipulación de datos, es decir. Operadores que permiten ingresar datos a la base de datos, eliminar, modificar o seleccionar datos existentes. Analizaremos los primeros lenguajes DBMS con más detalle en la próxima conferencia.

Los DBMS modernos suelen admitir un único lenguaje integrado que contiene todas las herramientas necesarias para trabajar con una base de datos, desde su creación y proporcionando una interfaz de usuario básica con las bases de datos. El lenguaje estándar de los DBMS relacionales más comunes en la actualidad es SQL (lenguaje de consulta estructurado). En varias conferencias de este curso, se discutirá el lenguaje SQL con cierto detalle, pero por ahora enumeraremos las funciones principales de un DBMS relacional admitido a nivel de "lenguaje" (es decir, funciones admitidas al implementar la interfaz SQL).

En primer lugar, el lenguaje SQL combina las herramientas de SDL y DML, es decir. le permite definir un esquema de base de datos relacional y manipular datos. Al mismo tiempo, la denominación de objetos de la base de datos (para una base de datos relacional, denominación de tablas y sus columnas) se admite a nivel de lenguaje en el sentido de que el compilador SQL convierte los nombres de los objetos en sus identificadores internos basándose en tablas de catálogos de servicios especialmente compatibles. La parte interna del DBMS (kernel) no funciona en absoluto con los nombres de las tablas y sus columnas.

El lenguaje SQL contiene herramientas especiales para definir restricciones de integridad de la base de datos. Nuevamente, las restricciones de integridad se almacenan en tablas de catálogo especiales y el control de integridad de la base de datos se garantiza a nivel de idioma, es decir. Al compilar operadores de modificación de bases de datos, el compilador SQL, basándose en las restricciones de integridad existentes en la base de datos, genera el código de programa correspondiente.

Los operadores SQL especiales le permiten definir las llamadas vistas de bases de datos, que en realidad son consultas almacenadas en la base de datos (el resultado de cualquier consulta a una base de datos relacional es una tabla) con columnas con nombre. Para un usuario, una vista es la misma tabla que cualquier tabla base almacenada en una base de datos, pero con la ayuda de las vistas se puede limitar o, por el contrario, ampliar la visibilidad de la base de datos para un usuario específico. Las representaciones también se mantienen a nivel lingüístico.

Finalmente, la autorización de acceso a los objetos de la base de datos también se realiza sobre la base de un conjunto especial de sentencias SQL. La idea es que para ejecutar diferentes tipos de sentencias SQL, el usuario debe tener diferentes permisos. El usuario que creó la tabla de la base de datos tiene un conjunto completo de derechos para trabajar con esta tabla. Estas facultades incluyen la facultad de delegar total o parcialmente la facultad a otros usuarios, incluida la facultad de transferir. Los permisos de usuario se describen en tablas de catálogo especiales y el control de permisos se admite a nivel de idioma.

SGBD- especial un paquete de software que implementa la gestión centralizada de bases de datos y proporciona acceso a los datos. El DBMS incluye traductores o intérpretes de idiomas para describir o manipular datos.

YaOD– lenguaje de descripción de datos, destinado a describir el esquema de la base de datos, la descripción de los tipos de datos que se almacenarán o recuperarán, sus estructuras y conexiones.

YaMD– un sistema de comandos de navegación y manipulación de datos, tiene los siguientes comandos: editar, agregar, eliminar, seleccionar. Justificación de la necesidad de utilizar un DBMS:

1. la organización de los archivos de bases de datos, tanto a nivel lógico como físico, no es estándar para los lenguajes de programación convencionales;
2. El acceso a los datos de la base de datos se basa en requisitos especiales. métodos y requiere conocimiento de algoritmos;
3. el procesamiento de bases de datos relacionales se basa en las operaciones del álgebra relacional, que no se encuentra en ningún lenguaje de programación;
4. procesamiento especial de la base de datos: mantenimiento de la integridad, coherencia y no redundancia, intercambio de datos. Parcial o completamente m.b. implementado en un DBMS y prácticamente irreal en lenguajes estándar.

Funciones del SGBD:

1. gestión de bases de datos;
2. desarrollo, depuración y ejecución de programas de aplicación;
3. realizar funciones auxiliares.

Etapas del control de acceso mediante un DBMS:

1. el usuario crea una consulta a la base de datos en un lenguaje de descripción de datos;
2. El DBMS recibe la solicitud y la interpreta;
3. El DBMS analiza a su vez todos los esquemas y mapeos desde el externo al interno, utilizando un lenguaje de manipulación;
4. El DBMS realiza las operaciones necesarias sobre los datos almacenados (utilizando el DML) y genera un registro externo en dirección ascendente, que en el caso general se emite al usuario en el DML.

Hay varios grupos de clasificación para DBMS.
Clasificación de DBMS:

1. Por grado de apertura:

Abierto (puedes agregar tus propias aplicaciones);
- cerrado (sistema de solicitud). El DBMS le permite utilizar únicamente un lenguaje de consulta no procesal.

2. Según el grado de procesalidad:

Procesal. Puede utilizar lenguajes de alto nivel, ya sea como parte de sus programas o como módulos separados;
- declarativo. Solo nivel de consulta.

3. Según el aparato matemático utilizado:

Usar álgebra relacional;
- usar cálculo en tarjetas;
- usando cálculo de dominio.

4. Por lenguas utilizadas:

Con lenguaje básico. El lenguaje no es susceptible de desarrollo, su propio lenguaje interno. Se caracteriza por el hecho de que no contiene lenguajes de programación tradicionales, sino sólo un lenguaje de consulta no procedimental;

Con idiomas incluidos. El lenguaje utilizado es uno de los lenguajes de programación tradicionales, en el que se escribe un programa de aplicación que puede simular comandos NMD de una de las siguientes formas: 1) llamando a especial. rutinas DBMS; 2) mediante el uso especial operadores, incluidos operadores de lenguaje algorítmico;

Conjunto. Descubra las ventajas de los tipos de sistemas enumerados anteriormente;

Unificado. En tales sistemas, un lenguaje de consulta puede usarse implícitamente o como parte de un lenguaje adjunto.

5. Según el modelo de datos utilizado:

Red;
- jerárquico;
- relacional.

Herramientas de lenguaje y software del DBMS.

Concepto y clasificación de DBMS.

DBMS es complejo de software y lenguaje, diseñado para crear una base de datos en una computadora que es común a muchos usuarios y administrar los datos almacenados en ella. La gestión de la base de datos significa mantenerla actualizada, lo que se logra cambiando oportunamente los datos almacenados en la base de datos, restaurando los datos en situaciones inusuales, protegiéndolos de intervenciones no autorizadas y realizando muchas otras funciones que aseguran una visualización adecuada de la base de datos de un área temática determinada. Los DBMS brindan a los usuarios un acceso eficiente a los datos contenidos en ellos dentro de los límites de la autoridad otorgada a los usuarios.

Por grado de versatilidad Hay dos clases de DBMS:

sistemas de propósito general que no se centran en un área temática específica o en las necesidades de información de un grupo específico de usuarios;

sistemas especializados que operan en un determinado modelo de computadora en un sistema operativo específico y tienen medios de configuración para trabajar con una base de datos en un área temática específica.

Por funciones realizadas Los DBMS se dividen en informativos y operativos. Los sistemas de información permiten organizar el almacenamiento de información y el acceso a ella para su revisión y emisión de certificados simples. Los quirófanos realizan un procesamiento de datos complejo.

Por lenguas de comunicación DBMS puede ser abierto, cerrado o mixto. En los sistemas abiertos se utilizan lenguajes de programación universales para acceder a la base de datos. Los sistemas cerrados tienen sus propios lenguajes para comunicarse con los usuarios de la base de datos.

Por poder Hay DBMS de escritorio y corporativos. Los sistemas de escritorio (Access, FoxPro, Paradox) están dirigidos a usuarios finales (especialistas en un área temática específica). No exigen mucho equipamiento técnico y son económicos. Los DBMS corporativos (Oracle, SyBase, DB2) brindan trabajo en un ambiente distribuido, tienen alto rendimiento, herramientas de administración avanzadas y mayores capacidades para mantener la integridad. DBMS MS SQL Server e Interbase tienen las capacidades de sistemas corporativos y de escritorio.

Según el modelo de datos implementado Los DBMS reciben nombres según el esquema de datos que admiten: jerárquico, de red, relacional, orientado a objetos.

Herramientas de lenguaje y software del DBMS.

Se requieren herramientas de lenguaje DBMS para realizar las siguientes funciones:

– descripciones de la presentación de la base de datos;

– realizar operaciones de manipulación de datos;

– gestión de bases de datos.

La primera de estas funciones se proporciona lenguaje de descripción de datos (definición)(YOD) – Lenguaje de definición de Shema. Descripción de la base de datos utilizando medios LDL. esquema de base de datos. esquema de base de datos describe la estructura de la base de datos y las restricciones de integridad impuestas a ella de acuerdo con las reglas que están reguladas por el modelo de datos del DBMS utilizado. En algunos DBMS, el lenguaje de descripción de datos también brinda la capacidad de establecer restricciones en el acceso a los datos o permisos de usuario.

Lenguaje de manipulación de datos.(YMD) – Lenguaje de manipulación del Shema contiene un conjunto de operadores de manipulación de datos que le permiten ingresar datos en la base de datos, eliminarlos, modificarlos y seleccionar la información solicitada de la base de datos.

Actualmente, existen numerosos ejemplos de lenguajes DBMS que combinan las capacidades de descripción y manipulación de datos dentro de un único marco sintáctico. Un único lenguaje integrado de DBMS moderno contiene todas las herramientas necesarias para trabajar con una base de datos, desde su creación y proporciona una interfaz de usuario con la base de datos. El lenguaje más popular y estándar para DBMS relacionales es SQL. (Lenguaje de consulta estructurado- lenguaje de consulta estructurado ), desarrollado por IBM. Para soportar modelos de objetos se diseña el lenguaje OQL (Object Query Language), el cual se basa en SQL.

Ejemplos de otros lenguajes en esta clase incluyen: Quel del sistema Ingres, creado por la Universidad de California; familia dBase de DBMS de Asthon - Tate; R:Base de Microrim.

El lenguaje procedimental utilizado para gestionar la base de datos es el lenguaje QBE. (Consulta por ejemplo). Este lenguaje proporciona al usuario una interfaz conveniente y unificada para realizar operaciones de mantenimiento de bases de datos.

El software DBMS incluye lenguajes de programación que le permiten crear sistemas de procesamiento de datos complejos enfocados en tareas específicas y un usuario específico.

En el DBMS de MS Access, la programación se realiza mediante macros y módulos. macros son pequeños programas escritos en el lenguaje de macros de Access. Son una estructura que consta de una o más instrucciones macro que se ejecutan de forma secuencial o en un orden especificado por ciertas condiciones. Las macros permiten programar casi todos los procedimientos que componen la funcionalidad del DBMS y son realizados por usuarios de bases de datos que no conocen lenguajes de programación.

Módulos son procedimientos escritos en Visual Basic para Aplicaciones (VBA).

VBA es un lenguaje común para todas las aplicaciones de Microsoft Office y permite resolver cualquier problema de programación, desde automatizar las acciones de un usuario específico hasta desarrollar aplicaciones complejas que utilizan Microsoft Office como entorno de desarrollo. El lenguaje VBA es un lenguaje informático y de programación orientado a objetos. La base de los programas VBA son los procedimientos, que consisten en instrucciones que realizan las operaciones necesarias. Los procedimientos se almacenan en módulos desde los cuales se solicita su ejecución. El módulo se utiliza para combinar procedimientos según su finalidad funcional o vincularlos a un formulario o informe.

El DBMS MySQL se utiliza activamente en la programación web. Para trabajar con la base de datos de este sistema se utiliza el lenguaje de programación PHP. Es un lenguaje tipo C diseñado para crear rápidamente programas en un servidor web.

El lenguaje de secuencias de comandos está desarrollado en PHP: instrucciones de código (software) para realizar determinadas acciones en los datos seleccionados de la base de datos. Los scripts se insertan en documentos HTML y los convierten de estáticos a activos. El servidor web escanea el documento, ejecuta las instrucciones PHP que se encuentran en él y devuelve el resultado de las instrucciones al usuario.

Usando PHP, puedes procesar datos de formularios, generar páginas dinámicas, crear contadores, libros de visitas, etc. PHP incluye soporte para muchas bases de datos: FilePro, Informix, MySQL, Oracle, Sybase, etc.

Arroz. 1.4. estructura del SGBD

Controlador de diccionario– proporciona acceso al catálogo del sistema y trabaja con él.

Controlador de archivos– manipula archivos de datos y es responsable de asignar espacio en disco. No gestiona E/S físicas, sino que pasa solicitudes a los métodos de acceso apropiados del sistema operativo.

Controlador de base de datos– interactúa con programas y solicitudes lanzadas por los usuarios. Acepta consultas y examina esquemas externos y conceptuales para determinar los registros conceptuales que se necesitan para ejecutar una consulta de base de datos. Luego, el controlador de la base de datos llama al controlador del archivo para ejecutar la solicitud. El controlador de la base de datos incluye los siguientes componentes de software:

· control de derechos de acceso: comprueba si un usuario determinado tiene la autoridad para realizar la operación solicitada;

· procesador de comandos – ejecuta la solicitud;

· herramientas de monitoreo de integridad: verifique las restricciones de soporte de integridad al realizar operaciones de modificación de datos;

· Optimizador de consultas: determina la estrategia óptima de ejecución de consultas;

· controlador de transacciones – procesa las operaciones recibidas durante el proceso de transacción;

· planificador – es responsable de la ejecución libre de conflictos de operaciones paralelas con la base de datos y gestiona el orden relativo de ejecución de las operaciones definidas en diferentes transacciones;

· controlador de recuperación: responsable de restaurar la base de datos en caso de fallas a un estado consistente;

· Controlador de búfer: responsable de transferir datos entre la RAM y el disco duro.

Muchos DBMS admiten la capacidad de implementar sus propios operadores en lenguajes de alto nivel (COBOL, Fortran, Pascal, Ada, C). Pero el DBMS admite 2 lenguajes especializados para desarrollar aplicaciones con una base de datos: DDL (DDL - Lenguaje de definición de datos) y DMD (Lenguaje de manipulación de datos). YaOD– un lenguaje descriptivo para definir el esquema lógico de una base de datos. Consta de un conjunto de declaraciones que definen el esquema de la base de datos. El resultado de compilar dichas descripciones (esquemas conceptuales y externos) es un conjunto de tablas almacenadas en un catálogo especial del sistema de base de datos. (Almacena metadatos). DDL no se utiliza para trabajar con datos. Para este fin se utiliza YaMD, que contiene un conjunto de operadores que realizan el procesamiento de datos: buscar, agregar, cambiar y eliminar. El soporte de MD nuclear es una de las funciones principales de un DBMS. Hay dos enfoques para implementar NMD: procesal y declarativo.

Al usar medicina nuclear procesal el usuario determina la secuencia de acciones que debe realizar para obtener el resultado deseado. Este enfoque es similar a cómo se implementan los lenguajes de programación procedimentales (Pascal, C, etc.). En este caso, YMD proporciona al usuario un conjunto de operadores sobre los datos. Este tipo incluye lenguajes basados ​​en álgebra relacional.

NMD declarativa le permite definir todos los requisitos para los datos resultantes utilizando un solo operador. En este caso, no es necesario conocer los detalles de la implementación interna de las estructuras de datos y las características de los algoritmos utilizados para recuperarlas. Este tipo incluye lenguajes basados ​​en cálculo relacional SQL y QBE. SQL(Lenguaje de consulta estructurado) se basa en cálculo relacional y es compatible con todos los DBMS relacionales. Se ha definido un estándar internacional para ello. QBE(Query By Ejemplo) es un lenguaje sencillo con una interfaz gráfica que permite a usuarios no profesionales formular una consulta (por ejemplo, en el DBMS de Access).

Los DBMS modernos también contienen un conjunto de herramientas que facilitan el desarrollo de aplicaciones de bases de datos: varios tipos de generadores:

  • formularios de pantalla: para crear plantillas de entrada de datos;
  • informes;
  • presentación gráfica de datos en forma de diagramas;
  • Aplicaciones para la creación de programas de procesamiento de datos.



Arriba