SlideShare una empresa de Scribd logo
1 de 79
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Bases de
Datos
Algebra relacional
Agosto 2014
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Algebra relacional
• Operaciones realizadas sobre las relaciones (tablas).
• Cierre relacional: Tanto los operandos como el resultado, son
tablas.
– El resultado de una operación puede ser operando de otra operación.
2
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Tipos de operaciones
• Según se expresan (o no) en términos de otras operaciones.
– Operaciones primitivas.
• Operaciones a partir de las cuales se pueden definir otras.
• Ej: Unión, diferencia, producto cartesiano, selección y proyección.
– Operaciones no primitivas.
• No son estrictamente necesarias (se pueden expresar en términos de las
primitivas).
• Facilitan.
• Ej: Intersección y combinación.
3
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Según el número de tablas que tienen como operandos:
– Operaciones binarias.
• Tienen dos tablas como operandos.
– Operaciones unarias.
• Tienen una sola tabla como operando.
• Selección y proyección.
4
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Según si se parecen a la teoría de conjuntos:
– Operaciones conjuntistas.
• Unión, intersección, diferencia, producto cartesiano.
– Operaciones específicamente relacionales.
• Selección, proyección y combinación.
5
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• El nombre del resultado de una operación se puede expresar:
– Como los operandos junto con su operador: EMPLEADOS_ADM ∪
EMPLEADOS_PROD
– Usando un alias (operación redenominar).
• R:=Expresión
• Ej: Empleados := EMPLEADOS_ADM ∪ EMPLEADOS_PROD
• Redenominar también se puede aplicar sobre atributos y
sobre el esquema de una relación.
6
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Si S(B1, B2, ..., Bn) y se quiere redenominar por R(A1, A2, ..., An):
R(A1, A2, ..., An) := S(B1, B2, ..., Bn).
7
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Operaciones conjuntistas
• Unión.
– A partir de dos tablas obtiene una nueva con las tuplas que estén en
alguna de esas tablas.
– Unión entre T y S: T ∪ S.
8
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Operaciones conjuntistas
• Unión.
– A partir de dos tablas obtiene una nueva con las tuplas que estén en
alguna de esas tablas.
– Unión entre T y S: T ∪ S.
– Sólo tiene sentido unir tablas con tuplas semejantes.
– Dos tablas T y S son compatibles si:
• Tienen el mismo grado.
• Si para cada atributo Ai de T hay un atributo correspondiente Aj en S, coincidiendo
Ai y Aj con un mismo dominio.
9
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
10
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Esquema y extensión resultantes de una unión:
– Esquema: Al unir T con S, el esquema resultante tiene los atributos de
T.
– Extensión: Conjunto de tuplas que pertenecen a la extensión T y S.
• No repetición de tuplas.
11
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R := EMPLEADOS_ADM ∪ EMPLEADOS_PROD
12
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
13
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Intersección
– A partir de dos tablas obtiene una nueva formada con las tuplas que
pertenecen a ambas.
– Entre T y S se indica como T ∩ S.
– Ej: EMPLEADOS_ADM ∩ EMPLEADOS_PROD.
– Es necesario que las tablas sean compatibles.
14
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Esquema y extensión:
– Los atributos del esquema T ∩ S coinciden con los atributos de T.
– La extensión de T ∩ S es el conjunto de tuplas que pertenecen a la
extensión de T y S.
15
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R := EMPLEADOS_ADM ∩ EMPLEADOS_PROD.
16
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R := EMPLEADOS_ADM ∩ EMPLEADOS_PROD.
17
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Diferencia.
– A partir de dos tablas, se obtiene una nueva donde las tuplas de la
primera no están en la segunda.
– Entre T y S se indica como T – S.
– Ej: EMPLEADOS_ADM – EMPLEADOS_PROD.
– Aplica a tuplas similares entre tablas compatibles.
18
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Esquema y extensión:
– Los atributos del esquema resultante de T – S, coinciden con los
atributos de T.
– La extensión resultante de T – S son las tuplas que pertenecen a T pero
que no están en S.
19
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R := EMPLEADOS_ADM – EMPLEADOS_PROD.
20
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R := EMPLEADOS_ADM – EMPLEADOS_PROD.
21
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Producto cartesiano.
– A partir de dos tablas se obtiene una nueva conformada por las tuplas
que resultan de concatenar las tuplas de la primera con la segunda.
– Siendo dos tablas T y S, sus esquemas no tienen un nombre de
atributo común, su producto cartesiano se indica como T × S.
• Atributos con mismo nombre: redenominar.
– La nueva tabla contiene todas las concatenaciones posibles de tuplas
entre las dos tablas T y S.
22
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Esquema y extensión:
– Los atributos del esquema de T × S, son todos los atributos de T y
todos los de S.
• Redenominar, si es necesario.
– La extensión de T × S son todas las tuplas <v1, v2, ..., vn, w1, w2, ..., wm>
para las que <v1, v2, ..., vn> pertenecen a la extensión de T y < w1, w2,
..., wm> pertenecen a la extensión de S.
23
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: Producto cartesiano entre DESPACHOS y EDIFICIOS_EMP.
• Redenominar:
– EDIFICIOS(nombreedificio, supmediadesp) := EDICIOS_EMP(edificio,
supmediadesp)
R :=EDIFICIOS ×DESPACHOS.
24
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R :=EDIFICIOS ×DESPACHOS.
25
EDIFICIOS
nombreedificio supmediadesp
Marina 15
Diagonal 10
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
26
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• El producto cartesiano rara vez se utiliza de forma explícita, no
es muy común para consultas habituales.
• Pero: a partir de esta operación primitiva, se define la de
combinación.
27
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Operaciones sobre relaciones
• Selección
• Proyección
• Combinación
28
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Selección:
– Operación para elegir un subconjunto de tuplas dentro de una tabla,
que cumplan una serie de condiciones específicas.
– Es una operación unaria.
– La selección sobre una tabla T bajo una condición C se expresa como
T(C).
29
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: seleccionar todos los despachos del edificio Marina que
tengan más de 12 m2.
– Selección a DESPACHOS.
– Condición edificio = “ Marina “ y superficie > 12.
DESPACHOS(edificio= “ Marina “ y superficie> 12).
30
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• La condición sigue la forma:
– Ai θ v ó Ai θ Aj.
– donde Ai y Aj son atributos (bajo un mismo dominio),
– v es un valor especificado (del dominio de ese atributo) y
– θ es un operador de comparación (=,!=, <,<=,>,>=).
• Las cláusulas de una condición se unen con “ y “ (∧) u “ o “ (∨).
31
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Esquema y extensión:
– Los atributos del esquema para T(C) coinciden con los atributos del
esquema de T.
– La extensión de T(C) es el conjunto de tuplas de la extensión de T que
cumplen la condición C.
32
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R := DESPACHOS(edificio = “Marina” y superficie >12)
33
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• R := DESPACHOS(edificio = “Marina” y superficie >12)
34
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Proyección
– Operación para elegir un subconjunto de atributos de una tabla.
– La nueva tabla contará con tuplas cuyos atributos serán los
seleccionados.
– Es una operación unaria.
– La proyección de una tabla T sobre sus atributos {Ai, Aj, ..., Ak} se
indica como T[Ai, Aj, ..., Ak].
35
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: Proyección sobre EMPLEADOS_ADM enfocado a los
atributos nombre y apellido.
• EMPLEADOS_ADM[nombre, apellido]
36
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Esquema y extensión:
– Los atributos del esquema resultante de T[Ai, Aj, ..., Ak] son los
atributos {Ai, Aj, ..., Ak}
– La extensión resultante de T[Ai, Aj, ..., Ak] es el conjunto de tuplas de la
forma <t.Ai, t.Aj, ..., t.Ak> donde se cumple que t es una tupla de la
extensión de T y t.Ap indica el valor para el atributo Ap de la tupla t.
37
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: R:= EMPLEADOS_ADM[nombre, apellido]
38
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: R:= EMPLEADOS_ADM[nombre, apellido]
39
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Combinación:
– A partir de dos tablas se obtiene una nueva formada con las tuplas
que resultan de concatenar tuplas de la primera con la segunda tabla,
cumpliendo una condición de combinación específica.
– Es una operación binaria.
– Sean las tablas T y S, cuyos esquemas no tienen nombres de atributo
en común y siendo C una condición de combinación, la combinación
de T y S bajo la condición C se indica como T[C]S.
40
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: Combinar los datos de los empleados y el despacho donde
trabajan.
– Tablas: EMPLEADOS_ADM y DESPACHOS.
– Condición de combinación: combinar los datos de un empleado con
un despacho si el edificiodesp y numdesp del empleado es igual al
edificio y número del despacho.
EMPLEADOS_ADM[edificiodesp=edificio, numerodesp= numero]DESPACHOS
41
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• La condición C de T[C]S se conforma por una o más
comparaciones de la forma:
Ai θ Aj
• donde:
– Ai es un atributo de T,
– Aj es un atributo de S,
– θ es un operador de comparación.
– Ai y Aj tienen el mismo dominio.
42
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Esquema y extensión:
– Los atributos de T[C]S son todos los atributos de T y todos los de S.
– La extensión de T[C]S es el conjunto de tuplas que pertenecen a la
extensión del plano cartesiano T × S que satisfacen todas
comparaciones de las condiciones de combinación C.
43
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: Encontrar los datos de los despachos con una superficie
mayor o igual a la superficie media (supmediadesp) de los
despachos del edificio donde se ubican.
– Redenominar:
EDIFICIOS(nombreeedficio,supmediadesp):=EDIFICIOS_EMP(edificio, supmediadesp)
R:=EDIFICIOS[nombreedificio=edificio,supmediadesp ≤superficie] DESPACHOS
44
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
R:=EDIFICIOS[nombreedificio=edificio,supmediadesp ≤superficie] DESPACHOS
45
EDIFICIOS
nombreedificio supmediadesp
Marina 15
Diagonal 10
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
R:=EDIFICIOS[nombreedificio=edificio,supmediadesp ≤superficie] DESPACHOS
46
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
R:=EMPLEADOS_ADM[edificiodesp=edificio,númerodesp=número]DESPACHOS
47
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
R:=EMPLEADOS_ADM[edificiodesp=edificio,númerodesp=número]DESPACHOS
48
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Combinación natural:
– Combinación entre dos tablas T y S, representada como T *S.
– Consiste en una combinación donde todas las operaciones de
comparación son de igualdad (“=“), a la que se le eliminan los
atributos superfluos.
• La condición de combinación de igualdad «iguala» las parejas de atributos comunes
entre T y S.
– Se aplica a combinaciones con nombres de atributos comunes.
– Se puede aplicar redenominación, para hacer coincidir los nombres de
atributos que interesan.
49
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: R := EDIFICIOS_EMP * DESPACHOS
• Se considera la condición edificio = edificio.
– Nombres de atributos comunes.
50
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: R := EDIFICIOS_EMP * DESPACHOS
51
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: Obtener los datos de los empleados administrativos junto
con los datos del despacho donde trabajan.
– Sin repetir valores de atributos superfluos.
52
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
– Redenominar:
D(edificiodesp,númerodesp,superficie):=DESPACHOS(edificio,número,superficie)
– Combinación natural:
R := EMPLEADOS_ADM *D
53
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Otra nomenclatura
• Selección: σ<condicion>(<tabla>)
• Ej:
σSalario>3000(EMPLEADO)
σND=4 and Salario>3000(EMPLEADO)
σnot (ND=4 and Salario >3000)(EMPLEADO)
54
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Proyección: Π<lista_atributos>(<relacion>)
• Ej:
Πnombre, dirección(FABRICA)
Πdesc(PRODUCTO)
55
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Combinación (join):
(<relacion>) |><| <condición> (<relacion>)
– Es equivalente a: σ condición(R x S)
56
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Secuencia de operaciones de
algebra relacional
• Generalmente es preciso realizar varias operaciones.
– Utilizar una sola expresión que incluya todas las operaciones,
agrupando por paréntesis.
– Dividir la expresión en etapas, donde cada etapa realice una sola
operación y la tabla resultante es usada en las etapas siguientes.
57
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: Obtener el nombre y apellido de los empleados
(administrativos y de producción).
– 1. Unir EMPLEADOS_ADM y EMPLEADOS_PROD.
– 2. Proyección sobre atributos nombre y apellido.
58
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej: Obtener el nombre y apellido de los empleados
(administrativos y de producción).
– 1. Unir EMPLEADOS_ADM y EMPLEADOS_PROD.
– 2. Proyección sobre atributos nombre y apellido.
• Usando una sola expresión:
– R := (EMPLEADOS_ADM ∪ EMPLEADOS_PROD) [nombre, apellido]
• Mediante etapas:
– EMPS := EMPLEADOS_ADM ∪ EMPLEADOS_PROD
– R := EMPS[nombre, apellido]
59
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Ejercicios
• 1. Obtener el nombre del edificio y el número de los
despachos situados en edificios en los que la superficie media
de estos despachos es mayor que 12.
60
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• 1. Obtener el nombre del edificio y el número de los
despachos situados en edificios en los que la superficie media
de estos despachos es mayor que 12.
• A:= EDIFICIOS_EMP(supmediadesp> 12)
• B := DESPACHOS *A
• R := B[edificio, número]
61
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• 2. Obtener el nombre y apellido de todos los empleados
(administrativos y de producción) que están asignados al
despacho 120 del edificio Marina.
62
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• 2. Obtener el nombre y apellido de todos los empleados
(administrativos y de producción) que están asignados al
despacho 120 del edificio Marina.
• A:= EMPLEADOS_ADM ∪ EMPLEADOS_PROD
• B:= A(edificiodesp= «Marina» y númerodesp= 120)
• R:= B[nombre, apellido]
63
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• 3. Consultar el nombre del edificio y el número de los
despachos que ningún empleado de administración tiene
asignado.
64
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• 3. Consultar el nombre del edificio y el número de los
despachos que ningún empleado de administración tiene
asignado.
• A:= DESPACHOS [edificio, número]
• B:= EMPLEADOS_ADM[edificiodesp, númerodesp]
• R:= A – B
65
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Obtener el DNI, el nombre y el apellido de todos los
empleados de administración que tienen despacho, junto con
la superficie de su despacho.
66
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Obtener el DNI, el nombre y el apellido de todos los
empleados de administración que tienen despacho, junto con
la superficie de su despacho.
• A[DNI,nombre,apellido,edificio,número] :=
EMPLEADOS_ADM[DNI, nombre, apellido, edificiodesp,
númerodesp]
• B := A *DESPACHOS
• R := B[DNI, nombre, apellido, superficie]
67
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Combinación externa.
– Cuando se efectúa una combinación puede haber casos en que existan
tuplas con valor nulo en la condición de combinación, por lo que no
serían tomadas en cuenta.
– También puede haber tuplas en algunas de las tablas, que no tengan
un elemento con el cual cumplir la condición de combinación y
tampoco serían tomadas en cuenta.
– Si se requiere conservar las tuplas de alguna de las dos tablas que
caigan en estas situaciones, se puede recurrir a la combinación
externa.
68
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• La combinación externa entre T y S es una variación de la
combinación que conserva todas las tuplas de T, de S o de
ambas.
– Combinación externa izquierda. Entre T y S, denotada como T[C]IS,
conserva todas las tuplas de T.
– Combinación externa derecha. Entre T y S, denotada como T[C]DS,
conserva todas las tuplas de S.
– Combinación externa plena. Entre T y S, denotada como T[C]PS,
conserva todas las tuplas de T y de S.
69
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
– Combinación natural externa izquierda. Entre T y S, denotada como
T*IS, conserva todas las tuplas de T.
– Combinación natural externa derecha. Entre T y S, denotada como
T*DS, conserva todas las tuplas de S.
– Combinación natural externa plena. Entre T y S, denotada como T*PS,
conserva todas las tuplas de T y de S.
• **Las tuplas en R que no satisfacen la condición de
combinación, tienen valor nulo para los atributos de la tabla
con la que no tienen correspondencia.
70
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej. Combinación natural externa derecha.
D(edificiodesp, númerodesp, superficie) :=
DESPACHOS (edificio, número, superficie)
R := EMPLADOS_PROD *DD
71
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej. Combinación natural externa derecha.
D(edificiodesp, númerodesp, superficie) :=
DESPACHOS (edificio, número, superficie)
R := EMPLADOS_PROD *DD
72
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej. Combinación natural externa izquierda.
D(edificiodesp, númerodesp, superficie) :=
DESPACHOS (edificio, número, superficie)
R := EMPLADOS_PROD *ID
73
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej. Combinación natural externa izquierda.
D(edificiodesp, númerodesp, superficie) :=
DESPACHOS (edificio, número, superficie)
R := EMPLADOS_PROD *ID
74
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej. Combinación natural externa plena.
D(edificiodesp, númerodesp, superficie) :=
DESPACHOS (edificio, número, superficie)
R := EMPLADOS_PROD *PD
75
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Ej. Combinación natural externa plena.
D(edificiodesp, númerodesp, superficie) :=
DESPACHOS (edificio, número, superficie)
R := EMPLADOS_PROD *PD
76
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Ejercicio
• Alumno(cve_alumno, nombre_alumno, semestre, carrera)
• Materia(cve,creditos,m_carrera,semestre, nombre_mat)
• Lista(cve_materia,num_grupo,cve_alum,calif,oportunidad)
• Grupo(cve_mat,num_gpo,salon,horario,cve_prof)
• Profesor(cve_profesor,nombre_prof,grado)
• ¿Nombre del alumno con su horario?
• ¿Profesores que dan clase?
• ¿Nombre del alumno y las carreras de las materias que no son
de su carrera?
77
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
• Π ((σ(Alumno)|><|Lista)|><|Grupo)
• Π (Profesor|><|Grupo)
• Π ((Alumno|><|Lista)|><|Materia)
78
nombre_alumno,
horario
cve_alumno=cve_alum cve_materia=cve_mat and
num_grupo=num_gpo
nombre_prof cve_profesor=cve_prof
nombre_alumno
m_carrera
cve_alumno=cve_alum carrera!=m_carrera and
cve_materia=cve
Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional
Referencias
• Chris J. Date, An introduction to database system, Addison Wesley.
• Costal Costa D., El modelo relacional y el álgebra relacional, UOC, GNU
Free Document License, 2007.
• Marqués Mercedes, Bases de datos, Universitat Jaume I, ISBN: 978-84-
693-0146-3, Licencia Creative Commons, 2011.
79

