SlideShare una empresa de Scribd logo
1 de 31
21/05/13 Curso Bases de Datos 1
CONCEPTOS Y DISEÑOS DE
BASES DE DATOS
Gustavo Cáceres Castellanos
Universidad Pedagógica y Tecnológica de Colombia
gustavo.caceres@uptc.edu.co
Especialización en Bases de Datos
ÁLGEBRA RELACIONAL
21/05/13 Curso Bases de Datos 2
Álgebra Relacional
 Permite operar con el Modelo Relacional
 Conjunto de operadores que toman relaciones
como sus operandos y regresan una relación
como resultado  El álgebra es cerrada
 Es un formalismo que permite solicitar
información a las Bases de Datos
 Es un lenguaje puro (en general no se
implementa directamente)
 Propuesta por Codd
 Se usa para la traducción de una consulta SQL
y para optimización de consultas
21/05/13 Curso Bases de Datos 3
Álgebra Relacional
 8 operadores iniciales clasificados en
2 grupos:
 Tradicionales de la teoría de conjuntos:
Unión, Intersección, Diferencia y
Producto Cartesiano
 Especiales: Restricción (o Selección),
Proyección, Reunión (join) y División
 Operadores adicionales: Renombrado,
Agrupamiento
21/05/13 Curso Concepto y Diseño de
Bases de Datos
4
Álgebra Relacional
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
ADMINISTRADOR
PRODUCTOR
Sean las relaciones:
¡¡REPASO!!
¿Cuál es el esquema de
la relación
ADMINISTRADOR?
(Código,Nombre,Edad)
21/05/13 Curso Bases de Datos 5
Restricción o Selección (σ)
 El argumento es una relación y
una condición
 Produce una relación R1 que
contiene todas las tuplas de R
que cumplen una condición
específica
 La condición se construye
mediante operadores de
comparación (=,<,> etc.) y
booleanos (AND, OR etc.)
 El resultado es una nueva
relación cuyo esquema es
idéntico al esquema de R
σcondición(R)
21/05/13 Curso Bases de Datos 6
Restricción o Selección (σ)
σEdad >= 25(Administrador):
σCódigo < 5 (Productor):
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
Código Nombre Edad
2 Enrique Muñoz 25
Código Nombre Edad
2 Enrique Muñoz 25
8 Jorge Arias 30
10 Juan Martínez 19
21/05/13 Curso Bases de Datos 7
Proyección (π)
 Toma como argumento
una relación R y una lista
de atributos
 Se utiliza para extraer
atributos (columnas) de
una relación R
 El resultado es una nueva
relación R1 cuyo esquema
corresponde a la lista de
atributos proyectados
 En R1 se eliminan las
tuplas duplicadas
 Se puede extraer más de
una columna a la vez
π Lista Atributos (R)
21/05/13 Curso Bases de Datos 8
Proyección (π)
πCódigo,Edad(Administrador)
Código Edad
1 33
2 25
3 21
Código Nombre
2 Enrique Muñoz
8 Jorge Arias
10 Juan Martínez
πCódigo,Nombre(Productor)
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
21/05/13 Curso Bases de Datos 9
Proyección (π)
Código Edad
1 30
2 25
3 30
Suponga una relación W así:
πEdad(W)
W
Edad
30
25
¡¡ se eliminan tuplastuplas repetidas !!
El resultado será:
21/05/13 Curso Bases de Datos 10
Producto Cartesiano: R1 XX R2
 Toma como argumentos dos relaciones R1 y R2
 Da como resultado una relación R3 cuyo esquema consta
tanto de los atributos de R1 como de los atributos de R2
 Los esquemas de R1 y R2 deben ser disjuntos, es decir
los esquemas de R1 y R2 no pueden tener nombres de
atributos en común ¿por qué?
 Se debe usar un alias (mediante el operador ρ) si los
esquemas no son disjuntos
 R3 contiene todas las tuplas resultantes de la
