Álgebra Relacional 2018 PDF

Document Details

ImmaculateEclipse1922

Uploaded by ImmaculateEclipse1922

UDC

2018

Miguel Rodríguez Penabad

Tags

relational algebra database sql computer science

Summary

This document presents an introduction to relational algebra, covering fundamental concepts and various operations for database management. It details the theory behind relational algebra. The document is based around presentation slides and may be a study guide rather than a complete course.

Full Transcript

Álgebra Relacional Miguel Rodrı́guez Penabad 2018 Miguel Rodrı́guez Penabad Álgebra Relacional Introducción Codd estableció dos lenguajes de consulta: el álgebra relacional y el cálculo relacional. El álgebra relacional es un lenguaje has...

Álgebra Relacional Miguel Rodrı́guez Penabad 2018 Miguel Rodrı́guez Penabad Álgebra Relacional Introducción Codd estableció dos lenguajes de consulta: el álgebra relacional y el cálculo relacional. El álgebra relacional es un lenguaje hasta cierto punto procedimental, mientras que el cálculo relacional es un lenguaje no procedimental. Nos centramos en el álgebra relacional, que está formado por un conjunto de operaciones que permiten al usuario especificar peticiones de recuperación. El resultado de una recuperación es una nueva relación, que se ha formado a partir de una o más relaciones. Una secuencia de operaciones del álgebra relacional forma una expresión del álgebra relacional, cuyo resultado será también una relación. Miguel Rodrı́guez Penabad Álgebra Relacional Introducción Las operaciones del álgebra relacional suelen clasificarse en dos grupos. 1 Operaciones creadas especı́ficamente para bases de datos relacionales: Selección, proyección, renombrar, join, división. 2 Operaciones de conjuntos: Unión, intersección, diferencia, producto cartesiano. Miguel Rodrı́guez Penabad Álgebra Relacional Operaciones del álgebra relacional (i) Selección (σcondición ): Obtén todos los datos de los empleados que cobran más de 1000 o sean del departamento 20 σsal>1000 ∨ depno=20 (EMP) select * from emp where sal>1000 or deptno=20 Proyección (πatributos ): Obtén los salarios y puestos de trabajo de los empleados (sin duplicados) πsal,job (EMP) select distinct sal, job from emp Renombrar (←): Obtén los nombres de los emplados usando “nombre” para el campo ename NOMBRESEMP(nombre) ← πename (EMP) create view nombresemp(nombre) as select distinct ename from emp Miguel Rodrı́guez Penabad Álgebra Relacional Operaciones del álgebra relacional (iii) Requisito para la unión, intersección y diferencia: Las expresiones de álgebra relacional vinculadas deben ser unión compatibles. Unión: Obtén todos los salarios y comisiones πsal (EMP) ∪ πcomm (EMP) select sal from emp union select comm from emp Intersección: Obtén los números y nombres de empleados del departamento 30 que cobran más de 1000 πempno,ename (σdeptno=30 (EMP)) ∩ πempno,ename (σsal>1000 (EMP)) select empno,ename from emp where deptno=30 intersect select empno,ename from emp where sal>1000 Diferencia: Obtén los códigos de departamento sin empleados πdeptno (DEPT ) − πdeptno (EMP) select deptno from dept except --minus en Oracle select deptno from emp Miguel Rodrı́guez Penabad Álgebra Relacional Operaciones del álgebra relacional (iv) Producto cartesiano: Obtén una tabla que combine cada fila de EMP con cada fila de DEPT. EMP × DEPT select * from emp, dept o select * from emp cross join dept Miguel Rodrı́guez Penabad Álgebra Relacional Operaciones del álgebra relacional (v) Join (o n): Obtén todos los datos de los empleados y los departamentos donde trabajan Equijoin EMP o nEMP.deptno=DEPT.deptno DEPT select * from emp join dept on emp.deptno = dept.deptno Join natural EMP o n DEPT select * from emp natural join dept Miguel Rodrı́guez Penabad Álgebra Relacional Operaciones del álgebra relacional (vi) División (R÷ S): El esquema de R debe contener al de S. El resultado tendrá como esquema R − S. Resultado(a, b) ← R(a, b, c, d) ÷ S(c, d) Resultado contiene aquellas filas de R (proyectando sólo a y b) que combinan con todas las filas de S. Códigos de proyectos en los que trabajan todos los empleados que cobran más de 2000 πempno,prono (EMPPRO) ÷ πempno (σsal>2000 (EMP)) Nombres de empleados que trabajan en todos los proyectos n (πempno,prono (EMPPRO) ÷ πprono (PRO))) πename (EMP o Miguel Rodrı́guez Penabad Álgebra Relacional

Use Quizgecko on...
Browser
Browser