SlideShare una empresa de Scribd logo
1 de 7
ALGEBRA RELACIONAL

5.1 OPERACIONES FUNDAMENTALES
DEL ÁLGEBRA RELACIONAL
El álgebra 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 álgebra relacional
sonselección, proyección, unión, diferencia de
conjuntos, producto cartesiano y renombramiento. Además
de las operaciones fundamentales hay otras operaciones,
por ejemplo, intersección de conjuntos, reunión natural,
división y asignación. Estas operaciones se definirán en
términos 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.
5.2 OTRAS OPERACIONES DEL ALGEBRA
RELACIONAL
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 préstamo en que la
sucursal es «Navacerrada» hay que escribir

σnombre-sucursal = «Navacerrada» (préstamo)
La operación proyección
Supóngase que se desea hacer una lista de todos los
números de préstamo y del importe de los mismos, pero sin
que aparezcan los nombres de las sucursales. La
operación proyección permite producir esta relación. La
operación 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 proyección se denota
por la letra griega mayúscula pi (Π). Se crea una lista de los
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 números
de préstamo y del importe de los mismos puede escribirse
como

Πnúmero-préstamo, importe (préstamo)
La operación unión
Considérese una consulta para averiguar el nombre de
todos los clientes del banco que tienen una cuenta, un
préstamo o ambas cosas. Obsérvese que la
relación cliente no contiene esa información, dado que los
clientes no necesitan tener ni cuenta ni préstamo en el
banco. Para contestar a esta consulta hace falta la
información de la relación impositor (Figura 3.5) y la de la
relación prestatario (Figura 3.7). Se conoce la manera de
averiguar los nombres de todos los clientes con préstamos
en el banco:
Πnombre-cliente (prestatario)
También se conoce la manera de averiguar el nombre de
los clientes con cuenta en el banco:
Πnombre-cliente (impositor)

Para contestar a la consulta hace falta la unión de estos
dos conjuntos; es decir, hacen falta todos los nombres de
clientes que aparecen en alguna de las dos relaciones o en
ambas. Estos datos se pueden averiguar mediante la
operación binaria unión, denotada, como en la teoría de
conjuntos, por ∪. Por tanto, la expresión buscada es

Πnombre-cliente (prestatario)∪Πnombre-cliente (impositor)
La relación resultante de esta consulta aparece en la Figura
3.10. Téngase en cuenta que en el resultado hay diez
tuplas, aunque hay siete prestatarios y seis impositores
distintos. Esta discrepancia aparente se debe a que
Gómez, Santos y López son a la vez prestatarios e
impositores. Dado que las relaciones son conjuntos, se
eliminan los valores duplicados. Obsérvese que en este
ejemplo se toma la unión de
dos conjuntos, ambos consistentes en valores de nombre-
cliente. En general, se debe asegurar que las unionesse
realicen entre relaciones compatibles. Porejemplo, no
tendría sentido realizar la unión de las
relacionespréstamo y prestatario. La primera es una
relacióncon tres atributos, la segunda sólo tiene dos.
Másaún, considérese la unión de un conjunto de
nombresde clientes y de un conjunto de ciudades. Una
unión asíno tendría sentido en la mayor parte de los casos.
Portanto, para que una operación unión r ∪ s sea válida
hayque exigir que se cumplan dos condiciones:

1. Las relaciones r y s deben ser de la misma aridad. Es
decir, deben tener el mismo número de atributos.
2. Los dominios de los atributos i-ésimos de r y de s
deben ser iguales para todo i. Téngase en cuenta
que r y s pueden ser, en general, relaciones temporales
que sean resultado de expresiones del álgebra relacional.
La operación diferencia de conjuntos

La operación diferencia de conjuntos, denotada por –,
permite buscar las tuplas que estén en una relación pero no
en la otra. La expresión r – s da como resultado una
relación que contiene las tuplas que están en r pero no
en s. Se pueden buscar todos los clientes del banco que
tienen abierta una cuenta pero no tienen concedido ningún
préstamo escribiendo

Πnombre-cliente (impositor) – Πnombre-cliente (prestatario)
La relación resultante de esta consulta aparece en la Figura
3.13. Como en el caso de la operación unión, hay que
asegurarse de que las diferencias de conjuntos se realicen
entre relaciones compatibles. Por tanto, para que una

