Você está na página 1de 6

Algebra Relacional El Algebra relacional es un lenguaje de consulta procedural, consta de una serie de operaciones que permiten manipular los

datos de las relaciones. Cada uno de estos operadores toma uno o dos relaciones como entrada y produce una nueva relacin como salida. Operaciones 1. Restriccin (select) 2. Proyeccin (Project) 3. Producto (Producto cartesiano) 4. Unin 5. Interseccin 6. Diferencia 7. Reunin (join) 8. Divisin. Las operaciones de restriccin, proyeccin, producto, unin y diferencia son llamadas primitivas, puesto que las otras tres se pueden definir en trminos de estas. Dos relaciones son compatibles respecto a la unin, si y solo si sus cabeceras son idnticas, es decir los dos tienen los mismos nombres de atributos (por lo tanto igual grado) y los atributos correspondientes se definen sobre el mismo dominio. Unin, interseccin, diferencia Dos relaciones son compatibles respecto al producto, si y solo si sus cabeceras son disjuntas (no tienen nombre de atributos en comn) Producto cartesiano Se divide en dos grupos: Uno de ellos se aplica a un conjunto de tuplas. Las operaciones son: unin, interseccin, diferencia, y producto cartesiano El otro grupo consiste de operaciones sobre la BD relacional. Las operaciones son: restriccin (select), proyeccin (Project), reunin (combinacin-join) y divisin. Restriccin (seleccin) Extrae o selecciona un conjunto de tuplas de una relacin, que satisfacen una condicin. Este operador es unario, es decir se aplica a una relacin. Se denota por el smbolo sigma Formato:

condicion (relacion)

Ejemplo: salario > 3000 (Empleado) Selecciona todas las tuplas de la tabla Empleado que ganan ms de 3000 soles. Ejemplo:

(dpto = 4 and salario > 2500) or (dpto = 5 and salario > 3000) (Empleado)

Selecciona a todo el personal de la tabla Empleado que trabajan en el departamento 4 y ganan ms de 2500 o a todo el personal que trabaja en el departamento 5 y ganan ms de 3000 soles. La operacin de Seleccin es conmutativa

condicion1 (condicion2 (relacion) ) = condicion2 (condicion1 (relacion) ) condicion1 (condicion2 (relacion) ) = condicion1 and condicion2 (relacion)
Proyeccin Permite extraer algunas columnas (atributos) de una relacin. Se denota por el simbolo pi Formato: lista de atributos (relacion)

Ejemplo: nombre,dpto (Empleado) Extrae las columnas nombre y dpto de la relacin Empleado

Producto cartesiano Genera una relacin a partir de dos relaciones y contiene todas las combinaciones de todas las tuplas de la primera relacin con cada una de las tuplas de la segunda relacin, y sus atributos corresponden a los de la primera relacin seguida por los de la segunda relacin. Ejemplo si la primera relacin tiene 20 tuplas y la segunda relacin tiene 5 tuplas, el resultado ser una relacin con 100 tuplas, cada una contendiendo la cantidad de campos de la primera tupla mas la cantidad de campos de la segunda tupla. Formato R1 X R2 R1 Times R2

En SQL, el producto cartesiano se obtiene poniendo en la clusula FROM las tablas que intervienen separadas por comas. Se puede obtener el producto cartesiano de dos, tres, o ms tablas. Ejemplo: select * from empleado, PROFESION

Unin Genera una relacin a partir de dos relaciones y contiene todas las tuplas que estn en la primera relacin o en la segunda relacin o en ambas. Las dos relaciones deben ser del mismo tipo (uniones compatibles). Las tuplas duplicadas son eliminadas Formato R1 U R2

En SQL, la unin se obtiene utilizando la clusula unin o unin all Ejemplo: select codemp,nomemp from EMPLEADO where codprofesion=2
union all select codprof, descprof from profesion

Interseccin Genera una relacin formada por todas las tuplas que se encuentran en la primera relacin y en la segunda relacin. Formato R1 R2

En SQL, la interseccin se obtiene utilizando la clusula intersect Ejemplo: select * from EMPLEADO where codprofesion=2
intersect select * from EMPLEADO where nomemp like '_e%'

Diferencia Genera una relacin formada por todas las tuplas que se encuentran en la primera relacin pero no en la segunda relacin Las dos relaciones deben ser del mismo tipo (uniones compatibles). Formato R1 R2

En SQL, la diferencia se obtiene usando la clusula Except Ejemplo: select codemp,nomemp,codprofesion from EMPLEADO

where codprofesion=2 select codemp,nomemp,codprofesion from EMPLEADO where nomemp like '_e%' select codemp,nomemp,codprofesion from EMPLEADO where codprofesion=2 except select codemp,nomemp,codprofesion from EMPLEADO where nomemp like '_e%'

Reunin (Join) Genera una relacin producto de una combinacin de dos relaciones relacionadas y que satisfacen ciertas condiciones. Formato
[X] condiciones del Join

R2

Reunin Natural (Join Natural) Genera una relacin formada por la combinacin de las tuplas de la primera relacin con las tuplas de la segunda relacin, manteniendo un solo Join atributo Formato R1 * R2

Divisin Esta operacin toma dos relaciones una binaria y otra unaria y genera una relacin formada por todos los valores de un atributo de la relacin binaria que concuerdan con todos los valores de la relacin unaria Formato R1 / R2 Ejemplo:

Ejemplo: Una determinada empresa posee varias tiendas (comerciales), y vende diversos productos. Cada tienda puede vender todos los productos (ventas). Se desea mostrar la relacin de tiendas que han vendido todo tipo de producto.

Al dividir la tabla Ventas entre la tabla Productos obtenemos como resultado la tercera tabla ventas-producto donde: 1. Los campos que contiene son aquellos de la tabla Ventas que no existen en la tabla Productos. En este caso el campo CdTienda es el nico de la tabla Ventas que no existen en la tabla Productos. 2. Un registro se encuentra en la tabla resultado si y slo si est asociado en tabla Ventas con cada fila de la tabla Productos Por qu el resultado es 23?. El comercial 23 es el nico de la tabla B que tiene asociados todos los posibles cdigos de producto de la tabla A

Ejemplo 1 Federacion(Nombre#, Direccion, telfono) Miembro( DNI#, Nombre_M, Titulo) Directorio(Nombre#, DNI#, cargo, fecha_inicio) Preguntas 1 Obtener el nombre de los presidentes de federacin 2.- Obtener la direccin de las federaciones que tienen gerente 3.- Obtener el nombre de las federaciones que no tienen Asesor Tcnico 4.- Obtener las federaciones que tienen todos los cargos 5.- Obtener las federaciones que tienen Asesor Tcnico y psiclogo

Você também pode gostar