algebra relacional segundo parcial

15
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO LICENCIATURA EN INFORMATICA ADMINISTRATIVA UNIDAD DE APRENDIZAJE: BASE DE DATOS RELACIONAL REPORTE DE PRÁCTICA: INSTALACIÓN DE LA BASE DE DATOS DE ORACLE. PROFESOR: LIA. ELIZABETH EVANGELISTA NAVA PRESENTA: DANIEL MONROY VALDEZ LIA I9

Upload: danfd

Post on 07-Dec-2015

13 views

Category:

Documents


4 download

DESCRIPTION

tarea

TRANSCRIPT

Page 1: algebra relacional Segundo Parcial

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO

CENTRO UNIVERSITARIO UAEM ATLACOMULCO

LICENCIATURA EN INFORMATICA ADMINISTRATIVA

UNIDAD DE APRENDIZAJE:

BASE DE DATOS RELACIONAL

REPORTE DE PRÁCTICA:

INSTALACIÓN DE LA BASE DE

DATOS DE ORACLE.

PROFESOR:

LIA. ELIZABETH EVANGELISTA NAVA

PRESENTA:

DANIEL MONROY VALDEZ

LIA I9

SEMESTRE 7°

Octubre 2015

PROPÓSITO: el alumno conocerá las principales características del algebra relacional.

Page 2: algebra relacional Segundo Parcial

ALCANCES: investigación de algebra relacional.

REQUERIMIENTOS DE HW Y SW: Libreta de apuntes, libro, internet, cañón, computadora.

INTRODUCCIÓN: El Algebra relacional es un lenguaje de consulta procedural. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores.

ALGEBRA RELACIONAL.

El Algebra relacional es un lenguaje de consulta procedural. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores. Hay ocho operadores en el álgebra relacional que construyen relaciones y manipulan datos, estos son:

1. Selección 2. Proyección 3. Producto

4. Unión 5. Intersección 6. Diferencia

7. JOIN 8. División

Tabla 2-1 - Operadores del Algebra relacional

Las operaciones de proyección, producto, unión, diferencia, y selección son llamadas primitivas, puesto que las otras tres se pueden definir en términos de estas.

Se hace necesario en este punto incluir un modelo de datos de ejemplo en el cual trabajar para generar ejemplos de comandos y operadores. Para este efecto se incluye un modelo básico de administración de RadioTaxis. El Gráfico que se presenta a continuación representa el Modelo conceptual (Modelo Lógico) o Diagrama de Entidad-Relación

Operaciones relacionales:

Los operadores relacionales se utilizan para filtrar, cortar o combinar tablas.

Selección(Select)

Page 3: algebra relacional Segundo Parcial

Este operador se aplica a una relación R produciendo una nueva relación con un subconjunto de tuplas de R. Las tuplas de la relación resultante son las que satisfacen una condición C sobre algún atributo de R. Es decir selecciona filas (tuplas) de una tabla según un cierto criterio C. El criterio C es una expresión condicional, similar a las declaraciones del tipo “if”, es “booleana” esto quiere decir que para cada tupla de R toma el valor Verdad(true) o Falso(false).

Valores de atributos con “NULL” no cumplirán ninguna condición. Cada condición simple o cláusula C tiene el formato: <Atributo> <Comparador>

<Atributo o Constante del Dominio>}. donde, el campo Comparador es un operador lógico, que pueden ser {=,≥,>,<,≠,≤}.

o = : símbolo de igual que.o ≠: significa no igual a, en algunos libros este símbolo esta

representado por !=.o ≥: mayor que o igual a.o >: mayor que.o <: menor que.o ≤: menor que o igual a.

Los operadores lógicos que se utilizan, también llamados operadores relacionales, nos proporcionan un resultado a partir de que se cumpla o no una cierta condición. Son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa. Por ejemplo, 11>4 (once mayor que cuatro) es verdadera, se representa por el valor true del tipo básico boolean, en cambio, 11<4 (once menor que cuatro) es falsa se representa por el valor false.

Las cláusulas C pueden conectarse con otros operadores lógicos, que al igual que los anteriores que se usaban como comparador (entre atributos o atributo y constante), arrojan booleano (true o false) de resultado:

NOT: El operador NOT denota una salida verdadera si la entrada es falsa, y una salida falsa si la entrada es verdadera. Su notación en algebra es: ¬ C1.

AND: El operador AND denota una salida verdadera si y sólo si sus entradas son verdaderas. Si C1 se cumple y C2 también se cumple, la salida será verdadera. La notación en algebra de un AND es: C1 ∧ C2.

OR: El operador OR denota una salida verdadera si hay alguna de las entradas (o ambas) verdaderas. Si C1 y/o C2 es o son verdaderas, la expresión será verdadera. La notación en algebra de un OR es: C1 ∨ C2.

Notación en Álgebra Relacional

Para representar Select en álgebra relacional se utiliza la letra griega sigma σ. Por lo tanto, si utilizamos la notación σc R queremos decir que se aplica la condición C a cada tupla de

Page 4: algebra relacional Segundo Parcial