concatenación de cada tupla de R1con cada una de las
tuplas de R2
Renombrado de atributos
RENOMBRADO DE ATRIBUTOS
21/05/13 Curso Bases de Datos 11
Forma I:
Administrador XX [ρCódigoCod,NombreNom,EdadEdad1(Productor)]
Forma II:
Productor1(Cod,Nom,Edad1) ‹-- Productor
21/05/13 Curso Bases de Datos 12
Ejemplo
Código Nombre Edad Cod Nom Edad1
1 Jorge Campos 33 2 Enrique Muñoz 25
1 Jorge Campos 33 8 Jorge Arias 30
1 Jorge Campos 33 10 Juan Martínez 19
2 Enrique Muñoz 25 2 Enrique Muñoz 25
2 Enrique Muñoz 25 8 Jorge Arias 30
2 Enrique Muñoz 25 10 Juan Martínez 19
3 Esteban Paz 21 2 Enrique Muñoz 25
3 Esteban Paz 21 8 Jorge Arias 30
3 Esteban Paz 21 10 Juan Martínez 19
El renombrado ρρ de la relationde la relation
RR(A,B,C,D) en(A,B,C,D) en RR(A,K,L,D) se denota(A,K,L,D) se denota
ρρ BBK,CK,CLL (R)
¡¡ El renombrado es puramente sintáctico !!
Administrador XX [ρCódigoCod,NombreNom,EdadEdad1(Productor)]
21/05/13 Curso Bases de Datos 13
Unión: R1 ∪ R2
 Toma como argumentos
dos relaciones R1 y R2 con
esquemas idénticos
 Retorna una relación R3
con el mismo esquema de
R1 y R2 que contiene todas
la tuplas de R1 y todas las
de R2, eliminando tuplas
repetidas
R1
R2
21/05/13 Curso Bases de Datos 14
Ejemplo:
 Administrador ∪ Productor:
Código Nombre Edad
1 Jorge Campos 33
2 Enrique Muñoz 25
3 Esteban Paz 21
8 Jorge Arias 30
10 Juan Martínez 19
21/05/13 Curso Bases de Datos 15
Intersección: R1 ∩ R2
 Toma como argumentos
dos relaciones R1 y R2
con esquemas idénticos
 Retorna una relación R3
con el mismo esquema
de R1 y R2 que contiene
todas las tuplas que
aparecen tanto en R1
como en R2
R1
R2
21/05/13 Curso Bases de Datos 16
Ejemplo
 Administrador ∩ Productor
Código Nombre Edad
2 Enrique Muñoz 25
21/05/13 Curso Bases de Datos 17
Diferencia: R1 − R2
 Toma como argumento
dos relaciones R1 y R2
con esquemas idénticos
 Retorna una relación R3
con el mismo esquema
de R1 y R2 que
contiene todas las
tuplas que aparecen en
R1 pero no en R2
R1
R2
21/05/13 Curso Bases de Datos 18
Ejemplo
 Administrador − Productor:
 Productor − Administrador:
Código Nombre Edad
1 Jorge Campos 33
3 Esteban Paz 21
Código Nombre Edad
8 Jorge Arias 30
10 Juan Martínez 19
21/05/13 Curso Bases de Datos 19
 La unión, intersección y producto
cartesiano son conmutativas y
asociativas
 La diferencia no es conmutativa ni
asociativa
 La intersección no es primitiva ya que
puede ser expresada mediante la
diferencia
Propiedades
21/05/13 Curso Bases de Datos 20
Reunión (JOIN)
 NATURAL JOIN: R1 * R2
Si R1(A,B) y R2(B,C) el resultado de R1 *R2
es una relación R3 con esquema R3(A,B,C)
donde cada tupla de R1 se concatena con cada
tupla de R2 SIEMPRE Y CUANDO tengan el
mismo valor del atributo en común (B).
El atributo B puede ser compuesto.
21/05/13 Curso Bases de Datos 21
Ejemplo
Código Nombre Edad Depto
1 Jorge Campos 33 1
2 Enrique Muñoz 25 1
3 Esteban Paz 21 1
8 Jorge Arias 30 2
10 Juan Martínez 19 2
12 Anselmo Rodas 28 6
Depto Descripción
1 Administración
2 Producción
3 Ventas
4 Finanzas
Empleado
Departamento
Atributo de
Join
NotaNota: En este ejemplo, el campo
Depto en Empleado NO ES CF
con respecto a la tabla Departamento
21/05/13 Curso Bases de Datos 22
Ejemplo
Empleado * Departamento
Código Nombre Edad Depto Descripción
1 Jorge Campos 33 1 Administración
2 Enrique Muñoz 25 1 Administración
3 Esteban Paz 21 1 Administración
8 Jorge Arias 30 2 Producción
10 Juan Martínez 19 2 Producción
21/05/13 Curso Bases de Datos 23
SEMI JOIN ( ⊳)
 Idéntico al NATURAL JOIN pero la
