Algebra Relacional

5
Algebra Relacional Es una colección de operaciones que sirven para manipular relaciones enteras. Estas operaciones sirven por ejemplo para seleccionar tuplas de relaciones individuales y combinar tuplas relacionadas apartir de varias relaciones para satisfacer una consulta. El resultado de cada operación es una nueva relacion que podemos manipular en una ocasión futura. Las operaciones del algebra relacional se calsifican en dos grupos. Uno contiene las operaciones de la teoria de conjuntos: UNION, INTERSECCION, DIFERENCIA Y PRODUCTO CARTESIANO. El otro consiste de oeraciones creadas especificamente para las bases de datos relacionales: SELECCIONAR PROYECTAR Y REUNION. OPERACIÓN SELECCIONAR Sirve para seleccionar un subconjunto de tuplas de una relacion que satisfacen una condicion de selección. Se utiliza el operador sigma para denotar esta operación y la condicion de selección es una expresion boleana que se compone de una o mas clausulas de la forma: <nombre atributo> <operador relacional> <valor constante> o <nombre atrib><op. Relacional> <nombre atrib> Los operadores son: =, <,>=, >,<=, <> Estas clausulas pueden conectarse con lso operadores and, or y not para formar una condicion mas compleja: El operador seleccionar es unario por lo que se aplica a una sola relacion. El grado de la relacion resultante es el mismo que el de la relacion original. Por ejemplo: Se quieren seleccionar los epleados que trabajan en el depto 4 y ganan mas de 25mil Emplea do Nombre IM C APELLI DO NSS FECHA DIRECCION Sex o Sala rio Nsssuper ND Jose B Silva 1234567 89 9-Enero- 60 Fresnos 73, Chalco M 30 000 33344555 5 5 Federi do T Gomez 3334455 55 8-Dic-70 Valle 638, Chalco M 40 000 88866555 5 5 Alicia J Zapata 9998877 77 19-Jul- 74 Castillo 11, Ecatepec F 25 000 98765432 1 4

description

Bases de Datos Algebra Relacional

Transcript of Algebra Relacional

Page 1: Algebra Relacional

Algebra Relacional

Es una colección de operaciones que sirven para manipular relaciones enteras. Estas operaciones sirven por ejemplo para seleccionar tuplas de relaciones individuales y combinar tuplas relacionadas apartir de varias relaciones para satisfacer una consulta. El resultado de cada operación es una nueva relacion que podemos manipular en una ocasión futura. Las operaciones del algebra relacional se calsifican en dos grupos. Uno contiene las operaciones de la teoria de conjuntos: UNION, INTERSECCION, DIFERENCIA Y PRODUCTO CARTESIANO. El otro consiste de oeraciones creadas especificamente para las bases de datos relacionales: SELECCIONAR PROYECTAR Y REUNION.

OPERACIÓN SELECCIONAR

Sirve para seleccionar un subconjunto de tuplas de una relacion que satisfacen una condicion de selección. Se utiliza el operador sigma para denotar esta operación y la condicion de selección es una expresion boleana que se compone de una o mas clausulas de la forma:

<nombre atributo> <operador relacional> <valor constante> o

<nombre atrib><op. Relacional> <nombre atrib>

Los operadores son: =, <,>=, >,<=, <>

Estas clausulas pueden conectarse con lso operadores and, or y not para formar una condicion mas compleja: El operador seleccionar es unario por lo que se aplica a una sola relacion. El grado de la relacion resultante es el mismo que el de la relacion original.

Por ejemplo: Se quieren seleccionar los epleados que trabajan en el depto 4 y ganan mas de 25mil

Empleado Nombre IMC APELLIDO NSS FECHA DIRECCION Sexo Salario Nsssuper NDJose B Silva 123456789 9-Enero-60 Fresnos 73, Chalco M 30 000 333445555 5Federido T Gomez 333445555 8-Dic-70 Valle 638, Chalco M 40 000 888665555 5Alicia J Zapata 999887777 19-Jul-74 Castillo 11,

EcatepecF 25 000 987654321 4

Jazmin S Valdes 987654321 20-Jun-64 Bravo 23, Tizayuca F 43 000 888665555 4Ramon K Nieto 666884444 15-Sept-72 Espica 32, Aragon M 38 000 333445555 5Josefa A Esparza 453453453 31-Jul-62 Rosas 23, Chalco F 25 000 333445555 5Ahmed V Jabbas 987987987 29-Mar-54 Dalios 30, Chalco M 25 000 987654321 4Jaime E Botello 888666555 10-Nov-27 Sorgo 15, Chalco M 55 000 NULO 1

Departamento NombreD NumeroD NSSSGTE FECHAINICGTEInvestigacion 5 333445555 22-Mayo-2010Administracion 4 987654321 01-Enero-2001direccion 1 888665555 19-Junio-2008