Más contenido relacionado

La actualidad más candente

Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla claseAlejandra Vera
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datosralbarracin
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)Franklin Parrales Bravo
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Jsrfs Montemayor
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónManuel Padilla
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datosani_tuza
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datosCaro_Noirgean
 

La actualidad más candente (20)

Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla clase
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Fundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - IntroducciónFundamentos de Bases de Datos - Introducción
Fundamentos de Bases de Datos - Introducción
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 

Destacado

Operaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacionalOperaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacionalLili Sanchez
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra RelacionalBlanca Parra
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosJosepSalvadorSotoObregon
 
Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacionalAlbert Sinergy
 
Ejercicios áLgebra Relacional
Ejercicios áLgebra RelacionalEjercicios áLgebra Relacional
Ejercicios áLgebra Relacionalnegriz
 
Bases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalBases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalCarlos Castillo (ChaTo)
 
Calculo relacional de base de datos
Calculo relacional de base de datosCalculo relacional de base de datos
Calculo relacional de base de datosDILMER OLIVERA
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 

Destacado (13)

Operaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacionalOperaciones básicas utilizadas en álgebra relacional
Operaciones básicas utilizadas en álgebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
Algebra y calculo relacional
Algebra y calculo relacionalAlgebra y calculo relacional
Algebra y calculo relacional
 
