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 鈥渞elaciones鈥 y las columnas 鈥渁tributos鈥

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鈥N) )
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): 鈥淪elecciona solo los nombres, edades y ciudades de los clientes de la tabla 鈥楥lientes鈥 que han realizado un pedido en el 煤ltimo mes鈥

Selecci贸n (WHERE en SQL): 鈥淢uestra solo los clientes de la tabla 鈥楥lientes鈥 que han comprado un producto con el c贸digo 鈥楶001鈥欌

Producto cartesiano: 鈥淐ombina todas las tuplas de la tabla 鈥楥lientes鈥 con todas las tuplas de la tabla 鈥楶edidos鈥 y muestra solo aquellas combinaciones en las que el cliente ha realizado un pedido con un importe mayor a $100鈥

Uni贸n: 鈥淢uestra todas las tuplas de la tabla 鈥楥lientes鈥 y todas las tuplas de la tabla 鈥楶roductos鈥 que han sido comprados por el mismo cliente鈥

Diferencia: 鈥淢uestra todas las tuplas de la tabla 鈥楥lientes鈥 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 鈥淐鈥 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 鈥淩鈥.
UPDATE: Actualiza informaci贸n de una tabla. Es, obviamente, la 鈥淯鈥.
DELETE: Borra filas de una tabla. Se corresponde con la 鈥淒鈥.

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