Lenguajes para la definición y manipulación de datos en bases relacionales

Documento de Universidad sobre Lenguajes para la definición y manipulación de datos en sistemas de bases de relacionales. El Pdf explora los lenguajes LDD y LMD, analizando SQL, QBE y Quel, con foco en la estructura, restricciones de integridad y control de transacciones en SQL, útil para Informática.

Ver más

8 páginas

Tema 39: Lenguajes para la definición y manipulación de datos en
sistemas de bases de relacionales. Tipos. Características. Lenguaje SQL
Contenido
0. Introducción .............................................................................................................. 1
1. Lenguajes para la definición y manipulación de datos ................................................. 1
1.1. Lenguajes para la definición de datos ................................................................... 2
1.2. Lenguajes para la manipulación de datos ............................................................. 2
2. Lenguajes relacionales ............................................................................................... 2
2.1. QBE (Query by example) ....................................................................................... 3
2.2. Quel .................................................................................................................... 3
2.3. Lenguaje SQL ...................................................................................................... 3
2.3.1. Lenguaje interactivo de manipulación de datos .................................................. 4
2.3.2. Lenguaje de definición de datos ........................................................................ 6
2.3.3. Control de transacciones .................................................................................. 7
3. Conclusiones ............................................................................................................. 8
4. Bibliografía ................................................................................................................. 8
0. Introducción
Las bases de datos requieren herramientas para definir su estructura y gestionar la
información almacenada. La definición de datos permite establecer los elementos que
integran la base de datos, sus relaciones y restricciones de integridad, mientras que la
manipulación de datos facilita la consulta y actualización de la información. Para ello,
existen lenguajes específicos, como el Lenguaje de Definición de Datos (LDD) y el
Lenguaje de Manipulación de Datos (LMD).
En el ámbito relacional, estos lenguajes pueden expresarse mediante el álgebra y cálculo
relacional, aunque los sistemas comerciales requieren herramientas más accesibles.
Entre ellas destacan SQL, el estándar más utilizado, así como QBE y Quel, que también
han tenido influencia en el desarrollo de bases de datos comerciales.
1. Lenguajes para la definición y manipulación de datos
Los sistemas de bases de datos utilizan dos tipos de lenguajes: uno para definir el esquema
y otro para gestionar consultas y actualizaciones. La definición del esquema se realiza a
través del Lenguaje de Definición de Datos (LDD o DDL, en inglés), que permite
especificar la estructura de almacenamiento y los métodos de acceso. Dentro del LDD,
existe un tipo especial denominado lenguaje de almacenamiento y definición de datos,
encargado de detallar la implementación del esquema en el sistema. Por otro lado, la
manipulación de datos, que abarca la recuperación, inserción, eliminación y modificación
de la información, se lleva a cabo mediante el Lenguaje de Manipulación de Datos (LMD
o DML, en inglés).
1.1. Lenguajes para la definición de datos
La definición de datos se realiza en distintos niveles. A nivel interno, se especifica el
espacio de almacenamiento y la representación de los datos. En niveles superiores, se
definen entidades, atributos, relaciones, vistas y autorizaciones de acceso. Para ello, se
usa el Lenguaje de Definición de Datos (LDD o DDL, en inglés), que establece la
estructura lógica, restricciones de integridad y vistas de usuario. Su compilación genera un
diccionario de datos, que almacena metadatos y se consulta antes de acceder o
modificar la información.
1.2. Lenguajes para la manipulación de datos
La manipulación de datos sigue los tres niveles de abstracción. A nivel físico, se diseñan
algoritmos para un acceso eficiente, mientras que en niveles superiores se prioriza la
facilidad de uso y la interacción con el sistema.
El Lenguaje de Manipulación de Datos (LMD o DML, en inglés) permite acceder y
modificar los datos según el modelo de datos utilizado. Existen dos tipos:
LMD procedimentales: El usuario indica qué datos necesita y cómo obtenerlos.
LMD no procedimentales: Solo se especifican los datos requeridos, sin indicar el
método para obtenerlos.
2. Lenguajes relacionales
Los sistemas comerciales de bases de datos relacionales combinan elementos de
lenguajes procedimentales y no procedimentales, basándose en lenguajes formales más
rígidos y estructurados. Entre estos se encuentran:
Álgebra relacional: Lenguaje procedimental que opera con relaciones, generando
nuevas relaciones como resultado.
Cálculo relacional de tuplas y cálculo relacional de dominios: Lenguajes no
procedimentales que describen la información deseada sin especificar cómo
obtenerla.
El álgebra relacional proporciona operaciones explícitas para construir relaciones,
mientras que el cálculo relacional se enfoca en describirlas sin indicar procedimientos
específicos. Aunque presentan enfoques distintos, ambos son equivalentes, ya que cada
expresión en álgebra tiene una correspondencia en cálculo y viceversa.
En los sistemas comerciales, los lenguajes relacionales se basan en estas dos
aproximaciones. El más influyente es SQL (Structured Query Language), que se estudia
en profundidad. Otros lenguajes relevantes incluyen QBE (Query by Example), basado en
el cálculo relacional de dominios, y Quel, basado en el cálculo relacional de tuplas. Estos
lenguajes han influido en el desarrollo de sistemas comerciales y, al igual que SQL,
permiten definir estructuras de datos, modificar información y establecer restricciones de
seguridad.

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Introducción a los Lenguajes de Bases de Datos

Las bases de datos requieren herramientas para definir su estructura y gestionar la información almacenada. La definición de datos permite establecer los elementos que integran la base de datos, sus relaciones y restricciones de integridad, mientras que la manipulación de datos facilita la consulta y actualización de la información. Para ello, existen lenguajes específicos, como el Lenguaje de Definición de Datos (LDD) y el Lenguaje de Manipulación de Datos (LMD).

En el ámbito relacional, estos lenguajes pueden expresarse mediante el álgebra y cálculo relacional, aunque los sistemas comerciales requieren herramientas más accesibles. Entre ellas destacan SQL, el estándar más utilizado, así como QBE y Quel, que también han tenido influencia en el desarrollo de bases de datos comerciales.

Lenguajes para la Definición y Manipulación de Datos

Los sistemas de bases de datos utilizan dos tipos de lenguajes: uno para definir el esquema y otro para gestionar consultas y actualizaciones. La definición del esquema se realiza a través del Lenguaje de Definición de Datos (LDD o DDL, en inglés), que permite especificar la estructura de almacenamiento y los métodos de acceso. Dentro del LDD, existe un tipo especial denominado lenguaje de almacenamiento y definición de datos, encargado de detallar la implementación del esquema en el sistema. Por otro lado, la manipulación de datos, que abarca la recuperación, inserción, eliminación y modificaciónde la información, se lleva a cabo mediante el Lenguaje de Manipulación de Datos (LMD o DML, en inglés).

Lenguajes para la Definición de Datos

La definición de datos se realiza en distintos niveles. A nivel interno, se especifica el espacio de almacenamiento y la representación de los datos. En niveles superiores, se definen entidades, atributos, relaciones, vistas y autorizaciones de acceso. Para ello, se usa el Lenguaje de Definición de Datos (LDD o DDL, en inglés), que establece la estructura lógica, restricciones de integridad y vistas de usuario. Su compilación genera un diccionario de datos, que almacena metadatos y se consulta antes de acceder o modificar la información.

Lenguajes para la Manipulación de Datos

La manipulación de datos sigue los tres niveles de abstracción. A nivel físico, se diseñan algoritmos para un acceso eficiente, mientras que en niveles superiores se prioriza la facilidad de uso y la interacción con el sistema.

El Lenguaje de Manipulación de Datos (LMD o DML, en inglés) permite acceder y modificar los datos según el modelo de datos utilizado. Existen dos tipos:

  • LMD procedimentales: El usuario indica que datos necesita y cómo obtenerlos.
  • LMD no procedimentales: Solo se especifican los datos requeridos, sin indicar el método para obtenerlos.

Lenguajes Relacionales

Los sistemas comerciales de bases de datos relacionales combinan elementos de lenguajes procedimentales y no procedimentales, basándose en lenguajes formales más rígidos y estructurados. Entre estos se encuentran:

  • Álgebra relacional: Lenguaje procedimental que opera con relaciones, generando nuevas relaciones como resultado.
  • Cálculo relacional de tuplas y cálculo relacional de dominios: Lenguajes no procedimentales que describen la información deseada sin especificar cómo obtenerla.

El álgebra relacional proporciona operaciones explícitas para construir relaciones, mientras que el cálculo relacional se enfoca en describirlas sin indicar procedimientos específicos. Aunque presentan enfoques distintos, ambos son equivalentes, ya que cada expresión en álgebra tiene una correspondencia en cálculo y viceversa.

En los sistemas comerciales, los lenguajes relacionales se basan en estas dos aproximaciones. El más influyente es SQL (Structured Query Language), que se estudia en profundidad. Otros lenguajes relevantes incluyen QBE (Query by Example), basado en el cálculo relacional de dominios, y Quel, basado en el cálculo relacional de tuplas. Estos lenguajes han influido en el desarrollo de sistemas comerciales y, al igual que SQL, permiten definir estructuras de datos, modificar información y establecer restricciones de seguridad.

QBE (Query by Example)

QBE es tanto un lenguaje de manipulación de datos como un sistema de base de datos desarrollado por IBM en los años 70. Actualmente, algunos sistemas para ordenadores personales incluyen variantes de este lenguaje.

Sus dos características principales son:

  1. Sintaxis bidimensional: A diferencia de los lenguajes unidimensionales, QBE representa las consultas en forma de tablas.
  2. Expresión mediante ejemplos: En lugar de un procedimiento, el usuario proporciona un ejemplo de los datos deseados, y el sistema lo generaliza para obtener la consulta.

A pesar de su enfoque particular, QBE es equivalente al cálculo relacional de dominios. Las consultas se realizan a través de esqueletos de tablas, donde el usuario rellena filas con constantes y variables de dominio. En QBE, las variables de dominio llevan un guion bajo (_) como prefijo, mientras que las constantes se escriben sin comillas, a diferencia de otros lenguajes.

Quel

Quel fue el lenguaje de consultas del sistema de base de datos Ingres, desarrollado en la Universidad de California en Berkeley. Su estructura se basa en el cálculo relacional de tuplas, y sus consultas se construyen con tres cláusulas principales:

  • range of: Declara una variable tupla y la asocia a una relación.
  • retrieve: Similar a la cláusula SELECT en SQL, recupera los datos deseados.
  • where: Define el predicado de selección para filtrar los resultados.

Las consultas en Quel siguen la sintaxis:

range of t1 is r1 range of t2 is r2 retrieve (t1.A1, t2.A2, ... ) where P

donde t.A representa el valor del atributo A de una tupla t.

A diferencia de SQL, Quel no admite operaciones del álgebra relacional como intersección, unión y diferencia, ni permite subconsultas anidadas. Aunque estas limitaciones no afectan su poder expresivo, pueden hacer que algunas consultas sean más complejas de formular.

Lenguaje SQL

El Structured Query Language (SQL) es el lenguaje estándar para la gestión de bases de datos relacionales. Su funcionalidad abarca tanto la manipulación de datos como la definición de estructuras y restricciones, además de proporcionar mecanismos para el control de transacciones.

  • La manipulación de datos permite consultar, insertar, modificar y eliminar información mediante el Lenguaje de Manipulación de Datos (LMD/DML).
  • La definición de datos establece la estructura de las bases de datos, restricciones de integridad y permisos mediante el Lenguaje de Definición de Datos (LDD/DDL).
  • El control de transacciones gestiona la consistencia y durabilidad de los cambios realizados, asegurando que las operaciones se ejecuten de forma confiable.

Desde su creación, SQL ha evolucionado considerablemente, desarrollando diferentes estándares para garantizar la interoperabilidad entre distintos sistemas. Versiones como SQL-92, SQL-99 y SQL-2016 han introducido mejoras significativas, incluyendo el soporte para bases de datos distribuidas, la integración con lenguajes de programación, la capacidad de manejar grandes volúmenes de datos y la optimización de consultas complejas.

Las bases de datos modernas utilizan motores SQL avanzados que incluyen optimizadores de consultas, ejecución paralela y técnicas de indexación avanzadas para mejorar el rendimiento. Además, la integración de SQL con Big Data y NoSQL ha permitido ampliar su uso en entornos de análisis de datos y computación en la nube.

Lenguaje Interactivo de Manipulación de Datos SQL

El Lenguaje de Manipulación de Datos (LMD) en SQL permite realizar consultas y modificaciones sobre la información almacenada en una base de datos relacional. Se basa en el álgebra relacional, proporcionando operaciones para recuperar, insertar, actualizar y eliminar datos.

Estructura Básica de una Consulta SQL

Las consultas en SQL se estructuran en tres cláusulas principales:

  • SELECT: Especifica los atributos que se desean obtener en el resultado.
  • FROM: Indica las tablas que participan en la consulta.
  • WHERE: Define condiciones de filtrado sobre los datos seleccionados.

Si WHERE se omite, se devuelven todas las filas de las tablas indicadas en FROM. SQL ejecuta la consulta formando el producto cartesiano de las tablas en FROM, aplicando luego los filtros de WHERE y finalmente seleccionando los atributos indicados en SELECT.

Cláusulas de Selección y Filtrado SQL

SQL permite eliminar duplicados en los resultados con DISTINCT o mantenerlos con ALL. También permite seleccionar todos los atributos con *. Se pueden utilizar expresiones aritméticas y funciones sobre los atributos seleccionados.

En WHERE, se pueden definir condiciones con operadores de comparación (=, <, >, <= , >=, <>), operadores lógicos (AND, OR, NOT) y operadores especiales como BETWEEN para rangos, LIKE para patrones de texto y IN para listas de valores.

Ordenación y Manipulación de Cadenas SQL

Para ordenar los resultados, se usa ORDER BY, que por defecto ordena de manera ascendente (ASC), aunque se puede cambiar a descendente (DESC). SQL también permite operaciones sobre cadenas con funciones como concatenación, conversión de mayúsculas/minúsculas y extracción de subcadenas.

Operaciones sobre Conjuntos SQL

SQL soporta operaciones de conjuntos basadas en el álgebra relacional:

  • UNION: Combina resultados de dos consultas, eliminando duplicados (se usa UNION ALL para conservarlos).
  • INTERSECT: Devuelve solo los valores comunes entre ambas consultas.
  • EXCEPT: Devuelve los valores de la primera consulta que no aparecen en la segunda.

Funciones de Agregación y Agrupamiento SQL

Las funciones de agregación permiten operar sobre un conjunto de valores:

  • AVG, SUM: Cálculo de promedios y sumas.
  • MIN, MAX: Valores mínimo y máximo.
  • COUNT: Cuenta el número de filas devueltas.

Se pueden agrupar datos con GROUP BY y aplicar filtros sobre los grupos con HAVING, lo que permite realizar cálculos sobre subconjuntos de datos.

Subconsultas Anidadas SQL

SQL permite realizar subconsultas dentro de consultas, lo que facilita la verificación de pertenencia a conjuntos (IN, NOT IN), comparación de valores (SOME, ALL), comprobación de existencia (EXISTS, NOT EXISTS) y verificación de duplicados (UNIQUE, NOT UNIQUE).

Reunión de Relaciones (JOINs) en SQL

Las consultas pueden combinar datos de múltiples tablas usando diferentes tipos de JOIN:

  • INNER JOIN: Devuelve solo las coincidencias entre las tablas.
  • LEFT OUTER JOIN: Incluye todas las filas de la tabla izquierda y las coincidencias de la derecha; las filas sin coincidencia se rellenan con NULL.
  • RIGHT OUTER JOIN: Similar, pero priorizando la tabla derecha.
  • FULL OUTER JOIN: Devuelve todas las filas de ambas tablas, rellenando con NULL donde no haya coincidencias.
  • CROSS JOIN: Realiza el producto cartesiano entre dos tablas.

Modificación de Datos SQL

SQL permite modificar datos mediante:

  • INSERT INTO: Inserta nuevas filas en una tabla.
  • DELETE FROM: Elimina filas según una condición (si no se especifica WHERE, borra toda la tabla).
  • UPDATE: Modifica los valores de las filas seleccionadas según una condición.

Las modificaciones pueden combinarse con subconsultas para insertar o actualizar datos dinámicamente.

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.