SQL - Descripción en lenguaje natural de consulta en algebra relacional

 
Vista:

Descripción en lenguaje natural de consulta en algebra relacional

Publicado por ARNAU (2 intervenciones) el 03/03/2022 21:49:44
Buenas noches a todos.

Alguien me podria ayudar con esto:

Necessito describir en lenguaje natural lo siguiente:

R1 := INVENTARIO(cantidad >= 100)
R2 := INVENTARIO(cantidad <= 1000)
R3 := LOTE [número = número_lote] R1
R4 := LOTE [número = número_lote] R2
R5 := R3 [nombre_almacén]
R6 := R4 [nombre_almacén]
R := R5 ∩ R6

A alguien se le acude lo que significa describir en lenguaje natural?
Alguien sabria darme alguna pista sobre lo que expressa esta consulta de algebra relacional?´

Gràcias de ante mano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Manuel
Val: 67
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Descripción en lenguaje natural de consulta en algebra relacional

Publicado por Manuel (29 intervenciones) el 04/03/2022 09:54:03
Deberías haber puesto todo el enunciado y además, seguramente una parte es el seudolengueje que useis en clase, no siempre es lo mismo.
Yo entiendo que lenguaje natural se refiere a nuestro lenguaje y sería algo así:

R1 := INVENTARIO(cantidad >= 100)

Seleccionar todos los artículos de los que haya 100 unidades o más, podría ser lo que buscas.

R := R5 ∩ R6
Este es fácil, porque es una intersección, en SQL podría ser un inner joing o un INTERSECT de 2 selects. Pero bueno en lenguaje natural sería, solo los registros que están presentes tanto en en R5 como en R6.

Otro punto, vas encadenando las consultas, por tanto, se hace
R3 := LOTE [número = número_lote] R1
De los artículos en los que haya 100 o más unidades, filstrar solo lo de lote número_lote

En cuanto a expresarlo en algebra relacional, básicamente ya lo está, hay libros y libros y cada uno lo pone a su manera, no es como el SQL que está estandarizado (y aún así hay particularidades de cada SGBD, aunque estándares como el SQL92 lo aceptan todos y el SQL:1999 (también llamado SQL3) pues también los grandes lo cumplen bastantes bien, casi cualquier sentencia que cumpla el estandar, los grandes SGBD son copatibles, pero ya no 100%, por ejemplo, algo simple, en Oracle no hay opción de crear campos boolean, que el estandar dice que es uno de los tipos básicos. Pero aunque la algebra relacional en si mismo está clara y es la misma para todos, la forma de expresarla no, por ejemplo, en mi época de estudiantes se usaba con letras griegas al estilo σ(cantidad>=100)INVENTARIO y en tu caso en cambio ponen R1 := INVENTARIO(cantidad >= 100)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descripción en lenguaje natural de consulta en algebra relacional

Publicado por ARNAU (2 intervenciones) el 05/03/2022 20:16:37
Buenas noches,

Muchas gracias por tu respuesta Manuel, me ha sido de gran ayuda.
¿Por lo tanto, la totalidad del Código se podría describir de esta forma?

"Seleccionar todos los artículos de los cuales haya entre 100 y 1000 unidades, filtrar por lote numero_lote y obtener el nombre de los almacenes correspondientes"

Saludos! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel
Val: 67
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Descripción en lenguaje natural de consulta en algebra relacional

Publicado por Manuel (29 intervenciones) el 11/03/2022 12:57:21
Cada uno con su descripción correcta, pero por lo que entiendo si.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar