caratula.png

CÁLCULO RELACIONAL

DEFINICIÓN

El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre una Base de datos sin especificar cómo obtenerla, a diferencia del Álgebra relacional que es de tipo procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos resultados.

La diferencia fundamental entre un lenguaje algebraico y un lenguaje predicativo (denominado así porque utiliza el cálculo de predicados para la formulación de consultas), es que en el primero hay que especificar qué operadores se tienen que aplicar a las relaciones para obtener un resultado, mientras que en el segundo sólo es preciso indicar el resultado que se quiere obtener.

VARIABLES Y CONSTANTES

Variables de una consulta

Condición de una consulta

  1. Una fórmula atómica.

a) R(t), donde R es un esquema relacional, y t es una variable de tupla

b) t1 . A op t2 . B o bien t1 . A op c donde… t1 y t2 son variables de tupla A y B  son atributos, c es una constante op es un operador de comparación: =, , ³, ¹ /* Se puede ampliar… */

  1. Operadores and, or, not aplicados a fórmulas.
  2. , aplicada a fórmulas.

Variables en una consulta

En una condición sólo pueden aparecer dos tipos de variables:

Resultado de una consulta

El “resultado” de una consulta en cálculo relacional es un conjunto de tuplas w Cuyos atributos son la unión de los atributos de todas las variables de tupla, más los atributos indicados directamente.

TIPOS

CÁLCULO ORIENTADO A LA TUPLA

Tiene las siguientes consideraciones:

Consulta {T | p(T)} p(T): es una fórmula en la que aparece la variable de tupla variable T  Respuesta: conjunto de todas las tuplas T que hacen verdadera la fórmula p(T)

Fórmula:

CÁLCULO ORIENTADO AL DOMINIO

En el cálculo relacional orientado a dominios existen variables de dominios en lugar de variables de tupla, las variables de dominio se definen sobre un dominio, tomando en cada momento un valor de éste.

El ejemplo más característico del cálculo relacional orientado a dominios es el lenguaje QBE (Query by Example).

OPTIMIZACIÓN DE CONSULTAS

Para expresar una consulta en un lenguaje de alto nivel, como SQL, normalmente se siguen los siguientes pasos:

Lo siguiente que debe hacer el SGBD es crear una estrategia de ejecución para obtener el resultado de la consulta a partir de los archivos internos. El proceso de elegir la alternativa más adecuada para procesar una consulta se denomina: Optimización de Consultas.

SQL.

SQL usa una construcción del álgebra relacional y de cálculo relacional.Existen numerosas versiones de SQL. La versión original fue desarrollada en el San José Research Laboratory de IBM (ahora el Almaden Research Center). Este lenguaje, originalmente llamado Sequel, fue implementado como parte del proyecto del Sistema R en los primeros años de la década de los setenta. El lenguaje Sequel ha evolucionado desde entonces, y su nombre a cambiado al SQL (Structured Query Languaje (Lenguaje de Consulta Estructurado)).En 1986, el American Nacional Standard Institute (ANSI) publicó un SQL estándar. SQL se ha establecido como el lenguaje de base de datos relacional estándar.

El lenguaje SQL tiene varias partes:

Lenguaje de Definición de Datos (DDL)

Un esquema de base de datos se especifica por medio de un conjunto de definiciones que se expresan mediante un lenguaje especial llamado lenguaje de definición de datos (DDL).El conjunto de relaciones en una base de datos debe ser especificado al sistema por medio de un lenguaje de definición de datos (DDL).El SQL DDL permite la especificación no solo de un conjunto de relaciones, sino también información sobre cada relación incluyendo:

Lenguaje de Manipulación de Datos (DML)

Este lenguaje permite el manejo de las tablas y las vistas mediante sus cuatro verbos, correspondientes a las cuatro operaciones fundamentales sobre los datos.

Por manipulación de datos queremos decir:

Un lenguaje de manipulación de datos (Data Manipulation Language (DML)) es un lenguaje que capacita a los usuarios a acceder o manipular datos según estén organizados por el modelo de datos adecuado.

Lenguaje de Control de Datos (DCL)Contiene los operadores para la gestión de transacciones (COMMIT y ROLLBACK) y prioridades de acceso a los datos (GRANT y REVOKE).Una transacción es un conjunto de operaciones que van a ser tratadas como una única unidad. Estas transacciones deben cumplir 4 propiedades fundamentales comúnmente conocidas como ACID (atomicidad, coherencia, asilamiento y durabilidad).Para más información puedes revisar este documento sobre SQL, que contiene información sobre SQL y sus tres tipos de lenguajes de datos.

Otros Lenguajes de Bases de Datos

Existe un gran número de lenguajes que nos permiten el manejo de las bases de datos, en esta ocasión listaremos los más populares, con sus respectivos links para saber más.

EJEMPLOS

Profesores(cod-p, nomb, categoria, facultad) Asignaturas(cod-a, nombre, creditos) Matricula(cod-e, cod-a, grupo, calificación) Programación (cod-a, cod-p, cod-s ,grupo, horario, aula) Estudiante(cod-e, nombre, sexo, programa, promedio)

Selección y Proyección

        {e |e ∈Estudiante ∧ e.promedio > 4}

{p | p∈ Profesor ∧ p.facultad=“ingenieria” ∧ p.categoría = (“titular” ∨ “asociado”)}

Joins

{a | a∈Asignatura ∧

    ∃c(c∈Programación ∧ c.cod-a=a.cod-a

   ∧ ∃p (p ∈Profesor ∧

        p.nombre = “Pedro Pérez” ∧

       p.cod-p= c.cod-p)}

RESUMEN

CÁLCULO RELACIONAL

Características: 

SUMMARY

RELATIONAL CALCULUS

Characteristics:

RECOMENDACIONES

La Base de Datos en una empresa u otra entidad es la parte principal que sirve para dar mejoras en el sistema, ordenarlos, clasificarlos, etc, gracias a este proceso que ofrece una Base de Datos la entidad cambia su futuro y ayuda a sus usuarios.

CONCLUSIÓN

Conjunto de operaciones matemáticas definidas en la cual sus operadores son relaciones(instancias) o variables que representan relaciones. Sus operadores están diseñados para hacer tareas más comunes que se necesitan para especificar formalmente consultas a bases de datos relacionales.

APRECIACIÓN PERSONAL

Durante cada Desarrollo de la práctica de laboratorio, siempre trato de realizar cada práctica de la mejor forma teniendo como meta cumplir los objetivos que se traza cada desarrollo de la guia, por lo que trato de esforzarme para comprender, aplicar los conocimientos en el mundo real.

GLOSARIO DE TÉRMINOS

BIBLIOGRAFÍA O LINKOGRAFÍA