SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
FUNDAMENTOS DE
BASES DE DATOS
Modelo Relacional
A. E. O. D.
Estructura de bases de datos relacionales
Algebra relacional
Algebra relacional extendido
Modificaciones de la base de datos
Vistas
A. E. O. D.
A. E. O. D.
id nombre dirección
1111111 Pedro Pérez Calle 1 1-1
2222222 Juan Sánchez Calle 2 2-2
3333333 Maria Gómez
4444444 Rosa Martínez Calle 4 4-4
Estudiantes
Cada atributo
Tiene un nombre
El conjunto
de valores
es Dominio
Cada valor
de atributo
es Atómico
NULL es parte
de todos los
dominios
A. E. O. D.
id nombre dirección
1111111 Pedro Pérez Calle 1 1-1
2222222 Juan Sánchez Calle 2 2-2
3333333 Maria Gómez Calle 3 3-3
4444444 Rosa Martínez Calle 4 4-4
Estudiantes
atributos
(o columnas)
tuplas
(o filas)
Un elemento t de r es una tupla, representado por una fila en la
tabla
A. E. O. D.
id nombre dirección
1111111 Pedro Pérez Calle 1 1-1
2222222 Juan Sánchez Calle 2 2-2
3333333 Maria Gómez Calle 3 3-3
4444444 Rosa Martínez Calle 4 4-4
id nombre Int-hora
IS-1 Bases de Datos 4
IS-2 Ing de Software 3
IS-3 Programación 3
IS-4 Redes 4
Estudiente
Asignatura
Id_e Id_a horario
1111111 IS-2 Lun-10
1111111 IS-1 Mar-13
4444444 IS-3 Vie - 18
2222222 IS-2 Lun - 10
Inscribe
RELACIÓN
El álgebra relacional es un lenguaje procedimental que consta de 6
operadores básicos:
Los operadores toman una o dos relaciones como entrada, y su
resultado es una nueva relación
A. E. O. D.
Selección
Proyección
Unión
Diferencia de conjunto
Producto cartesiano
Renombramiento
A. E. O. D.
Notación:  p(r)
p es llamado predicado de la selección
Definido como:
p(r) = {t | t  r and p(t)}
Donde p es una formula consistente con el cálculo proposicional
de terminos conectados por :  (y),  (o),  (no)
Cada termino es uno de:
<atributo> op <atributo> o <constante>
donde op es uno de: =, , >, . <. 
Ejemplo de selección:
 nombre=“Pedro Pérez” (Estudiante)
Selección
A. E. O. D.
Ejemplo de selección:
 nombre=“Pedro Pérez” (Estudiante)
Equivalente en SQL:
select * from Estudiantes where nombre = ‘Pedro Pérez’
 nombre=“Pedro Pérez” (Estudiante)
Selección
A. E. O. D.
Selección
A B C D
a a 1 7
a b 5 7
b b 12 3
b b 23 10
A B C D
a a 1 7
b b 23 10
Relación R
A=B ^ D > 5 (R)
A. E. O. D.
Notación: A1, A2, …, Ak (r)
donde A1, A2 son nombres de atributos y r es el nombre de la
relación.
El resultado es definido como una relación de k columnas
obtenidas de borrar las columnas que no están listadas
Las filas duplicadas son removidas del resultado
Ej. Para mostrar solo los atributos de id y nombre de Estudiante
 id, nombre (Estudiante)
Proyección
A. E. O. D.
Ej. Para mostrar solo los atributos de id y nombre de Estudiante
 id, nombre (Estudiante)
Equivalente en SQL:
select id, nombre from Estudiantes
 id, nombre (Estudiante)
Proyección
A. E. O. D.
Proyección
A B C D
a a 1 7
a b 5 7
b b 12 3
b b 23 10
A D
a 7
a 7
b 3
b 10
A D
a 7
b 3
b 10
Relación R
A,D (R)
A. E. O. D.
Unión
Notación: r  s
Definido como:
r  s = {t | t  r or t  s}
Para que r  s sea válida:
• r, s deben ser de la misma aridad (mismo número de
atributos)
• Los dominios de las tributos deben ser compatibles
• r y s pueden ser relaciones temporales que sean
resultado de expresiones del álgebra relacional.
Ej.
 id, nombre (Estudiante)   id, nombre (Profesor)
A. E. O. D.
Unión
A D
a 1
a 2
b 1
b 3
A D
a 1
a 2
b 1
A D
a 2
b 3
R
S
Relaciones R y S
R  S
A. E. O. D.
Ej. Para unir los identificadores y nombres de Estudiantes y
Profesores
 id, nombre (Estudiante)   id, nombre (Profesores)
Equivalente en SQL:
select id,nombre from Estudiantes
union
select id,nombre from Profesores
 id, nombre (Estudiante)   id, nombre (Profesores)
Unión
A. E. O. D.
Diferencia de conjunto
Notación: r – s
Definida como:
r – s = {t | t  r and t  s}
Se debe asegurar que la diferencia de conjuntos se
realice entre relaciones compatibles:
• r y s deben ser de la misma aridad
• los dominios de los atributos de r y s sean
compatibles
A. E. O. D.
Diferencia de conjunto
A D
a 1
a 2
b 1
A D
a 2
b 3
R
S
Relaciones R y S
A D
a 1
b 1
R - S
A. E. O. D.
Ej. Códigos de los estudiantes que no inscribieron asignaturas
 cod_e (Estudiantes) –  cod_e (Inscribe)
Equivalente en SQL:
select cod_e from Estudiantes
except
select cod_e from Inscribe
 cod_e (Estudiante) –  cod_e (Inscribe)
