SlideShare una empresa de Scribd logo
1 de 16
INSTITUTO TECNOLOGICO DE ACAPULCO
      FUNDAMENTOS DE BASE DE DATOS
ALGEBRA RELACIONAL
 El algebra relacional es un lenguaje de consulta
 procedimental. Consta de un conjunto de operaciones
 que toman como entrada una o dos relaciones y
 producen como resultado una nueva relación. Las
 operaciones fundamentales del algebra relacional son
 selección, proyección, unión, diferencia de
 conjuntos, producto cartesiano y renombramiento.
 Además de las operaciones fundamentales hay otras
 apreciaciones, por ejemplo, intersección de conjuntos,
 reunión natural, división y asignación. Estas
 operaciones se definirán en función de las operaciones
 fundamentales.
OPERACIONES FUNAMENTALES

Las operaciones selección, proyección y
  renombramiento, se denominan operaciones unarias,
  porque operan sobre una sola relación.

Las otras tres operaciones operan sobre pares de
  relaciones y se denominan por lo tanto operaciones
  binarias.
La operación SELECCIÒN
La operación selección, selecciona tuplas que satisfacen un predicado dado. Se utiliza la
   letra griega sigma minúscula (σ) para denotar la selección. El predicado aparece como
   subíndice de σ. La relación del argumento se da entre paréntesis a continuación de σ. Por
   tanto para seleccionar las tuplas de la relación Salarios en que la sucursal es <<Estelí>>,
   hay que escribir:
   σNomSuc = << Estelí>>(Salarios)




El resultado del primer ensayo de selección seria:
Se pueden buscar todas las tuplas donde el salario devengado sea mayor a C$7,000 escribiendo:
           σSalario>7000 (Salarios),      y el resultado sería el siguiente:




En general se permiten las comparaciones que utilizan =, ≠, <, ≤, >, o ≥ en el predicado de
selección. Además se pueden combinar varios predicados en uno mayor usando las conectivas
“y” (Λ) y “o” (V). por tanto, para encontrar las tuplas correspondientes a la sucursal Estelí, con
salarios mayores a 7,000 hay que escribir:
     σNomSuc = << Estelí>>    Λ Salario > 7000   (Salarios)
y el resultado sería el siguiente:




En el caso que el predicado de la operación de selección no genere ninguna tupla el resultado de
la selección será un valor especial nulo que expresa valor desconocido o inexistente y se evalua
como falso, por elemplo:
      σNomSuc = << Estelí>>   Λ Salario > 8500   (Salarios)
La operación PROYECCIÓN
Supóngase que se desea imprimir una lista determinada en las que no interesan
  algunos datos como código de empleado, código de sucursal, ni el salario. La
  operación de proyección permite producir esta relación. La operación de
  proyección es una operación unaria que devuelve su relación de argumentos
  excluyendo algunos argumentos. Dado que las relaciones son conjuntos se eliminan
  todas las filas duplicadas. La operación de proyección se denota por la letra
  mayúscula pi (Π). Se crea la lista de atributos que se desea que aparezcan en el
  resultado como subíndice de Π. La relación de argumentos se escribe a
  continuación entre paréntesis. Por tanto; la consulta para crear una lista de todos los
  empleados y sucursales puede escribirse como:
                              ΠNomSuc, Empleado (Salarios)
   Resultado:
Composición de operaciones relacionales

Es importante el echo de que el resultado de una operación
  relacional sea también una relación. Considérese una relación
  mas compleja, “Encontrar los empleados de la sucursal de Estelí“,
  en este caso habría que escribir:

        ΠEmpleado (σNomSuc = << Estelí>>(Salarios))

Téngase en cuenta que, en vez de dar el nombre de una relación en
  el argumento de la operación proyección se da una expresión que
  se evalua como una relación.
Dado que las operaciones de algebra relacional se aplican a
  relaciones y estas a su vez dan como resultado una nueva
  relación, las expresiones de algebra relacional pueden
  combinarse para formar una expresión de algebra relacional.
La operación UNION
  Considerese la relación Incentivos   .


  y la relación Antigüedad:




     Se desea generar una lista que muestre los empleados que perciben ingresos por
incentivos, antigüedad o ambos. Se puede observar que ambas relaciones no satisfacen
completamente la lista a generar.
     No obstante se conoce la manera de generar la lista de empleados de la relación incentivos:
     ΠEmpleado (Incentivos)
     de igual manera en la relación Antigüedad:
     ΠEmpleado (Antigüedad).
