Sunteți pe pagina 1din 9

ALGEBRA RELACIONAL

Carlos Mauricio Espinoza Fajardo, ngel Oswaldo Puzhi Sicha, Paul Ignacio Vidal Mogrovejo, Daro Javier Espinoza
Alvarado
Universidad Politcnica Salesiana
cespinozaf@est.ups.edu.ec, apuzhi@est.ups.edu.ec, pvidalm@est.ups.edu.ec, despinozaa1@est.ups.edu.ec
Abstract-This paper aims to deepen the knowledge of Relational Algebra, Functions of Aggregation and Modification of Database,
relating it to prior learning in class, also implemented this by using diagrams E / R, tables and SQL queries.
TrminosAlgebra Relacional, Funciones de Agregacin, Funciones de Modificacin.
Objetivos:
Objetivo General
Aprender sobre las operaciones del algebra relacional enfocndonos en las operaciones ms importantes, sus formas
de uso y aplicaciones, adems de la realizacin de diagramas E/R y consultas SQL, que nos servirn de base para el
correcto desarrollo de Bases de Datos, siendo esta una de las herramientas ms importantes dentro de la carrera de
ingeniera en sistemas.

Objetivos Especficos
Mejorar las habilidades para la generacin de diagramas entidad relacin, relacionales y archivos ddl.
Aprender el uso de los operadores del algebra relacional y del algebra relacional extendida.
Conocer que son y cuales son las funciones de agregacin y modificacin de una base de datos.
Obtener el conocimiento necesario para la realizacin de consultas SQL.

I. INTRODUCCIN
Este trabajo trata del Algebra relacional y Algebra relacional extendida, sus principales operadores y funcionamiento de cada uno
de estos, adems de las Funciones de Agregacin y Modificacin de Bases de Datos, que se complementan a las anteriores,
siendo cada una de estas explicada y detallada mediante el uso de ejemplos y grficos (tablas, diagramas y consultas) para su
mejor comprensin.

II. OPERADORES DEL LGEBRA RELACIONAL
TABLAS DE EJEMPLO

GENERO_PASILLOS
arti_id arti_nombre arti_pais
7 Juan Fernando Velasco Ecuador
12 Julio Jaramillo Ecuador
21 Fonceca Colombia
GENERO_BALADAS
arti_id arti_nombre arti_pais
7 Juan Fernando Velasco Ecuador
14 Sin Bandera Mexico
40 Franco de Vita Venezuela
3 Luis Fonsi Puerto Rico



Seleccin
La operacin seleccin consiste en recuperar un conjunto de registros (tuplas o filas) de una tabla o una relacin, indicando las
condiciones que deben cumplir los registros recuperados, de tal forma que los registros devueltos por la seleccin han de satisfacer
todas las condiciones que se hayan establecido. Ha esta operacin es a la que normalmente se la llama consulta. Para su
representacin se usa la letra minscula sigma () [1].

()
()
Donde T es el nombre de la tabla. Cabe recalcar que en el campo de condicin, puede estar una o ms condiciones con las cuales
queramos realizar la consulta.
Ejemplo: Obtener los datos, si es que existe, en la tabla Cliente de Daniel Espinoza.
Para realizar esta operacin usamos una comparacin, en este caso compararemos el nombre a buscar en la columna cli_nombre.
Entonces nuestra sentencia quedara de la siguiente forma.

( )
()
Entonces la tupla a mostrar ser:

2 0105976076 DANIEL ESPINOZA

O en tal caso que queramos buscar un cliente desde el nmero de la cedula, en el campo de sentencia ubicaremos: cli_ci=
0105976076, en el campo de tabla ubicaremos el nombre de la tabla CLIENTES. Y obtendremos la misma tupla del ejemplo
anterior

Proyeccin
Nos permite extraer columnas o atributos especficos de una relacin, dando como resultado un subconjunto vertical de atributos
de relacin o tabla. La proyeccin se seala con la letra pi mayscula () [2].

()
()
Donde T es el nombre de la tabla. En el campo de condicin podemos especificar una o mas condiciones, estas condiciones no son
mas que el nombre de la columna de la que queremos obtener el subconjunto de datos.
Ejemplo: Generar todos los nombres de los clientes.
Para realizar esta operacin, en el campo de condicin escribiremos el nombre de las columnas que queramos que aparezcan, pero
en este caso solo es una y es el caso de la columna cli_nombre. La sentencia quedara:

()
()
El nuevo subconjunto quedara as:
cli_nombre
JUAN JARA
DANIEL ESPINOZA
DANIEL VIDAL
PEDRO ESTRADA
RICARDO FIGUEROA
JUAN RODAS
JUAN PELAEZ
MARIA TELLO
LAURA TELLO
LAURA FAJARDO

En el caso que queramos visualizar dos columnas escribiremos as:

( )
()
El nuevo subconjunto quedara:
cli_ci cli_nombre
0102155519 JUAN JARA
0105976076 DANIEL ESPINOZA
0565976032 DANIEL VIDAL
0814976052 PEDRO ESTRADA
0813197052 RICARDO FIGUEROA
2456197052 JUAN RODAS
0105664387 JUAN PELAEZ
0105669853 MARIA TELLO
0103423519 LAURA TELLO
0809423519 LAURA FAJARDO
Unin
Es una operacin binaria. La operacin unin, es la unin de dos relaciones R y S que definen una relacin que contienen todas la
tuplas de R, de S, o tanto como, de R como de S. Cabe recalcar que se eliminaran la tuplas repetidas y tambin debemos saber que
ambas tablas deben ser compatible (cuando el nmero de columnas son las misas, ambas estn sobre el mismo dominio y ambas
coinciden en el tipo de dato). [3]

()
(

)
()
(

)

Ejemplo: Se va a realizar la unin entre las tablas GENERO_PASILLOS con la tabla GENERO_BALADAS. Donde vemos que
se elimina la tupla repetida que es el artista Juan Fernando Velasco y solo queda una.

() ()

arti_id arti_nombre arti_pais
7 Juan Fernando Velasco Ecuador
12 Julio Jaramillo Ecuador
21 Fonceca Colombia
14 Sin Bandera Mexico
40 Franco de Vita Venezuela
3 Luis Fonsi Puerto Rico

Diferencia de conjuntos
Es operacin de a partir de dos relaciones se obtiene una nueva relacin formada por las tuplas que estn en la primera relacin
pero no en la segunda. La diferencia entre las relaciones R y S se denota como R-S o tambin S-R [4]. Para poder realizar la
diferencia entre dos relaciones se necesita que estas sean compatibles. Notacin:

Ejemplo 1: Se realizara R-S con las tablas GENERO_PASILLOS con GENERO_BALADAS.

arti_id arti_nombre arti_pais
12 Julio Jaramillo Ecuador
21 Fonceca Colombia

Ejemplo 2 : Se realizara S-R con las mismas tablas del ejemplo 1.

arti_id arti_nombre arti_pais
14 Sin Bandera Mexico
40 Franco de Vita Venezuela
3 Luis Fonsi Puerto Rico

Producto cartesiano
Son todas las concatenaciones posibles de las tuplas de una tabla R con las filas de una tabla S. El producto cartesiano se denota
como: [5]. En el caso que las tuplas de R sean igual a 4 y las tuplas de S sean iguales a 3, esto quiere decir que al realizar
el producto cartesiano obtendremos 12 tuplas.
EJEMPLO: Realizar el producto cartesiano entre las entidades CLIENTES y CANCIONES, para mayor comodidad se utilizaran
solo las tres primeras filas de cada tabla.


Renombramiento
Esta operacin que se representa mediante la letra griega rho minscula (). Tiene como finalidad cambiar el nombre de una
relacin y/o los atributos para de esta manera poder utilizar un nombre distinto en una operacin en la que tenemos que referirnos
a esa misma relacin [6]. La sintaxis es la siguiente.