Diferencia de conjunto
A. E. O. D.
Producto cartesiano
Notación: r x s
Definido como:
r x s = {t q | t  r and q  s}
Asume que los atributos de r(R) y s(S) son disyuntos.
(Esto esto, R  S = ).
Si los atributos de r(R) y s(S) no son disyuntos,
entonces se debe usar renombramiento.
A. E. O. D.
Producto cartesiano
A B C D
a 1 c 1
a 1 d 4
b 2 c 1
b 2 d 4
A B
a 1
b 2
C D
c 1
d 4
R S
Relaciones R y S
R X S
A. E. O. D.
Ej. Producto cartesiano entre Estudiantes e Inscribe
Estudiantes X Inscribe
Equivalente en SQL:
select * from Estudiantes cross join Inscribe
Estudiantes X Inscribe
select * from Estudiantes , Inscribe
Producto cartesiano
A. E. O. D.
Renombramiento
Nos permite nombrar, y por lo tanto referirse al resultado de
relaciones de expresiones del álgebra relacional, también
permite referirse a una relación por más de un nombre.
Ejemplo:  X (E)
Devuelve la expresión E bajo el nombre X
Si la expresión del álgebra relacional E tiene aridad n, entonces
 X (A1, A2, …, An) (E)
devuelve el resultado de la expresión E bajo el nombre X, y con
los atributos renombrados a A1, A2, …., An.
A. E. O. D.
Ej. Renombramiento de las relaciones Estudiantes e Inscribe
 E.cod_e=I.cod_e ( E (Estudiantes) X  I (Inscribe))
Equivalente en SQL:
select * from Estudiantes as E cross join Inscribe as I
where E.cod_e=I.cod_e
 E.cod_e=I.cod_e ( E (Estudiantes) X  I (Inscribe))
select * from Estudiantes E , Inscribe I
where E.cod_e=I.cod_e
Renombramiento
A. E. O. D.
Composición de operaciones
A B
a 1
b 2
C D
c 1
d 4
R S
A B C D
a 1 c 1
b 2 c 1
Se pueden construir
expresiones usando
múltiples operaciones
Ejemplo:
D=1(R x S)
Con base a los operadores básicos, se pueden definir otros
operadores adicionales:
Estas operaciones no adicionan poder al álgebra relacional, pero ayudan a
simplificar las consultas
A. E. O. D.
Intersección
Reunión natural
División
Asignación
A. E. O. D.
Intersección
Notación: r  s
Definida como:
r  s ={ t | t  r and t  s }
Asume:
• r, s tienen la misma aridad
• Atributos de r y s son compatibles
Note: r  s = r - (r - s)
A. E. O. D.
Intersección
A D
a 1
a 2
b 1
A D
a 2
b 3
R
S
Relaciones R y S
A D
a 2
R  S
A. E. O. D.
Ej. Estudiantes y profesores que se llamen igual
 nom_e (Estudiantes)   nom_p (Profesores)
Equivalente en SQL:
select nom_e from Estudiantes
intersect
select nom_p from Profesores
 nom_e (Estudiante)   nom_p (Profesores)
Intersección
A. E. O. D.
Reunión natural
Notación: r s
La reunión natural es una operación binaria que permite
combinar ciertas selecciones (atributos con nombres comunes) y
un producto cartesiano en una sola operación y elimina los
atributos repetidos.
Ejemplo: R = (A, B, C, D), S = (E, B, D)
Esquema resultado = (A, B, C, D, E)
r s es definido como:
r.A, r.B, r.C, r.D, s.E (r.B = s.B  r.D = s.D (r x s))
A. E. O. D.
Reunión natural
A B
a 1
a 2
b 1
A D
a 2
b 3
R
S
Relaciones R y S
A B D
a 1 2
a 2 2
b 1 3
R S
A. E. O. D.
Ej. Lista de estudiantes y asignaturas con sus notas
 nom_e,nom_a,n1,n2,n3 (Estudiantes Inscribe Asignaturas)
Equivalente en SQL:
select nom_e,nom_a,n1,n2,n3 from Estudiantes
natural join Inscribe natural join Asignaturas
 nom_e,nom_a,n1,n2,n3 (Estudiantes Inscribe Asignaturas)
