Anda di halaman 1dari 25

Sistemas de

Bases de Datos I
Presentación del tema

Tema: Algebra Relacional


Material: edutech5.webnode.es

Practico: Practico 4 – Algebra Relacional

Docente: Téc. R/C Alvaro Loustau

Fuente: . Elmasri, R. and Navathe, S. (1989). Fundamentals of


database systems. 1st ed. Redwood City, Calif.:
Benjamin/Cummings.
. https://eva.fing.edu.uy/course/view.php?id=330
Concepto General

Historia
• Se define del Algebra Relacional como lenguaje de consulta y
diseño en 1970 (Codd)
• Se define también una versión del Calculo Relacional en 1972.
Y se establece la equivalencia entre el Calculo y Algebra
Relacional
Concepto General
El proceso de consulta a una Base de Datos Relacional
• Toda consulta a una BDR genera como resultado una relación.
• Existen dos mecanismos Formales para especificar:
• Algebra Relacional:
Da como resultado la aplicación sucesiva de operaciones a la
relaciones de la Base.
• Calculo Relacional:
El resultado es el conjunto de constantes que hacen cierta una
determinada wff (well formed formula) de Cálculos de Predicados
Concepto General
Hay 8 operadores básicos en el Algebra Relacional:
• Operadores Unarios: Selección y Proyección
• Operadores Binarios: Unión, Intersección, Diferencia, Producto
Cartesiano, P-Reunión y División.
Otra Clasificación:
• Operadores Conjuntistas: Unión, Diferencia, Intersección y Producto
• Operadores Racionales: Selección, Proyección, P-Reunión y División
Concepto General
Notación a seguir:
• Dada R[A1..An], Ai,Aj{A1...An} llamaremos propiedad atómica P(Ai,Aj)
a toda expresión de la forma Ai,Aj con  igual a =, ,,... (obviamente
Ai o Aj pueden sustituirse por una constante).
• Notaremos por P(A1..An) a toda propiedad lógica asociada al conjunto
de atributos {A1..An }, que sea combinación mediante ,, de
propiedades atómicas incluyendo constantes y nombres de atributos
pertenecientes a {A1..An }
Operador Proyección
Definición:
• Sea R[A1..An], un subconjunto de sus atributos {Ai...Aj} y r una
instancia de R, el operador “proyección sobre {Ai...Aj} aplicado a r ” y
que notaremos por  {Ai...Aj} (r) obtiene tuplas de r eliminando de la
tabla aquellos atributos no pertenecientes a {Ai...Aj} y eliminando
posteriormente tuplas redundantes:
 A1,A2,...,An (R) = { t[A1,A2,...,An] : t ∈ R }

En otras palabras selecciona Columnas completas


Operador Proyección
Ejemplo:
Dada - r (Código, Nombre, Ciudad, Status)
Ciudad Status
Granada 20 Ciudad
ciudad,status(r)= Jaen 15 Granada
Cadíz 25 Jaen
Sevilla 30 ciudad(r)= Cadíz
Cordoba 10 Sevilla
Cordoba
Operador Selección
Definición:
• Sea R[A1..An], y P una propiedad asociada a {A1...An} y r una instancia
de R, el operador “p-selección aplicado a r” y que notaremos por P(r)
obtiene aquellas tuplas de r para las que p es cierta:
Condición(R) = { t∈R : condición(t) es cierto}
En otras palabras selecciona Filas Completas
Operador Selección
Ejemplo:
Si P = Status > 25 Entonces tenemos lo siguiente
Coidgo Nombre Ciudad Status
81 Juan Lopez Granada 20

r= 82 Jose Sanchez Jaen 15


83 Antonio Perez Cadíz 25
84 Jose Lopez Sevilla 30
85 Julia Sanchez Cordoba 28

Coidgo Nombre Ciudad Status

P (r)= 84 Jose Lopez Sevilla 30


85 Julia Sanchez Cordoba 28
Composición de Operaciones
Definición:
• El resultado de cada operación es una nueva relación. Se puede aplicar
operadores a los resultados de aplicaciones previas.

Ejemplo:
A ( P(R) )
P (A (R) )
P1 (P2(R) )
Composición de Operaciones
Ejemplo Practico:
• Obtener el nombre de las ciudades con Estatus mayor a 25
Coidgo Nombre Ciudad Status
81 Juan Lopez Granada 20
82 Jose Sanchez Jaen 15
83 Antonio Perez Cadíz 25
84 Jose Lopez Sevilla 30
85 Julia Sanchez Cordoba 28

 Nombre( Estatus > 25 (R) ) Nombre