Para generar una lista que contenga ambos listados es necesario la operación unión, de estos
     dos conjuntos; es decir, hacen falta todos los nombres de los empleados que aparecen en
     alguna de las dos relaciones o en ambas. Estos datos se pueden averiguar mediante la
     operación binaria unión, denotada igual que en la teoría de conjuntos por U. por tanto la
     expresión buscada es:
                   ΠEmpleado (Incentivos) U ΠEmpleado (Antigüedad)
  y el resultado mostraría lo siguiente:




Cabe señalar que la operación de unión que efectuamos se dio entre dos relaciones que son
compatibles, es decir que poseen el mismo tipo de dominio, como lo es Empleado, no tendría
sentido tratar de hacer una operación de unión entre el dominio empleado de la relación
incentivo, con el dominio NomSuc de la relación Salarios. Además se debe tomar en cuenta el
numero de campos de la relación, en el caso de incentivos tiene dos campos, mientras que
Salarios tiene cinco campos. Por tanto para que la relación que una operación unión rUs sea
válida hay que exigir que se cumplan dos condiciones:
•Las relaciones r y s deben ser de la misma aridad. Es decir, deben tener el mismo número de
atributos.
•Los dominios de los atributos i-esimos de r y de s deben ser iguales para todo i.
La operación DIFERENCIA DE CONJUNTOS
La operación diferencia de conjuntos denotada por el operador aritmético -, permite buscar
   las tuplas que estén en una relación pero no en otra.
La expresión r-s da como resultado una relación que contiene las tuplas que están en r pero
   no están en s.
Se pueden buscar todos los empleados que no tengan incentivos, o antigüedad, escribiendo:
            ΠEmpleado (Salarios) - ΠEmpleado (Incentivos)




             ΠEmpleado (Salarios) - ΠEmpleado (Antigüedad)
La operación PRODUCTO CARTESIANO
La operación producto cartesiano denotada por una “x” permite combinar información
   de dos relaciones cualquiera. El producto cartesiano de las relaciones r1 y r2 esta
   dado por r1 x r2.
Recuérdese que las relaciones se definen como subconjuntos del producto cartesiano
   de un conjunto de dominios.
Dado que en este tipo de relaciones puede existir el mismo nombre de dominio en
   ambas relaciones como lo es Empleado, en las relaciones Incentivos, Antigüedad,
   hay que crear un esquema de denominaciones para distinguir entre ambos
   atributos. En este caso se logra adjuntando al atributo (dominio), el nombre de la
   relación de la que proviene originalmente. Por ejemplo, el esquema de la relación r=
   Incentivo x Antigüedad es:

(Incentivo.Empleado, Incentivo.Incent, Antigüedad.Empleado, Antigüedad.Antig)

El acuerdo de denominaciones precedente exige que las relaciones que sean
   argumentos de la operación de producto cartesiano tengan nombres diferentes. Esta
   exigencia causa problemas en algunos casos, como cuando se desea calcular el
   producto cartesiano de una relación consigo misma. Se produce un problema
   similar si se utiliza el resultado de una expresión del algebra relacional en un
   producto cartesiano, dado que hará falta un nombre para la relación para poder
   hacer referencia a sus atributos.
La operación RENOMBRAMIENTO
A diferencia de las relaciones de la base de datos, los resultados de las expresiones de algebra
   relacional, no tienen un nombre que se pueda utilizar para referirse a ellas. Resulta útil
   poder ponerles nombre: el operador renombramiento, denotado por la letra griega rho
   minúscula (ρ), permite realizar esta tarea. Dada una expresión E, se le puede resignar un
   nombre x mediante la siguiente expresión:

                                        ρx(E)
devuelve el resultado de la expresión E, con el nombre de x. las relaciones r por si mismas se
   consideran expresiones (triviales), del algebra relacional. Por tanto, también se puede
   aplicar la operación renombramiento a una relación r para obtener una misma relación
   con un nombre nuevo, de esa manera podemos darle una solución al problema del
   producto cartesiano cuando intentamos aplicar esta operación con la misma relación.

Por ejemplo:           Incentivo x ρIncentivo2(Incentivo)
Otra forma de la operación de renombramiento es la siguiente. Supóngase que una
   expresión de algebra relacional E tiene aridad n. Por tanto, la expresión :

                                  ρx(A1, A1,… An)(E)
