SlideShare una empresa de Scribd logo
1 de 17
INSTITUTO TECNOLOGICO DE TIJUANA
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 FUNDAMENTALES
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 $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 evalúa
como falso, por ejemplo:
σNomSuc = << Estelí>> Λ Salario > 8500 (Salarios)
Salario devengado: Dinero que uno gana, ya sea cuando se trabaja para alguien más o para uno mismo de manera
autónoma
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 evalúa 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
Considérese 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, (mismo grado). 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 una cuenta 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 la operació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 el resultado del producto. Considérese la
consulta “encontrar a todos los clientes que tiene un préstamo y las
ciudades en las que viven”. Primero formamos el producto cartesiano de
las relaciones préstamo y cliente, después seleccionamos aquellas
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
Algebra relacional

Más contenido relacionado

La actualidad más candente

Review chapter 1 2-3
Review chapter 1 2-3Review chapter 1 2-3
Review chapter 1 2-3ahmed22dg
 
Data Structure and Algorithms Merge Sort
Data Structure and Algorithms Merge SortData Structure and Algorithms Merge Sort
Data Structure and Algorithms Merge SortManishPrajapati78
 
Query optimization
Query optimizationQuery optimization
Query optimizationNeha Behl
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPMiguelGomez371
 
Quick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And AnalysisQuick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And AnalysisSNJ Chaudhary
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 Data Structures - Lecture 9 [Stack & Queue using Linked List] Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]Muhammad Hammad Waseem
 
Selection sort
Selection sortSelection sort
Selection sortamna izzat
 
UNIT I LINEAR DATA STRUCTURES – LIST
UNIT I 	LINEAR DATA STRUCTURES – LIST 	UNIT I 	LINEAR DATA STRUCTURES – LIST
UNIT I LINEAR DATA STRUCTURES – LIST Kathirvel Ayyaswamy
 
Transaction management DBMS
Transaction  management DBMSTransaction  management DBMS
Transaction management DBMSMegha Patel
 
Case Study(Analysis of Algorithm.pdf
Case Study(Analysis of Algorithm.pdfCase Study(Analysis of Algorithm.pdf
Case Study(Analysis of Algorithm.pdfShaistaRiaz4
 
Sorting method data structure
Sorting method data structureSorting method data structure
Sorting method data structuresunilchute1
 
Query Optimization
Query OptimizationQuery Optimization
Query Optimizationrohitsalunke
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFOum Saokosal
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 

La actualidad más candente (20)

Review chapter 1 2-3
Review chapter 1 2-3Review chapter 1 2-3
Review chapter 1 2-3
 
Data Structure and Algorithms Merge Sort
Data Structure and Algorithms Merge SortData Structure and Algorithms Merge Sort
Data Structure and Algorithms Merge Sort
 
Query optimization
Query optimizationQuery optimization
Query optimization
 
4.4 hashing
4.4 hashing4.4 hashing
4.4 hashing
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UP
 
Quick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And AnalysisQuick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And Analysis
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 Data Structures - Lecture 9 [Stack & Queue using Linked List] Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 
Selection sort
Selection sortSelection sort
Selection sort
 
joins in database
 joins in database joins in database
joins in database
 
Red black trees
Red black treesRed black trees
Red black trees
 
UNIT I LINEAR DATA STRUCTURES – LIST
UNIT I 	LINEAR DATA STRUCTURES – LIST 	UNIT I 	LINEAR DATA STRUCTURES – LIST
UNIT I LINEAR DATA STRUCTURES – LIST
 
Transaction management DBMS
Transaction  management DBMSTransaction  management DBMS
Transaction management DBMS
 
convex hull
convex hullconvex hull
convex hull
 
Case Study(Analysis of Algorithm.pdf
Case Study(Analysis of Algorithm.pdfCase Study(Analysis of Algorithm.pdf
Case Study(Analysis of Algorithm.pdf
 
Sorting method data structure
Sorting method data structureSorting method data structure
Sorting method data structure
 
Analysis of algorithm
Analysis of algorithmAnalysis of algorithm
Analysis of algorithm
 
skip list
skip listskip list
skip list
 
Query Optimization
Query OptimizationQuery Optimization
Query Optimization
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 

Similar a Algebra relacional (20)

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
 
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
 
ALGEBRA RELACIONAL
ALGEBRA RELACIONALALGEBRA RELACIONAL
ALGEBRA RELACIONAL
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
bd2-teorico01.pdf
bd2-teorico01.pdfbd2-teorico01.pdf
bd2-teorico01.pdf
 
Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacional
 
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
 
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
 
presentacion
presentacionpresentacion
presentacion
 
ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
P:\Lenguajes Formales
P:\Lenguajes FormalesP:\Lenguajes Formales
P:\Lenguajes Formales
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo 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
 

Último

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 

Último (20)

Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 

Algebra relacional

  • 1. INSTITUTO TECNOLOGICO DE TIJUANA 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 FUNDAMENTALES 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 $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 evalúa como falso, por ejemplo: σNomSuc = << Estelí>> Λ Salario > 8500 (Salarios) Salario devengado: Dinero que uno gana, ya sea cuando se trabaja para alguien más o para uno mismo de manera autónoma
  • 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 evalúa 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 Considérese 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, (mismo grado). 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 una cuenta 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 la operació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 el resultado del producto. Considérese la consulta “encontrar a todos los clientes que tiene un préstamo y las ciudades en las que viven”. Primero formamos el producto cartesiano de las relaciones préstamo y cliente, después seleccionamos aquellas 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