()
(

()

Ejemplo: Vamos a cambiar el nombre a la tabla CLIENTES por q y a los atributos cli_id por A, cli_ci por B y cli_nombre por C.
La sentencia seria:

(
()



La operacin asignacin
Sirve para escribir una expresin del algebra relacional por partes, utilizando la asignacin a una variable temporal. La evaluacin
de una asignacin no hace que se muestre ninguna relacin al usuario, sino el resultado de la expresin a la derecha de se
asigna a la variable de la izquierda de , esta variable puede usarse en expresiones posteriores. La operacin asignacin es
denotada por , acta de manera parecida a la asignacin de leguajes de programacin secuenciales, cuyo valor se muestra como
resultado de la consulta [7]. Ejemplo de sintaxis.



La proyeccin generalizada
Es una operacin que ampla las posibilidades de la proyeccin original permitiendo la inclusin de funciones de atributos en la
lista de proyeccin [8].

)
()

Ejemplo: Se utilizara la tabla a continuacin para realizar la operacin aritmtica, la resta en este caso para obtener el subtotal sin
IVA, entre la dos columnas finales(cacion_iva , cancin_pecio_total).
La tabla original es:

PRECIO_CANCIONES
cancion_id cancion_nombre cancion_iva cancion_percio_total
50 Camisa Negra 0,34 0,75
21 Te amare 0,23 0,8
3 Narcicista por excelencia 0,12 0,99
45 Give me every to night 0,15 0,5
7 Hangover 0,34 0,7

La notacin en algebra relacional seria:

(() )
()

La nueva tabla generada ser:

PRECIO_CANCIONES
cancion_id cancion_nombre subtotal
50 Camisa Negra 0,41
21 Te amare 0,57
3 Narcicista por excelencia 0,87
45 Give me every to night 0,35
7 Hangover 0,36

III. FUNCIONES DE AGREGACIN

Introduccin
Las funciones de agregacin se usan en la clusula SELECT y en la HAVING, como , y realizan operaciones que devuelven un
nico valor de un grupo de registros determinados.

Funcin Descripcin
SUM Devuelve la suma de todos los valores de un campo determinado.
COUNT Devuelve el nmero de registros de la seleccin
MIN Devuelve el valor ms bajo del campo especificado.
MAX Devuelve el valor ms alto del campo especificado.
DISTANCT elimina las filas duplicadas de los resultados de una instrucci SELECT
MAX Devuelve el valor ms alto del campo especificado.
COUNT-
DISTINCT
Pueden utilizarse juntos en una instruccin para determinar el nmero de las distintas
entradas en una tabla

Funcin SUM()
La funcin SUM() calcula la suma de una columna de valores de datos. Los datos de la columna deben tener un tipo numrico
(entero o coma flotante). El resultado de la funcin SUM() tiene el mismo tipo de dato bsico que los datos de la columna, pero el
resultado puede tener una precisin superior. Veamos algunos ejemplos que utilizan la funcin SUM()

SELECT SUM(fact_mont_final), FROM FAC ;




La funcin COUNT()
La funcin COUNT() cuenta el nmero de valores de datos que hay en una columna. Los datos de la columna pueden ser de
cualquier tipo. La funcin COUNT() devuelve siempre un entero, independientemente del tipo de datos de la columna.

SELECT COUNT(cli_nombre) FROM CLIENTES;





Las funciones MIN() y MAX()
Las funciones MIN() y MAX() determinan los valores menor y mayor de una columna, respectivamente. Los datos de la columna
pueden contener informacin numrica, de cadena o devfecha/hora. El resultado de la funcin MIN() y MAX() tiene exactamente
el mismo tipo de dato que los datos de la columna. Veamos algunos

Sentencia.(MAX)
SELECT MAX (fact_mont_final) FROM FAC;

Sentencia (MIN)
SELECT MIN (fact_mont_final) FROM FAC;

















La sentencia SELECT DISTINCT
Dentro de una tabla, algunas columnas pueden contener valores duplicados. Esto no es un problema, algunas veces tu querras
listar solo los valores diferentes (distintos) en la tabla.
La palabra DISTINCT puede ser usada como llave para regresar solo los valores distintos (diferentes).

SELECT DISTINCT nombre_columna(s) FROM nombre_table

SELECT DISTINCT fact_mont_final FROM FAC
















COUNT-DISTINCT
COUNT(DISTINCT nombre_columna) retorna el nmero de valores distintos a la columna especificada.

SELECT COUNT(DISTINCT nombre_columna) FROM nombre_tabla;
SELECT COUNT(DISTINCT fact_mont_final) FROM FAC;







IV. MODIFICACIN DE LA BASE DE DATOS
Insercin
El comando que permite insertar filas en las tablas es el siguiente.
INSERT INTO tabla [({columna,}
*
)] VALUES ({expresin,}
+
);
Slo especificaremos las columnas donde insertar y su orden cuando no insertemos datos en todas ellas o no lo hagamos en el
mismo orden en que definimos la tabla. La asociacin columna-valor es posicional. Los valores deben cumplir con los tipos de
datos definidos. Los valores de tipo carcter y fecha deben ir encerrados entre comillas simples, ('').

ARTISTAS
PK
arti_id art_nombre
1 shakira
2 pitbull
3 juanes

INSERT INTO artistas (arti_id , art_nombre) VALUES (4,'luis fonsi');

ARTISTAS
PK
arti_id art_nombre
1 shakira
2 pitbull
3 juanes
4 luis fonsi
Actualizacin
Otra de las operaciones ms comunes es la modificacin de la informacin almacenada en las tablas. Para ello se utiliza el
comando UPDATE cuya sintaxis se muestra a continuacin.

UPDATE tabla SET {columna = expresin,}
+
[WHERE condicin];

Se especificar en la clusula SET las columnas que se actualizarn y con qu valores. La clusula WHERE indica las filas con las
que se va a trabajar. Si se omite la actualizacin afectar a todas las filas de la tabla.

CLIENTES
PK
cli_id cli_ci cli_nombre
1 0102155519 JUAN
2 0105976076 DANIEL ESPINOZA
3 0565976032 DANIEL VIDAL
4 0814976052 PEDRO ESTRADA
5 0813197052 RICARDO FIGUEROA
6 2456197052 JUAN RODAS
7 0105664387 JUAN PELAEZ
8 0105669853 MARIA TELLO
9 0103423519 LAURA TELLO
10 0809423519 LAURA FAJARDO

UPDATE CLIENTES SET CLIE_NOMBRE='JUAN JARA' WHERE CLIE_ID=1;

CLIENTES
PK
cli_id cli_ci cli_nombre
1 0102155519 JUAN JARA
2 0105976076
DANIEL
ESPINOZA
3 0565976032 DANIEL VIDAL
4 0814976052 PEDRO ESTRADA
5 0813197052 RICARDO
FIGUEROA
6 2456197052 JUAN RODAS
7 0105664387 JUAN PELAEZ
8 0105669853 MARIA TELLO
9 0103423519 LAURA TELLO
10 0809423519 LAURA FAJARDO
Borrado
Con insertar y modificar, la otra operacin que completa el trio es la de borrado de filas. La sintaxis es la que sigue:

DELETE FROM tabla [WHERE condicin];

Borrar todas las filas que cumplan la condicin especificada en la clusula WHERE. Si esta clusula no se fija, se borrarn todas
las filas de la tabla. Aqu cabe decir que aunque con DELETE borremos todas las filas de una tabla, no borramos la definicin de
la tabla del diccionario y podemos insertar datos posteriormente en la tabla. Esta es una diferencia con la sentencia DROP
TABLE, que produce la eliminacin tanto del contenido de la tabla como de la definicin de la misma.

CANCIONES
PK FK
canc_id canc_nombre ALBUNES_ album_id
1 Loba 1
2 Enero 2
3 Give me everithig 3
4 Blanco 4
5 International love 4
6 Camisa negra 5
7 Yerbatero 5
8 A dios le pido 6
9 Para tu amor 6
10 Imaginame sin ti 7
11 Yo no me doy por vencido 8
12 Tu amor 9
13 Rakata 10
14 Yo te quiero 10
15 Wistle 11

DELETE FROM CANCIONES where canc_id=11;
CANCIONES
PK FK
canc_id canc_nombre ALBUNES_ album_id
1 Loba 1
2 Enero 2
3 Give me everithig 3
4 Blanco 4
5 International love 4
6 Camisa negra 5
7 Yerbatero 5
8 A dios le pido 6
9 Para tu amor 6
10 Imaginame sin ti 7
12 Tu amor 9
13 Rakata 10
14 Yo te quiero 10
15 Wistle 11
V. CONCLUSIONES Y RECOMENDACIONES
Es importante que nosotros sepamos muy bien el manejo de los operadores del algebra relacional su sintaxis, su manejo y sus
funciones para que el trabajo sea ms gil y eficaz. Tener en cuenta mucho las condiciones que se tiene para poder realizar
algunos operadores


REFERENCES

[1] Pgina: http://www.sni.gob.ec/web/guest/servicios-wms Sistema Nacional de Informacin.
[2] Pgina: http://idea.ambiente.gob.ec/ Pgina oficial de IDEA
[3] Pgina: http://geoportal.magap.gob.ec/ Pgina oficial de MAGAP Geoportal
[4] Artculo: INFRAESTRUCTURA DE DATOS ESPACIALES (IDE) PARA EL ESTUDIO Y ANLISIS AMBIENTAL,
Vctor H. Gonzlez , Fernando Oate Valdivieso
[5] Pgina: http://suite.opengeo.org/docs/latest/geoexplorer/ Pgina de GeoExplorer
[6] Pgina:

S-ar putea să vă placă și