Curso Práctico de SQL

Curso Práctico de SQL

Israel Vázquez Morales

Israel Vázquez Morales

Álgebra relacional

2/29
Recursos

Aportes 73

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Álgebra relacional

El álgebra relacional estudia basicamente las operaciones que se pueden realizar entre diversos conjuntos de datos.



No confundir las relaciones del álgebra relacional con las relaciones de una base de datos relacional.

  • Las relaciones de una base de datos es cuando unes dos tablas.
  • Las relaciones en álgebra relacional se refiere a una tabla.
    - La diferencia es conceptual: Las tablas pueden tener tuplas repetidas pero en el álgebra relacional cada relación no tiene un cuerpo, no tiene un primer ni último row.


Tipos de operadores

  • Operadores unarios.- Requiere una relación o tabla para funcionar.
    - Proyección (π): Equivale al comando Select. Saca un número de columnas o atributos sin necesidad de hacer una unión con una segunda tabla.
    π<Nombre, Apellido, Email>(Tabla_Alumno)

    - Selección (σ): Equivale al comando Where. Consiste en el filtrado de de tuplas.
    σ<Suscripción=Expert>(Tabla_Alumno)
  • Operadores binarios.- Requiere más de una tabla para operar.
    - Producto cartesiano (x): Toma todos los elementos de una tabla y los combina con los elementos de la segunda tabla.
    Docentes_Quinto_A x Alumnos_Quinto_A

    - Unión (∪): Obtiene los elementos que existen en una de las tablas o en la otra de las tablas.
    Alumnos_Quinto_A x Alumnos_Quinto_B

    - Diferencia (-): Obtiene los elementos que existe en una de las tablas pero que no corresponde a la otra tabla.
    Alumnos_planExpertPlus - Alumnos_planFree

Esta en portugués pero se entiende Nivel Dios:

Conseguí esta web con ejemplos claros que nos pueden ayudar a guiarnos en el reto que dejó el profesor para esta clase.


Me gusto mucho esta imagen porque siento que representa de manera mas visual la explicacion

Algebra Relacional
Estudia las operaciones que se pueden hacer entre los conjuntos de datos.
Existen operadores Unarios (necesitan solo una tabla o relación, como se la llaman en AR, para operar) y operadores Binarios (usan 2 tablas para realizar las operaciones)
Para el algebra relacional las tablas se denominan “relaciones” y las columnas “atributos”

Unarios:

  • Proyección (π): Nos permite seleccionar ciertos atributos de una relacion (columnas) y descartar los demás. Es equivalente al Select de sql. Forma: π<atributo1, atributo2> (nombre_relacion). Ejemplo: π<nombre, apellido> (Personas)
  • Seleccion (σ): Nos permite seleccionar un subconjunto de tuplas de una relación que cumplen una determinada condición, es equivalente al Where de sql. Forma: σ<condicion> (nombre_relacion). Ejemplo: σ<salario > 1000> (Empleado)

Binarios:

  • ** Producto cartesiano (x)**: Toma todos los elementos de una relación y los combina con todos los elementos de la otra realación. Forma: A x B
  • Union (U): Forma: A U B. Da como resultado las tuplas que estan en A, en B o en ambas. Se eliminan las tuplas duplicadas, si se da el caso solo queda una.
  • Diferencia (-): Forma: A - B. Como resultado da una relación con las tuplas que están en A pero no están en B.

π: Project
σ: Select
<>: Natural Join entre 2 relaciones
<: Semi Join entre 2 relaciones
∪: Unión entre 2 relaciones
∩: Intersección entre 2 relaciones
-: Diferencia entre 2 relaciones
X: Producto cartesiano entre 2 relaciones

Entendiendo a A y B como dos conjuntos o tablas distintos yo lo representaría de la siguiente forma:

  • AXB

  • AUB

  • A-B

Entiendo todo lo que dices porque ya tengo experiencia con estos temas de teoría de conjunto y tipos de operadores, pero las personas que son nuevas van a estar muy confundidas, deberías usar un tablero e ir explicado cada ejemplo…

Comparto apuntes que tenía sobre el tema, siento que así simplemente contado no queda tan claro, hubiera sido bueno poner una diapositiva al menos por cada una que hablo.

Selección (σ)
Proyección (Π)
Producto cartesiano (x)
Unión (∪)
Diferencia (-)
Intersección (∩)
Unión natural (⋈) ()
División (/)

Algebra relacional:
Es un método que consiste básicamente en crear o construir nuevas relaciones a partir de relaciones existentes.

Existen 2 tipos de operadores algebraicos:

Operadores Operadores unarios.
Operadores Operadores binarios

Se clasifican en:

Operadores unarios
Proyección (π).
Selección (σ).

Operadores binarios
Unión (U).
Diferencia (-).
Producto cartesiano (X).

Aportaría que pongan algunas imágenes, cuando el profe esta explicando los símbolos

Unión natural (⋈)
División (/)
Unión (∪)
Diferencia (-)
Intersección (∩)
Selección (σ)
Proyección (Π)
Producto cartesiano (x)

Un ejemplo muy bueno que encontré es:
SELECT A1,A2,…,An
FROM R1,R2,…,RN
WHERE condicion
en algebra relacional es:
πA1,A2,…,An( σcondicion (R1R2…RN) )
Pueden verlo en el enlace, también abarca más temas:
https://slideplayer.es/slide/3219693/

Considero que habla mucho, pero no soporta con imagenes o con diapositivas lo que está diciendo y eso hace dificil que podamos comprender los conceptos que menciona. Falta apoyo visual para su discurso.

π : Project
σ : Select
<> : Natural Join entre 2 relaciones
< : Semi Join entre 2 relaciones
: Unión entre 2 relaciones
: Intersección entre 2 relaciones
- : Diferencia entre 2 relaciones
X : Producto cartesiano entre 2 relaciones

Seria bueno que esta explicación se haga junto con ayuda visual, porque hay personas que solo aprenden visualmente, y de esta forma solo auditivamente, se nos complica.

Osea, nisiquiera tiene una imagen donde ponga los símbolos de los operadores… me parece fatal como empezó esta clase.

**PRINCIPIOS Y CARACTERISTICAS **esenciales de las bases de datos relacionales =>

  • Control de redundancia. La redundancia es el duplicado de datos, hay que evitar que se produzca esto ya que traerá problemas a posteriori.
  • Concurrencia. Se ha de poder acceder al sistema con varios usuarios o consultas al mismo tiempo.
  • Integridad. Los datos tienen que ser válidos y sólidos. Normalmente la integridad viene ligada a una serie de restricciones que establece el diseñador de la base de datos que no pueden ser vulneradas.
  • Coherencia. La lógica de las relaciones y los datos tiene que tener sentido, directa o indirectamente.
  • Consistencia. Se dice que los datos son consistentes cuando no hay redundancia, la información tiene que ser única y estar localizada en una única ubicación.
  • Seguridad. Los datos han de estar perfectamente protegidos para ser accesibles únicamente por el personal autorizado.
  • Accesibilidad. Podemos recuperar nuestros datos a través de un sistema gestor de base de datos (SGDB) realizando una consulta. Uno de los principales lenguajes de consultas es SQL (Structured Query Language) – lenguaje de consulta estructurada.

**Operadores principales🔥
**
**Unarios: **Solo requiero una relación o tabla para funcionar (Como un SELECT, poder sacar información sin necesitar una relación ni la unión con ninguna otra tabla)

Binarios: Necesitan más de una tabla para operar (Por lo general dos), combinar elementos de diferentes tablas, compararlos, etc…

¿Cúales me faltan? 😉 ¿Como lo explicarías tu fácilmente? Esto no es lo mío jajajajaja

Una pena que no haya un apoyo visual para las explicaciones

Muy buena la clase, pero se acompañaría mejor con un grafico.

Me parece que esta imagen puede ayudarnos.

Aquí mi aporte.
Está súper interesante esto. Con solo ver las notaciones es fácil identificar que operadores voy a utilizar. De igual manera ahora me imagino que puedo hacer estos ejercicios para estructurar consultas y relaciones en la DB. Me encantó este tema. No sabía ni siquiera que existía jaja.

Representación

  • La proyección de A --> Π A
  • La selección de A --> σ A
  • El producto cartesiano de A y B --> A X B
  • La unión de A y B --> A U B
  • La diferencia de A y B --> A - B
  • La intersección entre A y B --> A ∩ B

El producto cartesiano también conocido como producto punto

El álgebra relacional muestra paso a paso cómo se obtiene información a partir de tablas relacionadas; por tal motivo se le conoce como de tipo procedimental. 💚

πA1 x πA1
Select cell A1 from first table and combine cell A1 from second table

Selección (σ)
Proyección (Π)
Producto cartesiano (x)
Unión (∪)
Diferencia (-)
Intersección (∩)
Unión natural (⋈) ()
División (/)

Muy buena explicación

Las relaciones en álgebra relacional se refiere a una tabla.

  • La diferencia es conceptual: Las tablas pueden tener tuplas repetidas pero en el álgebra relacional cada relación no tiene un cuerpo, no tiene un primer ni último row.

