You are on page 1of 15

INSTITUTO POLITCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS

ALGEBRA RELACIONAL
SISTEMAS MANEJADORES DE BASES DE DATOS

Santana Reyes Juan De Dios


5CM1

INTRODUCCIN

Un lenguaje de consulta es un lenguaje con el que el usuario solicita informacin de la base de datos: se construye una expresin que contesta interrogantes sobre la instancia actual de la base. En este tema se estudiar la cuestin de las consultas desde una perspectiva abstracta, presentando los principales operadores estndar que se han definido en el Modelo Relacional Se ver un lenguaje puro que es rgido y formal, pero que ilustra las tcnicas fundamentales para la extraccin de la informacin: el Algebra Relacional.

ALGEBRA RELACIONAL

Conceptos Bsicos Una Base de Datos Relacional muestra las tablas en forma de filas y columnas

Dominio. Es el conjunto de todos los valores permitidos que una columna puede tomar. Se tiene D1,D2,...,Dn, si tenemos n columnas.

Producto cartesiano. De lo anterior se tiene v1D1,v2D2, ... , vnDn, porque cada elemento est en el dominio respectivo. En matemticas podemos decir que la tupla es un elemento del producto cartesiano de los dominios: (v1,v2,....,vn)(D1xD2x.....xDn) =Xi=1,n(Di)

Tupla. Cada una de las filas de una tabla se compone de n elementos (V1,V2,..,Vn). En matemticas este conjunto ordenado de elementos se llama tupla.

Relacin. Es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente disjuntos Es por esto que en el lgebra relacional se denomina relacin a una tabla y tupla a una fila de tabla.

Smbolos del lenguaje Los smbolos bsicos del lenguaje son: Smbolos de puntuacin: parntesis "(", ")" y coma ",". Smbolos de variables: se representan mediante letras minsculas del final del alfabeto: r, s, t, u, v, w, x, y, z. Smbolos de constantes: se representan mediante letras minsculas del principio del alfabeto: a, b, c, d, e. Smbolos de funciones: tambin se representan con letras minsculas, pero del centro del alfabeto: f, g, h, i Smbolos de predicados: se representan mediante letras maysculas. Operadores lgicos: (negacin), (implicacin), (conjuncin) y (disyuncin). Cuantificadores: (cuantificador universal) y (cuantificador existencial). La jerarqua en la precedencia de los operadores y cuantificadores es (de mayor a menor): 1) , , 2) 3) 4) Dicha precedencia se puede alterar utilizando los parntesis. Los operadores y y el cuantificador se introducen en el lenguaje por conveniencia, ya que en realidad no son necesarios pues: F G ( F )G x(F) x(F) FG ( FG )

Operaciones del Algebra Relacional Las operaciones de lgebra relacional manipulan relaciones. Esto significa que estas operaciones usan uno o dos relaciones existentes para crear una nueva relacin. Esta nueva relacin puede entonces usarse como entrada para una nueva operacin. El lgebra relacional consta de nueve operaciones: Unin La operacin de unin permite combinar datos de varias relaciones. Supongamos que una determinada empresa internacional posee una tabla de empleados para cada uno de los pases en los que opera. Para conseguir un listado completo de todos los empleados de la empresa tenemos que realizar una unin de todas las tablas de empleados de todos los pases. No siempre es posible realizar consultas de unin entre varias tablas, para poder realizar esta operacin es necesario e imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean iguales. Ejemplo: Teniendo dos relaciones R y S, RS, es el conjunto de tuplas que pertenecen a R, a S o a ambas. R y S deben tener esquemas con conjuntos idnticos de atributos. Operacin con unin:

Interseccin La operacin de interseccin permite identificar filas que son comunes en dos relaciones Al igual que la operacin Unin, para poder realizar esta operacin es necesario e imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean iguales. Equivalencia RS ( R ( R S) ) Operacin con interseccin:

Diferencia La operacin diferencia permite identificar filas que estn en una relacin y no en otra. Tomando como referencia el caso anterior, deberamos aplicar una diferencia entre la tabla R y la tabla S para saber aquellas personas que no estn en las dos tablas. La diferencia de dos relaciones R y S, R S, es el conjunto de tuplas de R que no pertenecen a S. R y S deben tener esquemas con conjuntos idnticos de atributos. Operacin con diferencia:

Producto La operacin producto consiste en la realizacin de un producto cartesiano entre dos tablas dando como resultado todas las posibles combinaciones entre los registros de la primera y los registros de la segunda. Esta operacin se entiende mejor con el siguiente ejemplo: Sean R y S dos relaciones de grado m y n, respectivamente. El producto cartesiano, RxS, es una relacin de grado m + n formada por todas las posibles tuplas en las que los m primeros elementos constituyen una tupla de R y los n ltimos una tupla de S. Operacin con producto cartesiano:

Seleccin Por medio de esta operacin se posibilita la seleccin de un subconjunto de tuplas de una relacin que corresponden a una condicin (columnaOPERADORvalor) determinada. El grado (total de columnas de la Relacin), se conserva Formato de Uso: (condicin) (RELACION) F(R) Esta operacin es la que normalmente se conoce como consulta. En este tipo de consulta se emplean los diferentes operadores de comparacin (=,>, <, >=, <=, <>) Y los operadores lgicos: (and),(or), (not) Entonces, la seleccin, F(R), es el conjunto de tuplas t de R tales que, cuando para todo i sustituimos el isimo componente de t por la ocurrencia correspondiente en F, la frmula es verdadera.

Proyeccin Una proyeccin es una seleccin en la que seleccionamos aquellos campos que deseamos recuperar. Tomando como referencia el caso de la operacin seleccin es posible que lo nico que nos interese recuperar sea el nmero de seguro social, omitiendo as los campos telfono, direccin, etc.. Este ltimo caso, en el que seleccionamos los campos que deseamos, es una proyeccin. Formato de Uso: <lista de atributos>(Relacin) Ejemplos: La proyeccin, X(R), donde R es una relacin definida sobre el conjunto de atributos T y X T, es una relacin constituida por las columnas de R correspondientes a los atributos de X. (x)(R)

Reunin La reunin se utiliza para recuperar datos a travs de varias tablas conectadas unas con otras mediante clusulas JOIN. La operacin reunin se puede combinar con las operaciones seleccin y proyeccin. Ejemplo: La unin de R y S, donde se refiere a una condicin arbitraria sobre los atributos de R y S, que representaremos por C, R|><|C S, se construye como: Se forma el producto cartesiano R y S Se selecciona, en el producto, solo la tupla que cumplan la condicin C

Divisin Operacin del lgebra relacional que crea una nueva relacin, seleccionando las filas en una relacin que se corresponden con todas las filas en otra relacin. Sean R y S relaciones de grado r y s, respectivamente, donde r > s y S. Entonces, el cociente, RS, es el conjunto de tuplas t de grado (rs), tales que para toda tupla u de S, la tupla (t, u) esta en R. En trminos de operaciones bsicas: RS
1,2,...,rs

(R)

1,2,...,rs

((

1,2,...,rs

(R) S) R)

Renombrar Dada la relacin R, el renombrado de R a S, S(R), es una relacin que tiene exactamente las mismas tuplas y los mismos atributos que R, slo que el nombre de la relacin es S.

10

Structured Query Language (SQL) Estructura del lenguaje La estructura del lenguaje SQL contiene un limitado nmero de verbos o palabras clave, distribuidos en tres grandes grupos funcionales: DDL Data Definition Language (lenguaje de descripcin de datos) DML Data Manipulation Language (lenguaje de manipulacin de datos) DCL Data Control Language (lenguaje de control de datos) DDL: Permite la descripcin de la estructura de la BD (tablas, vistas, ndices,...) DML: Permite el manejo de las tablas y las vistas mediante sus cuatro verbos, correspondientes a las cuatro operaciones fundamentales sobre los datos. DCL: Contiene los operadores para la gestin de transacciones (COMMIT y ROLLBACK) y prioridades de acceso a los datos (GRANT y REVOKE) Los comandos ms importantes son:

Consulta de datos con SQL El DQL Data Query Language (lenguaje de consulta de datos) forma parte del lenguaje DML de SQL. El nico comando que pertenece a este lenguaje es el verstil comando SELECT. Este comando permite: Obtener datos de ciertas columnas de una tabla (proyeccin) Obtener registros (filas) de una tabla de acuerdo con ciertos criterios (seleccin) Mezclar datos de tablas diferentes (union, join) Realizar clculos sobre los datos Agrupar datos

11

Sintaxis del select

Relacin con el Algebra Relacional

El comando SELECT permite implementar de forma exacta todas las consultas del lgebra relacional.

La proyeccin () se implementa as: nombre, apellido(Cliente)

La proyeccin en SQL se escribe como:

SELECT nombre, apellido FROM Cliente;

La seleccin () se implementa usando la clausula WHERE. Por ejemplo:

nombre=Pepe edad > 25(Cliente)

12

En SQL se escribira as:

SELECT * FROM Cliente WHERE nombre='Pepe and edad > 25

En la clusula WHERE se pueden utilizar los siguientes operadores de comparacin

>, <, >=, <=, =, <>

Y los operadores lgicos AND, OR, NOT

13

Conclusin El modelo de datos relacional se basa en un conjunto de tablas. El usuario del sistema de bases de datos puede consultar esas tablas, insertar nuevas tuplas, borrar tuplas y actualizar (modificar) las tuplas. Hay varios lenguajes para expresar estas operaciones. El lgebra relacional define un conjunto de operaciones algebraicas que operan sobre tablas y devuelven tablas como resultado. Estas operaciones se pueden combinar para obtener expresiones que expresan las consultas deseadas. El lgebra define las operaciones bsicas usadas en los lenguajes de consulta relacionales. SQL incluye varias constructoras del lenguaje para las consultas sobre la base de datos. Todas las operaciones del lgebra relacional se pueden expresar en SQL. SQL tambin permite la ordenacin de los resultados de una consulta en trminos de los atributos

14

You might also like