DOCENTE:
ING. NICOLAS CABRERA HIDALGO
MATERIA:
FUNDAMENTOS DE BASE DE DATOS
TRABAJO:
REPORTE DE LA PRIMERA NORMALIZACION
CARRERA:
ING. EN SISTEMAS COMPUTACIONALES
SEMESTRE:
4
De los ocho operadores, slo hay cinco que son fundamentales: restriccin,
proyeccin, producto cartesiano, unin y diferencia, que permiten realizar la mayora
de las operaciones de obtencin de datos. Los operadores no fundamentales son la
concatenacin (join), la interseccin y la divisin, que se pueden expresar a partir
de los cinco operadores fundamentales.
R y S son dos relaciones cuyos atributos son A=(a , a , ..., a ) y B=(b , b , ...,
b ) respectivamente.
Restriccin
: R WHERE condicin
Proyeccin
: R[a , ..., a ]
La proyeccin opera sobre una sola relacin R y da como resultado otra
relacin que contiene un subconjunto vertical de R, extrayendo los valores
de los atributos especificados y eliminando duplicados.
Ejemplo 4.3 Obtener un listado de empleados mostrando su nmero, nombre,
apellido y salario.
PLANTILLA [ enum, nombre, apellido, salario]
Puesto
Director
Supervisor
Administ.
Producto cartesiano
: R TIMES S
El producto cartesiano obtiene una relacin cuyas tuplas estn formadas
por la concatenacin de todas las tuplas de R con todas las tuplas de S.
Unin
: R UNION S
relacin que tiene como mucho tuplas siendo stas las tuplas que se
encuentran en R o en S o en ambas relaciones a la vez. Para poder realizar
esta operacin, R y S deben ser compatibles para la unin.
Se dice que dos relaciones son compatibles para la unin si ambas tienen la misma
cabecera, es decir, si tienen el mismo nmero de atributos y stos se encuentran
definidos sobre los mismos dominios. En muchas ocasiones ser necesario realizar
proyecciones para hacer que dos relaciones sean compatibles para la unin.
Ejemplo 4.6 Obtener un listado de las reas en las que hay oficinas o inmuebles
para alquilar.
OFICINA[rea] UNION INMUEBLE[rea]
Area
Centro
Grao
Ronda Sur
Rafalafena
Diferencia
: R MINUS S
La diferencia obtiene una relacin que tiene las tuplas que se encuentran
en R y no se encuentran en S. Para realizar esta operacin, R y S deben
ser compatibles para la unin.
Ejemplo 4.7 Obtener un listado de todas las poblaciones en donde hay una
oficina y no hay inmuebles para alquilar.
OFICINA [poblacin] MINUS INMUEBLE [poblacin]
Poblacin
Villarreal
Concatenacin (Join)
: R JOIN S
La concatenacin de dos relaciones R y S obtiene como resultado una
relacin cuyas tuplas son todas las tuplas de R concatenadas con todas las
tuplas de S que en los atributos comunes (que se llaman igual) tienen los
mismos valores. Estos atributos comunes aparecen una sola vez en el
resultado.
Ejemplo 4.8 Obtener los nombres y los comentarios que los inquilinos han
realizado cuando han visto algn inmueble.
INQUILINO JOIN VISITA
Esta expresin obtiene el mismo resultado que la expresin final del ejemplo 4.5,
ya que la concatenacin es, en realidad, un producto cartesiano y una restriccin
de igualdad sobre los atributos comunes.
Ejemplo 4.10 Obtener los inquilinos que han visitado todos los inmuebles de tres
habitaciones.
VISITA [qnum,inum] DIVIDEBY (INMUEBLE WHERE hab=3)[inum]
Qnum
Q56
Los clculos que se pueden realizar sobre los grupos de filas son: suma de los
valores de un atributo ( SUM(a )), media de los valores de un atributo ( AVG(a )),
Ejemplo 4.11 Obtener el salario total que se gasta en los empleados de cada
oficina.
SUMMARIZE PLANTILLA GROUPBY(oficina) ADD SUM(salario) AS salario_total
Oficina Salario_total
O5 48000
O3 54000
O7 18000
5.2 ALGEBRA RELACIONAL EXTENDIDA.
Las operaciones bsicas del lgebra relacional se han ampliado de varias maneras.
Una ampliacin sencilla es permitir operaciones aritmticas como parte de la
proyeccin. Una ampliacin importante es permitir operaciones de agregacin,
como el clculo de la suma de los elementos de un conjunto, o su media. Otra
ampliacin importante es la operacin reunin externa, que permite a las
expresiones del lgebra relacional trabajar con los valores nulos que modelan la
informacin que falta.
Proyeccin generalizada
Funciones de agregacin
Las funciones de agregacin son funciones que toman una coleccin de valores
y devuelven como resultado un nico valor. Por ejemplo, la funcin de agregacin
sum toma un conjunto de valores y devuelve la suma de los mismos. Por tanto, la
funcin sum aplicada a la coleccin {1, 1, 3, 4, 4, 11} devuelve el valor 24. La funcin
de agregacin avg devuelve la media de los valores. Cuando se aplica al conjunto
anterior devuelve el valor 4. La funcin de agregacin count devuelve el nmero de
elementos del conjunto, y devolvera 6 en el caso anterior. Otras funciones de
agregacin habituales son min y max, que devuelven el valor mnimo y el mximo
de la coleccin; en el ejemplo anterior devuelven 1 y 11, respectivamente. Las
colecciones en las que operan las funciones de agregacin pueden tener valores
repetidos; el orden en el que aparezcan los valores no tiene importancia. Estas
colecciones se denominan multiconjuntos. Los conjuntos son un caso especial de
los multiconjuntos, en los que slo hay una copia de cada elemento.
Gsum(sueldo) (trabajo-por-horas)
donde E es cualquier expresin del lgebra relacional; G1, G2, , Gn constituye una
lista de atributos que indican cmo se realiza la agrupacin, cada Fi es una funcin
de agregacin y cada Ai es el nombre de un atributo.
1. Todas las tuplas del grupo tienen los mismos valores para G 1, G2, , Gn.
2. Las tuplas de grupos diferentes tienen valores diferentes para G 1, G2, , Gn.
Por tanto, los grupos pueden identificarse por el valor de los atributos G1, G2, , Gn.
Para cada grupo (g1, g2, , gn) el resultado tiene una tupla (g1, g2, , gn, a1, a2, ,
am) donde, para cada i, ai es el resultado de aplicar la funcin de agregacin Fi al
multiconjunto de valores del atributo Ai en el grupo.