Ejercicios áLgebra Relacional
Ejercicios áLgebra RelacionalEjercicios áLgebra Relacional
Ejercicios áLgebra Relacional
 
Modelos Relacionales SQL Server
Modelos Relacionales SQL ServerModelos Relacionales SQL Server
Modelos Relacionales SQL Server
 
Bases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacionalBases de Datos - Parte 6/10 Álgebra relacional
Bases de Datos - Parte 6/10 Álgebra relacional
 
Calculo relacional de base de datos
Calculo relacional de base de datosCalculo relacional de base de datos
Calculo relacional de base de datos
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Colisiongambas2
Colisiongambas2Colisiongambas2
Colisiongambas2
 

Similar a Base de datos: Algebra relacional

Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculoDarcinmar
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionaljosecuartas
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlabMarc Llanos
 
Matrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Matrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMatrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Matrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXJosGarcaRivera2
 
HOJAS DE CALCULO
HOJAS DE CALCULOHOJAS DE CALCULO
HOJAS DE CALCULO7471217361
 
Hojas de calculo
Hojas de calculoHojas de calculo
Hojas de calculo7471217361
 
Trabajo 1 hojas de calculo tic sección 1025 [sólo lectura]
Trabajo 1 hojas de calculo tic   sección 1025 [sólo lectura]Trabajo 1 hojas de calculo tic   sección 1025 [sólo lectura]
Trabajo 1 hojas de calculo tic sección 1025 [sólo lectura]hguedez28
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculoboldemortt
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculozDeykeerz
 