Relación con las operaciones aritméticas:
Producto cartesiano como una multiplicación (*)
Unión como una suma (+)
Diferencia como una resta (-)

Selección: σ
Proyección: Π

Ejemplos prácticos de los tipos de operadores

https://sites.google.com/site/basededatos1tsu/algebra

muy buen resumen

Seria muy bueno que la presentación cambiara y tuviera la información de la que esta hablando

se tiene un curso de matematicas donde se explica mejor todo esto

símbolos más comunes:

σ: Representa el operador de selección, que permite seleccionar tuplas específicas de una relación que cumplan una determinada condición. La condición se escribe debajo del símbolo σ.

π: Representa el operador de proyección, que permite seleccionar ciertas columnas de una relación y descartar las demás. Las columnas que se desean seleccionar se escriben dentro de paréntesis debajo del símbolo π.

∪: Representa el operador de unión, que combina dos relaciones en una sola relación que contiene todas las tuplas de ambas relaciones. Las dos relaciones que se van a unir se escriben a ambos lados del símbolo ∪.

-: Representa el operador de diferencia, que produce una relación que contiene las tuplas de la primera relación que no aparecen en la segunda. La segunda relación se escribe a la derecha del símbolo -.

×: Representa el operador de producto cartesiano, que combina todas las tuplas de una relación con todas las tuplas de otra relación. Las dos relaciones que se van a combinar se escriben a ambos lados del símbolo ×.

⋈: Representa el operador de combinación natural, que combina dos relaciones utilizando una columna común y produciendo una relación que incluye sólo las tuplas que aparecen en ambas relaciones. La columna común se escribe debajo del símbolo ⋈

Un ejemplo más práctico y didáctico podría ser el siguiente:

Proyección (SELECT en SQL): “Selecciona solo los nombres, edades y ciudades de los clientes de la tabla ‘Clientes’ que han realizado un pedido en el último mes”

Selección (WHERE en SQL): “Muestra solo los clientes de la tabla ‘Clientes’ que han comprado un producto con el código ‘P001’”

Producto cartesiano: “Combina todas las tuplas de la tabla ‘Clientes’ con todas las tuplas de la tabla ‘Pedidos’ y muestra solo aquellas combinaciones en las que el cliente ha realizado un pedido con un importe mayor a $100”

Unión: “Muestra todas las tuplas de la tabla ‘Clientes’ y todas las tuplas de la tabla ‘Productos’ que han sido comprados por el mismo cliente”

Diferencia: “Muestra todas las tuplas de la tabla ‘Clientes’ que no han realizado ningún pedido en el último año”

En algebra relacional, las operaciones entre tablas se expresan con letras griegas y símbolos matemáticos.

  • Proyección (SELECT en SQL): se representa con Π (pi).

  • Selección (WHERE en SQL): se representa con Σ (sigma).

  • Producto cartesiano: se representa con X (multiplicación).
    Unión: se representa con U (union).

  • Diferencia: se representa con - (resta).

En resumen, las operaciones unarias se representan con Π y Σ, mientras que las operaciones binarias se representan con X, U y -.

Estas operaciones se utilizan para manipular y extraer información de las tablas en una base de datos relacional.

Estas se utilizan mucho
mayor >
menor <
igual =
división /
suma +
diferente <>

Mis apuntes:

Holas me parece apropiado los conceptos mencionados en el siguiente enlace:
2.4 Relaciona el álgebra relacional con el lenguaje estándar de consultas SQL.
https://sites.google.com/site/guszuchiha6/1-2/2-4

Ejemplos:

Hay cuatro instrucciones para realizar estas tareas:

INSERT: Inserta filas en una tabla. Se corresponde con la “C” de CRUD.
SELECT: muestra información sobre los datos almacenados en la base de datos. Dicha información puede pertenecer a una o varias tablas. Es la “R”.
UPDATE: Actualiza información de una tabla. Es, obviamente, la “U”.
DELETE: Borra filas de una tabla. Se corresponde con la “D”.

También:
SELECT [ ALL / DISTINC ] [ * ] / [ListaColumnas_Expresiones] AS [Expresion]
FROM Nombre_Tabla_Vista
WHERE Condiciones
ORDER BY ListaColumnas [ ASC / DESC ]

Recomiendo mucho estudiar Teoría de Conjuntos, pues las bases de datos aplican mucha teoría de ahí

Gracias ☺️

Notas 😄