relación resultante tiene el esquema
de la relación izquierda ¿Utilidad?
21/05/13 Curso Bases de Datos 24
THETA JOIN (R1 ⋈ Condición R2)
 El operador de comparación usado en la
condición NO es el “==“ sino alguno de
los siguientes: “>>“, “<<“, “>=>=“, “<=<=“,
“≠≠“
 Es equivalente a: σCondición (R1 X R2)
21/05/13 Curso Bases de Datos 25
Ejemplo
Empleado ⋈ Depto > Dep [ρ DeptoDep (Departamento)]
Código Nombre Edad Depto Dep Desc
8 Jorge Arias 30 2 1 Administración
10 Juan Martínez 19 2 1 Administración
12 Anselmo Rodas 28 6 1 Administración
12 Anselmo Rodas 28 6 2 Producción
12 Anselmo Rodas 28 6 3 Ventas
12 Anselmo Rodas 28 6 4 Finanzas
21/05/13 Curso Bases de Datos 26
División: R1 ÷ R2
Def 1: Sean las relaciones R1(A,B) y
R2(B). El resultado de R1 ÷ R2es una
relación R3 cuyo esquema esta compuesto
por el atributo A, donde para todo valor
de B en R2 existe una pareja en R1de A
con ese valor.
Def 2:
R ÷ S = {t | t ∈ ΠΠK (R) y {t} x s ⊆⊆ r} con
K= esquema de R – esquema de S
Tuplas de S
Tuplas de R
21/05/13 Curso Bases de Datos 27
Ejemplo
Empleado
Código Nombre Edad Depto
1 Jorge Campos 33 1
2 Enrique Muñoz 25 1
2 Enrique Muñoz 25 2
3 Esteban Paz 21 1
8 Jorge Arias 30 2
10 Juan Martínez 19 2
Depto
1
2
Departamento
Empleado ÷ (πDepto(Departamento))
En este ejemplo la relación empleado no está
normalizada, observe que la CP es (Código, Depto)
y Código  Nombre, Edad
Código Nombre Edad
2 Enrique Muñoz 25
21/05/13 Curso Bases de Datos 28
Ademas ..
Se permite también el siguiente operador:
Asignación: VbleRelacion Relación←
Otra forma de renombrar atributos y el
nombre de la relación
ρ NuevoNombreRelación(Atributos Renombrados) (π(Lista Atributos)(R))
21/05/13 Curso Bases de Datos 29
Agrupar con funciones
F : Agrupar con funciones Suma(), Promedio(), Max(), Min(),
Cuenta()
Código Nombre Edad Depto
1 Jorge Campos 33 1
2 Enrique Muñoz 25 1
3 Esteban Paz 21 1
8 Jorge Arias 30 2
10 Juan Martínez 19 2
12 Anselmo Rodas 28 6
¿Qué hace la siguiente consulta?
Depto F Cuenta(Código) AS conteo (Emp)
Renombrado
de la función de
Grupo
Emp
Atributos de Agrupamiento FFunciones de Grupo (R)
Ej. Sea:
SINTAXIS:
21/05/13 Curso Bases de Datos 30
Extender
Extend R ADD expresión AS nuevo_atributo
Código Nombre Sal Bono
1 Jorge Campos 33 1
2 Enrique Muñoz 25 1
3 Esteban Paz 21 1
8 Jorge Arias 30 2
10 Juan Martínez 19 2
12 Anselmo Rodas 28 6
Emp
Ej: Extend Emp ADD Sal*2 AS Saldobl
21/05/13 Curso Bases de Datos 31
Ejemplo
 Se genera una relación como la original
