Академический Документы
Профессиональный Документы
Культура Документы
lgebra Relacional
Qu es lgebra Relacional?
lgebra Relacional es un lenguaje de consulta procedimental, es decir, sus
instrucciones describen los datos que se van a consultar y la manera como
dichos datos se van a traer de la base de datos.
As como SQL es un lenguaje, el lgebra relacional tambin. Por lo tanto ambos
se componen de instrucciones. Lo que sucede es que las instrucciones en
lgebra relacional se conocen como operaciones. Adems, la escritura de
dichas operaciones tiene que respetar una sintaxis y una semntica, como en
cualquier lenguaje de programacin.
La forma como cualquier operacin del lgebra relacional funciona se puede ver
resumida en la siguiente grfica. Como se puede observar, hay operaciones del
lgebra relacional que reciben como parmetros de entrada los datos de una
tabla (Tabla1) y hay otras operaciones que reciben los datos de dos tablas
1
Esta grfica, que parece trivial, cobrar especial importancia cuando se est
aprendiendo a escribir operaciones de consulta en lgebra relacional.
Seleccin
Proyeccin
Renombramiento
Unin
Diferencia
Producto Cartesiano
Operaciones Secundarias:
Interseccin
Reunin Natural
Operacin Seleccin
Tipo: Unaria
Sintaxis:
condicin a cumplir (Tabla)
Ejemplo: Listar los datos de los carros cuya capacidad sea menor a 5 y
que sea de marca Renault.
Solucin:
(marca = Renault AND capacidad < 5) (Carro)
Ejemplo: Listar los datos de los carros cuya marca es Mazda o cuyo
modelo es 2003.
(marca = Mazda OR modelo = 2003) (Carro)
Operacin Proyeccin
Tipo: Unaria
Sintaxis:
3
Sugerencia: Siempre que se vaya a escribir una operacin del lgebra relacional
se debe respetar la sintaxis de la misma.
Tipo: Unaria
Sintaxis:
Nombre Nuevo Tabla (Tabla)
Operacin Unin
Tipo: Binaria
5
Sintaxis:
Tabla1 U Tabla2
Descripcin: Esta operacin rene o junta las tuplas de Tabla1 con las de
Tabla2 en un mismo resultado.
Ejemplo: Para hacer un ejemplo de unin, por ser una operacin binaria,
se necesitan dos tablas. Por lo tanto, a la tabla que se viene trabajando
(Carro) se va a adicionar la siguiente tabla:
Bus = { placa, marca, color }. Se supone color como univalorado.
Se desea listar los datos de los automviles en general (carros y buses).
Lo que se pide, se ajusta perfectamente a lo que hace la operacin de
Unin. Se necesita poner los datos de los carros y de los buses en un
solo resultado. Por lo tanto, se puede pensar que la solucin es la
siguiente:
Carro U Bus
Analizando el posible resultado de dicha unin, y teniendo en cuenta que
el resultado de la operacin es otra tabla (Tabla3), dicho resultado tendra
la siguiente apariencia:
Para poder solucionar el problema y hacer que ambas tablas cumplan con
la condicin, supongamos la tabla CARRO sin el campo capacidad. Es
decir, ambas tablas tendran tres atributos.
Al hacer la unin entre CARRO y BUS, el resultado (Tabla3) quedara con
el siguiente aspecto:
Operacin Diferencia
Tipo: Binaria
Sintaxis:
Tabla1 - Tabla2
Estudiantes_Becados
Tipo: Binaria
Sintaxis:
Tabla1 X Tabla2
Descripcin: Concatena cada una de las tuplas de Tabla1 con cada una
de las tuplas de Tabla2, una a una. Para entender mejor esta operacin,
suponga la siguiente situacin expresada:
Tabla1: Tiene 10 tuplas y 8 atributos.
Tabla2: Tiene 7 tuplas y 9 atributos.
Entonces,
Tabla1 X Tabla2 tiene 70 tuplas y cada tupla tendr 17 atributos.
Matrcula
HK7800
HK8000
HK2300
HK7400
Cdigo
10
20
30
Tabla Avin
Marca
No.horasvuelo
Boeing
Airbus
Concorde
Boeing
520
410
215
500
Tabla Aerolnea
Nombre
Avianca
Copa
Satena
Cdigo-aerolnea
10
10
20
30
AoFundacin
1950
1966
1945
Avin X Aerolnea
Matrcula
Marca
HK7800
HK7800
HK7800
HK8000
HK8000
HK8000
HK2300
HK2300
HK2300
HK7400
HK7400
HK7400
Boeing
Boeing
Boeing
Airbus
Airbus
Airbus
Concorde
Concorde
Concorde
Boeing
Boeing
Boeing
No.HorasV
520
520
520
410
410
410
215
215
215
500
500
500
Cdigo-A
10
10
10
10
10
10
20
20
20
30
30
30
Cdigo
10
20
30
10
20
30
10
20
30
10
20
30
Nombre
Avianca
Copa
Satena
Avianca
Copa
Satena
Avianca
Copa
Satena
Avianca
Copa
Satena
AoFund.
1950
1966
1945
1950
1966
1945
1950
1966
1945
1950
1966
1945
Avin X Avin
Matricula
HK7800
HK7800
HK7800
HK7800
HK8000
HK8000
HK8000
HK8000
HK2300
HK2300
HK2300
HK2300
HK7400
HK7400
HK7400
HK7400
Marca
Boeing
Boeing
Boeing
Boeing
Airbus
Airbus
Airbus
Airbus
Concorde
Concorde
Concorde
Concorde
Boeing
Boeing
Boeing
Boeing
No.HorasV
CodigoA
Matricula
520
520
520
520
410
410
410
410
215
215
215
215
500
500
500
500
10
10
10
10
10
10
10
10
20
20
20
20
30
30
30
30
HK7800
HK8000
HK2300
HK7400
HK7800
HK8000
HK2300
HK7400
HK7800
HK8000
HK2300
HK7400
HK7800
HK8000
HK2300
HK7400
Marca
Boeing
Airbus
Concorde
Boeing
Boeing
Airbus
Concorde
Boeing
Boeing
Airbus
Concorde
Boeing
Boeing
Airbus
Concorde
Boeing
No.HorasV
CodigoA
520
410
215
500
520
410
215
500
520
410
215
500
520
410
215
500
10
10
20
30
10
10
20
30
10
10
20
30
10
10
20
30
Entonces,
A = No.horasvuelo (Avin)
C = Avion.No.horasvuelo < Av.No.horasvuelo (Avin X Av (Avin))
B = Avion.No.horasvuelo (C)
Las tuplas seleccionadas en C se muestran resaltadas en amarillo.
Avin X Avin
Matricula
HK7800
HK7800
HK7800
HK7800
Marca
Boeing
Boeing
Boeing
Boeing
No.HorasV
CodigoA
Matricula
520
520
520
520
10
10
10
10
HK7800
HK8000
HK2300
HK7400
12
Marca
Boeing
Airbus
Concorde
Boeing
No.HorasV
CodigoA
520
410
215
500
10
10
20
30
HK8000
HK8000
HK8000
HK8000
HK2300
HK2300
HK2300
HK2300
HK7400
HK7400
HK7400
HK7400
Airbus
Airbus
Airbus
Airbus
Concorde
Concorde
Concorde
Concorde
Boeing
Boeing
Boeing
Boeing
410
410
410
410
215
215
215
215
500
500
500
500
10
10
10
10
20
20
20
20
30
30
30
30
HK7800
HK8000
HK2300
HK7400
HK7800
HK8000
HK2300
HK7400
HK7800
HK8000
HK2300
HK7400
Boeing
Airbus
Concorde
Boeing
Boeing
Airbus
Concorde
Boeing
Boeing
Airbus
Concorde
Boeing
520
410
215
500
520
410
215
500
520
410
215
500
10
10
20
30
10
10
20
30
10
10
20
30
Tipo: Binaria
Sintaxis:
Tabla1 n Tabla2
Tipo: Binaria
Sintaxis:
Tabla1
Tabla2
14
Aerolnea)
15