Page 1
©® CBR 1
UEA 1115114: Base de Datos
7. Cálculo Relacional (práctica en MySQL)Carlos Barrón Romero
Departamento de Ciencias Básicas, División Ciencias Básicas e Ingeniería
UAM AzcapotzalcoOficina: H 3er. piso, Coordinaciones de CBI, Oficina: 18
Tel. 5318 9000 ext. 2011, 112Contacto: [email protected] ,
Página: http://ce.azc.uam.mx/profesores/cbrrn/
Page 2
©® CBR 2
Recordatorio
1. Miércoles Presentación y discusión para su aprobación del proyecto del Curso
Page 3
©® CBR 3
Recapitulación
1. Vimos un conjunto suficiente de Operaciones del Álgebra Relacional del Modelo de BD RelacionalSelección (<R1> WHERE <Condición>), Proyección (<R1l> { atributos1, Atrib2, …}), Producto(<R1> X <R2>), Unión (<R1> ∪ <R2>), Intersección (<R1> ∩ <R2>), Diferencia (<R1> \ <R2>), Junta(<R1> JOIN <R2>), SemiJunta <R1> SEMIJOIN <R2> División (<R1> DIVIDEBY <R2> PER <R3>)
Page 4
©® CBR 4
Objetivos y actividades de la clase
Conocer las operaciones del cálculo relacional para manipular (realizar consultas) en base de datos relacionales
Los alumnos realizaran operaciones en el pizarrón, en su cuaderno y en sus computadoras con MySQL
Page 5
©® CBR 5
Operaciones del Cálculo del Modelo de BD Relacional (<R>) WHERE <FBF>FBF Fórmula bien formada o en Ingles well-formed formula (WFF)Cuantificadores
FORALL <R> (P)EXISTS <R> (P)
<R> es una relación y P un predicado lógico, con valores falso o verdadero
Cálculo de dominios (ATRIBUTO=DOMINIO)ATRIBUTO = ATRIBUTO (VALOR)
Page 6
©® CBR 6
Operaciones del Cálculo del Modelo de BD Relacional
También se pueden usar funciones MIN(ATRIBUTO)MAX(ATRIBUTO)OPERADOR_ESTADISTICO(ATRIBUTO)
y AS para renombrar
Page 7
©® CBR 7
SQL Modelo de Consulta
SELECT <que> FROM <relación>WHERE <condición>
Page 8
©® CBR 8
BD Relacional, Ejemplo 2, Base Provedores_partes_Proyectos
V
VPY YP
Proveedores (V), Partes (P), Proyectos (Y)
Construya la Base de datos en MySQL usando MyPHPAdmin
Page 9
©® CBR 9
BD Relacional, Ejemplo 2V
P
Y
VPY
Copie los datos en su base de datos
Page 10
©® CBR 10
Ejemplos, Escriba la versión SQL
CLAVE Y ESTATUS DE PROVEEDORES CON ESTATUS > 20 Y CIUDAD = París
(V.V#, V.STATUS) WHERE EXISTS (V.CIUDAD = ‘PARIS’) AND V.STATUS > 20
(V.V#, V.STATUS) WHERE FORALL (V.CIUDAD = ‘PARIS’) AND V.STATUS > 20
(V.V#, V.STATUS) WHERE V.CIUDAD = ‘PARIS’AND V.STATUS > 20
STATUS30
V#V3
Realice los ejemplos en MySQL
Page 11
©® CBR 11
Ejemplos
CLAVE Y ESTATUS DE PROVEEDORES CON ESTATUS > 20 Y CIUDAD = París
SELECT `V`.`V#`, V.STATUS FROM VWHERE ( (`V`.`STATUS` >20) AND ( `V`.`CIUDAD` = 'París') )
Page 12
©® CBR 12
Ejemplos, Escriba la versión SQL
PROVEEDORES QUE SURTEN LA PARTE P2
V WHERE EXISTS ( V.V# = VPY.V# AND
VPY.P# = P#(‘P2’))
CIUDADATENAS
STATUS30
PROVEEDORADAMS
V#V5
Page 13
©® CBR 13
Ejemplos
PROVEEDORES QUE SURTEN LA PARTE P2
SELECT DISTINCT `V` . * FROM V, VPYWHERE ((`V`.`V#` = `VPY`.`V#` )AND (`VPY`.`P#` = 'P2'))
Page 14
©® CBR 14
Ejemplos
PROVEEDORES QUE SURTEN LA PARTE P2
SELECT `V` . * FROM V, VPYWHERE ((`V`.`V#` = `VPY`.`V#` )AND (`VPY`.`P#` = 'P2'))
Page 15
©® CBR 15
Ejemplos, Escriba la versión SQL
NOMBRE DE LOS PROVEEDORES QUE SURTEN UNA PARTE ROJA
V.PROVEEDOR WHERE EXISTS ( V.V# = VPY.V# AND
VPY.P# = P.P# ANDP.COLOR = COLOR(‘ROJO’)
)PROVEEDORSMITHBLAKECLARKADAMS
Page 16
©® CBR 16
Ejemplos
PROVEEDORES QUE SURTEN una parte ROJA
SELECT `V` . * FROM V, VPY, PWHERE ( ( `V`.`V#` = `VPY`.`V#` )AND ( `VPY`.`P#` = `P`.`P#`)AND (`P`.`COLOR` = 'Rojo'))
SELECT DISTINCT `V`. * FROM V, VPY, PWHERE ( (`V`.`V#` = `VPY`.`V#` )AND (`VPY`.`P#` = `P`.`P#` )AND (`P`.`COLOR` = 'Rojo'))
Page 17
©® CBR 17
Ejemplos, Escriba la versión SQL
NOMBRE DE LOS PROVEEDORES QUE SURTEN TODAS LAS PARTES
V.PROVEEDOR WHERE FORALL P (
EXISTS VPY ( VPY.V# = V.V# AND VPY.P# = P.P#) )
PROVEEDORADAMS
Page 18
©® CBR 18Carlos Barron Romero18
Conclusiones y reflexiones
Contacto: Carlos Barrón [email protected]
Este es un espacio para meditar que se entendió y reflexionar en consecuencias, usos, mejoras, relaciones con otros temas, ...