ALGEBRA RELACIONAL
Elementos Operandos -> Relaciones Operadores Asignaciones
SQL v/s Algebra relacional
Esquema Elem1Elem2Elem3 xyz abc Relaciones Atributos Ocurrencias
Operadores Selección: Relación => Relación Resultante. Ejemplo: R = RR R c RR (subconjunto) E1E2E3 = E1E2E3 E1E2E3 = E1E2E3 RR R R
Operadores Para hacer subconjuntos se les puede entregar alguna condición. Para eso se utiliza WHERE Alumnos WHERE nombre = ´JP´; Nombrerut jp121 pedro111 Nombrerut jp121
Operadores Para seleccionar los atributos (proyección), se colocan entre corchetes: (Alumnos WHERE nombre = ‘jp’)[rut]; Escribirlo al revés no estaría correcto ya que al proyectar la tabla se pierde el campo nombre (Alumnos[rut]) WHERE nombre = ‘jp’ X rut 121
Unión (U) R1 Unión R2 -> RR
Intersección RR R1Intersect R2 -> RR
Resta Al sustraer, se quita de la tabla la intersección entre 2 relaciones. CRR = CR1 – CR2 intersección CR1
Times Producto de tablas. Sin proyección. R1 times R2 AB A1B1 A2B2 CD C1D1 C2D2 ABCD A1B1C1D1 A1B1C2D2 A2B2C1D1 A2B2C2D2
Join Producto de tablas con proyección R1 JOIN R2 (A =‘A1’) AB A1B1 A2B2 CD C1D1 C2D2 ABCD A1B1C1D1 A1B1C2D2
Funciones MAX MIN COUNT SUM AVG Para usar estas funciones deben colocar la función(relación, atributo)
Ejemplos: Productos: Codigo, Nombre, Precio Ventas: Numero_venta, total_venta, fecha Detalle: Num_venta, cod_prod, cantidad 1. Total vendido por la venta numero 1 SUM ((ventas WHERE numero_venta =‘1’), total) 2. Numero de venta que menos ha vendido (ventas WHERE total_ventas = MIN(ventas, total_ventas))[numero_venta]