Trabajo 1 hojas de calculo tic sección 1022 [sólo lectura]
Trabajo 1 hojas de calculo tic   sección 1022 [sólo lectura]Trabajo 1 hojas de calculo tic   sección 1022 [sólo lectura]
Trabajo 1 hojas de calculo tic sección 1022 [sólo lectura]hguedez28
 
HOJAS DE CALCULO
HOJAS DE CALCULOHOJAS DE CALCULO
HOJAS DE CALCULO7471217361
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 
Hojas de calculo tic
Hojas de calculo ticHojas de calculo tic
Hojas de calculo ticMayHerc
 

Similar a Base de datos: Algebra relacional (20)

Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculo
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlab
 
Hoja de calculo tic
Hoja de calculo  ticHoja de calculo  tic
Hoja de calculo tic
 
matrices.ppt
matrices.pptmatrices.ppt
matrices.ppt
 
Matrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Matrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMatrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Matrices XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Unidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datosUnidad 3 Fundamentos de bases de datos
Unidad 3 Fundamentos de bases de datos
 
HOJAS DE CALCULO
HOJAS DE CALCULOHOJAS DE CALCULO
HOJAS DE CALCULO
 
Hojas de calculo
Hojas de calculoHojas de calculo
Hojas de calculo
 
Trabajo 1 hojas de calculo tic sección 1025 [sólo lectura]
Trabajo 1 hojas de calculo tic   sección 1025 [sólo lectura]Trabajo 1 hojas de calculo tic   sección 1025 [sólo lectura]
Trabajo 1 hojas de calculo tic sección 1025 [sólo lectura]
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculo
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculo
 
HOJA DE CALCULO
HOJA DE CALCULOHOJA DE CALCULO
HOJA DE CALCULO
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculo
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculo
 
Trabajo 1 hojas de calculo tic sección 1022 [sólo lectura]
Trabajo 1 hojas de calculo tic   sección 1022 [sólo lectura]Trabajo 1 hojas de calculo tic   sección 1022 [sólo lectura]
Trabajo 1 hojas de calculo tic sección 1022 [sólo lectura]
 
HOJAS DE CALCULO
HOJAS DE CALCULOHOJAS DE CALCULO
HOJAS DE CALCULO
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Tema 3
Tema 3Tema 3
Tema 3
 
