18
©® 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 Azcapotzalco Oficina: H 3er. piso, Coordinaciones de CBI, Oficina: 18 Tel. 5318 9000 ext. 2011, 112 Contacto: [email protected], Página: http://ce.azc.uam.mx/profesores/cbrrn/

UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® CBR 2

Recordatorio

1. Miércoles Presentación y discusión para su aprobación del proyecto del Curso

Page 3: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® CBR 7

SQL Modelo de Consulta

SELECT <que> FROM <relación>WHERE <condición>

Page 8: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® CBR 9

BD Relacional, Ejemplo 2V

P

Y

VPY

Copie los datos en su base de datos

Page 10: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® CBR 14

Ejemplos

PROVEEDORES QUE SURTEN LA PARTE P2

SELECT `V` . * FROM V, VPYWHERE ((`V`.`V#` = `VPY`.`V#` )AND (`VPY`.`P#` = 'P2'))

Page 15: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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: UEA 1115114: Base de Datosacademicos.azc.uam.mx/cbr/Cursos/UEA_Base_de_Datos/... · relacional para manipular (realizar consultas) en base de datos relacionales yLos alumnos realizaran

©® 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, ...