algebra relacional

14
ALGEBRA RELACIONAL

Upload: gabriel-russell

Post on 01-Jan-2016

50 views

Category:

Documents


5 download

DESCRIPTION

Algebra Relacional. Elementos. Operandos -> Relaciones Operadores Asignaciones. SQL v/s Algebra relacional. Esquema. Atributos. Relaciones. Ocurrencias. Operadores. Selección: Relación => Relación Resultante. Ejemplo: R = RR R c RR (subconjunto). R. RR. =. R. RR. =. Operadores. - PowerPoint PPT Presentation

TRANSCRIPT

ALGEBRA RELACIONAL

Elementos

Operandos -> Relaciones Operadores Asignaciones

SQL v/s Algebra relacional

Esquema

Elem1 Elem2 Elem3

x y z

a b c

Relaciones

Atributos

Ocu

rren

cias

Operadores

Selección: Relación => Relación Resultante.

Ejemplo: R = RR

R c RR (subconjunto)

E1 E2 E3=

E1 E2 E3

E1 E2 E3=

E1 E2 E3

RR

RR

R

R

Operadores

Para hacer subconjuntos se les puede entregar alguna condición.

Para eso se utiliza WHERE Alumnos WHERE nombre = ´JP´;

Nombre rut

jp 121

pedro 111

Nombre rut

jp 121

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

A B

A1 B1

A2 B2

C D

C1 D1

C2 D2

A B C D

A1 B1 C1 D1

A1 B1 C2 D2

A2 B2 C1 D1

A2 B2 C2 D2

Join

Producto de tablas con proyección

R1 JOIN R2 (A =‘A1’)

A B

A1 B1

A2 B2

C D

C1 D1

C2 D2

A B C D

A1 B1 C1 D1

A1 B1 C2 D2

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 1SUM ((ventas WHERE numero_venta =‘1’), total)

2. Numero de venta que menos ha vendido(ventas WHERE total_ventas = MIN(ventas, total_ventas))[numero_venta]