Álgebra relacional

  • Está basada en la teoría de conjuntos, y estudia las operaciones entre conjuntos de datos (relaciones)
  • No todas las características de una base de datos aplican a esto (columnas repetidas, primeros o últimos registros). Relación en AR → Tablas 🤔

Tipos de operaciones:

  • Unarios: Solo necesitan una tabla. Por ejemplo:
    • proyección $\pi$ (SELECT): Toma ciertas columnas de una tabla
    • Selección $\sigma$ (WHERE): filtra los registros de una tabla dada una condición
  • Binarios: Se aplican a mas de una tabla (generalmente 2). Por ejemplo:
    • Producto cartesiano $\times$: Es un producto tal cual; toma todos los elementos de una tabla y los combina con todos los de la otra.
    • Union $\cup$: Tomas los elementos que están en la tabla 1 o en la tabla 2, sin repetir.
    • Diferencia $-$: Los elementos que están en la tabla 1 pero no en la tabla 2.
  • Proyección (∀).
  • Selección (∃).
  • Plano cartesiano (AB).
  • Unión (A+B).
    -Diferencia (A-B).

exelente

La unión de A y B --> A U B
La intersección de A y B --> A

  • Son las operaciones que se hacen entre conjuntos de Datos.

  • A esos conjuntos se conocen como relaciones.

  • Algebra Relaciones son los Conjuntos.

  • En DB Relaciones es cuando uno dos tablas.

  • Los conceptos son diferentes.

TIPOS DE OPERADORES:

  1. Operadores Unarios
  • Se requieren de una tabla para funcionar.
  • PROYECCION; Equivale a Select, que saca columnas sin necesidad de hacer unión con otra tabla.
  • SELECCION; Equivale a Where, donde hacemos el filtro de las Tuplas.
  1. Operadores Binarios (FROM, JOIN)
  • Requiere mas de una tabla para operar.
  • PRODUCTO CARTESIANO; Tomo todos los elementos de una tabla y los combino con todos los elementos de la segunda tabla donde tienen que quedar todas las combinaciones.
  • UNION; Voy a tener los elementos que existen en una de la tabla o en la otra, desde que este en una de las dos, se cuenta la unión.
  • DIFERENCIA; Los elementos que existen en una de las tablas pero que no corresponden a la otra. Una tabla cuenta, la otra puede que este o no este.

Álgebra relacional

Estudia las operaciones que se pueden realizar con conjuntos de datos. Las tablas pueden tener rows o tuplas repetidas, pero en una relacional no está permitido. En AR, no tiene un primer row, y un último row.

Tipos de operaciones:

  • **Operadores unarios: **solamente requieren una relación o tabla para funcionar.

  • Operadores binarios: necesitan dos tablas unidas diferentes para dos operaciones. Combina todos los elementos de una tabla para combinarlos con los de la segunda.

Proyección -> operador Unario -> SELECT -> Pi
Selección -> Operador Unario -> WHERE -> Sigma
Producto Cartesiano -> Operador Binario
Unión -> Operador Binario
Diferencia -> Operador Binario

u: union
-: diferencia
+: suma
x: Producto cartesiano

Se utilizarían los símbolos para representar la operación entre las dos tablas como decías de los conjuntos como A UB nos estaría expresando la unión de los elementos entre esos dos conjuntos o tablas. les comparto este enlace que encontré con ejemplos de SQL https://www.w3schools.com/sql/default.asp

Row = fila, es como se dice en inglés :v

Muy interesante

Producto cartesiano: A X B
Unión: A U B
Diferencia: A - B
Diferencia: B - A

Gracias

AUB==CUA

Excelente aprender sobre Algebra Relacional

Álgebra relacional

  • Estudia las operaciones realizables entre diversos conjuntos de datos
  • No es lo mismo las relaciones de este álgebra con las de bases de datos (unir tablas)
  • En álgebra relacional las tablas no son físicas, no tienen un primer ni último row, no tienen registros repetidos
  • Operadores unarios: solo precisan una tabla, ej: SELECT (letra pi)
  • Operadores binarios: precisan más de una tabla para operar, ej: producto cartesiano (letra x)

tabla 1 = notas_parcial1_alumnos
tabla 2 = notas_parcial2_alumnos
tabla1 X tabla2

exp. Matemática
tabla1 x tabla2

π name, lastname, age (σ age >= 18 (player)

Gracias por el aporte

σ id_usuario = 2
π (id, Nombre, teléfono) ( Tabla_cliente)
Productos_t (X) ventas_x
Transacciones_t (U) tipo_servicios
Blogsposts (-) usuarios

Gracias!

gracias