Page 2: Algebra Relacional

(se supone que es sigma)OND=4 AND SALARIO>25000(EMPLEADO)

Proyeccion

La operación seleccionar selecciona unas tuplas y desehca las otras, la operación proyeccion en cambio selecciona ciertas columnas y desecha las demas. Si solo nos interesan ciertos atributos de una relacion proyectaremos la relacion sobre esos atributos.

Esta operación se representa con el operador π y tiene una lista de atributos que seran los que se seleccionaran sbre una relacion:

πLISTAATRIBUTO (Relacion)

El grado de esta operación es igual al # de la lista de atrib. La operación proyectar elimina las tuplas repetidas

πSEXO,SALARIO (Empleado)

Sexo SalarioM 30M 40F 25F 43M 38M 25M 55

πAPELLIDO,NOMBRE,SALARIO (Empleado)

Podemos anidar las operación del algrebra relacional o aplicar una operación a ala vez y crear relaciones intermmedias. Por ejemplo se quiere obtener el nombre de pila apellido y salario de odos los empleados que trabajan en e depto 5.

EMP_DEP5OND=5(Empleado)

RES πNOMBRE,APELLIDO,SALARIO(EMP_DEP5)

RES πNOMBRE,APELLIDO,SALARIO(OND=5(Empleado))//primero se realiza lo de parentesis luego la operación proyeccion

NSSSE NOMBRE_DEP SEXO FECHA PARENTESCO33344555 Alicia F 05-03-76 Hija“ Teodoro M 15-10-75 Hijo

Lugares_Deptos NumeroD LugarD1 Chalco4 Santiago5 Tizayuca5 Chalco

Page 3: Algebra Relacional

“ Jobita F 03-01-48 Conyugo987654321 Abdiel M 8-02-55 Conyuge123456789 Miguel M 01-01-78 Hijo“ Alicia F 31-12-78 Hija“ Elizabeth F 05-05-60 Conyuge

Proyecto NombreP NumeroP Lugar NumD1 Tizayuca 52 Tlahuac 53 Chalco 510 Santiago 420 Chalco 130 Santiago 4

Reunion

La operación reunion denotada por: sirve para combinar tuplas de 2 relaciones en una sola tupla. Esta es una de las operaciones mas importantes en las BD que posean varoas tablas y necesitamos procesar los vinculos entre ellas. Esta operación es una combinacion del producto cartesiano y la selección

El resultado de la reunion de R(A1,A2,…,An) y S(B11,B21,…,Bn)

Q con n+m atributos Q(A1,A2,…,An,B1,B2,…,Bn)

Qtiene una tupla por cada combinacion de tuplas una de R y una de S siempre que la combinacion satisfaga la condicion de reunion. Esta condicion se especifica en terminos de los atributos de las dos relaciones RyS y se evalua para cada combinacion de tuplas y en caso de ser verdadera se incluye en la relacion resultante Q. La reunion mas comun implica condiciones de reunion con comparaciones de igualdad en este caso se le conoce como EQUIRREUNION

Por ejemplo se quiere obtener el nombre de los gerentes de cada uno de los deptos.

GerenteD DEPARTAMENTO NSSGTE=NSS(EMPLEADO

RES πnombred,apellido,nombreP(GerenteD)

Y seria equivalente a:

DEPEMPDEPARTAMENTOXEMPLEADO

GERENTESDOnssgte=nss(DEPEMP)

RESπnombreapellido,nombreP(GERENTESD)

Para cada proyecto ubicado en Santiago, obtener una lista con el número de proyecto, el número de departamento que lo controla, y el nombre y dirección del gerente de dicho departamento.

Page 4: Algebra Relacional

Cuando tenemos una equirreunion la relación resultante puede tener 1 o más pares de atributos con valores idénticos, esto pares de valores son superfluos y para ellos se creo la operación Reunión Natural para deshacerse del 2º atributo en una condición de equirreunion, en este caso los 2 atributos deben tener el mismo nombre. La reunión natural se denota por * en caso de que los atributos a comparar no tengan el mismo nombre se aplica una operación de cambio de nombre, por ejemplo:

Depto(nombred, numd, nssgte, fechainicgte)Departamento

DeptroProyProyecto*Depto

TAREA:

1.- Obtenga los nombres de todos los empleados del departamento de investigación que trabajan más de 10 horas por semana en el proyecto producto X.

2.- Obtenga los nombres de todos los empleados que tienen un dependiente con el mismo nombre de pila que ellos

3.- Obtenga los nombres de los empleados supervisados directamente por Jose Silva

4.- Obtenga los apellidos de los gerentes que no tienen dependientes

5.- Obtenga los nombres de los empleados que trabajan en cada uno de los proyectos

Equivalen a:DeptoProy Proyecto Departamento NUMD=NUMEROD