Reunión natural
A. E. O. D.
Reunión natural - Izquierda
Notación: r = s
La reunión natural es una operación binaria que permite
combinar ciertas selecciones (atributos con nombres comunes) y
un producto cartesiano en una sola operación y elimina los
atributos repetidos, pero se asegura de que la relación de la
izquierda contenga todos sus registros y completa los campos
que le correspondería con la relación de la derecha con valores
NULL.
A. E. O. D.
A B
a 1
a 2
b 1
A D
a 2
c 3
R
S
Relaciones R y S
A B D
a 1 2
a 2 2
b 1 null
R = S
Reunión natural - Izquierda
A. E. O. D.
Ej. Lista de estudiantes y asignaturas con sus notas
 nom_e,nom_a,n1,n2,n3 (E(Estudiantes)= I(Inscribe) =
A(Asignaturas)
Equivalente en SQL:
select nom_e,nom_a,n1,n2,n3 from Estudiantes E
left join Inscribe I on E.cod_e=I.cod_e
left join Asignaturas A on A.cod_a=I.cod_a
 nom_e,nom_a,n1,n2,n3 (E(Estudiantes)= I(Inscribe) =
A(Asignaturas)
Reunión natural - Izquierda
A. E. O. D.
Reunión natural - Derecha
Notación: r = s
La reunión natural hacia la derecha es una operación binaria que
permite combinar ciertas selecciones (atributos con nombres
comunes) y un producto cartesiano en una sola operación y
elimina los atributos repetidos, pero se asegura de que la
relación de la derecha contenga todos sus registros y completa
los campos que le correspondería con la relación de la izquierda
con valores NULL.
A. E. O. D.
A B
a 1
a 2
b 1
A D
a 2
c 3
R
S
Relaciones R y S
A B D
a 1 2
a 2 2
c null 3
R = S
Reunión natural - derecha
A. E. O. D.
Ej. Lista de estudiantes y asignaturas con sus notas
 nom_e,nom_a,n1,n2,n3 (E(Estudiantes) = I(Inscribe) =
A(Asignaturas)
Equivalente en SQL:
select nom_e,nom_a,n1,n2,n3 from Estudiantes E
right join Inscribe I on E.cod_e=I.cod_e
right join Asignaturas A on A.cod_a=I.cod_a
 nom_e,nom_a,n1,n2,n3 (E(Estudiantes) = I(Inscribe) =
A(Asignaturas)
Reunión natural - derecha
A. E. O. D.
Reunión natural - Completa
Notación: r = = s
La reunión natural completa es una operación binaria que
permite combinar ciertas selecciones (atributos con nombres
comunes) y un producto cartesiano en una sola operación y
elimina los atributos repetidos, pero se asegura de que la
relación de la derecha y de la izquierda contengan todos sus
registros y completa los campos que no tienen correspondencia
con la otra relación relación de la izquierda o de la derecha con
valores NULL.
A. E. O. D.
A B
a 1
a 2
b 1
A D
a 2
c 3
R
S
Relaciones R y S
A B D
a 1 2
a 2 2
b 1 null
c null 3
R = = S
Reunión natural - completa
A. E. O. D.
Ej. Lista de estudiantes y asignaturas con sus notas
 nom_e,nom_a,n1,n2,n3 (E(Estudiantes) = = I(Inscribe) = =
A(Asignaturas)
Equivalente en SQL:
select nom_e,nom_a,n1,n2,n3 from Estudiantes E
full join Inscribe I on E.cod_e=I.cod_e
full join Asignaturas A on A.cod_a=I.cod_a
 nom_e,nom_a,n1,n2,n3 (E(Estudiantes)= = I(Inscribe) = =
A(Asignaturas)
Reunión natural – completa
A. E. O. D.
División
Adecuada para consultas que incluyen la expresión “para
todos”.
Si r y s son relaciones de los esquemas R y S respectivamente
donde
R = (A1, …, Am, B1, …, Bn)
S = (B1, …, Bn)
El resultado de r  s es una relación sobre el esquema
R – S = (A1, …, Am)
r  s = { t | t   R-S(r)   u  s ( tu  r ) }
r  s =  R-S(R) -  R-S(( R-S(R) X S) -  R-S, S(R))
A. E. O. D.
División
A
a
A D
a 1
a 2
a 3
b 1
b 2
D
2
3
R
S
Relaciones R y S
R ÷ S
La operación de asignación () prevee una conveniente forma de
expresar queries complejos.
Ejemplo: Escribir r  s como s
temp1  R-S (r)
temp2  R-S ((temp1 x s) – R-S,S (r))
result  temp1 – temp2
El resultado a la derecha de  es asignado a la relación de la
izquierda de .
Se pueden usar variables en las subsiguientes expresiones.
A. E. O. D.
Asignación
Extensión de la operación de proyección que permite funciones
aritméticas para ser usadas en la lista de proyección.
Notación:  F1, F2, …, Fn(E)
E es cualquier expresión del álgebra relacional
cada uno de los F1, F2, …, Fn es una expresión atritmética que
involucra constantes y atributos en el esquema de E.
Ej.:
 cod_e, cod_a, n1*0.35+n2*0.35+n3*.3 (Inscripción)
A. E. O. D.
Proyección Generalizada
A. E. O. D.
Ej. Lista de estudiantes y asignaturas con su nota definitiva
 nom_e,nom_a,n1*+35+n2*.35,n3*.3 (Estudiantes Inscribe Asignaturas)
Equivalente en SQL:
select nom_e,nom_a,n1*.35+n2*.35+n3*.3 from Estudiantes
natural join Inscribe natural join Asignaturas
 nom_e,nom_a,n1*+35+n2*.35,n3*.3 (Estudiantes Inscribe Asignaturas)
Proyección Generalizada
A. E. O. D.
Las funciones de agregación toman un conjunto de valores y
devuelve como resultado un único valor.
Las siguientes son las funciones de agregación definidas:
• SUM Toma un conjunto de valores y devuelve su suma
• COUNT Devuelve el número de elementos del conjunto
• AVG Devuelve la media de los valores del conjunto
• MAX Devuelve el valor máximo del conjunto
• MIN Devuelve el valor mínimo del conjunto
Funciones de agregación
A. E. O. D.
Funciones de agregación
A B C
12 10 6
42 5
32 89 3
56 42 48
7 25
9 23 19
56 100 18
T1
Select max(A) from T1 --> 56
Select min(C) from T1 --> 3
Select avg(B) from T1 --> 48.16
Select sum(B) from T1 --> 289
Select count(B) from t1 --> 6
Select count(*) from t1 --> 7
Select sum(B)/count(B) from t1 --> 48.16
Select sum(B)/count(*)from t1 --> 41.29
A. E. O. D.
Notación: A, …, An G (r)
Donde A1, …, An son atributos que aparecen en la relación r.
Las funciones de agrupamiento (G), agrupa los atributos por los
valores diferentes que puede tener un atributo o conjunto de
atributos.
El resultado muestra solamente un valor por cada valor diferente del
atributo, o por cada valor diferente de la combinación de atributos.
Ejemplo: nom_est G (listado)
Agrupamiento
A. E. O. D.
Ejemplo: select nom_est from listado group by nom_est
nom_est G (listado)
Agrupamiento
Nom_est Nom_asg Nota
Pedro Pérez Base de Datos 4.3
Juan Gómez Ingeniería de Software 2.5
Rosa Martínez Base de Datos 3.8
Pedro Pérez Programación Objetos 4.7
Pablo Calderón Base de Datos 2.7
Pedro Pérez Ingeniería de Software 3.0
Rosa Martínez Programación Objetos 4.1
Listado
Nom_est
Pedro Pérez
Juan Gómez
Rosa Martínez
Pablo Calderón
A. E. O. D.
Combinando el agrupamiento con las funciones de agregación
podemos tener consultas como:
nom_est G avg(nota) (listado)
select nom_est, avg(nota)
from listado
group by nom_est;
Agrupamiento
Nom_est Avg(nota)
Pedro Pérez 4.0
Juan Gómez 2.5
Rosa Martínez 4.0
Pablo Calderón 2.7
A. E. O. D.
Combinando el agrupamiento con las funciones de agregación
podemos tener consultas como:
nom_asg G count(*) (listado)
select nom_asg, count(*)
from listado
group by nom_asg;
Agrupamiento
Nom_est Count(*)
Base de Datos 3
Ingeniería de Software 2
Programación Objetos 2
C. J. Date, An Introduction to Database Systems. Boston: Pearson.
A. Silbershatz, H. F. Korth, y S. Sudarshan, Database System Conceps. Mc.
Graw Hill.
T. M. Connolly y C. E. Begg, Database systems a practical approach to
design, implementation, and management. Pearson.

Más contenido relacionado

Similar a 2pdf relacoinal.pdf

Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalkandennne
 
Relaciones y grafos
Relaciones y grafosRelaciones y grafos
Relaciones y grafosLuisM112
 
Autómata finito no determinista e investigacion
Autómata finito no determinista e investigacionAutómata finito no determinista e investigacion
Autómata finito no determinista e investigacionAliciaSandovalCamacho
 
MóDulo Instruccional Relaciones Y Funciones
MóDulo Instruccional Relaciones Y FuncionesMóDulo Instruccional Relaciones Y Funciones
MóDulo Instruccional Relaciones Y FuncionesLuz Almodóvar
 
Módulo autoinstruccionalrelacionesyfunciones
Módulo autoinstruccionalrelacionesyfuncionesMódulo autoinstruccionalrelacionesyfunciones
Módulo autoinstruccionalrelacionesyfuncionesYanio Parra_Ibargüen
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNSergio Sanchez
 
DOC-20230621-WA0002..pdf
DOC-20230621-WA0002..pdfDOC-20230621-WA0002..pdf
DOC-20230621-WA0002..pdfLpezTorres2
 
Introducción a la Teoría de Conjuntos T1 ccesa007
Introducción a la Teoría de Conjuntos  T1    ccesa007Introducción a la Teoría de Conjuntos  T1    ccesa007
Introducción a la Teoría de Conjuntos T1 ccesa007Demetrio Ccesa Rayme
 
Conjunto, Relaciones, Funciones y Notacion Z
Conjunto, Relaciones, Funciones y Notacion ZConjunto, Relaciones, Funciones y Notacion Z
Conjunto, Relaciones, Funciones y Notacion Zjunito86
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacionalLuis Jherry
 
Neo4j una guía rápida de devniel.com - parte ii
Neo4j   una guía rápida de devniel.com - parte iiNeo4j   una guía rápida de devniel.com - parte ii
Neo4j una guía rápida de devniel.com - parte iiDaniel Flores
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacionalPierina Mv
 

Similar a 2pdf relacoinal.pdf (20)

relaciones y funciones
relaciones y funcionesrelaciones y funciones
relaciones y funciones
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Relaciones y grafos
Relaciones y grafosRelaciones y grafos
Relaciones y grafos
 
Autómata finito no determinista e investigacion
Autómata finito no determinista e investigacionAutómata finito no determinista e investigacion
Autómata finito no determinista e investigacion
 
Bases de Datos Relacionales
Bases de Datos RelacionalesBases de Datos Relacionales
Bases de Datos Relacionales
 
Bd algebra relacional
Bd algebra relacionalBd algebra relacional
Bd algebra relacional
 
MóDulo Instruccional Relaciones Y Funciones
MóDulo Instruccional Relaciones Y FuncionesMóDulo Instruccional Relaciones Y Funciones
MóDulo Instruccional Relaciones Y Funciones
 
Arreglos
ArreglosArreglos
Arreglos
 
Módulo autoinstruccionalrelacionesyfunciones
Módulo autoinstruccionalrelacionesyfuncionesMódulo autoinstruccionalrelacionesyfunciones
Módulo autoinstruccionalrelacionesyfunciones
 
Intro haskell
Intro haskellIntro haskell
Intro haskell
 
Relaciones binarias
Relaciones binariasRelaciones binarias
Relaciones binarias
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
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
 
DOC-20230621-WA0002..pdf
DOC-20230621-WA0002..pdfDOC-20230621-WA0002..pdf
DOC-20230621-WA0002..pdf
 
Relaciones-y-funciones.pdf
Relaciones-y-funciones.pdfRelaciones-y-funciones.pdf
Relaciones-y-funciones.pdf
 
Introducción a la Teoría de Conjuntos T1 ccesa007
Introducción a la Teoría de Conjuntos  T1    ccesa007Introducción a la Teoría de Conjuntos  T1    ccesa007
Introducción a la Teoría de Conjuntos T1 ccesa007
 
Conjunto, Relaciones, Funciones y Notacion Z
Conjunto, Relaciones, Funciones y Notacion ZConjunto, Relaciones, Funciones y Notacion Z
Conjunto, Relaciones, Funciones y Notacion Z
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Neo4j una guía rápida de devniel.com - parte ii
Neo4j   una guía rápida de devniel.com - parte iiNeo4j   una guía rápida de devniel.com - parte ii
Neo4j una guía rápida de devniel.com - parte ii
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 

Último

RESUMEN HOMBRE DE KOTOSH (1).docx xd pata
RESUMEN HOMBRE DE KOTOSH (1).docx xd pataRESUMEN HOMBRE DE KOTOSH (1).docx xd pata
RESUMEN HOMBRE DE KOTOSH (1).docx xd patanallelu515
 
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptxUD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptxALICIACAHUANANUEZ
 
Procesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en ColombiaProcesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en Colombiaylbonilla
 
1.- SEMANA 5 delitos contra los trabajadores.pptx
1.- SEMANA 5 delitos contra los trabajadores.pptx1.- SEMANA 5 delitos contra los trabajadores.pptx
1.- SEMANA 5 delitos contra los trabajadores.pptxArianaNova1
 
Penal I Delitos contra la vida Codigo de Honduras.pptx
Penal I Delitos contra la vida Codigo de Honduras.pptxPenal I Delitos contra la vida Codigo de Honduras.pptx
Penal I Delitos contra la vida Codigo de Honduras.pptxJonathanGiriron
 
Mercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdfMercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdfyordahno
 
CONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.doc
CONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.docCONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.doc
CONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.docJhonnySandonRojjas
 
Mapa, El Proceso Penal Principios y garantias.pptx
Mapa, El Proceso Penal Principios y garantias.pptxMapa, El Proceso Penal Principios y garantias.pptx
Mapa, El Proceso Penal Principios y garantias.pptxjuandtorcateusa
 
Conflicto de leyes en el tiempo y en el espacio
Conflicto de leyes en el tiempo y en el espacioConflicto de leyes en el tiempo y en el espacio
Conflicto de leyes en el tiempo y en el espacioEdwinRubio14
 
linea de tiempo .evolución histórica de los derechos humanos
linea de tiempo  .evolución histórica de los derechos humanoslinea de tiempo  .evolución histórica de los derechos humanos
linea de tiempo .evolución histórica de los derechos humanosmarcovalor2005
 
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptxDERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptxRosildaToralvaCamacl1
 
Legislación laboral presentación en power point
Legislación laboral presentación en power pointLegislación laboral presentación en power point
Legislación laboral presentación en power pointRominaGrosso3
 
Derecho Laboral General y Otras Disposiciones
Derecho Laboral General y Otras DisposicionesDerecho Laboral General y Otras Disposiciones
Derecho Laboral General y Otras DisposicionesDiegoMorales287268
 
Protección de Datos Personales sector Educación
Protección de Datos Personales sector EducaciónProtección de Datos Personales sector Educación
Protección de Datos Personales sector EducaciónFundación YOD YOD
 
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdfLAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdfalbinoMamaniCallejas
 
MANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdf
MANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdfMANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdf
MANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdfivogiovannoni
 
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.pptBRIANJOFFREVELSQUEZH
 
Tema 7 LA GUERRA CIVIL (1936-1939).pdf
Tema  7         LA GUERRA CIVIL (1936-1939).pdfTema  7         LA GUERRA CIVIL (1936-1939).pdf
Tema 7 LA GUERRA CIVIL (1936-1939).pdfanagc806
 
CONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docx
CONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docxCONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docx
CONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docxMarianaSunjaylaCardo
 

Último (20)

RESUMEN HOMBRE DE KOTOSH (1).docx xd pata
RESUMEN HOMBRE DE KOTOSH (1).docx xd pataRESUMEN HOMBRE DE KOTOSH (1).docx xd pata
RESUMEN HOMBRE DE KOTOSH (1).docx xd pata
 
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptxUD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
 
Procesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en ColombiaProcesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en Colombia
 
1.- SEMANA 5 delitos contra los trabajadores.pptx
1.- SEMANA 5 delitos contra los trabajadores.pptx1.- SEMANA 5 delitos contra los trabajadores.pptx
1.- SEMANA 5 delitos contra los trabajadores.pptx
 
Penal I Delitos contra la vida Codigo de Honduras.pptx
Penal I Delitos contra la vida Codigo de Honduras.pptxPenal I Delitos contra la vida Codigo de Honduras.pptx
Penal I Delitos contra la vida Codigo de Honduras.pptx
 
Mercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdfMercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdf
 
CONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.doc
CONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.docCONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.doc
CONTRATO DE COMPRAVENTA CON GARANTÍA HIPOTECARIA.doc
 
Mapa, El Proceso Penal Principios y garantias.pptx
Mapa, El Proceso Penal Principios y garantias.pptxMapa, El Proceso Penal Principios y garantias.pptx
Mapa, El Proceso Penal Principios y garantias.pptx
 
Conflicto de leyes en el tiempo y en el espacio
Conflicto de leyes en el tiempo y en el espacioConflicto de leyes en el tiempo y en el espacio
Conflicto de leyes en el tiempo y en el espacio
 
linea de tiempo .evolución histórica de los derechos humanos
linea de tiempo  .evolución histórica de los derechos humanoslinea de tiempo  .evolución histórica de los derechos humanos
linea de tiempo .evolución histórica de los derechos humanos
 
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptxDERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptx
 
Legislación laboral presentación en power point
Legislación laboral presentación en power pointLegislación laboral presentación en power point
Legislación laboral presentación en power point
 
Derecho Laboral General y Otras Disposiciones
Derecho Laboral General y Otras DisposicionesDerecho Laboral General y Otras Disposiciones
Derecho Laboral General y Otras Disposiciones
 
Protección de Datos Personales sector Educación
Protección de Datos Personales sector EducaciónProtección de Datos Personales sector Educación
Protección de Datos Personales sector Educación
 
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdfLAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
 
MANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdf
MANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdfMANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdf
MANUAL DE DERECHO ROMANO - JUAN CARLOS GHIRARDI - APORTE UEU DERECHO 2020.pdf
 
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
 
Tema 7 LA GUERRA CIVIL (1936-1939).pdf
Tema  7         LA GUERRA CIVIL (1936-1939).pdfTema  7         LA GUERRA CIVIL (1936-1939).pdf
Tema 7 LA GUERRA CIVIL (1936-1939).pdf
 
PRESENTACION HABEAS CORPUS Y HABER.pptx ppt
PRESENTACION HABEAS CORPUS Y HABER.pptx pptPRESENTACION HABEAS CORPUS Y HABER.pptx ppt
PRESENTACION HABEAS CORPUS Y HABER.pptx ppt
 
CONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docx
CONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docxCONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docx
CONCEPTO DE EL DELITO CONSUMADO Y SU TIPIFICACION.docx
 

2pdf relacoinal.pdf

  • 1. FUNDAMENTOS DE BASES DE DATOS Modelo Relacional A. E. O. D.
  • 2. Estructura de bases de datos relacionales Algebra relacional Algebra relacional extendido Modificaciones de la base de datos Vistas A. E. O. D.
  • 3. A. E. O. D. id nombre dirección 1111111 Pedro Pérez Calle 1 1-1 2222222 Juan Sánchez Calle 2 2-2 3333333 Maria Gómez 4444444 Rosa Martínez Calle 4 4-4 Estudiantes Cada atributo Tiene un nombre El conjunto de valores es Dominio Cada valor de atributo es Atómico NULL es parte de todos los dominios
  • 4. A. E. O. D. id nombre dirección 1111111 Pedro Pérez Calle 1 1-1 2222222 Juan Sánchez Calle 2 2-2 3333333 Maria Gómez Calle 3 3-3 4444444 Rosa Martínez Calle 4 4-4 Estudiantes atributos (o columnas) tuplas (o filas) Un elemento t de r es una tupla, representado por una fila en la tabla
  • 5. A. E. O. D. id nombre dirección 1111111 Pedro Pérez Calle 1 1-1 2222222 Juan Sánchez Calle 2 2-2 3333333 Maria Gómez Calle 3 3-3 4444444 Rosa Martínez Calle 4 4-4 id nombre Int-hora IS-1 Bases de Datos 4 IS-2 Ing de Software 3 IS-3 Programación 3 IS-4 Redes 4 Estudiente Asignatura Id_e Id_a horario 1111111 IS-2 Lun-10 1111111 IS-1 Mar-13 4444444 IS-3 Vie - 18 2222222 IS-2 Lun - 10 Inscribe RELACIÓN
  • 6. El álgebra relacional es un lenguaje procedimental que consta de 6 operadores básicos: Los operadores toman una o dos relaciones como entrada, y su resultado es una nueva relación A. E. O. D. Selección Proyección Unión Diferencia de conjunto Producto cartesiano Renombramiento
  • 7. A. E. O. D. Notación:  p(r) p es llamado predicado de la selección Definido como: p(r) = {t | t  r and p(t)} Donde p es una formula consistente con el cálculo proposicional de terminos conectados por :  (y),  (o),  (no) Cada termino es uno de: <atributo> op <atributo> o <constante> donde op es uno de: =, , >, . <.  Ejemplo de selección:  nombre=“Pedro Pérez” (Estudiante) Selección
  • 8. A. E. O. D. Ejemplo de selección:  nombre=“Pedro Pérez” (Estudiante) Equivalente en SQL: select * from Estudiantes where nombre = ‘Pedro Pérez’  nombre=“Pedro Pérez” (Estudiante) Selección
  • 9. A. E. O. D. Selección A B C D a a 1 7 a b 5 7 b b 12 3 b b 23 10 A B C D a a 1 7 b b 23 10 Relación R A=B ^ D > 5 (R)
  • 10. A. E. O. D. Notación: A1, A2, …, Ak (r) donde A1, A2 son nombres de atributos y r es el nombre de la relación. El resultado es definido como una relación de k columnas obtenidas de borrar las columnas que no están listadas Las filas duplicadas son removidas del resultado Ej. Para mostrar solo los atributos de id y nombre de Estudiante  id, nombre (Estudiante) Proyección
  • 11. A. E. O. D. Ej. Para mostrar solo los atributos de id y nombre de Estudiante  id, nombre (Estudiante) Equivalente en SQL: select id, nombre from Estudiantes  id, nombre (Estudiante) Proyección
  • 12. A. E. O. D. Proyección A B C D a a 1 7 a b 5 7 b b 12 3 b b 23 10 A D a 7 a 7 b 3 b 10 A D a 7 b 3 b 10 Relación R A,D (R)
  • 13. A. E. O. D. Unión Notación: r  s Definido como: r  s = {t | t  r or t  s} Para que r  s sea válida: • r, s deben ser de la misma aridad (mismo número de atributos) • Los dominios de las tributos deben ser compatibles • r y s pueden ser relaciones temporales que sean resultado de expresiones del álgebra relacional. Ej.  id, nombre (Estudiante)   id, nombre (Profesor)
  • 14. A. E. O. D. Unión A D a 1 a 2 b 1 b 3 A D a 1 a 2 b 1 A D a 2 b 3 R S Relaciones R y S R  S
  • 15. A. E. O. D. Ej. Para unir los identificadores y nombres de Estudiantes y Profesores  id, nombre (Estudiante)   id, nombre (Profesores) Equivalente en SQL: select id,nombre from Estudiantes union select id,nombre from Profesores  id, nombre (Estudiante)   id, nombre (Profesores) Unión
  • 16. A. E. O. D. Diferencia de conjunto Notación: r – s Definida como: r – s = {t | t  r and t  s} Se debe asegurar que la diferencia de conjuntos se realice entre relaciones compatibles: • r y s deben ser de la misma aridad • los dominios de los atributos de r y s sean compatibles
  • 17. A. E. O. D. Diferencia de conjunto A D a 1 a 2 b 1 A D a 2 b 3 R S Relaciones R y S A D a 1 b 1 R - S
  • 18. A. E. O. D. Ej. Códigos de los estudiantes que no inscribieron asignaturas  cod_e (Estudiantes) –  cod_e (Inscribe) Equivalente en SQL: select cod_e from Estudiantes except select cod_e from Inscribe  cod_e (Estudiante) –  cod_e (Inscribe) Diferencia de conjunto
  • 19. A. E. O. D. Producto cartesiano Notación: r x s Definido como: r x s = {t q | t  r and q  s} Asume que los atributos de r(R) y s(S) son disyuntos. (Esto esto, R  S = ). Si los atributos de r(R) y s(S) no son disyuntos, entonces se debe usar renombramiento.
  • 20. A. E. O. D. Producto cartesiano A B C D a 1 c 1 a 1 d 4 b 2 c 1 b 2 d 4 A B a 1 b 2 C D c 1 d 4 R S Relaciones R y S R X S
  • 21. A. E. O. D. Ej. Producto cartesiano entre Estudiantes e Inscribe Estudiantes X Inscribe Equivalente en SQL: select * from Estudiantes cross join Inscribe Estudiantes X Inscribe select * from Estudiantes , Inscribe Producto cartesiano
  • 22. A. E. O. D. Renombramiento Nos permite nombrar, y por lo tanto referirse al resultado de relaciones de expresiones del álgebra relacional, también permite referirse a una relación por más de un nombre. Ejemplo:  X (E) Devuelve la expresión E bajo el nombre X Si la expresión del álgebra relacional E tiene aridad n, entonces  X (A1, A2, …, An) (E) devuelve el resultado de la expresión E bajo el nombre X, y con los atributos renombrados a A1, A2, …., An.
  • 23. A. E. O. D. Ej. Renombramiento de las relaciones Estudiantes e Inscribe  E.cod_e=I.cod_e ( E (Estudiantes) X  I (Inscribe)) Equivalente en SQL: select * from Estudiantes as E cross join Inscribe as I where E.cod_e=I.cod_e  E.cod_e=I.cod_e ( E (Estudiantes) X  I (Inscribe)) select * from Estudiantes E , Inscribe I where E.cod_e=I.cod_e Renombramiento
  • 24. A. E. O. D. Composición de operaciones A B a 1 b 2 C D c 1 d 4 R S A B C D a 1 c 1 b 2 c 1 Se pueden construir expresiones usando múltiples operaciones Ejemplo: D=1(R x S)
  • 25. Con base a los operadores básicos, se pueden definir otros operadores adicionales: Estas operaciones no adicionan poder al álgebra relacional, pero ayudan a simplificar las consultas A. E. O. D. Intersección Reunión natural División Asignación
  • 26. A. E. O. D. Intersección Notación: r  s Definida como: r  s ={ t | t  r and t  s } Asume: • r, s tienen la misma aridad • Atributos de r y s son compatibles Note: r  s = r - (r - s)
  • 27. A. E. O. D. Intersección A D a 1 a 2 b 1 A D a 2 b 3 R S Relaciones R y S A D a 2 R  S
  • 28. A. E. O. D. Ej. Estudiantes y profesores que se llamen igual  nom_e (Estudiantes)   nom_p (Profesores) Equivalente en SQL: select nom_e from Estudiantes intersect select nom_p from Profesores  nom_e (Estudiante)   nom_p (Profesores) Intersección
  • 29. A. E. O. D. Reunión natural Notación: r s La reunión natural es una operación binaria que permite combinar ciertas selecciones (atributos con nombres comunes) y un producto cartesiano en una sola operación y elimina los atributos repetidos. Ejemplo: R = (A, B, C, D), S = (E, B, D) Esquema resultado = (A, B, C, D, E) r s es definido como: r.A, r.B, r.C, r.D, s.E (r.B = s.B  r.D = s.D (r x s))
  • 30. A. E. O. D. Reunión natural A B a 1 a 2 b 1 A D a 2 b 3 R S Relaciones R y S A B D a 1 2 a 2 2 b 1 3 R S
  • 31. A. E. O. D. Ej. Lista de estudiantes y asignaturas con sus notas  nom_e,nom_a,n1,n2,n3 (Estudiantes Inscribe Asignaturas) Equivalente en SQL: select nom_e,nom_a,n1,n2,n3 from Estudiantes natural join Inscribe natural join Asignaturas  nom_e,nom_a,n1,n2,n3 (Estudiantes Inscribe Asignaturas) Reunión natural
  • 32. A. E. O. D. Reunión natural - Izquierda Notación: r = s La reunión natural es una operación binaria que permite combinar ciertas selecciones (atributos con nombres comunes) y un producto cartesiano en una sola operación y elimina los atributos repetidos, pero se asegura de que la relación de la izquierda contenga todos sus registros y completa los campos que le correspondería con la relación de la derecha con valores NULL.
  • 33. A. E. O. D. A B a 1 a 2 b 1 A D a 2 c 3 R S Relaciones R y S A B D a 1 2 a 2 2 b 1 null R = S Reunión natural - Izquierda
  • 34. A. E. O. D. Ej. Lista de estudiantes y asignaturas con sus notas  nom_e,nom_a,n1,n2,n3 (E(Estudiantes)= I(Inscribe) = A(Asignaturas) Equivalente en SQL: select nom_e,nom_a,n1,n2,n3 from Estudiantes E left join Inscribe I on E.cod_e=I.cod_e left join Asignaturas A on A.cod_a=I.cod_a  nom_e,nom_a,n1,n2,n3 (E(Estudiantes)= I(Inscribe) = A(Asignaturas) Reunión natural - Izquierda
  • 35. A. E. O. D. Reunión natural - Derecha Notación: r = s La reunión natural hacia la derecha es una operación binaria que permite combinar ciertas selecciones (atributos con nombres comunes) y un producto cartesiano en una sola operación y elimina los atributos repetidos, pero se asegura de que la relación de la derecha contenga todos sus registros y completa los campos que le correspondería con la relación de la izquierda con valores NULL.
  • 36. A. E. O. D. A B a 1 a 2 b 1 A D a 2 c 3 R S Relaciones R y S A B D a 1 2 a 2 2 c null 3 R = S Reunión natural - derecha
  • 37. A. E. O. D. Ej. Lista de estudiantes y asignaturas con sus notas  nom_e,nom_a,n1,n2,n3 (E(Estudiantes) = I(Inscribe) = A(Asignaturas) Equivalente en SQL: select nom_e,nom_a,n1,n2,n3 from Estudiantes E right join Inscribe I on E.cod_e=I.cod_e right join Asignaturas A on A.cod_a=I.cod_a  nom_e,nom_a,n1,n2,n3 (E(Estudiantes) = I(Inscribe) = A(Asignaturas) Reunión natural - derecha
  • 38. A. E. O. D. Reunión natural - Completa Notación: r = = s La reunión natural completa es una operación binaria que permite combinar ciertas selecciones (atributos con nombres comunes) y un producto cartesiano en una sola operación y elimina los atributos repetidos, pero se asegura de que la relación de la derecha y de la izquierda contengan todos sus registros y completa los campos que no tienen correspondencia con la otra relación relación de la izquierda o de la derecha con valores NULL.
  • 39. A. E. O. D. A B a 1 a 2 b 1 A D a 2 c 3 R S Relaciones R y S A B D a 1 2 a 2 2 b 1 null c null 3 R = = S Reunión natural - completa
  • 40. A. E. O. D. Ej. Lista de estudiantes y asignaturas con sus notas  nom_e,nom_a,n1,n2,n3 (E(Estudiantes) = = I(Inscribe) = = A(Asignaturas) Equivalente en SQL: select nom_e,nom_a,n1,n2,n3 from Estudiantes E full join Inscribe I on E.cod_e=I.cod_e full join Asignaturas A on A.cod_a=I.cod_a  nom_e,nom_a,n1,n2,n3 (E(Estudiantes)= = I(Inscribe) = = A(Asignaturas) Reunión natural – completa
  • 41. A. E. O. D. División Adecuada para consultas que incluyen la expresión “para todos”. Si r y s son relaciones de los esquemas R y S respectivamente donde R = (A1, …, Am, B1, …, Bn) S = (B1, …, Bn) El resultado de r  s es una relación sobre el esquema R – S = (A1, …, Am) r  s = { t | t   R-S(r)   u  s ( tu  r ) } r  s =  R-S(R) -  R-S(( R-S(R) X S) -  R-S, S(R))
  • 42. A. E. O. D. División A a A D a 1 a 2 a 3 b 1 b 2 D 2 3 R S Relaciones R y S R ÷ S
  • 43. La operación de asignación () prevee una conveniente forma de expresar queries complejos. Ejemplo: Escribir r  s como s temp1  R-S (r) temp2  R-S ((temp1 x s) – R-S,S (r)) result  temp1 – temp2 El resultado a la derecha de  es asignado a la relación de la izquierda de . Se pueden usar variables en las subsiguientes expresiones. A. E. O. D. Asignación
  • 44. Extensión de la operación de proyección que permite funciones aritméticas para ser usadas en la lista de proyección. Notación:  F1, F2, …, Fn(E) E es cualquier expresión del álgebra relacional cada uno de los F1, F2, …, Fn es una expresión atritmética que involucra constantes y atributos en el esquema de E. Ej.:  cod_e, cod_a, n1*0.35+n2*0.35+n3*.3 (Inscripción) A. E. O. D. Proyección Generalizada
  • 45. A. E. O. D. Ej. Lista de estudiantes y asignaturas con su nota definitiva  nom_e,nom_a,n1*+35+n2*.35,n3*.3 (Estudiantes Inscribe Asignaturas) Equivalente en SQL: select nom_e,nom_a,n1*.35+n2*.35+n3*.3 from Estudiantes natural join Inscribe natural join Asignaturas  nom_e,nom_a,n1*+35+n2*.35,n3*.3 (Estudiantes Inscribe Asignaturas) Proyección Generalizada
  • 46. A. E. O. D. Las funciones de agregación toman un conjunto de valores y devuelve como resultado un único valor. Las siguientes son las funciones de agregación definidas: • SUM Toma un conjunto de valores y devuelve su suma • COUNT Devuelve el número de elementos del conjunto • AVG Devuelve la media de los valores del conjunto • MAX Devuelve el valor máximo del conjunto • MIN Devuelve el valor mínimo del conjunto Funciones de agregación
  • 47. A. E. O. D. Funciones de agregación A B C 12 10 6 42 5 32 89 3 56 42 48 7 25 9 23 19 56 100 18 T1 Select max(A) from T1 --> 56 Select min(C) from T1 --> 3 Select avg(B) from T1 --> 48.16 Select sum(B) from T1 --> 289 Select count(B) from t1 --> 6 Select count(*) from t1 --> 7 Select sum(B)/count(B) from t1 --> 48.16 Select sum(B)/count(*)from t1 --> 41.29
  • 48. A. E. O. D. Notación: A, …, An G (r) Donde A1, …, An son atributos que aparecen en la relación r. Las funciones de agrupamiento (G), agrupa los atributos por los valores diferentes que puede tener un atributo o conjunto de atributos. El resultado muestra solamente un valor por cada valor diferente del atributo, o por cada valor diferente de la combinación de atributos. Ejemplo: nom_est G (listado) Agrupamiento
  • 49. A. E. O. D. Ejemplo: select nom_est from listado group by nom_est nom_est G (listado) Agrupamiento Nom_est Nom_asg Nota Pedro Pérez Base de Datos 4.3 Juan Gómez Ingeniería de Software 2.5 Rosa Martínez Base de Datos 3.8 Pedro Pérez Programación Objetos 4.7 Pablo Calderón Base de Datos 2.7 Pedro Pérez Ingeniería de Software 3.0 Rosa Martínez Programación Objetos 4.1 Listado Nom_est Pedro Pérez Juan Gómez Rosa Martínez Pablo Calderón
  • 50. A. E. O. D. Combinando el agrupamiento con las funciones de agregación podemos tener consultas como: nom_est G avg(nota) (listado) select nom_est, avg(nota) from listado group by nom_est; Agrupamiento Nom_est Avg(nota) Pedro Pérez 4.0 Juan Gómez 2.5 Rosa Martínez 4.0 Pablo Calderón 2.7
  • 51. A. E. O. D. Combinando el agrupamiento con las funciones de agregación podemos tener consultas como: nom_asg G count(*) (listado) select nom_asg, count(*) from listado group by nom_asg; Agrupamiento Nom_est Count(*) Base de Datos 3 Ingeniería de Software 2 Programación Objetos 2
  • 52. C. J. Date, An Introduction to Database Systems. Boston: Pearson. A. Silbershatz, H. F. Korth, y S. Sudarshan, Database System Conceps. Mc. Graw Hill. T. M. Connolly y C. E. Begg, Database systems a practical approach to design, implementation, and management. Pearson.