Hojas de calculo tic
Hojas de calculo ticHojas de calculo tic
Hojas de calculo tic
 

Más de kamui002

Evaluación
EvaluaciónEvaluación
Evaluaciónkamui002
 
2.1 Diseño, prototipo y construcción
2.1 Diseño, prototipo y construcción2.1 Diseño, prototipo y construcción
2.1 Diseño, prototipo y construcciónkamui002
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datoskamui002
 
Instalación de MySQL en Linux Mint
Instalación de MySQL en Linux MintInstalación de MySQL en Linux Mint
Instalación de MySQL en Linux Mintkamui002
 
Instalación Mysql en Win7
Instalación Mysql en Win7Instalación Mysql en Win7
Instalación Mysql en Win7kamui002
 
Diseño interactivo centrado en usuario
Diseño interactivo centrado en usuarioDiseño interactivo centrado en usuario
Diseño interactivo centrado en usuariokamui002
 
Prototipado
PrototipadoPrototipado
Prototipadokamui002
 
El proceso del diseño interactivo
El proceso del diseño interactivoEl proceso del diseño interactivo
El proceso del diseño interactivokamui002
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuariokamui002
 
Comprendiendo al usuario
Comprendiendo al usuarioComprendiendo al usuario
Comprendiendo al usuariokamui002
 
Conocimiento en la cabeza y en el mundo
Conocimiento en la cabeza y en el mundoConocimiento en la cabeza y en el mundo
Conocimiento en la cabeza y en el mundokamui002
 
La psicología de las acciones cotidianas
La psicología de las acciones cotidianasLa psicología de las acciones cotidianas
La psicología de las acciones cotidianaskamui002
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridadkamui002
 
Recopilación de datos
Recopilación de datosRecopilación de datos
Recopilación de datoskamui002
 
Observación de usuario
Observación de usuarioObservación de usuario
Observación de usuariokamui002
 
1.2 Puertas de Norman
1.2 Puertas de Norman1.2 Puertas de Norman
1.2 Puertas de Normankamui002
 
BD - Semana 1
BD - Semana 1BD - Semana 1
BD - Semana 1kamui002
 
1-1 Introducción IHC
1-1 Introducción IHC1-1 Introducción IHC
1-1 Introducción IHCkamui002
 
Presentación curso Base de Datos
Presentación curso Base de DatosPresentación curso Base de Datos
Presentación curso Base de Datoskamui002
 

Más de kamui002 (20)

Evaluación
EvaluaciónEvaluación
Evaluación
 
2.1 Diseño, prototipo y construcción
2.1 Diseño, prototipo y construcción2.1 Diseño, prototipo y construcción
2.1 Diseño, prototipo y construcción
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datos
 
Instalación de MySQL en Linux Mint
Instalación de MySQL en Linux MintInstalación de MySQL en Linux Mint
Instalación de MySQL en Linux Mint
 
Instalación Mysql en Win7
Instalación Mysql en Win7Instalación Mysql en Win7
Instalación Mysql en Win7
 
Diseño interactivo centrado en usuario
Diseño interactivo centrado en usuarioDiseño interactivo centrado en usuario
Diseño interactivo centrado en usuario
 
Prototipado
PrototipadoPrototipado
Prototipado
 
El proceso del diseño interactivo
El proceso del diseño interactivoEl proceso del diseño interactivo
El proceso del diseño interactivo
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Comprendiendo al usuario
Comprendiendo al usuarioComprendiendo al usuario
Comprendiendo al usuario
 
Conocimiento en la cabeza y en el mundo
Conocimiento en la cabeza y en el mundoConocimiento en la cabeza y en el mundo
Conocimiento en la cabeza y en el mundo
 
La psicología de las acciones cotidianas
La psicología de las acciones cotidianasLa psicología de las acciones cotidianas
La psicología de las acciones cotidianas
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
Recopilación de datos
Recopilación de datosRecopilación de datos
Recopilación de datos
 
Observación de usuario
Observación de usuarioObservación de usuario
Observación de usuario
 
Modelo ER
Modelo ERModelo ER
Modelo ER
 
1.2 Puertas de Norman
1.2 Puertas de Norman1.2 Puertas de Norman
1.2 Puertas de Norman
 
BD - Semana 1
BD - Semana 1BD - Semana 1
BD - Semana 1
 
1-1 Introducción IHC
1-1 Introducción IHC1-1 Introducción IHC
1-1 Introducción IHC
 
Presentación curso Base de Datos
Presentación curso Base de DatosPresentación curso Base de Datos
Presentación curso Base de Datos
 

Último

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
 
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
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
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
 
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
 
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
 
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
 
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
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
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
 

Último (20)

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)
 
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
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .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
 
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
 
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
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
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...
 
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
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 
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...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
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
 
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...
 