Devuelve el resultado de la expresión con el nombre x, y los atributos con el nombre
  cambiado a A1, A1,… An respectivamente.
OPERACIÓN INTERSECCION DE
          CONJUNTOS
 La intersección de conjuntos (∩) comunes a dos
 relaciones, por ejemplo encontrar los clientes que
 tienen unacuenta y un préstamo en una sucursal sería:
   ∏ nombre_cliente( σ nombre_sucursal=”Nombre”(préstamo)∩ ∏ nombre_cliente( σ
   nombre_sucursal=”nombre” (depósito))

 Cualquier expresión del álgebra relacional que use la
  intersección de conjuntos puede reescribirse
  sustituyendo laoperación intersección por un par de
  operaciones diferencia de conjuntos: r ∩ s = r-(r-s).
 Así, la intersección de conjuntos no es una
  operación fundamental y no añade potencia al álgebra.
OPERACIÓN REUNION NATURAL
 Típicamente, una consulta que implica un producto cartesiano incluye
   una operación de selección en elresultado del producto. Considérese la
   consulta “encontrar a todos los clientes que tiene un préstamo y las
   ciudades enlas que viven”. Primero formamos el producto cartesiano de
   las relaciones préstamo y cliente, después seleccionamosaquellas
   tuplas que presenten un único nombre_cliente.

∏ préstamo.nombre_cliente, ciudad_cliente ( σ prestamo.nombre_cliente=cliente.nombre_cliente
(préstamo x cliente))
OPERACIÓN DIVISION
 La operación división (÷) se establece para aquellas
 consultas que incluyen la frase “para todos2.
 Supóngase que queremos encontrar a todos los clientes
 que tienen una cuenta en todas las sucursales que
 están en Brooklyn. Podemos obtener todas las
 sucursales en Brooklyn mediante:
    r1=∏nombre_sucursal(σ ciudad_sucursal=”Brooklyn”(depósito)
OPERACIÓN DE ASIGNACION
 A veces es conveniente escribir una expresión del álgebra relacional por
  partes usando la asignación a una variable de relación temporal. La
  operación asignación (ß), funciona de forma parecida a la asignación
  de los lenguajes de programación.
 La evaluación de una asignación no da como resultado una relación que
  se presenta al usuario, más bien, el resultado de la expresión a la
  derecha de ß es asignado a la variable de relación de la parte izquierda.
  Esta variable de relación puede usarse en subsiguientes expresiones.
  Con la operación asignación, una consulta puede escribirse como un
  programa secuencial que consta de una serie de asignaciones seguidas
  de una expresión cuyo valor se presenta como el resultado de la
  consulta. En álgebra relacional, la asignación debe hacerse siempre a
  una variable de relación temporal. Es importante observar que la
  operación de asignación no proporciona potencia adicional al álgebra,
  es una forma conveniente de expresar consultas complejas de forma
  más sencilla

Más contenido relacionado

La actualidad más candente

Herramientas case
Herramientas case Herramientas case
Herramientas case
00menni
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
Lalo Osorio
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
sarai0000
 

La actualidad más candente (20)

Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Herramientas case
Herramientas case Herramientas case
Herramientas case
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Diseño fisico
Diseño fisicoDiseño fisico
Diseño fisico
 
Crear y Eliminar Bases de datos en MySQL Workbench
Crear y Eliminar  Bases de datos en MySQL WorkbenchCrear y Eliminar  Bases de datos en MySQL Workbench
Crear y Eliminar Bases de datos en MySQL Workbench
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Modelo GOMS
Modelo GOMSModelo GOMS
Modelo GOMS
 
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitos
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 

Similar a Algebra relacional fundamentos de base de datos

Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacional
Albert Sinergy
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
sarai0000
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
laloflatland
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
laloflatland
 
Operaciones Relacionales
Operaciones RelacionalesOperaciones Relacionales
Operaciones Relacionales
cesarcayuela
 

Similar a Algebra relacional fundamentos de base de datos (20)

Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Unidad v algebra relacional
Unidad v   algebra relacionalUnidad v   algebra relacional
Unidad v algebra relacional
 
unidad v Algebra Relacinal
unidad v Algebra Relacinalunidad v Algebra Relacinal
unidad v Algebra Relacinal
 
bd2-teorico01.pdf
bd2-teorico01.pdfbd2-teorico01.pdf
bd2-teorico01.pdf
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
ALGEBRA RELACIONAL
ALGEBRA RELACIONALALGEBRA RELACIONAL
ALGEBRA RELACIONAL
 
presentacion
presentacionpresentacion
presentacion
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Bases de Datos Cap:IV
Bases de Datos  Cap:IVBases de Datos  Cap:IV
Bases de Datos Cap:IV
 
Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacional
 
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
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
Clase algebra relacional .pptx
Clase algebra relacional .pptxClase algebra relacional .pptx
Clase algebra relacional .pptx
 
P:\Lenguajes Formales
P:\Lenguajes FormalesP:\Lenguajes Formales
P:\Lenguajes Formales
 
Operaciones Relacionales
Operaciones RelacionalesOperaciones Relacionales
Operaciones Relacionales
 

Más de JosepSalvadorSotoObregon (6)

inteligencia artificial unidad 1
inteligencia artificial unidad 1inteligencia artificial unidad 1
inteligencia artificial unidad 1
 
Unidad 2 planificacion y modelado
Unidad 2 planificacion y modeladoUnidad 2 planificacion y modelado
Unidad 2 planificacion y modelado
 
Inteligencia artificial i isc Temario
Inteligencia artificial i isc TemarioInteligencia artificial i isc Temario
Inteligencia artificial i isc Temario
 
Capítulo 5 el presente y futuro de las telecomunicaciones
Capítulo 5 el presente y futuro de las telecomunicacionesCapítulo 5 el presente y futuro de las telecomunicaciones
Capítulo 5 el presente y futuro de las telecomunicaciones
 
Capítulo 3 técnicas de transmisión, multiplexación y conmutación
Capítulo 3 técnicas de transmisión, multiplexación y conmutaciónCapítulo 3 técnicas de transmisión, multiplexación y conmutación
Capítulo 3 técnicas de transmisión, multiplexación y conmutación
 
Capítulo 4 medios de transmisión y perturbaciones
Capítulo 4 medios de transmisión y perturbacionesCapítulo 4 medios de transmisión y perturbaciones
Capítulo 4 medios de transmisión y perturbaciones
 

Último

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 

Último (20)

PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 

Algebra relacional fundamentos de base de datos

  • 1. INSTITUTO TECNOLOGICO DE ACAPULCO FUNDAMENTOS DE BASE DE DATOS
  • 2. ALGEBRA RELACIONAL  El algebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación. Las operaciones fundamentales del algebra relacional son selección, proyección, unión, diferencia de conjuntos, producto cartesiano y renombramiento. Además de las operaciones fundamentales hay otras apreciaciones, por ejemplo, intersección de conjuntos, reunión natural, división y asignación. Estas operaciones se definirán en función de las operaciones fundamentales.
  • 3. OPERACIONES FUNAMENTALES Las operaciones selección, proyección y renombramiento, se denominan operaciones unarias, porque operan sobre una sola relación. Las otras tres operaciones operan sobre pares de relaciones y se denominan por lo tanto operaciones binarias.
  • 4. La operación SELECCIÒN La operación selección, selecciona tuplas que satisfacen un predicado dado. Se utiliza la letra griega sigma minúscula (σ) para denotar la selección. El predicado aparece como subíndice de σ. La relación del argumento se da entre paréntesis a continuación de σ. Por tanto para seleccionar las tuplas de la relación Salarios en que la sucursal es <<Estelí>>, hay que escribir: σNomSuc = << Estelí>>(Salarios) El resultado del primer ensayo de selección seria:
  • 5. Se pueden buscar todas las tuplas donde el salario devengado sea mayor a C$7,000 escribiendo: σSalario>7000 (Salarios), y el resultado sería el siguiente: En general se permiten las comparaciones que utilizan =, ≠, <, ≤, >, o ≥ en el predicado de selección. Además se pueden combinar varios predicados en uno mayor usando las conectivas “y” (Λ) y “o” (V). por tanto, para encontrar las tuplas correspondientes a la sucursal Estelí, con salarios mayores a 7,000 hay que escribir: σNomSuc = << Estelí>> Λ Salario > 7000 (Salarios) y el resultado sería el siguiente: En el caso que el predicado de la operación de selección no genere ninguna tupla el resultado de la selección será un valor especial nulo que expresa valor desconocido o inexistente y se evalua como falso, por elemplo: σNomSuc = << Estelí>> Λ Salario > 8500 (Salarios)
  • 6. La operación PROYECCIÓN Supóngase que se desea imprimir una lista determinada en las que no interesan algunos datos como código de empleado, código de sucursal, ni el salario. La operación de proyección permite producir esta relación. La operación de proyección es una operación unaria que devuelve su relación de argumentos excluyendo algunos argumentos. Dado que las relaciones son conjuntos se eliminan todas las filas duplicadas. La operación de proyección se denota por la letra mayúscula pi (Π). Se crea la lista de atributos que se desea que aparezcan en el resultado como subíndice de Π. La relación de argumentos se escribe a continuación entre paréntesis. Por tanto; la consulta para crear una lista de todos los empleados y sucursales puede escribirse como: ΠNomSuc, Empleado (Salarios) Resultado:
  • 7. Composición de operaciones relacionales Es importante el echo de que el resultado de una operación relacional sea también una relación. Considérese una relación mas compleja, “Encontrar los empleados de la sucursal de Estelí“, en este caso habría que escribir: ΠEmpleado (σNomSuc = << Estelí>>(Salarios)) Téngase en cuenta que, en vez de dar el nombre de una relación en el argumento de la operación proyección se da una expresión que se evalua como una relación. Dado que las operaciones de algebra relacional se aplican a relaciones y estas a su vez dan como resultado una nueva relación, las expresiones de algebra relacional pueden combinarse para formar una expresión de algebra relacional.
  • 8. La operación UNION Considerese la relación Incentivos . y la relación Antigüedad: Se desea generar una lista que muestre los empleados que perciben ingresos por incentivos, antigüedad o ambos. Se puede observar que ambas relaciones no satisfacen completamente la lista a generar. No obstante se conoce la manera de generar la lista de empleados de la relación incentivos: ΠEmpleado (Incentivos) de igual manera en la relación Antigüedad: ΠEmpleado (Antigüedad).
  • 9. Para generar una lista que contenga ambos listados es necesario la operación unión, de estos dos conjuntos; es decir, hacen falta todos los nombres de los empleados que aparecen en alguna de las dos relaciones o en ambas. Estos datos se pueden averiguar mediante la operación binaria unión, denotada igual que en la teoría de conjuntos por U. por tanto la expresión buscada es: ΠEmpleado (Incentivos) U ΠEmpleado (Antigüedad) y el resultado mostraría lo siguiente: Cabe señalar que la operación de unión que efectuamos se dio entre dos relaciones que son compatibles, es decir que poseen el mismo tipo de dominio, como lo es Empleado, no tendría sentido tratar de hacer una operación de unión entre el dominio empleado de la relación incentivo, con el dominio NomSuc de la relación Salarios. Además se debe tomar en cuenta el numero de campos de la relación, en el caso de incentivos tiene dos campos, mientras que Salarios tiene cinco campos. Por tanto para que la relación que una operación unión rUs sea válida hay que exigir que se cumplan dos condiciones: •Las relaciones r y s deben ser de la misma aridad. Es decir, deben tener el mismo número de atributos. •Los dominios de los atributos i-esimos de r y de s deben ser iguales para todo i.
  • 10. La operación DIFERENCIA DE CONJUNTOS La operación diferencia de conjuntos denotada por el operador aritmético -, permite buscar las tuplas que estén en una relación pero no en otra. La expresión r-s da como resultado una relación que contiene las tuplas que están en r pero no están en s. Se pueden buscar todos los empleados que no tengan incentivos, o antigüedad, escribiendo: ΠEmpleado (Salarios) - ΠEmpleado (Incentivos) ΠEmpleado (Salarios) - ΠEmpleado (Antigüedad)
  • 11. La operación PRODUCTO CARTESIANO La operación producto cartesiano denotada por una “x” permite combinar información de dos relaciones cualquiera. El producto cartesiano de las relaciones r1 y r2 esta dado por r1 x r2. Recuérdese que las relaciones se definen como subconjuntos del producto cartesiano de un conjunto de dominios. Dado que en este tipo de relaciones puede existir el mismo nombre de dominio en ambas relaciones como lo es Empleado, en las relaciones Incentivos, Antigüedad, hay que crear un esquema de denominaciones para distinguir entre ambos atributos. En este caso se logra adjuntando al atributo (dominio), el nombre de la relación de la que proviene originalmente. Por ejemplo, el esquema de la relación r= Incentivo x Antigüedad es: (Incentivo.Empleado, Incentivo.Incent, Antigüedad.Empleado, Antigüedad.Antig) El acuerdo de denominaciones precedente exige que las relaciones que sean argumentos de la operación de producto cartesiano tengan nombres diferentes. Esta exigencia causa problemas en algunos casos, como cuando se desea calcular el producto cartesiano de una relación consigo misma. Se produce un problema similar si se utiliza el resultado de una expresión del algebra relacional en un producto cartesiano, dado que hará falta un nombre para la relación para poder hacer referencia a sus atributos.
  • 12. La operación RENOMBRAMIENTO A diferencia de las relaciones de la base de datos, los resultados de las expresiones de algebra relacional, no tienen un nombre que se pueda utilizar para referirse a ellas. Resulta útil poder ponerles nombre: el operador renombramiento, denotado por la letra griega rho minúscula (ρ), permite realizar esta tarea. Dada una expresión E, se le puede resignar un nombre x mediante la siguiente expresión: ρx(E) devuelve el resultado de la expresión E, con el nombre de x. las relaciones r por si mismas se consideran expresiones (triviales), del algebra relacional. Por tanto, también se puede aplicar la operación renombramiento a una relación r para obtener una misma relación con un nombre nuevo, de esa manera podemos darle una solución al problema del producto cartesiano cuando intentamos aplicar esta operación con la misma relación. Por ejemplo: Incentivo x ρIncentivo2(Incentivo) Otra forma de la operación de renombramiento es la siguiente. Supóngase que una expresión de algebra relacional E tiene aridad n. Por tanto, la expresión : ρx(A1, A1,… An)(E) Devuelve el resultado de la expresión con el nombre x, y los atributos con el nombre cambiado a A1, A1,… An respectivamente.
  • 13. OPERACIÓN INTERSECCION DE CONJUNTOS  La intersección de conjuntos (∩) comunes a dos relaciones, por ejemplo encontrar los clientes que tienen unacuenta y un préstamo en una sucursal sería: ∏ nombre_cliente( σ nombre_sucursal=”Nombre”(préstamo)∩ ∏ nombre_cliente( σ nombre_sucursal=”nombre” (depósito))  Cualquier expresión del álgebra relacional que use la intersección de conjuntos puede reescribirse sustituyendo laoperación intersección por un par de operaciones diferencia de conjuntos: r ∩ s = r-(r-s).  Así, la intersección de conjuntos no es una operación fundamental y no añade potencia al álgebra.
  • 14. OPERACIÓN REUNION NATURAL  Típicamente, una consulta que implica un producto cartesiano incluye una operación de selección en elresultado del producto. Considérese la consulta “encontrar a todos los clientes que tiene un préstamo y las ciudades enlas que viven”. Primero formamos el producto cartesiano de las relaciones préstamo y cliente, después seleccionamosaquellas tuplas que presenten un único nombre_cliente. ∏ préstamo.nombre_cliente, ciudad_cliente ( σ prestamo.nombre_cliente=cliente.nombre_cliente (préstamo x cliente))
  • 15. OPERACIÓN DIVISION  La operación división (÷) se establece para aquellas consultas que incluyen la frase “para todos2. Supóngase que queremos encontrar a todos los clientes que tienen una cuenta en todas las sucursales que están en Brooklyn. Podemos obtener todas las sucursales en Brooklyn mediante: r1=∏nombre_sucursal(σ ciudad_sucursal=”Brooklyn”(depósito)
  • 16. OPERACIÓN DE ASIGNACION  A veces es conveniente escribir una expresión del álgebra relacional por partes usando la asignación a una variable de relación temporal. La operación asignación (ß), funciona de forma parecida a la asignación de los lenguajes de programación.  La evaluación de una asignación no da como resultado una relación que se presenta al usuario, más bien, el resultado de la expresión a la derecha de ß es asignado a la variable de relación de la parte izquierda. Esta variable de relación puede usarse en subsiguientes expresiones. Con la operación asignación, una consulta puede escribirse como un programa secuencial que consta de una serie de asignaciones seguidas de una expresión cuyo valor se presenta como el resultado de la consulta. En álgebra relacional, la asignación debe hacerse siempre a una variable de relación temporal. Es importante observar que la operación de asignación no proporciona potencia adicional al álgebra, es una forma conveniente de expresar consultas complejas de forma más sencilla