bases de datos distribuidas -antecedentesfpech/ddb/files/slides/antecedent... · dbms relacional...
TRANSCRIPT
Tabla de contenidoDBMS RelacionalAlgebra relacional
Bases de Datos Distribuidas -Antecedentes
M.C. Fernando Pech May
Instituto Tecnologico Superior de los Rı[email protected]
Materia: Distributed Database Systems
Enero, 2012
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 1/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Tabla de contenido
1 DBMS Relacional
2 Algebra relacionalOperadores del Algebra relacional
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 2/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
DB relacional
Una base de datos es una coleccion estructurada de datos.
Una base de datos relacional es una DB estructurada en formade tablas.
Una relacion R con Atributos A={ A1,A2,...,An} se definesobre n dominios D={D1, D2,...,Dn } (no necesariamentedistintos) es un conjunto de n-tuplas (o simplemente tuplas) 〈d1,d2,...,dn 〉 tal que d1 ∈ D1, d2 ∈ D2,..., dn ∈ Dn.
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 3/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 4/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 5/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Relaciones normalizadas
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 6/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Los lenguajes de manipulacion de datos son desarrollados por elmodelo relacional, comunmente denominado Lenguaje deconsultas y presenta dos grupos fundamentales.
1 Lenguajes de algebra relacional
2 Lenguajes de calculo relacional
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 7/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Operadores del algebra relacional
Fundamentales
Seleccion (unario)Proyeccion (unario)UnionConjunto diferenciaProducto cartesiano
Adicionales
Interseccionθ -JoinJoin NaturalSemijoinDivision
Compatibilidad en union
same degreeCorresponding attributes defined over the same domain
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 8/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Seleccion
El operador de seleccion produce un subconjunto horizontal de unarelacion dada.
El subconjunto resultante consiste en que todas las tuplas satisfaganla formula (condicion)
La seleccion de una relacion R es
Seleccion
σF (R)={ t | t ∈ RyF (t)} donde
R es la relacion, F es la formula y t es la tupla
F (formula) consiste deoperadores como constantes o atributosOperadores artimeticos <,>,=, 6=,≤,≥Operadores logicos ∧,∨,¬
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 9/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Seleccion -Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 10/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Proyeccion
La proyeccion produce un sobconjunto vertical de una relacion
El resultado de la relacion contendra solamente los atributos de larelacion original
La proyeccion de una relacion R sobre los atributos A y B se denota
como
Proyeccion
ΠA,B(R) = ΠA1, ...,An(R)={ t[A1, ...,An]| t ∈ R}
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 11/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Proyeccion -Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 12/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Union
Union de dos relaciones R y S se denota como
Union
R ∪S = {t|t ∈ R o t ∈ S}
Se eliminan los registros duplicados
Debe haber compatibilidad entre las relaciones R y S
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 13/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Conjunto diferencia
El conjunto diferencia de R y S se denota como
COnjunto diferencia
R—S = { t — t ∈ R y t /∈ S}
El resultado contiene todas las tuplas que estan en R, peroque no estan en S
R �S 6= S–R
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 14/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Producto cartesiando
El producto cartesiano de dos relaciones R de grado k1 y S degrado k2 se denota como
Producto cartesiano
R x S = { t [A1,...,Ak1, Ak1+1,..., Ak1+k2] — t[A1,...,Ak1] ∈ R}yt[Ak1+1,..., Ak1 + k2]∈ S
El resultado de R X S es una relacion de grado (k1+k2) y consistede todas (n1* n2)-tuplas donde cada tupla es una concatenacionde una tupla de R con una tupla de S.
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 15/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Producto cartesiano -Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 16/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Interseccion
La interseccion de dos relaciones R y S se denota como
Interseccion
R ∩S = R–(R–S) = {t|t ∈ R y t ∈ S}
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 17/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Join es una derivada del producto cartesiano. Existen varios tiposde join. La clasificacion primaria es:
Inner Join
Outer Join
θ − Join
R onF S = σF (R X S)
F es la formula del predicado del join. R.A θS .B dondeA y B son atributos de R y S, respectivamente.
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 18/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
θ − Join − Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 19/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Join Natural
Un Join natural es un equi-join de dos relaciones sobre un atributoespecıfico. Un join natural se denota con la formula
Join Natural
R onAS
A es el atributo comun entre las relaciones R y S
Para dos relaciones se denota como
Join Natural -dos relaciones
RA onBS
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 20/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Join Natural -Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 21/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Tipos de Outer Join
Left outer join
Right outer join
Full outer join
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 22/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Outer Join -Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 23/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Semijoin
El semijoin de una relacion R se define sobre un conjunto deatributos A, en una relacion S, sobr eun conjunto de atributos B.Es el subconjunto de tuplas de R que participan en un join de Rcon S.
Semijoin
R nF S = ΠA(R onF S )= ΠA(R)onF ΠA∩B (S)= R onF ΠA∩B (S)
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 24/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Semijoin -Ejemplo
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 25/27
Tabla de contenidoDBMS RelacionalAlgebra relacional
Operadores del Algebra relacional
Division
La division de una relacion R de grado r con relacion S de grado s(donde r > s y s 6= 0)esdelconjuntode(r − s)− tuplas t
Fernando Pech May Bases de Datos Distribuidas -Antecedentes Enero, 2012 26/27