operación diferencia de conjuntos r – s sea válida hay que
exigir que las relaciones r y s sean de la misma aridad y
que los dominios de los atributos i-ésimos de r y s sean
iguales.

La operación producto cartesiano

La operación producto cartesiano, denotada por un aspa
(×), permite combinar información de cualesquiera dos
relaciones. El producto cartesiano de las relaciones r1 y r2
como r1 × r2. Recuérdese que las relaciones se definen
como subconjuntos del producto cartesiano de un conjunto
de dominios. A partir de esta definición ya se debe tener
una intuición sobre la definición de la operación producto
cartesiano. Sin embargo, dado que el mismo nombre de
atributo puede aparecer tanto en r1 como en r2,
hay que crear un esquema de denominaciones para
distinguir entre ambos atributos. En este caso se logra
adjuntando al atributo el nombre de la relación de la que
proviene originalmente. Por ejemplo, el esquema de
relación de r=prestatario × préstamo es

(prestatario.nombre-cliente, prestatario.númeropréstamo,
préstamo.nombre-sucursal, préstamo.
número-préstamo, préstamo.importe)

Con este esquema se puede distinguir
entre prestatario. número-préstamo y préstamo.número-
préstamo.
Para los atributos que sólo aparecen en uno de los dos
esquemas se suele omitir el prefijo con el nombre de la
relación. Esta simplificación no genera ambigüedad alguna.
Por tanto, se puede escribir el esquema de relación
de r como

(nombre-cliente, prestatario.número-préstamo, nombre-
sucursal, préstamo.número-préstamo, importe)

El acuerdo de denominaciones precedente exige que las
relaciones que sean argumentos de la operación 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 álgebra relacional en un
producto cartesiano, dado que hará falta un nombre para la
relación para poder hacer referencia a sus atributos. En el
Apartado 3.2.1.7 se verá la manera de evitar estos
problemas utilizando una operación renombramiento.

5.3 Algebra relacional extendida

Las operaciones básicas del álgebra relacional se han
ampliado de varias

maneras. Una ampliación sencilla es permitir operaciones
aritméticas como

parte de la proyección. Una ampliación importante es
permitir operaciones de

agregación, como el cálculo de la suma de los elementos
de un conjunto, o su

media. Otra ampliación importante es la operación reunión
externa, que

permite a las expresiones del álgebra relacional trabajar
con los valores nulos
que modelan la información que falta.

Proyección generalizada

La operación proyección generalizada amplía la operación
proyección

permitiendo que se utilicen funciones aritméticas en la lista
de proyección. La

operación proyección generalizada tiene la forma

ΠF1, F2, …, Fn (E)

donde E es cualquier expresión del álgebra relacional y F1,
F2, …, Fn son

expresiones aritméticas que incluyen constantes y atributos
en el esquema de E.

Como caso especial la expresión aritmética puede ser
simplemente un atributo o

una constante.


5.4 VALORES NULOS

"null' significa "dato desconocido" o "valor inexistente".
A veces, puede desconocerse o no existir el dato correspondiente a algún
campo de un registro. En estos casos decimos que el campo puede contener
valores nulos.
Por ejemplo, en nuestra tabla de libros, podemos tener valores nulos en el
campo "precio" porque es posible que para algunos libros no le hayamos
establecido el precio para la venta.
En contraposición, tenemos campos que no pueden estar vacíos jamás.
Veamos un ejemplo. Tenemos nuestra tabla "libros". El campo "titulo" no
debería estar vacío nunca, igualmente el campo "autor". Para ello, al crear la
tabla, debemos especificar que tales campos no admitan valores nulos:


<span style="background-color: #aed7a8; text-align:
left;">create table libros(
  titulo varchar2(30) not null,
  autor varchar2(20) not null,
  editorial varchar2(15) null,
  precio number(5,2)
 );</span>
Para especificar que un campo NO admita valores nulos, debemos colocar "not
null" luego de la definición del campo.
En el ejemplo anterior, los campos "editorial" y "precio" si admiten valores
nulos.
Cuando colocamos "null" estamos diciendo que admite valores nulos (caso del
campo "editorial"); por defecto, es decir, si no lo aclaramos, los campos
permiten valores nulos (caso del campo "precio").
Cualquier campo, de cualquier tipo de dato permite ser definido para aceptar
o no valores nulos. Un valor "null" NO es lo mismo que un valor 0 (cero) o una
cadena de espacios en blanco (" ").

