Base de Datos - Clase 9 - SQL DML Proyecciones y Restricciones Joins Fun Agregadas

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 25

SQL, STRUCTURED QUERY LANGUAGE

DATOS RELACCIONALES-ALGEBRA RELACIONAL

Las operaciones de álgebra relacional manipulan relaciones. Esto


significa que estas operaciones usan uno o dos relaciones existentes
para crear una nueva relación. Esta nueva relación puede entonces
usarse como entrada para una nueva operación. Este poderoso concepto
- la creación de una nueva relación a partir de relaciones existentes
hace considerablemente más fácil la solución de las consultas, debido a
que se puede experimentar con soluciones parciales hasta encontrar la
proposición con la que se trabajará.
ÁLGEBRA RELACIONAL
Hay varios operadores en el AR que construyen
relaciones y manipulan datos:
 Operaciones unarias:
Selección (ó Restricción)
Proyección
 Operaciones de conjuntos:
Unión
Diferencia
Intersección
Producto cartesiano
 Operaciones de Combinación
 Operación de División
 Operaciones de Agregación y Agrupamiento
OPERACIONES
OPERACIONES
ÁLGEBRA RELACIONAL
Los Esquemas de relaciones que se pueden construir a partir de este modelo
son los siguientes:

 Dueño = {rut, nombre, teléfono, dirección, vigencia}


 Chofer = {rut, nombre, teléfono, dirección, fecha_licencia_desde,
fecha_licencia_hasta, vigencia}
 Vale = {correlativo, hora_desde, hora_hasta, metraje_total, tarifa_total}
 Móvil = {patente, rut_dueño, rut_chofer, marca, modelo, año}
 Viaje = {correlativo_vale, patente_movil, Hora_Desde, hora_hasta,
origen, destino, tarifa, metraje}
SELECCIÓN

La operación selección consiste en recuperar un conjunto de registros


de una tabla o de una relación indicando las condiciones que deben
cumplir los registros recuperados, de tal forma que los registros
devueltos por la selección han de satisfacer todas las condiciones que
se hayan establecido. Esta operación es la que normalmente se conoce
como consulta.
Podemos emplearla para saber que empleados son mayores de 45 años,
o cuales viven en Madrid, incluso podemos averiguar los que son
mayores de 45 años y residen en Madrid, los que son mayores de 45
años y no viven en Madrid, etc..
En este tipo de consulta se emplean los diferentes operadores de
comparación (=,>, <, >=, <=, <>), los operadores lógicos (and, or, xor)
o la negación lógica (not).
SELECCIÓN Ó RESTRICCIÓN (Σ)
 El operador de selección opta por tuplas que satisfagan
cierto predicado, se utiliza la letra griega sigma minúscula
(σ) para señalar la selección.
 El predicado aparece como subíndice de σ.
 La Relación que constituye el argumento se da entre
paréntesis después de la σ.
Ejemplos :
SENTENCIAS DE SELECCIÓN

SELECT [ALL | DISTINCT ]


<nombre_campo> [{,<nombre_campo>}]
FROM <nombre_tabla>|<nombre_vista>
[{,<nombre_tabla>|<nombre_vista>}]
[WHERE <condicion> [{ AND|OR <condicion>}]]
[GROUP BY <nombre_campo> [{,<nombre_campo >}]]
[HAVING <condicion>[{ AND|OR <condicion>}]]
[ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC]
[{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]
PROYECCIÓN

Una proyección es un caso concreto de la operación selección, esta


última devuelve todos los campos de aquellos registros que cumplen la
condición que he establecido. Una proyección es una selección en la
que seleccionamos aquellos campos que deseamos recuperar. Tomando
como referencia el caso de la operación selección es posible que lo
único que nos interese recuperar sea el número de la seguridad social,
omitiendo así los campos teléfono, dirección, etc.. Este último caso, en
el que seleccionamos los campos que deseamos, es una proyección.
PROYECCIÓN (Π)
 La operación de proyección permite quitar ciertos atributos
de la relación.
 Esta operación es unaria, copiando su relación base dada
como argumento y quitando ciertas columnas.
 La proyección se señala con la letra griega pi mayúscula
(Π). Como subíndice de Π se coloca una lista de todos los
atributos que se desea aparezcan en el resultado.
 La relación argumento se escribe después de Π entre
paréntesis.
Ejemplos :
UNIÓN

La operación de unión permite combinar datos de varias relaciones.


Supongamos que una determinada empresa internacional posee una
tabla de empleados para cada uno de los países en los que opera. Para
conseguir un listado completo de todos los empleados de la empresa
tenemos que realizar una unión de todas las tablas de empleados de
todos los países.
No siempre es posible realizar consultas de unión entre varias tablas,
para poder realizar esta operación es necesario e imprescindible que las
tablas a unir tengan las mismas estructuras, que sus campos sean
iguales.
UNIÓN (U)
 En álgebra relacional la unión de dos relaciones
compatibles A y B es:
A UNION B o A U B
Produce el conjunto de todas las tuplas que pertenecen
ya sea a A o a B o a Ambas.
 Al igual que en teoría de conjuntos el símbolo U
representa aquí la unión de dos relaciones.
Ejemplo :
Devuelve todos los Dueños y los Choferes.
DIFERENCIA

La operación diferencia permite identificar filas que están en una


relación y no en otra. Tomando como referencia el caso anterior,
deberíamos aplicar una diferencia entre la tabla empleados y la tabla
asistentes al curso para saber aquellos asistentes externos a la
organización que han asistido al curso.
DIFERENCIA (–)

 En álgebra relacional la diferencia entre dos relaciones


compatibles A y B

A MENOS B o A – B

Produce el conjunto de todas las tuplas t que pertenecen a A y


no pertenecen a B.

Ejemplo:
Devuelve todos los dueños que NO son choferes
INTERSECCIÓN

La operación de intersección permite identificar filas que son comunes


en dos relaciones. Supongamos que tenemos una tabla de empleados y
otra tabla con los asistentes que han realizado un curso de inglés (los
asistentes pueden ser empleados o gente de la calle). Queremos crear
una figura virtual en la tabla denominada "Empleados que hablan
Inglés", esta figura podemos crearla realizando una intersección de
empleados y curso de inglés, los elementos que existan en ambas tablas
serán aquellos empleados que han asistido al curso.
INTERSECCIÓN (∩)
 En álgebra relacional la intersección de dos relaciones
compatibles A y B
A INTERSECCION B o A ∩ B
 Produce el conjunto de todas las tuplas pertenecientes a A y
B. Al igual que en teoría de conjuntos el símbolo ∩
representa aquí la intersección entre dos relaciones.

Ejemplo: Devuelve todos los dueños que también son choferes


PRODUCTO
La operación producto consiste en la realización 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 operación se entiende mejor con el siguiente ejemplo:
PRODUCTO CARTESIANO (X)
 En álgebra relacional el producto de dos relaciones A y B es:

A Veces B o A X B

Produce el conjunto de todas las tuplas t tales que t es el


encadenamiento de una tupla a perteneciente a A y de una b
que pertenece a B. se utiliza el símbolo X para representar el
producto.

Ejemplos:
REUNIÓN

La reunión se utiliza para recuperar datos a través de varias tablas


conectadas unas con otras mediante cláusulas JOIN, en cualquiera de
sus tres variantes INNER, LEFT, RIGHT. La operación reunión se
puede combinar con las operaciones selección y proyección.
Un ejemplo de reunión es conseguir los pedidos que nos han realizado
los clientes nacionales cuyo importe supere 15.000 unidades de
producto, generando un informe con el nombre del cliente y el código
del pedido. En este caso se da por supuesto que la tabla clientes es
diferente a la tabla pedidos y que hay que conectar ambas mediante, en
este caso, un INNER JOIN.
JOIN O REUNIÓN
 Esta operación deriva del Producto Cartesiano
 Es equivalente a realizar una selección empleando un
predicado de reunión como fórmula para elección
dentro del producto cartesiano de las dos relaciones
operando.
 Es difícil de implementar eficientemente en un Sistema
de Manejo de Bases de Datos Relacionales (RDBMS) y
es causa de problemas intrínsecos de performance en
ellos.
JOIN O REUNIÓN
 En álgebra relacional el JOIN entre el atributo X de
la relación A con el atributo Y de la relación B
produce el conjunto de todas las tuplas t tal que t es
el encadenamiento de una tupla a perteneciente a A
y una tupla b perteneciente a B que cumplen con el
predicado:
“A.X comp B.Y es verdadero”
siendo comp un operador relacional y los atributos
A.X y B.Y pertenecientes al mismo dominio.
FORMAS DE LA OPERACIÓN JOIN
 Combinación Theta (-join)
 Equicombinación (Equi-join) (tipo particular
de Theta)
 Combinación Natural
 Reunión externa (Outer join)
 Semicombinación (Semi-join)
JOIN O REUNIÓN NATURAL

 Si el operador relacional “comp” es “=” entonces


el conjunto resultante es un EQUI-JOIN.
 Si se quita uno de éstos (usando una proyección)
entonces el resultado es un JOIN-NATURAL.

Ejemplo.-
SENTENCIAS DE SELECCIÓN - EJERCICIOS
Se recomienda repasar las consultas de datos,
realizando el Taller Publicado en:

http://grupo-ingenieriaysoftware.udea.edu.co/~bddatos/esquemaBdeD.html

También podría gustarte