Base de datos: Algebra relacional

  • 1. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Bases de Datos Algebra relacional Agosto 2014
  • 2. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Algebra relacional • Operaciones realizadas sobre las relaciones (tablas). • Cierre relacional: Tanto los operandos como el resultado, son tablas. – El resultado de una operación puede ser operando de otra operación. 2
  • 3. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Tipos de operaciones • Según se expresan (o no) en términos de otras operaciones. – Operaciones primitivas. • Operaciones a partir de las cuales se pueden definir otras. • Ej: Unión, diferencia, producto cartesiano, selección y proyección. – Operaciones no primitivas. • No son estrictamente necesarias (se pueden expresar en términos de las primitivas). • Facilitan. • Ej: Intersección y combinación. 3
  • 4. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Según el número de tablas que tienen como operandos: – Operaciones binarias. • Tienen dos tablas como operandos. – Operaciones unarias. • Tienen una sola tabla como operando. • Selección y proyección. 4
  • 5. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Según si se parecen a la teoría de conjuntos: – Operaciones conjuntistas. • Unión, intersección, diferencia, producto cartesiano. – Operaciones específicamente relacionales. • Selección, proyección y combinación. 5
  • 6. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • El nombre del resultado de una operación se puede expresar: – Como los operandos junto con su operador: EMPLEADOS_ADM ∪ EMPLEADOS_PROD – Usando un alias (operación redenominar). • R:=Expresión • Ej: Empleados := EMPLEADOS_ADM ∪ EMPLEADOS_PROD • Redenominar también se puede aplicar sobre atributos y sobre el esquema de una relación. 6
  • 7. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Si S(B1, B2, ..., Bn) y se quiere redenominar por R(A1, A2, ..., An): R(A1, A2, ..., An) := S(B1, B2, ..., Bn). 7
  • 8. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Operaciones conjuntistas • Unión. – A partir de dos tablas obtiene una nueva con las tuplas que estén en alguna de esas tablas. – Unión entre T y S: T ∪ S. 8
  • 9. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Operaciones conjuntistas • Unión. – A partir de dos tablas obtiene una nueva con las tuplas que estén en alguna de esas tablas. – Unión entre T y S: T ∪ S. – Sólo tiene sentido unir tablas con tuplas semejantes. – Dos tablas T y S son compatibles si: • Tienen el mismo grado. • Si para cada atributo Ai de T hay un atributo correspondiente Aj en S, coincidiendo Ai y Aj con un mismo dominio. 9
  • 10. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional 10
  • 11. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Esquema y extensión resultantes de una unión: – Esquema: Al unir T con S, el esquema resultante tiene los atributos de T. – Extensión: Conjunto de tuplas que pertenecen a la extensión T y S. • No repetición de tuplas. 11
  • 12. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R := EMPLEADOS_ADM ∪ EMPLEADOS_PROD 12
  • 13. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional 13
  • 14. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Intersección – A partir de dos tablas obtiene una nueva formada con las tuplas que pertenecen a ambas. – Entre T y S se indica como T ∩ S. – Ej: EMPLEADOS_ADM ∩ EMPLEADOS_PROD. – Es necesario que las tablas sean compatibles. 14
  • 15. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Esquema y extensión: – Los atributos del esquema T ∩ S coinciden con los atributos de T. – La extensión de T ∩ S es el conjunto de tuplas que pertenecen a la extensión de T y S. 15
  • 16. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R := EMPLEADOS_ADM ∩ EMPLEADOS_PROD. 16
  • 17. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R := EMPLEADOS_ADM ∩ EMPLEADOS_PROD. 17
  • 18. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Diferencia. – A partir de dos tablas, se obtiene una nueva donde las tuplas de la primera no están en la segunda. – Entre T y S se indica como T – S. – Ej: EMPLEADOS_ADM – EMPLEADOS_PROD. – Aplica a tuplas similares entre tablas compatibles. 18
  • 19. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Esquema y extensión: – Los atributos del esquema resultante de T – S, coinciden con los atributos de T. – La extensión resultante de T – S son las tuplas que pertenecen a T pero que no están en S. 19
  • 20. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R := EMPLEADOS_ADM – EMPLEADOS_PROD. 20
  • 21. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R := EMPLEADOS_ADM – EMPLEADOS_PROD. 21
  • 22. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Producto cartesiano. – A partir de dos tablas se obtiene una nueva conformada por las tuplas que resultan de concatenar las tuplas de la primera con la segunda. – Siendo dos tablas T y S, sus esquemas no tienen un nombre de atributo común, su producto cartesiano se indica como T × S. • Atributos con mismo nombre: redenominar. – La nueva tabla contiene todas las concatenaciones posibles de tuplas entre las dos tablas T y S. 22
  • 23. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Esquema y extensión: – Los atributos del esquema de T × S, son todos los atributos de T y todos los de S. • Redenominar, si es necesario. – La extensión de T × S son todas las tuplas <v1, v2, ..., vn, w1, w2, ..., wm> para las que <v1, v2, ..., vn> pertenecen a la extensión de T y < w1, w2, ..., wm> pertenecen a la extensión de S. 23
  • 24. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: Producto cartesiano entre DESPACHOS y EDIFICIOS_EMP. • Redenominar: – EDIFICIOS(nombreedificio, supmediadesp) := EDICIOS_EMP(edificio, supmediadesp) R :=EDIFICIOS ×DESPACHOS. 24
  • 25. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R :=EDIFICIOS ×DESPACHOS. 25 EDIFICIOS nombreedificio supmediadesp Marina 15 Diagonal 10
  • 26. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional 26
  • 27. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • El producto cartesiano rara vez se utiliza de forma explícita, no es muy común para consultas habituales. • Pero: a partir de esta operación primitiva, se define la de combinación. 27
  • 28. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Operaciones sobre relaciones • Selección • Proyección • Combinación 28
  • 29. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Selección: – Operación para elegir un subconjunto de tuplas dentro de una tabla, que cumplan una serie de condiciones específicas. – Es una operación unaria. – La selección sobre una tabla T bajo una condición C se expresa como T(C). 29
  • 30. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: seleccionar todos los despachos del edificio Marina que tengan más de 12 m2. – Selección a DESPACHOS. – Condición edificio = “ Marina “ y superficie > 12. DESPACHOS(edificio= “ Marina “ y superficie> 12). 30
  • 31. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • La condición sigue la forma: – Ai θ v ó Ai θ Aj. – donde Ai y Aj son atributos (bajo un mismo dominio), – v es un valor especificado (del dominio de ese atributo) y – θ es un operador de comparación (=,!=, <,<=,>,>=). • Las cláusulas de una condición se unen con “ y “ (∧) u “ o “ (∨). 31
  • 32. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Esquema y extensión: – Los atributos del esquema para T(C) coinciden con los atributos del esquema de T. – La extensión de T(C) es el conjunto de tuplas de la extensión de T que cumplen la condición C. 32
  • 33. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R := DESPACHOS(edificio = “Marina” y superficie >12) 33
  • 34. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • R := DESPACHOS(edificio = “Marina” y superficie >12) 34
  • 35. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Proyección – Operación para elegir un subconjunto de atributos de una tabla. – La nueva tabla contará con tuplas cuyos atributos serán los seleccionados. – Es una operación unaria. – La proyección de una tabla T sobre sus atributos {Ai, Aj, ..., Ak} se indica como T[Ai, Aj, ..., Ak]. 35
  • 36. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: Proyección sobre EMPLEADOS_ADM enfocado a los atributos nombre y apellido. • EMPLEADOS_ADM[nombre, apellido] 36
  • 37. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Esquema y extensión: – Los atributos del esquema resultante de T[Ai, Aj, ..., Ak] son los atributos {Ai, Aj, ..., Ak} – La extensión resultante de T[Ai, Aj, ..., Ak] es el conjunto de tuplas de la forma <t.Ai, t.Aj, ..., t.Ak> donde se cumple que t es una tupla de la extensión de T y t.Ap indica el valor para el atributo Ap de la tupla t. 37
  • 38. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: R:= EMPLEADOS_ADM[nombre, apellido] 38
  • 39. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: R:= EMPLEADOS_ADM[nombre, apellido] 39
  • 40. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Combinación: – A partir de dos tablas se obtiene una nueva formada con las tuplas que resultan de concatenar tuplas de la primera con la segunda tabla, cumpliendo una condición de combinación específica. – Es una operación binaria. – Sean las tablas T y S, cuyos esquemas no tienen nombres de atributo en común y siendo C una condición de combinación, la combinación de T y S bajo la condición C se indica como T[C]S. 40
  • 41. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: Combinar los datos de los empleados y el despacho donde trabajan. – Tablas: EMPLEADOS_ADM y DESPACHOS. – Condición de combinación: combinar los datos de un empleado con un despacho si el edificiodesp y numdesp del empleado es igual al edificio y número del despacho. EMPLEADOS_ADM[edificiodesp=edificio, numerodesp= numero]DESPACHOS 41
  • 42. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • La condición C de T[C]S se conforma por una o más comparaciones de la forma: Ai θ Aj • donde: – Ai es un atributo de T, – Aj es un atributo de S, – θ es un operador de comparación. – Ai y Aj tienen el mismo dominio. 42
  • 43. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Esquema y extensión: – Los atributos de T[C]S son todos los atributos de T y todos los de S. – La extensión de T[C]S es el conjunto de tuplas que pertenecen a la extensión del plano cartesiano T × S que satisfacen todas comparaciones de las condiciones de combinación C. 43
  • 44. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: Encontrar los datos de los despachos con una superficie mayor o igual a la superficie media (supmediadesp) de los despachos del edificio donde se ubican. – Redenominar: EDIFICIOS(nombreeedficio,supmediadesp):=EDIFICIOS_EMP(edificio, supmediadesp) R:=EDIFICIOS[nombreedificio=edificio,supmediadesp ≤superficie] DESPACHOS 44
  • 45. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional R:=EDIFICIOS[nombreedificio=edificio,supmediadesp ≤superficie] DESPACHOS 45 EDIFICIOS nombreedificio supmediadesp Marina 15 Diagonal 10
  • 46. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional R:=EDIFICIOS[nombreedificio=edificio,supmediadesp ≤superficie] DESPACHOS 46
  • 47. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional R:=EMPLEADOS_ADM[edificiodesp=edificio,númerodesp=número]DESPACHOS 47
  • 48. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional R:=EMPLEADOS_ADM[edificiodesp=edificio,númerodesp=número]DESPACHOS 48
  • 49. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Combinación natural: – Combinación entre dos tablas T y S, representada como T *S. – Consiste en una combinación donde todas las operaciones de comparación son de igualdad (“=“), a la que se le eliminan los atributos superfluos. • La condición de combinación de igualdad «iguala» las parejas de atributos comunes entre T y S. – Se aplica a combinaciones con nombres de atributos comunes. – Se puede aplicar redenominación, para hacer coincidir los nombres de atributos que interesan. 49
  • 50. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: R := EDIFICIOS_EMP * DESPACHOS • Se considera la condición edificio = edificio. – Nombres de atributos comunes. 50
  • 51. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: R := EDIFICIOS_EMP * DESPACHOS 51
  • 52. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: Obtener los datos de los empleados administrativos junto con los datos del despacho donde trabajan. – Sin repetir valores de atributos superfluos. 52
  • 53. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional – Redenominar: D(edificiodesp,númerodesp,superficie):=DESPACHOS(edificio,número,superficie) – Combinación natural: R := EMPLEADOS_ADM *D 53
  • 54. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Otra nomenclatura • Selección: σ<condicion>(<tabla>) • Ej: σSalario>3000(EMPLEADO) σND=4 and Salario>3000(EMPLEADO) σnot (ND=4 and Salario >3000)(EMPLEADO) 54
  • 55. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Proyección: Π<lista_atributos>(<relacion>) • Ej: Πnombre, dirección(FABRICA) Πdesc(PRODUCTO) 55
  • 56. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Combinación (join): (<relacion>) |><| <condición> (<relacion>) – Es equivalente a: σ condición(R x S) 56
  • 57. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Secuencia de operaciones de algebra relacional • Generalmente es preciso realizar varias operaciones. – Utilizar una sola expresión que incluya todas las operaciones, agrupando por paréntesis. – Dividir la expresión en etapas, donde cada etapa realice una sola operación y la tabla resultante es usada en las etapas siguientes. 57
  • 58. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: Obtener el nombre y apellido de los empleados (administrativos y de producción). – 1. Unir EMPLEADOS_ADM y EMPLEADOS_PROD. – 2. Proyección sobre atributos nombre y apellido. 58
  • 59. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej: Obtener el nombre y apellido de los empleados (administrativos y de producción). – 1. Unir EMPLEADOS_ADM y EMPLEADOS_PROD. – 2. Proyección sobre atributos nombre y apellido. • Usando una sola expresión: – R := (EMPLEADOS_ADM ∪ EMPLEADOS_PROD) [nombre, apellido] • Mediante etapas: – EMPS := EMPLEADOS_ADM ∪ EMPLEADOS_PROD – R := EMPS[nombre, apellido] 59
  • 60. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Ejercicios • 1. Obtener el nombre del edificio y el número de los despachos situados en edificios en los que la superficie media de estos despachos es mayor que 12. 60
  • 61. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • 1. Obtener el nombre del edificio y el número de los despachos situados en edificios en los que la superficie media de estos despachos es mayor que 12. • A:= EDIFICIOS_EMP(supmediadesp> 12) • B := DESPACHOS *A • R := B[edificio, número] 61
  • 62. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • 2. Obtener el nombre y apellido de todos los empleados (administrativos y de producción) que están asignados al despacho 120 del edificio Marina. 62
  • 63. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • 2. Obtener el nombre y apellido de todos los empleados (administrativos y de producción) que están asignados al despacho 120 del edificio Marina. • A:= EMPLEADOS_ADM ∪ EMPLEADOS_PROD • B:= A(edificiodesp= «Marina» y númerodesp= 120) • R:= B[nombre, apellido] 63
  • 64. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • 3. Consultar el nombre del edificio y el número de los despachos que ningún empleado de administración tiene asignado. 64
  • 65. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • 3. Consultar el nombre del edificio y el número de los despachos que ningún empleado de administración tiene asignado. • A:= DESPACHOS [edificio, número] • B:= EMPLEADOS_ADM[edificiodesp, númerodesp] • R:= A – B 65
  • 66. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Obtener el DNI, el nombre y el apellido de todos los empleados de administración que tienen despacho, junto con la superficie de su despacho. 66
  • 67. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Obtener el DNI, el nombre y el apellido de todos los empleados de administración que tienen despacho, junto con la superficie de su despacho. • A[DNI,nombre,apellido,edificio,número] := EMPLEADOS_ADM[DNI, nombre, apellido, edificiodesp, númerodesp] • B := A *DESPACHOS • R := B[DNI, nombre, apellido, superficie] 67
  • 68. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Combinación externa. – Cuando se efectúa una combinación puede haber casos en que existan tuplas con valor nulo en la condición de combinación, por lo que no serían tomadas en cuenta. – También puede haber tuplas en algunas de las tablas, que no tengan un elemento con el cual cumplir la condición de combinación y tampoco serían tomadas en cuenta. – Si se requiere conservar las tuplas de alguna de las dos tablas que caigan en estas situaciones, se puede recurrir a la combinación externa. 68
  • 69. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • La combinación externa entre T y S es una variación de la combinación que conserva todas las tuplas de T, de S o de ambas. – Combinación externa izquierda. Entre T y S, denotada como T[C]IS, conserva todas las tuplas de T. – Combinación externa derecha. Entre T y S, denotada como T[C]DS, conserva todas las tuplas de S. – Combinación externa plena. Entre T y S, denotada como T[C]PS, conserva todas las tuplas de T y de S. 69
  • 70. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional – Combinación natural externa izquierda. Entre T y S, denotada como T*IS, conserva todas las tuplas de T. – Combinación natural externa derecha. Entre T y S, denotada como T*DS, conserva todas las tuplas de S. – Combinación natural externa plena. Entre T y S, denotada como T*PS, conserva todas las tuplas de T y de S. • **Las tuplas en R que no satisfacen la condición de combinación, tienen valor nulo para los atributos de la tabla con la que no tienen correspondencia. 70
  • 71. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej. Combinación natural externa derecha. D(edificiodesp, númerodesp, superficie) := DESPACHOS (edificio, número, superficie) R := EMPLADOS_PROD *DD 71
  • 72. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej. Combinación natural externa derecha. D(edificiodesp, númerodesp, superficie) := DESPACHOS (edificio, número, superficie) R := EMPLADOS_PROD *DD 72
  • 73. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej. Combinación natural externa izquierda. D(edificiodesp, númerodesp, superficie) := DESPACHOS (edificio, número, superficie) R := EMPLADOS_PROD *ID 73
  • 74. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej. Combinación natural externa izquierda. D(edificiodesp, númerodesp, superficie) := DESPACHOS (edificio, número, superficie) R := EMPLADOS_PROD *ID 74
  • 75. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej. Combinación natural externa plena. D(edificiodesp, númerodesp, superficie) := DESPACHOS (edificio, número, superficie) R := EMPLADOS_PROD *PD 75
  • 76. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Ej. Combinación natural externa plena. D(edificiodesp, númerodesp, superficie) := DESPACHOS (edificio, número, superficie) R := EMPLADOS_PROD *PD 76
  • 77. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Ejercicio • Alumno(cve_alumno, nombre_alumno, semestre, carrera) • Materia(cve,creditos,m_carrera,semestre, nombre_mat) • Lista(cve_materia,num_grupo,cve_alum,calif,oportunidad) • Grupo(cve_mat,num_gpo,salon,horario,cve_prof) • Profesor(cve_profesor,nombre_prof,grado) • ¿Nombre del alumno con su horario? • ¿Profesores que dan clase? • ¿Nombre del alumno y las carreras de las materias que no son de su carrera? 77
  • 78. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional • Π ((σ(Alumno)|><|Lista)|><|Grupo) • Π (Profesor|><|Grupo) • Π ((Alumno|><|Lista)|><|Materia) 78 nombre_alumno, horario cve_alumno=cve_alum cve_materia=cve_mat and num_grupo=num_gpo nombre_prof cve_profesor=cve_prof nombre_alumno m_carrera cve_alumno=cve_alum carrera!=m_carrera and cve_materia=cve
  • 79. Servicios Web - IntroducciónDiseño de bases de datos – Algebra relacional Referencias • Chris J. Date, An introduction to database system, Addison Wesley. • Costal Costa D., El modelo relacional y el álgebra relacional, UOC, GNU Free Document License, 2007. • Marqués Mercedes, Bases de datos, Universitat Jaume I, ISBN: 978-84- 693-0146-3, Licencia Creative Commons, 2011. 79