R. Si la condición es Verdad true, dicha tupla pertenecerá al resultado y si es Falsa false, dicha tupla no será seleccionada. El esquema de la relación resultante es el mismo esquema R, se muestran los atributos en el mismo orden que se usan en la tabla R.

Ejemplo 1Tabla Ingenieros

id123234345143nombreLeonTomasJoseJosefaedad39344525añosTrabajados1510211

Seleccionar las tuplas de la tabla Ingenieros que cumplan con tener una edad mayor a 30 años:

Respuesta

σedad>30Ingenieros

En la imagen se ve que selecciona solo las filas que cumplen con la condición que se pedía (tener una edad mayor a 30 años), la tupla de “Josefa” queda fuera de la selección por no cumplir la condición (pues 25 < 30). De esta forma la tabla queda:

Tabla Ingenieros

id123234345nombreLeonTomasJoseedad393445añosTrabajados151021

Ejemplo 2

Seleccionar de la tabla Ingenieros las personas que tienen más de 30 años y que lleven menos de 16 años trabajando:

Respuesta

σ (edad>30∧añosTrabajados<16) Ingenieros

Page 5: algebra relacional Segundo Parcial

Al tener el operador lógico AND se pide que cumplan dos condiciones simultáneamente. Primero que la edad sea mayor de 30 años, al igual que en el ejemplo anterior, la tupla de “Josefa” queda fuera de la selección. Luego de las tuplas que quedan se evalúa la segunda condición. En la imagen se aprecia, que solo se seleccionan las filas que no tengan X en alguna de las condiciones.

Así finalmente quedaría la tabla:

Tabla Ingenieros

id123234nombreLeonTomasedad3934añosTrabajados1510

Proyección (Project)

El operador Proyección se utiliza para producir una nueva relación desde R. Esta nueva relación contiene sólo algunos de los atributos de R, es decir, realiza la selección de algunas de las columnas de una tabla R.

Notación en Álgebra Relacional

Project en Álgebra Relacional se representa por la letra griega pi:

π(A1,...,An)R

El resultado es una relación seleccionando solo los atributos A1,...,An de la relación R. Si A1,...,An no incluye una llave (o clave), podrían producirse tuplas repetidas en el resultado, las cuales serán eliminadas.

Ejemplo 1Tabla Ingenieros

id123234345143nombreLeonTomasJoseJosefaedad39344525añosTrabajados1510211

Escoger columnas de id y nombre de la tabla de Ingenieros:

Respuesta

Page 6: algebra relacional Segundo Parcial

π(id,nombre)Ingenieros

La tabla finalmente queda como:

Tabla Ingenieros

id123234345143nombreLeonTomasJoseJosefa

Ejemplo 2

Seleccionar id y nombre de los Ingenieros que tienen más de 30 años.

Respuesta

π(id,nombre)(σedad>30Ingenieros)

Se aprecia que las tuplas que no cumplan con la condición de selección quedan fuera del resultado, luego se realiza un Project sobre las filas del resultado, separando solo las columnas que contienen los atributos id y nombre. Finalmente la tabla queda de la siguiente manera:

Tabla Ingenieros

id123234345nombreLeonTomasJose

Producto cartesiano (Cross-Product)

En teoría de conjuntos, el producto cartesiano de dos conjuntos es una operación que resulta en otro conjunto cuyos elementos son todos los pares ordenados que pueden formarse tomando el primer elemento del par del primer conjunto, y el segundo elemento del segundo conjunto. En el Álgebra Relacional se mantiene esta idea con la diferencia que R y S son relaciones, entonces los miembros de R y S son tuplas, que generalmente consisten de más de un componente, cuyo resultado de la vinculación de una tupla de R con una tupla de S es una tupla más larga, con un componente para cada uno de los componentes de las tuplas constituyentes. Es decir Cross-product define una relación que es la concatenación de cada una de las filas de la relación R con cada una de las filas de la relación S.

Page 7: algebra relacional Segundo Parcial

Notación en Álgebra Relacional

Para representar Cross-product en Álgebra Relacional se utiliza la siguiente terminología:

R×S

Por convención para la sentencia anterior, los componentes de R preceden a los componentes de S en el orden de atributos para el resultado, creando así una nueva relación con todas las combinaciones posibles de tuplas de R y S. El número de tuplas de la nueva relación resultante es la multiplicación de la cantidad de tuplas de R por la cantidad de tuplas que tenga S (producto de ambos). Si R y S tienen algunos atributos en común, entonces se debe inventar nuevos nombres para al menos uno de cada par de atributos idénticos. Para eliminar la ambigüedad de un atributo a, que se encuentra en R y S, se usa R.a para el atributo de R y S.a para el atributo de S.

Cabe mencionar que por notación que: R×S≠S×R

Ejemplo 1

Con las tablas dadas realice el Cross-product de R con S:

Page 8: algebra relacional Segundo Parcial

Con azul se resaltan las tuplas que provienen de R que preseden y se mezclan con las de S resaltadas en verde.

Con las tablas dadas realice el Cross-product de S con R:

Ejemplo 2

