Saltar la navegación

1.4. Lenguajes de bases de datos

Los sistemas de bases de datos proporcionan un lenguaje de definición de datos para especificar el esquema de la base de datos y un lenguaje de manipulación de datos para expresar las consultas y las modificaciones de la base de datos. En la práctica, los lenguajes de definición y manipulación de datos no son dos lenguajes diferentes; en cambio, simplemente forman parte de un único lenguaje de bases de datos, como puede ser el muy usado SQL.

  • Lenguaje de definición de datos (LDD o DDL en inglés). Mediante este lenguaje se define la estructura de almacenamiento y los métodos de acceso usados por el SGBD. Los valores de los datos almacenados en la base de datos deben satisfacer ciertas restricciones de integridad y consistencia.
  • Lenguaje de manipulación de datos (LMD o DML en inglés). Este lenguaje permite al usuario tener acceso a los datos organizados mediante el modelo de datos correspondiente o manipularlos.

Las restricciones de integridad se especifican en el esquema de la base de datos y se deben cumplir en cualquier extensión del mismo. El responsable de que esto sea así es el sistema de gestión de bases de datos que debe velar en todo momento por la integridad de la información almacenada.

En el Modelo Relacional se contemplan cuatro tipos de restricciones:

  • restricción de unicidad: cada campo contiene un sólo valor
  • restricción de valor no nulo: no se permiten campos vacíos
  • restricción de clave primaria: cada registro contiene una clave primaria única en toda la tabla
  • restricción de integridad referencial: cada registro de una tabla A debe tener un registro asociado en la tabla B y viceversa

Lenguaje de definición de datos

La estructura de almacenamiento y los métodos de acceso usados por el sistema de bases de datos se especifican mediante un conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de almacenamiento y definición de datos. Estas instrucciones definen los detalles de implementación de los esquemas de las bases de datos, que suelen ocultarse a los usuarios. Los valores de los datos almacenados en la base de datos deben satisfacer ciertas restricciones de consistencia e integridad:

  • Restricciones de dominio. Se debe asociar un dominio de valores posibles a cada atributo (por ejemplo, tipos enteros, tipos de carácter, tipos fecha/hora). La declaración de un atributo como parte de un dominio concreto actúa como restricción de los valores que puede adoptar. Las restricciones de dominio son la forma más elemental de restricción de integridad. El sistema las comprueba fácilmente siempre que se introduce un nuevo elemento de datos en la base de datos.
  • Integridad referencial. Hay casos en los que se desea asegurar que un valor que aparece en una relación para un conjunto de atributos dado aparece también para un determinado conjunto de atributos en otra relación (integridad referencial). Las modificaciones de la base de datos pueden causar violaciones de la integridad referencial. Cuando se viola una restricción de integridad, el procedimiento normal es rechazar la acción que ha causado esa violación.
  • Asertos. Un aserto es cualquier condición que la base de datos debe satisfacer siempre. Las restricciones de dominio y las restricciones de integridad referencial son formas especiales de asertos. No obstante, hay muchas restricciones que no pueden expresarse empleando únicamente
    esas formas especiales. Por ejemplo: “Cada préstamo tiene como mínimo un cliente tenedor de una cuenta con un saldo mínimo de 1.000,00 e” debe expresarse en forma de aserto. Cuando se crea un aserto, el sistema comprueba su validez. Si el aserto es válido, cualquier modificación futura de la base de datos se permite únicamente si no hace que se viole ese aserto.
  • Autorización. Puede que se desee diferenciar entre los usuarios en cuanto al tipo de acceso que se les permite a diferentes valores de los datos de la base de datos. Estas diferenciaciones se expresan en términos de autorización, cuyas modalidades más frecuentes son:
    • autorización de lectura, que permite la lectura pero no la modificación de los datos;
    • autorización de inserción, que permite la inserción de datos nuevos, pero no la modificación de los datos ya existentes;
    • autorización de actualización, que permite la modificación, pero no la eliminación, de los datos;
    • autorización de eliminación, que permite la eliminación de datos. A cada usuario se le pueden asignar todos, ninguno o una combinación de estos tipos de autorización.

Lenguaje de manipulación de datos o Lenguaje de consultas

Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios tener acceso a los datos organizados mediante el modelo de datos correspondiente o manipularlos. Los tipos de acceso son:

  • La inserción de información nueva en la base de datos (INSERT).
  • El borrado de la información de la base de datos (DELETE).
  • La recuperación de la información almacenada en la base de datos (SELECT).
  • La modificación de la información almacenada en la base de datos (UPDATE).

Hay fundamentalmente dos tipos:

  • Los LMDs procedimentales necesitan que el usuario especifique qué datos se necesitan y cómo obtener esos datos.
  • Los LMDs declarativos (también conocidos como LMDs no procedimentales) necesitan que el usuario especifique qué datos se necesitan sin que haga falta que especifique cómo obtener esos datos.