pero con un atributo saldobl adicional:
Código Nombre Sal Bono Saldobl
1 Jorge Campos 33 1 66
2 Enrique Muñoz 25 1 50
3 Esteban Paz 21 1 42
8 Jorge Arias 30 2 60
10 Juan Martínez 19 2 38
12 Anselmo Rodas 28 6 56
¿Qué hace la siguiente consulta?
Ej: Extend Emp ADD 1 AS num, ‘Hola’ AS mensaje

Más contenido relacionado

La actualidad más candente

Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesbasilioj
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalMaria Garcia
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 
Normalizacion boyce codd_4_fn
Normalizacion boyce codd_4_fnNormalizacion boyce codd_4_fn
Normalizacion boyce codd_4_fnLuis Jherry
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacionalAlvaro Loustau
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)YENZU
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datosani_tuza
 
Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-RRobert Rodriguez
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4LuiS YmAY
 
3 modelo er
3 modelo er3 modelo er
3 modelo erramume69
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 
Normalización de bases de datos
Normalización de bases de datosNormalización de bases de datos
Normalización de bases de datoshugofreestyle
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 

La actualidad más candente (20)

Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Normalizacion boyce codd_4_fn
Normalizacion boyce codd_4_fnNormalizacion boyce codd_4_fn
Normalizacion boyce codd_4_fn
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacional
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
 
Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-R
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4
 
3 modelo er
3 modelo er3 modelo er
3 modelo er
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
Normalización de bases de datos
Normalización de bases de datosNormalización de bases de datos
Normalización de bases de datos
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Supertipos Y Clasificacion
Supertipos Y ClasificacionSupertipos Y Clasificacion
Supertipos Y Clasificacion
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 

Destacado

Operaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacionalOperaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacionalLili Sanchez
 
Bases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalBases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalCarlos Castillo (ChaTo)
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosJosepSalvadorSotoObregon
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Fichas bibliográficas: APA
Fichas bibliográficas: APAFichas bibliográficas: APA
Fichas bibliográficas: APAUPAEP
 

Destacado (8)

Modelamiento de base de Datos - Algebra relacional
Modelamiento de base de Datos - Algebra relacionalModelamiento de base de Datos - Algebra relacional
Modelamiento de base de Datos - Algebra relacional
 
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 
normalizacion base de datos
normalizacion base de datosnormalizacion base de datos
normalizacion base de datos
 
Operaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacionalOperaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacional
 
Bases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalBases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacional
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Fichas bibliográficas: APA
Fichas bibliográficas: APAFichas bibliográficas: APA
Fichas bibliográficas: APA
 

Similar a Álgebra Relacional y operadores básicos

Similar a Álgebra Relacional y operadores básicos (20)

Pres10BDI.ppt
Pres10BDI.pptPres10BDI.ppt
Pres10BDI.ppt
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Unidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datosUnidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
presentacion
presentacionpresentacion
presentacion
 
Bd algebra relacional
Bd algebra relacionalBd algebra relacional
Bd algebra relacional
 
Pb operaciones modelorelacional_gris
Pb operaciones modelorelacional_grisPb operaciones modelorelacional_gris
Pb operaciones modelorelacional_gris
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8
 
Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacional
 
BASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdfBASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdf
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Excel 2010 - Teoria
Excel 2010 - TeoriaExcel 2010 - Teoria
Excel 2010 - Teoria
 
DOCI2019-GRUPO4
DOCI2019-GRUPO4DOCI2019-GRUPO4
DOCI2019-GRUPO4
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacion
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Diseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptxDiseño de Base de DatosFin.pptx
Diseño de Base de DatosFin.pptx
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 

