Sei sulla pagina 1di 3

Informe 3.

Algebra de Conjuntos en PostgreSQL


Modelo de Datos para SIG.

RESUMEN

En este informe tratara sobre el algebra de conjuntos Una vez exportadas


aplicada a consultas SQL, sobre el motor de bases de nuestras tablas a la base
datos postgresql todas las consultas fueron optimizadas de datos verificamos su
para este, se trabajo con información geográfica de un existencia.
ejemplo del curso anterior llamado “Salón de Clases”.

INTRODUCCIÓN
Ya con nuestra información preparada en la base de
Para la realización de esta practica de algebra de datos procedemos a conocer un poco acerca del
conjuntos contamos con el siguiente modelo de datos. algebra de conjuntos.

El algebra de conjuntos define las operaciones, reglas


y propiedades que podemos aplicar a los conjuntos.

Operaciones Básicas:
Unión: : La unión de 2 conjuntos A y B es
el conjunto de todos los elementos que pertenecen a
A, a B o a ambos.
Intersección: : La intersección de 2
conjuntos A y B es el conjunto de todos los
elementos que pertenecen tanto a A como a B.
Complemento: : Es el conjunto formado por
les elementos que no pertenecen a A:

Diferencia: : La diferencia de A y B, es
el conjunto de todos los elementos de A que no
pertenecen a su vez a B.

Algunas Propiedades:

Idempotencia:
De igual forma cada una de las coberturas digitalizadas
previamente en ArcGis fueron exportadas a nuestra
base de datos mediante le herramienta shp2pgsql.
Asociativa:
shp2pgsql pcsalon pcsalon > pcsalon.sql
shp2pgsql salon salon > salon.sql
shp2pgsql sillassalon sillassalon > sillassalon.sql
Conmutativa:
shp2pgsql airessalon airessalon > airessalon.sql
shp2pgsql mesassalon mesassalon > mesassalon.sql
shp2pgsql usuariossalon usuariossalon >usuariossalon.sql

Fabio Andres Herrera – 0227022 /3740 - fherrera@parquesoft.com


Distributiva: Una de las grandes ventajas del modelo relacional es
que define también un álgebra, llamada "álgebra
relacional". Todas las manipulaciones posibles sobre
las relaciones se obtienen gracias a la combinación de
tan sólo cinco operadores: RESTRICT, PROJECT,
Leyes de Identidad:
TIMES, UNION y MINUS. Por comodidad, se han
definido también tres operadores adicionales que de
todos modos se pueden obtener aplicando los cinco
Conjunto Vació: fundamentales: JOIN, INTERSECT y DIVIDE. Los
operadores relacionales reciben como argumento una
relación o un conjunto de relaciones y restituyen una
Complementariedad: única relación como resultado.

Joins (Cruces)

Para cruzar tres tablas USUARIOSSALON,


SILLASSALON y PCSALON a través de sus atributos
Involutiva:
comunes, formularemos la siguiente instrucción:

select s.gid as ID_GEOGRAFICO , u.usuarios as USUARIOS ,


Ley de Morgan:
p.marca as MARCA_PC
from usuariossalon as u , sillassalon as s, pcsalon as p
where u.id = s.gid and p.id = u.id ;

de donde obtendremos la siguiente tabla como


resultado:
ALGEBRA RELACIONAL EN BASES DE DATOS
RELACIONALES id_geografico|usuarios|marca_pc
-------------+--------+--------
1 | Joanna Chamorro | dell
Las bases de datos relacionales son el tipo de bases de
2 | Jonny Cuaran | dell
datos actualmente más difundido. Los motivos de este 3 | Alex Quevedo | dell
éxito son fundamentalmente dos: 4 | Andres Herrera | dell
5 | Norma Montoya | dell
1. Ofrecen sistemas simples y eficaces para representar 6 | Alex PortoCarro | dell
y manipular los datos.
Otra forma de hacer joins.
2. Se basan en un modelo, el relacional, con sólidas
bases teóricas. select u.usuarios
p.marca from usuariossalon as u INNER JOIN
El modelo relacional fue propuesto originariamente por pcsalon as p ON (u.id = p.id);
E.F. Codd en un ya famoso artículo de 1970. Gracias a
su coherencia y facilidad de uso, el modelo se ha de donde obtendremos la siguiente tabla como
convertido en los años 80 en el más usado para la resultado:
producción de DBMS.
La estructura fundamental del modelo relacional es usuarios |marca
precisamente esa, "relación", es decir una tabla -----------------+------
bidimensional constituida por líneas (tuple) y columnas Joanna Chamor |dell
(atributos). Las relaciones representan las entidades Jonny Cuaran |dell
que se consideran interesantes en la base de datos. Alex Quevedo |dell
Cada instancia de la entidad encontrará sitio en una Andres Herrera |dell
tupla de la relación, mientras que los atributos de la Norma Montoy |dell
relación representarán las propiedades de la entidad.
Una relación es sólo la definición de la estructura de la
tabla, es decir su nombre y la lista de los atributos que
la componen. Cuando se puebla con las tuplas, se habla
de "instancia de relación".

Fabio Andres Herrera – 0227022 /3740 - fherrera@parquesoft.com


Except
Múltiples Joins
select u.id as ID_USUARIO, u.usuarios as
select s.gid as ID_GEOGRAFICO , u.usuarios as USUARIOS, NOMBRE_USUARIO , u.edad as EDAD
p.marca as MARCA_PC from usuariossalon as u
from usuariossalon as u where u.coorte = '02' and u.edad < 22
JOIN pcsalon as p ON (u.id = p.id) EXCEPT
JOIN sillassalon as s ON (u.id = s.gid); select u.id as ID_USUARIO, u.usuarios as
NOMBRE_USUARIO , u.edad as EDAD
De donde obtendremos la siguiente tabla como from usuariossalon as u
where u.sexo = 'M';
resultado y corresponde a la misma salidad que
habiamos realizado en el primer ejemplo.
De donde obtendremos la siguiente tabla como
id_geografico|usuarios|marca_pc resultado:
-------------+--------+--------
1 | Joanna Chamorro | dell id_usuario|nombre_usuario|edad
2 | Jonny Cuaran | dell -----------+-------------------+----
3 | Alex Quevedo | dell
1 |Joanna Chamorro |21
4 | Andres Herrera | dell
5 | Norma Montoya | dell
6 | Alex PortoCarro | dell
CONCLUSIONES

Union Mediante esta practica, usamos criterios del algebra


de conjuntos para realizar consultas mediante SQL,
select u.id as ID_USUARIO, u.usuarios as
sobre una base de datos PostgreSQL, se
NOMBRE_USUARIO
from usuariossalon as u ejemplificaron las operaciones básicas, en base a
where u.usuarios = 'Andres Herrera' estas se pueden realizar consultas muy complejas y
UNION aplicarlas a nuestros sistemas.
select u.id as ID_USUARIO, u.usuarios as
NOMBRE_USUARIO
from usuariossalon as u BIBLIOGRAFIA
where u.usuarios = 'Jonny Cuaran';
pgAdmin III , Modulo de Ayuda , 2007.
De donde obtendremos la siguiente tabla como Algebra de Conjuntos,
resultado: http://www.hrc.es/inves_unidadbio.htm,2007.
id_usuario|nombre_usuario
Teoría de Conjuntos
----------+--------------
2 |Jonny Cuaran
http://es.wikipedia.org/w/index.php?title=Teori
4 | Andres Herrera ADa_de_conjuntos,2007.

Subconsultas SQL
Intersects http://www.portalfox.com/,2007.

select u.id as ID_USUARIO, u.usuarios as Lenguje SQL.


NOMBRE_USUARIO , u.edad as EDAD http://www.wikilearning.com/,2007.
from usuariossalon as u
where u.coorte = '02' and u.edad < 22
INTERSECT ________________________________________
select u.id as ID_USUARIO, u.usuarios as FABIO ANDRES HERRERA ROZO.
NOMBRE_USUARIO , u.edad as EDAD fherrera@parquesoft.com
from usuariossalon as u Cod. 0227022 – 3740
where u.sexo = 'M';
Modelo de Datos Para SIG – 720145M
Ing. CARLOS ANDRES OSORIO
De donde obtendremos la siguiente tabla como Facultad de Ingeniería Civil y Geomatica.
resultado: Universidad del Valle – Santiago de Cali.
Marzo 23 de 2007.
id_usuario|nombre_usuario|edad
-----------+-----------------+----
El contenido de este informe esta publicado bajo una
2 |Jonny Cuaran |20
licencia Creative Commons.
3 |Alex Quevedo |21
4 |Andres Herrera |21
15 |Joselito |21

Fabio Andres Herrera – 0227022 /3740 - fherrera@parquesoft.com

Potrebbero piacerti anche