SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Documento basado en las presentaciones del libro Sistemas de Bases de Datos deThomasConnolly y Carolyn E. Begg.
1
 Significado del termino relacional completo.
 Como es la forma de las consultas en el algebra
relacional.
 Como es la forma de consultas in tuplas en el
calculo relacional.
 Como es la forma de consultas en el dominio
de el calculo relacional.
 Categorías del DML relacional.
2
 El algebra y el calculo relacional son
lenguajes formales asociados con el modelo
relacional.
 Informalmente, el algebra relacional es un
lenguaje procedimental (alto nivel) y el
calculo relacional es un lenguaje no
procedimental.
 Ambos lenguajes son equivalentes.
 Un lenguaje que produce una relación que
puede ser derivada usando calculo relacional
es relacionalmente completa.
3
 Las operaciones del algebra relacional
trabajan sobre una o mas relaciones para
definir otra relación sin cambiar las relaciones
originales.
 Ambos, operadores y resultados son
relaciones, así la salida desde una operación
puede llegar a ser la entrada para otra
operación.
 Se permite que expresiones sean anidadas.
Esta propiedad es llamada Clausula.
4
 Existen 5 operaciones básicas del algebra
relacional:
 Selección,
 Proyección,
 Producto cartesiano,
 Unión,
 Diferencia de Conjuntos.
 Estas permiten la recuperación de datos.
 Operaciones como Join (unión), Intersección,
y and División, pueden ser expresadas en
términos de las 5 operaciones básicas.
5
6
7
 predicado (R)
 Trabaja con una simple relación R y define la
relación que contiene solamente aquellas tuplas
(filas) de R que satisfacen la condición
especificada (predicado).
8
 Listar todo el Staff con salario mas grande
que $10,000.
salary > 10000 (Staff)
9
 col1, . . . , coln(R)
 Trabaja con una simple relación R y define una
relación que contiene un subconjunto vertical
(atributos) de R, extractando los valores los
atributos especificados y eliminando los
duplicados.
10
 Producir la lista de salarios para todo el Staff
mostrando solamente staffNo, fName,
lName, y detalles de salary.
staffNo, fName, lName, salary(Staff)
11
 R  S
 Unión de dos relaciones R y S definen una relación
que contiene todas las tuplas de R o S o ambas, las
tuplas duplicadas serán eliminadas.
 R y S deben ser compatibles para la Unión.
 Si R y S tiene i y j tuplas respectivamente, la
unión es obtenida por la concatenación de
ellas en una relación con un máximo de (I + J)
tuplas.
12
 Liste todas las ciudades donde hay ni una
sucursal (Branch) o una propiedad en alquiler.
city(Branch)  city(PropertyForRent)
13
 R – S
 Define una relación de las tuplas que están en la
relación R pero que no están en S
 R y S deben ser compatibles para la diferencia.
14
 Listar todas las ciudades donde están las
sucursales (Branch) pero no están el las
propiedades para la renta (PropertyForRent).
city(Branch) – city(PropertyForRent)
15
 R  S
 Define una relación que consistente del
conjunto de todas las tuplas que están en
ambos conjuntos R y S.
 R y S deben ser compatibles para la
intersección.
 R  S = R – (R – S)
16
 Listar todas las ciudades donde hay una
sucursal (Branch) y por lo menos una
propiedad para renta.
city(Branch)  city(PropertyForRent)
17
 R X S
 Define una relación que es la concatenación de
todas las tuplas de la relación R con las tuplas de
la relación S.
18
 Listar los nombre y comentarios de todos los clientes
quienes han visto una propiedad para la renta.
(clientNo, fName, lName(Client)) X (clientNo, propertyNo, comment
(Viewing))
19
 Use selección para extraer aquellas tuplas donde
Client.clientNo = Viewing.clientNo.
Client.clientNo = Viewing.clientNo((clientNo, fName, lName(Client)) 
(clientNo, propertyNo, comment(Viewing)))
 Producto Cartesiano y la Selección pueden ser reducidos a una simple operación
llamada Join.
20
 Join es derivado del producto cartesiano.
 Son las operaciones más difíciles de
implementar eficientemente en una RDBMS.
21
 Forma de la operación joinTheta join
 Equijoin (un particular tipo deTheta join)
 Join Natural
 Outer join
 Semijoin