Jose Lopez
Julia Sanchez
Operador Producto Cartesiano
Definición:
• Sean R[A1..An], y S[B1..Bm], dos relaciones cualesquiera y dos
instancias r y s de las misma, el producto cartesiano de ambas instancias
es el conjunto de tuplas resultante de hacer el producto cartesiano
considerando ambas instancias como conjuntos de tuplas.

R X A = { (a,b) : a ∈ A ^ b ∈ B}
Operador Producto Cartesiano
Ejemplo: Supongamos R[A,B] y S[D], y sean r y s dos instancias de las
A B D
mismas a1 b1 d1
a1 b1 d2
A B D
a1 b1 d3
a1 b1 d1
a2 b2 d1
a2 b2 X d2 = a2 b2 d2
a3 b3 d3
a2 b2 d3
a4 b4
a3 b3 d1
a3 b3 d2
a3 b3 d3
a4 b4 d1
a4 b4 d2
a4 b4 d3
Operador Unión
Definición:
• Sean R y S dos relaciones con igual esquema (o compatible).
(R ∪ S)
• Da como resultado otra relación cuyo esquema es igual al de R (y S), y
tiene como conjunto de tuplas a la unión de las de R y las de S.

• Ambas relaciones deben tener el mismo numero de atributos


• El dominio del atributo i-ésimo de cada relación debe coincidir.
Operador Unión
Ejemplo:
Se quiere el nombre de las personas que tengan un Estatus superior a 25
o que vivan en la ciudad de Jaen:
 Nombre ( Estatus > 25 (R) ∪ Ciudad = “Jaen” (R) )
Nombre
Jose Sanchez
Antonio Perez
Jose Lopez
Julia Sanchez
Operador Diferencia
Definición:
• Sean R y S dos relaciones con igual esquema (o compatible).
(R - S)
• Da como resultado otra relación cuyo esquema es igual al de R (y S), y
tiene como conjunto de tuplas a la diferencia de las de R y las de S.

• Ambas relaciones deben tener el mismo numero de atributos


• El dominio del atributo i-ésimo de cada relación debe coincidir.
Operador Diferencia
Ejemplo:
Sean R[A1..An], y S[B1..Bm], dos relaciones tales que {A1..An}  {B1...
Bm}, sean r y s instancias de R y S definimos: r - s = t
R S T
A B A B A B
a1 b1 a1 b1 a3 b3
a2 b2 - a2 b2 = a4 b4
a3 b3 a5 b5
a4 b4
Operador Intersección
Definición:
• Sean R y S dos relaciones con igual esquema (o compatible).
(R ∩ S)
• Da como resultado otra relación cuyo esquema es igual al de R (y S), y
tiene como conjunto de tuplas a la intersección de las de R y las de S.
• La Intersección se puede crear a partir de la diferencia:

r1 ∩ r2 = r1 – (r1 – r2)
• Ambas relaciones deben tener el mismo numero de atributos
• El dominio del atributo i-ésimo de cada relación debe coincidir.
Operador Intersección
Ejemplo:
Sean R[A1..An], y S[B1..Bm], dos relaciones tales que {A1..An}  {B1...
Bm}, sean r y s instancias de R y S definimos: r ∩ s = t
R S T
A B A B A B
a1 b1 a1 b1 a1 b1
a2 b2 ∩ a2 b2 = a2 b2
a3 b3 a5 b5
a4 b4
Operador Join
Definición Join Natural:
• Hace un producto cartesiano de sus dos argumentos y realiza una selección
forzando la igualdad de atributos que aparecen en ambas relaciones.
• Elimina tuplas repetidas.
(R S)

Definición Join General:


• Una forma más general de hacer Join es especificando una propiedad de
reunión.
• Se hace entonces, un producto cartesiano de las dos relaciones y
se realiza una selección particular de los atributos de la propiedad.
Operador Join
Ejemplo de Join General:

(R k S)

(R R.k=S.k S)
Operador Join
Ejemplo:
• En una institución educativa, tiene una base de datos donde almacenan la
información de los estudiantes del centro y de las asignaturas de los
diferentes cursos, además de otros tipos de datos.
• Con el fin de realizar una investigación, se desea conocer de que escuela
provienen todos los estudiantes que cursan Sistemas de Bases de Datos I del
Bachillerato de Informática.

• Estudiantes (Id_Est, Nombre, Apellido, Dirección, Escuela_Origen)


• Asignaturas(Nom_Asig, Id_Est, Cant_Est, Hora_Inicio, Hora_fin)
Operador Join
Ejemplo:
• Conocidas las tablas Estudiantes y Asignaturas, la operación necesaria
quedaría de la siguiente manera:

 E.Escuela_Origen(  A.Nom_Asig =“Sistemas….”(Estudiantes E.Id_Est = A.Id_Est Asignaturas))


Ha seguir con el
practico IIII

Anda mungkin juga menyukai