Más contenido relacionado

La actualidad más candente

Diagramas De Casos De Uso
Diagramas De Casos De UsoDiagramas De Casos De Uso
Diagramas De Casos De Usonahun1385
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)YENZU
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasJuan Anaya
 
Ejemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando UmlEjemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando UmlAndrés Cruz
 
Evolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas OperativosEvolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas Operativosboris
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de usoJulio Pari
 
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsqlRicardo Riquelme Pinto
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalMaria Garcia
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registrosMeztli Valeriano Orozco
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusgiancarlo Aguirre Campos
 
proyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docxproyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docxKarina Leyva
 

La actualidad más candente (20)

Diagramas De Casos De Uso
Diagramas De Casos De UsoDiagramas De Casos De Uso
Diagramas De Casos De Uso
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneas
 
Diagrama de biblioteca
Diagrama de bibliotecaDiagrama de biblioteca
Diagrama de biblioteca
 
Ejemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando UmlEjemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando Uml
 
Cuadro comparativo tipos de modudacion
Cuadro comparativo tipos de modudacionCuadro comparativo tipos de modudacion
Cuadro comparativo tipos de modudacion
 
Evolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas OperativosEvolucion Historica De Los Sistemas Operativos
Evolucion Historica De Los Sistemas Operativos
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cus
 
proyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docxproyecto final de analisis y diseño sesion5.docx
proyecto final de analisis y diseño sesion5.docx
 
Uml (presentación 6)
Uml (presentación 6)Uml (presentación 6)
Uml (presentación 6)
 
UML
UMLUML
UML
 
Diagrama de Actividades
Diagrama de ActividadesDiagrama de Actividades
Diagrama de Actividades
 

Destacado

Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacionalAlbert Sinergy
 
Calculo relacional de base de datos
Calculo relacional de base de datosCalculo relacional de base de datos
Calculo relacional de base de datosDILMER OLIVERA
 
Practicas de geometria y trigonometria
Practicas de geometria y trigonometriaPracticas de geometria y trigonometria
Practicas de geometria y trigonometriaSaul Duque
 
Practicas de aritmetica y algebra
Practicas de aritmetica y algebraPracticas de aritmetica y algebra
Practicas de aritmetica y algebraSaul Duque
 
Curso completo de topografia sencico (1)
Curso completo de topografia   sencico (1)Curso completo de topografia   sencico (1)
Curso completo de topografia sencico (1)Kike Pizarro Alvarez
 

Destacado (7)

ÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONALÁLGEBRA RELACIONAL
ÁLGEBRA RELACIONAL
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacional
 
Calculo relacional de base de datos
Calculo relacional de base de datosCalculo relacional de base de datos
Calculo relacional de base de datos
 
Practicas de geometria y trigonometria
Practicas de geometria y trigonometriaPracticas de geometria y trigonometria
Practicas de geometria y trigonometria
 
Practicas de aritmetica y algebra
Practicas de aritmetica y algebraPracticas de aritmetica y algebra
Practicas de aritmetica y algebra
 
Curso completo de topografia sencico (1)
Curso completo de topografia   sencico (1)Curso completo de topografia   sencico (1)
Curso completo de topografia sencico (1)
 

Similar a Fundamentos del Álgebra Relacional

Similar a Fundamentos del Álgebra Relacional (20)

unidad v Algebra Relacinal
unidad v Algebra Relacinalunidad v Algebra Relacinal
unidad v Algebra Relacinal
 
Unidad v algebra relacional
Unidad v   algebra relacionalUnidad v   algebra relacional
Unidad v 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
 
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
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo 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
 
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
 
Modelo entidad relación
Modelo entidad relaciónModelo entidad relación
Modelo entidad relación
 
Pb operaciones modelorelacional_gris
Pb operaciones modelorelacional_grisPb operaciones modelorelacional_gris
Pb operaciones modelorelacional_gris
 
09 modelo entrel
09 modelo entrel09 modelo entrel
09 modelo entrel
 
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
 
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
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
2.3.1. el modelorelacional
2.3.1. el modelorelacional2.3.1. el modelorelacional
2.3.1. el modelorelacional
 
