Bases de Datos I
Presentación del tema
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 }
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
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.
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)
(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.