lenguajes formales

28
Fundamentos de bases de datos Equipo 3 América Nayelli Ramírez Elicerio Johana Martínez sayra Erick pulido Ángel Delgadillo Manuel Gutiérrez Jesús Eduardo Ibarra INSTITUTO TECNOLOGICO SUPERIOR DE LERDO

Upload: laloflatland

Post on 08-Jul-2015

4.240 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Lenguajes formales

Fundamentos de bases de datos

Equipo 3 América Nayelli Ramírez Elicerio Johana Martínez sayra Erick pulido Ángel Delgadillo Manuel Gutiérrez Jesús Eduardo Ibarra

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO

Page 2: Lenguajes formales

Existen varios lenguajes de consultas “puros”: el álgebra relacional es procedimental, mientras que el cálculo relacional de tuplas y el cálculo relacional de dominios no lo son.

Page 3: Lenguajes formales

Estos lenguajes de consultas son rígidos y formales, y carecen del “azúcar sintáctico” de los lenguajes comerciales, pero ilustran las técnicas fundamentales para la extracción de datos de las bases de datos.

Page 4: Lenguajes formales

El álgebra relacional consiste en un conjunto de operaciones que tornan una o dos relaciones corno entrada y generan otra relación nueva como resultado.

Page 5: Lenguajes formales

Selección

Proyección

Unión

diferencia de conjuntos

producto cartesiano

Page 6: Lenguajes formales

intersección de conjuntos

Page 7: Lenguajes formales

división

Page 8: Lenguajes formales

Menú de asignación del alumnado

Page 9: Lenguajes formales

Existen cinco operaciones fundamentales que a continuación se detallaran, por medio de estas se puede realizar cualquier consulta.

Page 10: Lenguajes formales

Es una operación unaria (actúa sobre una relación única). Sirve para obtener determinadas duplas de una relación, basándose en que dichas duplas cumplan un predicado determinado P.

Su sintaxis es la siguiente:

donde r es la relación sobre la que se actúa y P es el predicado que debe cumplirse.

Page 11: Lenguajes formales

Si por ejemplo tenemos la relación:

estudiante = (NE, nombre, edad, dirección) y queremos seleccionar al estudiante 2249 tendremos que hacer:

Page 12: Lenguajes formales

El predicado de selección admite los siguientes operadores relacionales:

Además un predicado puede estar compuesto por varias condiciones unidas por los conectivos

Page 13: Lenguajes formales

De esta manera se seleccionarían todos los estudiantes llamados Pepe y cuya edad supere los 25 años.

Page 14: Lenguajes formales

Es también una operación unaria. Proyecta una nueva relación con un nuevo esquema en el cual aparezcan solamente los atributos que se especifican en la operación. Sintaxis:

Donde A1 ,...., An es la lista de atributos y "r" la relación sobre la que se actúa.

Page 15: Lenguajes formales

Si, por ejemplo, queremos tener toda la relación de estudiantes, pero sólo con el nombre haríamos:

Si quisiésemos obtener el nombre del estudiante 224:

Page 16: Lenguajes formales

Si el número de tuplas de r1 es n1, y el número de tuplasde r2 es n2, el número de tuplas de la relación obtenida será n1·n2.

Page 17: Lenguajes formales

Supongamos que tenemos las siguientes relaciones:

Page 18: Lenguajes formales

Si realizamos el producto cliente x préstamo, el esquema sería la unión de los esquemas:

Page 19: Lenguajes formales

Como tuplas obtenemos las posibles combinaciones de tuplas de cliente con tuplas de préstamo.

Habrá muchas tuplas de la nueva relación en las que se cumplirá que:

Page 20: Lenguajes formales

Por ello, normalmente la operación de producto cartesiano va unida a una selección que de entre todas las posibles combinaciones de tuplas selecciona las que cumplen unas condiciones.

Page 21: Lenguajes formales

queremos localizar los clientes y las ciudades donde viven que tengan un préstamo.

Page 22: Lenguajes formales

Actúa sobre dos relaciones uniéndolas. El resultado es, por tanto, una nueva relación con el mismo esquema que las relaciones implicadas y con un número de tuplas que es la unión de las tuplas de r1 y r2 (los elementos duplicados se desechan).

r1 y r2 deben tener el mismo esquema, es decir, los dominios de los atributos i-ésimos de cada uno de los esquemas debe coincidir.

Page 23: Lenguajes formales

En el ejemplo que estamos considerando, no podríamos hacer la unión de cliente con préstamo, pero sí sería posible hacer esto otro por ejemplo:

Page 24: Lenguajes formales

Con la anterior operación obtendríamos los nombres de los clientes que tienen préstamo o no.

En la práctica esta sería una operación inútil, puesto que se supone que todos los que tienen un préstamo en un banco son automáticamente clientes del banco.

Page 25: Lenguajes formales

si queremos conocer los clientes que tienen en la sucursal 2 una cuenta, un préstamo, o ambas cosas, la operación a realizar sería:

Page 26: Lenguajes formales

Es una operación binaria que da como resultado una relación con los elementos que están en r1, y no están en r2. Lógicamente r1 y r2 deben tener el mismo esquema.

Page 27: Lenguajes formales

si por ejemplo queremos saber el nombre de los clientes que tienen un préstamo en la sucursal principal, pero que no tienen cuenta en dicha sucursal:

Page 28: Lenguajes formales

Con las cinco operaciones definidas (operaciones fundamentales) se puede realizar cualquier consulta en álgebra relacional. Aun así, existen otras operaciones (operaciones adicionales), que facilitan algunos tipos de consulta frecuente, y que puede resultar muy tedioso el hacerlas mediante las operaciones fundamentales.