Álgebra Relacional y operadores básicos

  • 1. 21/05/13 Curso Bases de Datos 1 CONCEPTOS Y DISEÑOS DE BASES DE DATOS Gustavo Cáceres Castellanos Universidad Pedagógica y Tecnológica de Colombia gustavo.caceres@uptc.edu.co Especialización en Bases de Datos ÁLGEBRA RELACIONAL
  • 2. 21/05/13 Curso Bases de Datos 2 Álgebra Relacional  Permite operar con el Modelo Relacional  Conjunto de operadores que toman relaciones como sus operandos y regresan una relación como resultado  El álgebra es cerrada  Es un formalismo que permite solicitar información a las Bases de Datos  Es un lenguaje puro (en general no se implementa directamente)  Propuesta por Codd  Se usa para la traducción de una consulta SQL y para optimización de consultas
  • 3. 21/05/13 Curso Bases de Datos 3 Álgebra Relacional  8 operadores iniciales clasificados en 2 grupos:  Tradicionales de la teoría de conjuntos: Unión, Intersección, Diferencia y Producto Cartesiano  Especiales: Restricción (o Selección), Proyección, Reunión (join) y División  Operadores adicionales: Renombrado, Agrupamiento
  • 4. 21/05/13 Curso Concepto y Diseño de Bases de Datos 4 Álgebra Relacional Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19 ADMINISTRADOR PRODUCTOR Sean las relaciones: ¡¡REPASO!! ¿Cuál es el esquema de la relación ADMINISTRADOR? (Código,Nombre,Edad)
  • 5. 21/05/13 Curso Bases de Datos 5 Restricción o Selección (σ)  El argumento es una relación y una condición  Produce una relación R1 que contiene todas las tuplas de R que cumplen una condición específica  La condición se construye mediante operadores de comparación (=,<,> etc.) y booleanos (AND, OR etc.)  El resultado es una nueva relación cuyo esquema es idéntico al esquema de R σcondición(R)
  • 6. 21/05/13 Curso Bases de Datos 6 Restricción o Selección (σ) σEdad >= 25(Administrador): σCódigo < 5 (Productor): Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 Código Nombre Edad 2 Enrique Muñoz 25 Código Nombre Edad 2 Enrique Muñoz 25 8 Jorge Arias 30 10 Juan Martínez 19
  • 7. 21/05/13 Curso Bases de Datos 7 Proyección (π)  Toma como argumento una relación R y una lista de atributos  Se utiliza para extraer atributos (columnas) de una relación R  El resultado es una nueva relación R1 cuyo esquema corresponde a la lista de atributos proyectados  En R1 se eliminan las tuplas duplicadas  Se puede extraer más de una columna a la vez π Lista Atributos (R)
  • 8. 21/05/13 Curso Bases de Datos 8 Proyección (π) πCódigo,Edad(Administrador) Código Edad 1 33 2 25 3 21 Código Nombre 2 Enrique Muñoz 8 Jorge Arias 10 Juan Martínez πCódigo,Nombre(Productor) Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21
  • 9. 21/05/13 Curso Bases de Datos 9 Proyección (π) Código Edad 1 30 2 25 3 30 Suponga una relación W así: πEdad(W) W Edad 30 25 ¡¡ se eliminan tuplastuplas repetidas !! El resultado será:
  • 10. 21/05/13 Curso Bases de Datos 10 Producto Cartesiano: R1 XX R2  Toma como argumentos dos relaciones R1 y R2  Da como resultado una relación R3 cuyo esquema consta tanto de los atributos de R1 como de los atributos de R2  Los esquemas de R1 y R2 deben ser disjuntos, es decir los esquemas de R1 y R2 no pueden tener nombres de atributos en común ¿por qué?  Se debe usar un alias (mediante el operador ρ) si los esquemas no son disjuntos  R3 contiene todas las tuplas resultantes de la concatenación de cada tupla de R1con cada una de las tuplas de R2 Renombrado de atributos
  • 11. RENOMBRADO DE ATRIBUTOS 21/05/13 Curso Bases de Datos 11 Forma I: Administrador XX [ρCódigoCod,NombreNom,EdadEdad1(Productor)] Forma II: Productor1(Cod,Nom,Edad1) ‹-- Productor
  • 12. 21/05/13 Curso Bases de Datos 12 Ejemplo Código Nombre Edad Cod Nom Edad1 1 Jorge Campos 33 2 Enrique Muñoz 25 1 Jorge Campos 33 8 Jorge Arias 30 1 Jorge Campos 33 10 Juan Martínez 19 2 Enrique Muñoz 25 2 Enrique Muñoz 25 2 Enrique Muñoz 25 8 Jorge Arias 30 2 Enrique Muñoz 25 10 Juan Martínez 19 3 Esteban Paz 21 2 Enrique Muñoz 25 3 Esteban Paz 21 8 Jorge Arias 30 3 Esteban Paz 21 10 Juan Martínez 19 El renombrado ρρ de la relationde la relation RR(A,B,C,D) en(A,B,C,D) en RR(A,K,L,D) se denota(A,K,L,D) se denota ρρ BBK,CK,CLL (R) ¡¡ El renombrado es puramente sintáctico !! Administrador XX [ρCódigoCod,NombreNom,EdadEdad1(Productor)]
  • 13. 21/05/13 Curso Bases de Datos 13 Unión: R1 ∪ R2  Toma como argumentos dos relaciones R1 y R2 con esquemas idénticos  Retorna una relación R3 con el mismo esquema de R1 y R2 que contiene todas la tuplas de R1 y todas las de R2, eliminando tuplas repetidas R1 R2
  • 14. 21/05/13 Curso Bases de Datos 14 Ejemplo:  Administrador ∪ Productor: Código Nombre Edad 1 Jorge Campos 33 2 Enrique Muñoz 25 3 Esteban Paz 21 8 Jorge Arias 30 10 Juan Martínez 19
  • 15. 21/05/13 Curso Bases de Datos 15 Intersección: R1 ∩ R2  Toma como argumentos dos relaciones R1 y R2 con esquemas idénticos  Retorna una relación R3 con el mismo esquema de R1 y R2 que contiene todas las tuplas que aparecen tanto en R1 como en R2 R1 R2
  • 16. 21/05/13 Curso Bases de Datos 16 Ejemplo  Administrador ∩ Productor Código Nombre Edad 2 Enrique Muñoz 25
  • 17. 21/05/13 Curso Bases de Datos 17 Diferencia: R1 − R2  Toma como argumento dos relaciones R1 y R2 con esquemas idénticos  Retorna una relación R3 con el mismo esquema de R1 y R2 que contiene todas las tuplas que aparecen en R1 pero no en R2 R1 R2
  • 18. 21/05/13 Curso Bases de Datos 18 Ejemplo  Administrador − Productor:  Productor − Administrador: Código Nombre Edad 1 Jorge Campos 33 3 Esteban Paz 21 Código Nombre Edad 8 Jorge Arias 30 10 Juan Martínez 19
  • 19. 21/05/13 Curso Bases de Datos 19  La unión, intersección y producto cartesiano son conmutativas y asociativas  La diferencia no es conmutativa ni asociativa  La intersección no es primitiva ya que puede ser expresada mediante la diferencia Propiedades
  • 20. 21/05/13 Curso Bases de Datos 20 Reunión (JOIN)  NATURAL JOIN: R1 * R2 Si R1(A,B) y R2(B,C) el resultado de R1 *R2 es una relación R3 con esquema R3(A,B,C) donde cada tupla de R1 se concatena con cada tupla de R2 SIEMPRE Y CUANDO tengan el mismo valor del atributo en común (B). El atributo B puede ser compuesto.
  • 21. 21/05/13 Curso Bases de Datos 21 Ejemplo Código Nombre Edad Depto 1 Jorge Campos 33 1 2 Enrique Muñoz 25 1 3 Esteban Paz 21 1 8 Jorge Arias 30 2 10 Juan Martínez 19 2 12 Anselmo Rodas 28 6 Depto Descripción 1 Administración 2 Producción 3 Ventas 4 Finanzas Empleado Departamento Atributo de Join NotaNota: En este ejemplo, el campo Depto en Empleado NO ES CF con respecto a la tabla Departamento
  • 22. 21/05/13 Curso Bases de Datos 22 Ejemplo Empleado * Departamento Código Nombre Edad Depto Descripción 1 Jorge Campos 33 1 Administración 2 Enrique Muñoz 25 1 Administración 3 Esteban Paz 21 1 Administración 8 Jorge Arias 30 2 Producción 10 Juan Martínez 19 2 Producción
  • 23. 21/05/13 Curso Bases de Datos 23 SEMI JOIN ( ⊳)  Idéntico al NATURAL JOIN pero la relación resultante tiene el esquema de la relación izquierda ¿Utilidad?
  • 24. 21/05/13 Curso Bases de Datos 24 THETA JOIN (R1 ⋈ Condición R2)  El operador de comparación usado en la condición NO es el “==“ sino alguno de los siguientes: “>>“, “<<“, “>=>=“, “<=<=“, “≠≠“  Es equivalente a: σCondición (R1 X R2)
  • 25. 21/05/13 Curso Bases de Datos 25 Ejemplo Empleado ⋈ Depto > Dep [ρ DeptoDep (Departamento)] Código Nombre Edad Depto Dep Desc 8 Jorge Arias 30 2 1 Administración 10 Juan Martínez 19 2 1 Administración 12 Anselmo Rodas 28 6 1 Administración 12 Anselmo Rodas 28 6 2 Producción 12 Anselmo Rodas 28 6 3 Ventas 12 Anselmo Rodas 28 6 4 Finanzas
  • 26. 21/05/13 Curso Bases de Datos 26 División: R1 ÷ R2 Def 1: Sean las relaciones R1(A,B) y R2(B). El resultado de R1 ÷ R2es una relación R3 cuyo esquema esta compuesto por el atributo A, donde para todo valor de B en R2 existe una pareja en R1de A con ese valor. Def 2: R ÷ S = {t | t ∈ ΠΠK (R) y {t} x s ⊆⊆ r} con K= esquema de R – esquema de S Tuplas de S Tuplas de R
  • 27. 21/05/13 Curso Bases de Datos 27 Ejemplo Empleado Código Nombre Edad Depto 1 Jorge Campos 33 1 2 Enrique Muñoz 25 1 2 Enrique Muñoz 25 2 3 Esteban Paz 21 1 8 Jorge Arias 30 2 10 Juan Martínez 19 2 Depto 1 2 Departamento Empleado ÷ (πDepto(Departamento)) En este ejemplo la relación empleado no está normalizada, observe que la CP es (Código, Depto) y Código  Nombre, Edad Código Nombre Edad 2 Enrique Muñoz 25
  • 28. 21/05/13 Curso Bases de Datos 28 Ademas .. Se permite también el siguiente operador: Asignación: VbleRelacion Relación← Otra forma de renombrar atributos y el nombre de la relación ρ NuevoNombreRelación(Atributos Renombrados) (π(Lista Atributos)(R))
  • 29. 21/05/13 Curso Bases de Datos 29 Agrupar con funciones F : Agrupar con funciones Suma(), Promedio(), Max(), Min(), Cuenta() Código Nombre Edad Depto 1 Jorge Campos 33 1 2 Enrique Muñoz 25 1 3 Esteban Paz 21 1 8 Jorge Arias 30 2 10 Juan Martínez 19 2 12 Anselmo Rodas 28 6 ¿Qué hace la siguiente consulta? Depto F Cuenta(Código) AS conteo (Emp) Renombrado de la función de Grupo Emp Atributos de Agrupamiento FFunciones de Grupo (R) Ej. Sea: SINTAXIS:
  • 30. 21/05/13 Curso Bases de Datos 30 Extender Extend R ADD expresión AS nuevo_atributo Código Nombre Sal Bono 1 Jorge Campos 33 1 2 Enrique Muñoz 25 1 3 Esteban Paz 21 1 8 Jorge Arias 30 2 10 Juan Martínez 19 2 12 Anselmo Rodas 28 6 Emp Ej: Extend Emp ADD Sal*2 AS Saldobl
  • 31. 21/05/13 Curso Bases de Datos 31 Ejemplo  Se genera una relación como la original pero con un atributo saldobl adicional: Código Nombre Sal Bono Saldobl 1 Jorge Campos 33 1 66 2 Enrique Muñoz 25 1 50 3 Esteban Paz 21 1 42 8 Jorge Arias 30 2 60 10 Juan Martínez 19 2 38 12 Anselmo Rodas 28 6 56 ¿Qué hace la siguiente consulta? Ej: Extend Emp ADD 1 AS num, ‘Hola’ AS mensaje