Modelo relacional2
Modelo relacional2Modelo relacional2
Modelo relacional2
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 

Último

Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (20)

Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Fundamentos del Álgebra Relacional

  • 1. ALGEBRA RELACIONAL 5.1 OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL El álgebra 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 álgebra relacional sonselección, proyección, unión, diferencia de conjuntos, producto cartesiano y renombramiento. Además de las operaciones fundamentales hay otras operaciones, por ejemplo, intersección de conjuntos, reunión natural, división y asignación. Estas operaciones se definirán en términos 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. 5.2 OTRAS OPERACIONES DEL ALGEBRA RELACIONAL 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 préstamo en que la sucursal es «Navacerrada» hay que escribir σnombre-sucursal = «Navacerrada» (préstamo) La operación proyección Supóngase que se desea hacer una lista de todos los números de préstamo y del importe de los mismos, pero sin que aparezcan los nombres de las sucursales. La
  • 2. operación proyección permite producir esta relación. La operación 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 proyección se denota por la letra griega mayúscula pi (Π). Se crea una lista de los 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 números de préstamo y del importe de los mismos puede escribirse como Πnúmero-préstamo, importe (préstamo) La operación unión Considérese una consulta para averiguar el nombre de todos los clientes del banco que tienen una cuenta, un préstamo o ambas cosas. Obsérvese que la relación cliente no contiene esa información, dado que los clientes no necesitan tener ni cuenta ni préstamo en el banco. Para contestar a esta consulta hace falta la información de la relación impositor (Figura 3.5) y la de la relación prestatario (Figura 3.7). Se conoce la manera de averiguar los nombres de todos los clientes con préstamos en el banco: Πnombre-cliente (prestatario) También se conoce la manera de averiguar el nombre de los clientes con cuenta en el banco: Πnombre-cliente (impositor) Para contestar a la consulta hace falta la unión de estos dos conjuntos; es decir, hacen falta todos los nombres de clientes que aparecen en alguna de las dos relaciones o en ambas. Estos datos se pueden averiguar mediante la operación binaria unión, denotada, como en la teoría de conjuntos, por ∪. Por tanto, la expresión buscada es Πnombre-cliente (prestatario)∪Πnombre-cliente (impositor)
  • 3. La relación resultante de esta consulta aparece en la Figura 3.10. Téngase en cuenta que en el resultado hay diez tuplas, aunque hay siete prestatarios y seis impositores distintos. Esta discrepancia aparente se debe a que Gómez, Santos y López son a la vez prestatarios e impositores. Dado que las relaciones son conjuntos, se eliminan los valores duplicados. Obsérvese que en este ejemplo se toma la unión de dos conjuntos, ambos consistentes en valores de nombre- cliente. En general, se debe asegurar que las unionesse realicen entre relaciones compatibles. Porejemplo, no tendría sentido realizar la unión de las relacionespréstamo y prestatario. La primera es una relacióncon tres atributos, la segunda sólo tiene dos. Másaún, considérese la unión de un conjunto de nombresde clientes y de un conjunto de ciudades. Una unión asíno tendría sentido en la mayor parte de los casos. Portanto, para que una operación unión r ∪ s sea válida hayque exigir que se cumplan dos condiciones: 1. Las relaciones r y s deben ser de la misma aridad. Es decir, deben tener el mismo número de atributos. 2. Los dominios de los atributos i-ésimos de r y de s deben ser iguales para todo i. Téngase en cuenta que r y s pueden ser, en general, relaciones temporales que sean resultado de expresiones del álgebra relacional. La operación diferencia de conjuntos La operación diferencia de conjuntos, denotada por –, permite buscar las tuplas que estén en una relación pero no en la otra. La expresión r – s da como resultado una relación que contiene las tuplas que están en r pero no en s. Se pueden buscar todos los clientes del banco que tienen abierta una cuenta pero no tienen concedido ningún préstamo escribiendo Πnombre-cliente (impositor) – Πnombre-cliente (prestatario)
  • 4. La relación resultante de esta consulta aparece en la Figura 3.13. Como en el caso de la operación unión, hay que asegurarse de que las diferencias de conjuntos se realicen entre relaciones compatibles. Por tanto, para que una operación diferencia de conjuntos r – s sea válida hay que exigir que las relaciones r y s sean de la misma aridad y que los dominios de los atributos i-ésimos de r y s sean iguales. La operación producto cartesiano La operación producto cartesiano, denotada por un aspa (×), permite combinar información de cualesquiera dos relaciones. El producto cartesiano de las relaciones r1 y r2 como r1 × r2. Recuérdese que las relaciones se definen como subconjuntos del producto cartesiano de un conjunto de dominios. A partir de esta definición ya se debe tener una intuición sobre la definición de la operación producto cartesiano. Sin embargo, dado que el mismo nombre de atributo puede aparecer tanto en r1 como en r2, hay que crear un esquema de denominaciones para distinguir entre ambos atributos. En este caso se logra adjuntando al atributo el nombre de la relación de la que proviene originalmente. Por ejemplo, el esquema de relación de r=prestatario × préstamo es (prestatario.nombre-cliente, prestatario.númeropréstamo, préstamo.nombre-sucursal, préstamo. número-préstamo, préstamo.importe) Con este esquema se puede distinguir entre prestatario. número-préstamo y préstamo.número- préstamo. Para los atributos que sólo aparecen en uno de los dos esquemas se suele omitir el prefijo con el nombre de la relación. Esta simplificación no genera ambigüedad alguna.
  • 5. Por tanto, se puede escribir el esquema de relación de r como (nombre-cliente, prestatario.número-préstamo, nombre- sucursal, préstamo.número-préstamo, importe) El acuerdo de denominaciones precedente exige que las relaciones que sean argumentos de la operación 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 álgebra relacional en un producto cartesiano, dado que hará falta un nombre para la relación para poder hacer referencia a sus atributos. En el Apartado 3.2.1.7 se verá la manera de evitar estos problemas utilizando una operación renombramiento. 5.3 Algebra relacional extendida Las operaciones básicas del álgebra relacional se han ampliado de varias maneras. Una ampliación sencilla es permitir operaciones aritméticas como parte de la proyección. Una ampliación importante es permitir operaciones de agregación, como el cálculo de la suma de los elementos de un conjunto, o su media. Otra ampliación importante es la operación reunión externa, que permite a las expresiones del álgebra relacional trabajar con los valores nulos
  • 6. que modelan la información que falta. Proyección generalizada La operación proyección generalizada amplía la operación proyección permitiendo que se utilicen funciones aritméticas en la lista de proyección. La operación proyección generalizada tiene la forma ΠF1, F2, …, Fn (E) donde E es cualquier expresión del álgebra relacional y F1, F2, …, Fn son expresiones aritméticas que incluyen constantes y atributos en el esquema de E. Como caso especial la expresión aritmética puede ser simplemente un atributo o una constante. 5.4 VALORES NULOS "null' significa "dato desconocido" o "valor inexistente". A veces, puede desconocerse o no existir el dato correspondiente a algún campo de un registro. En estos casos decimos que el campo puede contener valores nulos. Por ejemplo, en nuestra tabla de libros, podemos tener valores nulos en el campo "precio" porque es posible que para algunos libros no le hayamos establecido el precio para la venta. En contraposición, tenemos campos que no pueden estar vacíos jamás. Veamos un ejemplo. Tenemos nuestra tabla "libros". El campo "titulo" no
  • 7. debería estar vacío nunca, igualmente el campo "autor". Para ello, al crear la tabla, debemos especificar que tales campos no admitan valores nulos: <span style="background-color: #aed7a8; text-align: left;">create table libros( titulo varchar2(30) not null, autor varchar2(20) not null, editorial varchar2(15) null, precio number(5,2) );</span> Para especificar que un campo NO admita valores nulos, debemos colocar "not null" luego de la definición del campo. En el ejemplo anterior, los campos "editorial" y "precio" si admiten valores nulos. Cuando colocamos "null" estamos diciendo que admite valores nulos (caso del campo "editorial"); por defecto, es decir, si no lo aclaramos, los campos permiten valores nulos (caso del campo "precio"). Cualquier campo, de cualquier tipo de dato permite ser definido para aceptar o no valores nulos. Un valor "null" NO es lo mismo que un valor 0 (cero) o una cadena de espacios en blanco (" ").