22
 R FS
 Define una relación que consiste de tuplas que
satisfacen el predicado F del producto
cartesiano de R y S.
 El predicado de F es de la forma R.ai  S.bi
donde  puede ser uno de los operadores de
comparación (<, , >, , =, ).
23
 Theta puede ser re-escrita de usando selección
básica y producto cartesiano.
R FS = F(R  S)
 El grado de un Theta join es la suma de grados de
los operando relacionales de R y S. Si el predicado
de F contiene solo igualdad (=), el termino usado es
Equijoin.
24
 Listar los nombres y comentarios de todos los
clientes quienes han visto una propiedad para
rentar.
(clientNo, fName, lName(Client)) Client.clientNo =
Viewing.clientNo (clientNo, propertyNo, comment(Viewing))
25
 R S
 Un Equijoin de dos relaciones R y S sobre todos los
atributos comunes x. Una ocurrencia de cada
atributo común es eliminado de la relación
resultado.
26
 Listar los nombres y comentarios de todos los
clientes que han visto una propiedad para rentar.
(clientNo, fName, lName(Client))
(clientNo, propertyNo, comment(Viewing))
27
 Para mostrar filas en el resultado que no tienen
valores de emparejamiento (match) en las
columnas del join, use Outer join.
 R S
 (Izquierdo) outer join es un join en el cual tuplas de R
que no tienen valores para emparejar (match) con
columnas comunes de S y estas son incluidas en el
resultado.
28
 Producir un reporte de estado las propiedades
visitadas.
propertyNo, street, city(PropertyForRent) Viewing
29
 R F S
 Define una relación que contiene tuplas de R que
participan en el join de R con S.
 Un Semijoin puede ser escrito como una proyección y un
Join:
R F S = A(R F S)
30
 Liste los detalles completos de todo el staff
quienes trabajan en una sucursal (branch) en
Glasgow.
Staff Staff.branchNo=Branch.branchNo(city=‘Glasgow’(Branch))
31
 R  S
 Define una relación sobre los atributos C que consisten de
un conjunto de tuplas de R que corresponder con la
combinación de todas la tupla en S.
 Expresado usando operaciones básicas:
T1  C(R)
T2  C((S XT1) – R)
T T1 –T2
32
 Identificar todos los cliente quienes han visto
todas las propiedades de tres alcobas.
(clientNo, propertyNo(Viewing)) 
(propertyNo(rooms = 3 (PropertyForRent)))
33
 AL(R)
 Aplica la lista de funciones de agregación, AL, a la
relación R para definir una relación sobre la lista
de agregación.
 AL contiene uno o más pares
(<función_agregada>, <atributos>).
 Las principales funciones agregadas son:
COUNT, SUM, AVG, MIN y MAX.
34
 Cuantas propiedades tienen un valor de renta de más de
350 mes?
R(myCount) COUNT propertyNo (σrent > 350
(PropertyForRent))
35
 GAAL(R)
 Agrupación de tuplas de R por los atributos
definidos, GA, y después, aplica a la lista una
función agregada, AL, para definir una nueva
relación
 AL contiene uno o más pares
(<función_agregada>, <atributos>).
 La relación resultante contiene los atributos que
agrupan, GA, junto con resultados de cada uno de
las funciones agregadas.
36
 Encontrar el número de Personas (Staff) que trabajan en
cada sucursal (Branch) y la sumas de sus salarios.
R(branchNo, myCount, mySum)
branchNo  COUNT staffNo, SUM salary (Staff)
37
 La operación de asignación () suministra una forma
conveniente de expresar consultas complejas.
 Asignación será hecha sobre variables de relación
temporales.
 Ejemplo: r  s as
temp1  R-S (r )
temp2  R-S ((temp1 x s ) – R-S,S (r ))
result = temp1 – temp2
 El resultado a las derecha es asignado a la variable de
relación a la izquierda de .
 Puede usarse variables en expresiones subsecuentes.
 El contenido de la base de datos se
puede realizar usando las siguientes
operaciones:
 Borrado (Delete)
 Inserción (Insert)
 Actualización (Update)
 Todas las operaciones son expresadas
usando el operador de asignación.
 Una petición de borrado es expresada
similarmente a una consulta, excepto que en vez
de mostrar tuplas al usuario, la tuplas son
removidas.
 Se pueden borrar solamente todas las tuplas; no