Dada las siguientes tablas:

Tabla Ingenieros

id123234143nombreLeonTomasJosefad#393425

Tabla Proyectos

proyectoACU0034USM7345duracion30060

Escriba la tabla resultante al realizar la siguiente operación:

Ingenieros×Proyectos

Respuesta

Page 9: algebra relacional Segundo Parcial

Ingenieros×Proyectos

id123123234234143143nombreLeonLeonTomasTomasJosefaJosefad#393934342525proyectoACU0034USM7345ACU0034USM7345ACU0034USM7345duracion300603006030060

NaturalJoin

Este operador se utiliza cuando se tiene la necesidad de unir relaciones vinculando sólo las tuplas que coinciden de alguna manera. NaturalJoin une sólo los pares de tuplas de R y S que sean comunes. Más precisamente una tupla r de R y una tupla s de S se emparejan correctamente si y sólo si r y s coinciden en cada uno de los valores de los atributos comunes, el resultado de la vinculación es una tupla, llamada joined tuple. Entonces, al realizar NaturalJoin se obtiene una relación con los atributos de ambas relaciones y se obtiene combinando las tuplas de ambas relaciones que tengan el mismo valor en los atributos comunes.

Notación en Álgebra Relacional

Para denotar NaturalJoin se utiliza la siguiente simbología: R⊳⊲S.

Equivalencia con operadores básicos

NaturalJoin puede ser escrito en términos de algunos operadores ya vistos, la equivalencia es la siguiente:

R⊳⊲S=πR.A1,...,R.An,S.A1,...,S.An(σR.A1=S.A1∧...∧R.An=S.An(R×S))

Método

1. Se realiza el producto cartesiano R×S .2. Se seleccionan aquellas filas del producto cartesiano para las que los atributos

comunes tengan el mismo valor.3. Se elimina del resultado una ocurrencia (columna) de cada uno de los atributos

comunes.

Ejemplo 1R

a14b25c36

S

c763d524

Page 10: algebra relacional Segundo Parcial

Con las tablas dadas realice el NaturalJoin de R y S:

El atributo que tienen en común R y S es el atributo c, entonces las tuplas se unen donde c tiene el mismo valor en R y S

R⊳⊲S

a14b25c36d42

Ejemplo 2

Realizar NaturalJoin a las siguientes tablas:

Tabla Ingenieros

id123234143090nombreLeonTomasJosefaMariad#39342534

Tabla Proyectos

d#3934proyectoACU0034USM7345

Respuesta

Ingenieros⊳⊲Proyectos

id123234090nombreLeonTomasMariad#393434proyectoACU0034USM7345USM7345

ThetaJoin

Define una relación que contiene las tuplas que satisfacen el predicado C en el Cross-Product de R×S. Conecta relaciones cuando los valores de determinadas columnas tienen una interrelación específica. La condición C es de la forma R.ai <operador_de_comparación> S.bi, esta condición es del mismo tipo que se utiliza Select . El predicado no tiene por que definirse sobre atributos comunes. El término “join” suele referirse a ThetaJoin.

Notación en Álgebra Relacional

Page 11: algebra relacional Segundo Parcial

La notación de ThetaJoin es el mismo símbolo que se utiliza para NaturalJoin, la diferencia radica en que ThetaJoin lleva el predicado C:

R⊳⊲CS

C = <Atributo> <Comparador> <Atributo o Constante del Dominio> Donde: <Comparador> ∈{=,≥,>,<,≠,≤}

Equivalencia con operadores básicos

Al igual NaturalJoin, ThetaJoin puede ser escrito en función de los operadores vistos anteriormente:

R⊳⊲CS=σF(R×S)

Método

1. Se forma el producto cartesiano R×S .2. Se selecciona, en el producto, solo la tupla que cumplan la condición C.

Ejemplo 1R

a132b323c595d714

S

a1132c5593e2927

Escriba la tabla resultante al realizar la siguiente operación:

R⊳⊲(a>=e)S

Respuesta

Page 12: algebra relacional Segundo Parcial

Se compara el atributo a de la primera fila de R con cada uno de los valores del atributo e de la tabla S. En este caso ninguna de las comparaciones devuelve el valor verdadero (true).

Luego se compara el atributo a de la segunda fila de R con cada uno de los valores del atributo e de la tabla S. En este caso 2 comparaciones devuelven el valor verdadero (true), por lo que en la relación de resultado quedará la segunda fila de R mezclada con la primera y tercera fila de S.

De igual forma ahora se compara el valor de a de la tercera tupla de R, nuevamente 2 tuplas de S cumplen con la condición.

CONCLUSIÓN:

El álgebra relacional nos permite insertar mediante comandos, una modificación a nuestras tablas, Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores.

REFERENCIAS:

Castaño Miguel. Concepción y Diseño de Bases de Datos del Modelo e/r al

Modelo Relacional. Madrid Ra-ma D.L. 1993.

Castaño Miguel. Concepción y Diseño de Bases de Datos del Modelo e/r al

Modelo Relacional. Madrid Ra-ma D.L. 1993.