se pueden borrar solo valores de atributos en
particular.
 Es expresado por:
R  R – E
donde R es una relación y E es consulta del
algebra relacional.
 Borrar todas las tuplas de la sucursal
(Branch) donde la ciudad sea London.
Branch  Branch – city = “London” (Branch)
 Para insertar datos en una relación se debe
tener en cuenta:
 Especificar la tupla a ser insertada
 Escribir una consulta cuyo resultado es el
conjunto de tuplas a ser insertado.
 En el algebra relacional se expresa así:
R  R  E
donde R es la relación y E es la expresión
algebraica de la relación a insertar.
 Insertar información el la relación Cliente la siguiente
información el cliente CR99 que es Jenny López, teléfono
123456 y prefType = House y el máximo de renta a pagar 600.
Client  Client  {(“CR99”, “Jenny”, ”López”, “123456”, “House”, 600)}
 Un mecanismo para cambiar valores de una
tupla sin cambiar todos los valores en la tupla
 Usa el operador de proyección para hacer la
tarea
 Cada Fi es:
 Un atributo de R que no sea modificado,
ó,
 Si el atributo a ser actualizado es Fi una expresión
puede ser usada.
)(,,,, 21
RR lFFF 
 Incrementar al valor máximo a pagar por renta de todos los cliente en el
4.5 porciento.
Client   clientNo, fName, lName, telNo, prefType, * maxRent *4.5 (Client)
 Connolly, Tomas M,. Begg, Carolyn E. “Sistemas
de bases de datos: Un enfoque práctico para
diseño, implementación y gestión”. 4ª Edición.
Pearson – AddisonWesley. 2005. Capitulo 4.
 KORTH, HENRY F., SILBERSCHATZ, ABRAHAM,
“Fundamentos de bases de datos” 2da. Edición,
McGraw-Hill/Interamericana de España, España,
1993
46

Más contenido relacionado

La actualidad más candente

Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
Luis Jherry
 
Ejemplos de algoritmos
Ejemplos de algoritmos Ejemplos de algoritmos
Ejemplos de algoritmos
Angelica Rada
 
Modelo de datos Banco
Modelo de datos BancoModelo de datos Banco
Modelo de datos Banco
atrivinho
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
Luis Jherry
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo real
Aeivans
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sql
evavivez
 
ARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUXARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUX
Alex Daquilema
 
Administración de Base de Datos
Administración de Base de DatosAdministración de Base de Datos
Administración de Base de Datos
Axel Mérida
 

La actualidad más candente (20)

Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
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
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Base de datos relacionales algebra relacional
Base de datos relacionales algebra relacionalBase de datos relacionales algebra relacional
Base de datos relacionales algebra relacional
 
Ejemplos de algoritmos
Ejemplos de algoritmos Ejemplos de algoritmos
Ejemplos de algoritmos
 
Modelo de datos Banco
Modelo de datos BancoModelo de datos Banco
Modelo de datos Banco
 
Problemas de diseño de base de datos
Problemas de diseño de base de datosProblemas de diseño de base de datos
Problemas de diseño de base de datos
 
Prolog 2011 2
Prolog 2011 2Prolog 2011 2
Prolog 2011 2
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo real
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sql
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
ARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUXARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUX
 
Administración de Base de Datos
Administración de Base de DatosAdministración de Base de Datos
Administración de Base de Datos
 

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 relacional
Lili Sanchez
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
Blanca Parra
 
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
JosepSalvadorSotoObregon
 
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
Carlos Castillo (ChaTo)
 

Destacado (20)

Calculo relacional de base de datos
Calculo relacional de base de datosCalculo relacional de base de datos
Calculo relacional de 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
 
Calculo relacional diapositivas
Calculo relacional diapositivasCalculo relacional diapositivas
Calculo relacional diapositivas
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra 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
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 
Cálculo relacional
Cálculo relacionalCálculo relacional
Cálculo 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
 
Unidad v algebra relacional
Unidad v   algebra relacionalUnidad v   algebra relacional
Unidad v algebra relacional
 
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 
Base de datos: Algebra relacional
Base de datos: Algebra relacionalBase de datos: Algebra relacional
Base de datos: Algebra relacional
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 
CALCULO RELACIONAL
CALCULO RELACIONALCALCULO RELACIONAL
CALCULO RELACIONAL
 
CV-Ahmed Mostafa
CV-Ahmed MostafaCV-Ahmed Mostafa
CV-Ahmed Mostafa
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 
Bases de Datos Cap:IV
Bases de Datos  Cap:IVBases de Datos  Cap:IV
Bases de Datos Cap:IV
 
Curso de bases de dtos
Curso de bases de dtosCurso de bases de dtos
Curso de bases de dtos
 

Similar a Algebra y calculo relacional

fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
ssuser869fd0
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
sarai0000
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
josecuartas
 

Similar a Algebra y calculo relacional (20)

unidad v Algebra Relacinal
unidad v Algebra Relacinalunidad v Algebra Relacinal
unidad v Algebra Relacinal
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
bd2-teorico01.pdf
bd2-teorico01.pdfbd2-teorico01.pdf
bd2-teorico01.pdf
 
presentacion
presentacionpresentacion
presentacion
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacional
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacional
 
ALGEBRA RELACIONAL
ALGEBRA RELACIONALALGEBRA RELACIONAL
ALGEBRA RELACIONAL
 
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
fdocuments.es_el-modelo-relacional-john-freddy-duitama-munoz-facultad-de-inge...
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Diseño de base de datos Relacionales
Diseño de base de datos RelacionalesDiseño de base de datos Relacionales
Diseño de base de datos Relacionales
 
T3 Modelo de Datos Relacional
T3 Modelo de Datos RelacionalT3 Modelo de Datos Relacional
T3 Modelo de Datos Relacional
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Pb operaciones modelorelacional_gris
Pb operaciones modelorelacional_grisPb operaciones modelorelacional_gris
Pb operaciones modelorelacional_gris
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Relaciones y Grafos
Relaciones y GrafosRelaciones y Grafos
Relaciones y Grafos
 

Último

MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptxMÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
CristianCastro978067
 

Último (20)

AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdf
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
 
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptxMÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.ppt
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
 
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdfPosiciones de México en el PNB PPA per cápita (1982-2024).pdf
Posiciones de México en el PNB PPA per cápita (1982-2024).pdf
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptxINTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
INTRODUCCION-A-LOS-ALGORITMOS-BASICOS.pptx
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdf
 
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdf
 
Gestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajalGestión Logística maria palmira guti cabajal
Gestión Logística maria palmira guti cabajal
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdf
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 

Algebra y calculo relacional

  • 1. Documento basado en las presentaciones del libro Sistemas de Bases de Datos deThomasConnolly y Carolyn E. Begg. 1
  • 2.  Significado del termino relacional completo.  Como es la forma de las consultas en el algebra relacional.  Como es la forma de consultas in tuplas en el calculo relacional.  Como es la forma de consultas en el dominio de el calculo relacional.  Categorías del DML relacional. 2
  • 3.  El algebra y el calculo relacional son lenguajes formales asociados con el modelo relacional.  Informalmente, el algebra relacional es un lenguaje procedimental (alto nivel) y el calculo relacional es un lenguaje no procedimental.  Ambos lenguajes son equivalentes.  Un lenguaje que produce una relación que puede ser derivada usando calculo relacional es relacionalmente completa. 3
  • 4.  Las operaciones del algebra relacional trabajan sobre una o mas relaciones para definir otra relación sin cambiar las relaciones originales.  Ambos, operadores y resultados son relaciones, así la salida desde una operación puede llegar a ser la entrada para otra operación.  Se permite que expresiones sean anidadas. Esta propiedad es llamada Clausula. 4
  • 5.  Existen 5 operaciones básicas del algebra relacional:  Selección,  Proyección,  Producto cartesiano,  Unión,  Diferencia de Conjuntos.  Estas permiten la recuperación de datos.  Operaciones como Join (unión), Intersección, y and División, pueden ser expresadas en términos de las 5 operaciones básicas. 5
  • 6. 6
  • 7. 7
  • 8.  predicado (R)  Trabaja con una simple relación R y define la relación que contiene solamente aquellas tuplas (filas) de R que satisfacen la condición especificada (predicado). 8
  • 9.  Listar todo el Staff con salario mas grande que $10,000. salary > 10000 (Staff) 9
  • 10.  col1, . . . , coln(R)  Trabaja con una simple relación R y define una relación que contiene un subconjunto vertical (atributos) de R, extractando los valores los atributos especificados y eliminando los duplicados. 10
  • 11.  Producir la lista de salarios para todo el Staff mostrando solamente staffNo, fName, lName, y detalles de salary. staffNo, fName, lName, salary(Staff) 11
  • 12.  R  S  Unión de dos relaciones R y S definen una relación que contiene todas las tuplas de R o S o ambas, las tuplas duplicadas serán eliminadas.  R y S deben ser compatibles para la Unión.  Si R y S tiene i y j tuplas respectivamente, la unión es obtenida por la concatenación de ellas en una relación con un máximo de (I + J) tuplas. 12
  • 13.  Liste todas las ciudades donde hay ni una sucursal (Branch) o una propiedad en alquiler. city(Branch)  city(PropertyForRent) 13
  • 14.  R – S  Define una relación de las tuplas que están en la relación R pero que no están en S  R y S deben ser compatibles para la diferencia. 14
  • 15.  Listar todas las ciudades donde están las sucursales (Branch) pero no están el las propiedades para la renta (PropertyForRent). city(Branch) – city(PropertyForRent) 15
  • 16.  R  S  Define una relación que consistente del conjunto de todas las tuplas que están en ambos conjuntos R y S.  R y S deben ser compatibles para la intersección.  R  S = R – (R – S) 16
  • 17.  Listar todas las ciudades donde hay una sucursal (Branch) y por lo menos una propiedad para renta. city(Branch)  city(PropertyForRent) 17
  • 18.  R X S  Define una relación que es la concatenación de todas las tuplas de la relación R con las tuplas de la relación S. 18
  • 19.  Listar los nombre y comentarios de todos los clientes quienes han visto una propiedad para la renta. (clientNo, fName, lName(Client)) X (clientNo, propertyNo, comment (Viewing)) 19
  • 20.  Use selección para extraer aquellas tuplas donde Client.clientNo = Viewing.clientNo. Client.clientNo = Viewing.clientNo((clientNo, fName, lName(Client))  (clientNo, propertyNo, comment(Viewing)))  Producto Cartesiano y la Selección pueden ser reducidos a una simple operación llamada Join. 20
  • 21.  Join es derivado del producto cartesiano.  Son las operaciones más difíciles de implementar eficientemente en una RDBMS. 21
  • 22.  Forma de la operación joinTheta join  Equijoin (un particular tipo deTheta join)  Join Natural  Outer join  Semijoin 22
  • 23.  R FS  Define una relación que consiste de tuplas que satisfacen el predicado F del producto cartesiano de R y S.  El predicado de F es de la forma R.ai  S.bi donde  puede ser uno de los operadores de comparación (<, , >, , =, ). 23
  • 24.  Theta puede ser re-escrita de usando selección básica y producto cartesiano. R FS = F(R  S)  El grado de un Theta join es la suma de grados de los operando relacionales de R y S. Si el predicado de F contiene solo igualdad (=), el termino usado es Equijoin. 24
  • 25.  Listar los nombres y comentarios de todos los clientes quienes han visto una propiedad para rentar. (clientNo, fName, lName(Client)) Client.clientNo = Viewing.clientNo (clientNo, propertyNo, comment(Viewing)) 25
  • 26.  R S  Un Equijoin de dos relaciones R y S sobre todos los atributos comunes x. Una ocurrencia de cada atributo común es eliminado de la relación resultado. 26
  • 27.  Listar los nombres y comentarios de todos los clientes que han visto una propiedad para rentar. (clientNo, fName, lName(Client)) (clientNo, propertyNo, comment(Viewing)) 27
  • 28.  Para mostrar filas en el resultado que no tienen valores de emparejamiento (match) en las columnas del join, use Outer join.  R S  (Izquierdo) outer join es un join en el cual tuplas de R que no tienen valores para emparejar (match) con columnas comunes de S y estas son incluidas en el resultado. 28
  • 29.  Producir un reporte de estado las propiedades visitadas. propertyNo, street, city(PropertyForRent) Viewing 29
  • 30.  R F S  Define una relación que contiene tuplas de R que participan en el join de R con S.  Un Semijoin puede ser escrito como una proyección y un Join: R F S = A(R F S) 30
  • 31.  Liste los detalles completos de todo el staff quienes trabajan en una sucursal (branch) en Glasgow. Staff Staff.branchNo=Branch.branchNo(city=‘Glasgow’(Branch)) 31
  • 32.  R  S  Define una relación sobre los atributos C que consisten de un conjunto de tuplas de R que corresponder con la combinación de todas la tupla en S.  Expresado usando operaciones básicas: T1  C(R) T2  C((S XT1) – R) T T1 –T2 32
  • 33.  Identificar todos los cliente quienes han visto todas las propiedades de tres alcobas. (clientNo, propertyNo(Viewing))  (propertyNo(rooms = 3 (PropertyForRent))) 33
  • 34.  AL(R)  Aplica la lista de funciones de agregación, AL, a la relación R para definir una relación sobre la lista de agregación.  AL contiene uno o más pares (<función_agregada>, <atributos>).  Las principales funciones agregadas son: COUNT, SUM, AVG, MIN y MAX. 34
  • 35.  Cuantas propiedades tienen un valor de renta de más de 350 mes? R(myCount) COUNT propertyNo (σrent > 350 (PropertyForRent)) 35
  • 36.  GAAL(R)  Agrupación de tuplas de R por los atributos definidos, GA, y después, aplica a la lista una función agregada, AL, para definir una nueva relación  AL contiene uno o más pares (<función_agregada>, <atributos>).  La relación resultante contiene los atributos que agrupan, GA, junto con resultados de cada uno de las funciones agregadas. 36
  • 37.  Encontrar el número de Personas (Staff) que trabajan en cada sucursal (Branch) y la sumas de sus salarios. R(branchNo, myCount, mySum) branchNo  COUNT staffNo, SUM salary (Staff) 37
  • 38.  La operación de asignación () suministra una forma conveniente de expresar consultas complejas.  Asignación será hecha sobre variables de relación temporales.  Ejemplo: r  s as temp1  R-S (r ) temp2  R-S ((temp1 x s ) – R-S,S (r )) result = temp1 – temp2  El resultado a las derecha es asignado a la variable de relación a la izquierda de .  Puede usarse variables en expresiones subsecuentes.
  • 39.  El contenido de la base de datos se puede realizar usando las siguientes operaciones:  Borrado (Delete)  Inserción (Insert)  Actualización (Update)  Todas las operaciones son expresadas usando el operador de asignación.
  • 40.  Una petición de borrado es expresada similarmente a una consulta, excepto que en vez de mostrar tuplas al usuario, la tuplas son removidas.  Se pueden borrar solamente todas las tuplas; no se pueden borrar solo valores de atributos en particular.  Es expresado por: R  R – E donde R es una relación y E es consulta del algebra relacional.
  • 41.  Borrar todas las tuplas de la sucursal (Branch) donde la ciudad sea London. Branch  Branch – city = “London” (Branch)
  • 42.  Para insertar datos en una relación se debe tener en cuenta:  Especificar la tupla a ser insertada  Escribir una consulta cuyo resultado es el conjunto de tuplas a ser insertado.  En el algebra relacional se expresa así: R  R  E donde R es la relación y E es la expresión algebraica de la relación a insertar.
  • 43.  Insertar información el la relación Cliente la siguiente información el cliente CR99 que es Jenny López, teléfono 123456 y prefType = House y el máximo de renta a pagar 600. Client  Client  {(“CR99”, “Jenny”, ”López”, “123456”, “House”, 600)}
  • 44.  Un mecanismo para cambiar valores de una tupla sin cambiar todos los valores en la tupla  Usa el operador de proyección para hacer la tarea  Cada Fi es:  Un atributo de R que no sea modificado, ó,  Si el atributo a ser actualizado es Fi una expresión puede ser usada. )(,,,, 21 RR lFFF 
  • 45.  Incrementar al valor máximo a pagar por renta de todos los cliente en el 4.5 porciento. Client   clientNo, fName, lName, telNo, prefType, * maxRent *4.5 (Client)
  • 46.  Connolly, Tomas M,. Begg, Carolyn E. “Sistemas de bases de datos: Un enfoque práctico para diseño, implementación y gestión”. 4ª Edición. Pearson – AddisonWesley. 2005. Capitulo 4.  KORTH, HENRY F., SILBERSCHATZ, ABRAHAM, “Fundamentos de bases de datos” 2da. Edición, McGraw-Hill/Interamericana de España, España, 1993 46