Vous êtes sur la page 1sur 41

Algebra Relaciona

Jose Herrera

Relacion?

Algebra

proviene delrabey
significa "reduccin

a<0, b>0 a<b

Aritmetica tendria q
representar todos los
numeros

Algebra Relacional
Mg cs Jos Herrera

Algebra Relacional
Se denomina algebra relacional a un
conjunto de operaciones encargadas de la
manipulacin de datos agrupados
(relaciones).
Estas operaciones describen la manipulacin
de datos. Son en si, una representacin
intermedia de una consulta a una base de
datos.
Debido a sus propiedades algebraicas, estas
operaciones sirven para obtener una versin
ms optimizada y eficiente de dicha
consulta.

Algebra Relacional
Trminos necesarios de entender.

Relacin: Se le denomina relacin a un conjuntos de datos


ordenados en forma de filas y columnas, los cuales estn
relacionados por algn contexto. Estas relaciones contienen
dentro de sus partes a la cabecera, tuplas y campos.

Campo1

Campo2

Campo3

Valor 1

Valor 2

Valor 3

Valor n

Valor n

Valor n

Campo

Cabecera
Tupla

Algebra Relacional
Tupla: Es una parte de una relacin, un
conjunto de datos que entregan una
informacin relacionada. Enfocado a las bases
de datos puede llamarse registro filas de
una tabla.
Cabecera

Campo1

Campo2

Campo3

Valor 1

Valor 2

Valor 3

Valor n

Valor n

Valor n

Tupla

2.2 Estructura de datos


relacional
dominios

La relacin PELICULA
Nombres

Ttulos
---------

---------

Gneros

Aos

Ciencia-ficcin,
Drama,Thriller,
Comedia...

2002, 1997,
1999, 2001,
1994, 1972...

Pases
Italia,Argentina,
Espaa, EEUU,
Francia,Japn..

director

gnero

rodaj
e

nacionalida
d

duraci
n

Amores Perros

A. Gonzlez

Drama

2000

Mxico

145

1999

EEUU

138

cardinalid
ad

ttulo

The Matrix

A. Wachowsky Ciencia-ficcin

Torrente

S. Segura

Comedia

1997

Espaa

110

Nos miran

N. Lpez

Policiaco

2001

Espaa

118

Amelie

J. P. Jeunet

Comedia

2001

Francia

122

Los lunes al sol

F. Len

Drama

2002

Espaa

117

atributos
Tema 2. Modelo relacional de datos

grad
o

Tiempo
---------

tupla
s

2.2 Estructura de datos relacional


Trminos bsicos
Procesamiento
de Ficheros

Modelo Relacional
Formal

SQL-92

Relacin

Tabla

Fichero

Fila

Registro
concreto

Tupla

Si la tupla t est en la
relacin R, entonces tR

Atributo

Debe tener un nombre


nico dentro de cada
relacin

Cardinalida
d

n de tuplas en una
relacin

Grado

n atributos en una
relacin

Dominio

coleccin de valores
permitidos
para
ciertos
Tema
2. Modelo relacional
de datos
atributos

cabecera de

Columna

Nombre de

Campo de
registro

16

lgebra Relacional

Permite operar con el Modelo Relacional


Conjunto de operadores que toman relaciones
como sus operandos y regresan una relacin
como resultado El lgebra es cerrada
Es un formalismo que permite solicitar
informacin a las Bases de Datos
Es un lenguaje puro (en general no se
implementa directamente)
Propuesta por Codd
Se usa para la traduccin de una consulta SQL y
para optimizacin de consultas
5/4/16

17

lgebra Relacional

8 operadores iniciales clasificados en 2 grupos:

Tradicionales de la teora de conjuntos: Unin,


Interseccin, Diferencia y Producto Cartesiano

Especiales: Restriccin (o Seleccin), Proyeccin,


Reunin (join) y Divisin

Operadores adicionales:

Renombrado,

Agrupamiento

Estr

5/4/16

lgebra Relacional

18

REPASO!!
Cul es el esquema de
la relacin
ADMINISTRADOR?
(Cdigo,Nombre,Edad)

Sean las relaciones:


ADMINISTRADOR

Cdigo
1
2
3

Nombre
Edad
Jorge Campos
33
Enrique Muoz
25
Esteban Paz
21

PRODUCTOR

Curso Bases de Datos

5/4/16

Restriccin o Seleccin ( )

19

condicin(R)

El argumento es una relacin y


una condicin
Produce una relacin R1 que
contiene todas las tuplas de R que
cumplen una condicin especfica
La condicin se construye
mediante operadores de
comparacin (=,<,> etc.) y
booleanos (AND, OR etc.)
El resultado es una nueva relacin
cuyo esquema es idntico al
esquema de R

Curso Bases de Datos

5/4/16

Restriccin o Seleccin ( )
Edad >= 25
(Administrador):
Cdigo Nombre
Edad
1 Jorge Campos
33
2 Enrique Muoz
25

Cdigo < 5 (Productor):

Cdigo Nombre
Edad
2 Enrique Muoz
25

5/4/16

Curso Bases de Datos

20

Proyeccin ()

21

Lista Atributos (R)

Curso Bases de Datos

Toma como argumento una


relacin R y una lista de
atributos
Se utiliza para extraer
atributos (columnas) de una
relacin R
El resultado es una nueva
relacin R1 cuyo esquema
corresponde a la lista de
atributos proyectados
En R1 se eliminan las
tuplas duplicadas
Se puede extraer ms de una
columna a la vez
5/4/16

Proyeccin ( )
Cdigo,Edad(Administrador)

Cdigo,Nombre(Productor)

5/4/16

Curso Bases de Datos

22

Proyeccin ( )

23

Suponga una relacin W as:


W

Edad(W)

El resultado ser:

Edad
30
25

se eliminan tuplas repetidas !!

Curso Bases de Datos

5/4/16

Producto Cartesiano: R1 X R2

24

Toma como argumentos dos relaciones R1 y R2


Da como resultado una relacin R3 cuyo esquema consta
tanto de los atributos de R1 como de los atributos de R2
Los esquemas de R1 y R2 deben ser disjuntos, es decir los
esquemas de R1 y R2 no pueden tener nombres de
atributos en comn por qu?
Renombrado de atributos

Se debe usar un alias (mediante el operador ) si los


esquemas no son disjuntos

R3 contiene todas las tuplas resultantes de la


concatenacin de cada tupla de R1 con cada una de las
tuplas de R2
Curso Bases de Datos

5/4/16

25

El renombrado de la relation
R(A,B,C,D) en R(A,K,L,D) se denota

Ejemplo

Administrador X

BK,CL

(R)

[ CdigoCod,NombreNom,EdadEdad1(Productor)]

El renombrado es puramente sintctico !!


Curso Bases de Datos

5/4/16

26

R1

Unin: R1 R2
Toma como argumentos dos
relaciones R1 y R2 con
esquemas idnticos
Retorna una relacin R3 con
R2
el mismo esquema de R1 y
R2 que contiene todas la
tuplas de R1 y todas las de
R2, eliminando tuplas
repetidas
Curso Bases de Datos

5/4/16

27

Ejemplo:

Administrador Productor:

Curso Bases de Datos

5/4/16

28

Interseccin: R1 R2

R1

R2

Curso Bases de Datos

Toma como argumentos


dos relaciones R1 y R2
con esquemas idnticos
Retorna una relacin R3
con el mismo esquema
de R1 y R2 que contiene
todas las tuplas que
aparecen tanto en R1
como en R2
5/4/16

29

Ejemplo

Administrador Productor

Curso Bases de Datos

5/4/16

30

Diferencia: R1 R2

R1

R2

Curso Bases de Datos

Toma como argumento


dos relaciones R1 y R2
con esquemas idnticos
Retorna una relacin R3
con el mismo esquema
de R1 y R2 que
contiene todas las
tuplas que aparecen en
R1 pero no en R2
5/4/16

31

Ejemplo

Administrador Productor:

Productor Administrador:

Curso Bases de Datos

5/4/16

32

TAREA : Observa y Verifica !!

La unin, interseccin y producto cartesiano son conmutativas y


asociativas

La diferencia no es conmutativa ni asociativa

La interseccin no es primitiva ya que puede ser expresada


mediante la diferencia

Curso Bases de Datos

5/4/16

33

Reunin (JOIN)

NATURAL JOIN: R1

R2

Si R1(A,B) y R2(B,C) el resultado de R1

R2

es una relacin R3 con esquema R3(A,B,C)


donde cada tupla de R1 se concatena con
cada tupla de R2 SIEMPRE Y CUANDO tengan
el mismo valor del atributo en comn (B).
El atributo B puede ser compuesto.

Curso Bases de Datos

5/4/16

34

Ejemplo
Empleado
Departamento

Nota: En este ejemplo, el campo


Depto en Empleado NO ES CF
con respecto a la tabla Departamento
Curso Bases de Datos

Atributo de
Join
5/4/16

35

Ejemplo
Empleado

Departamento

Curso Bases de Datos

5/4/16

36

SEMI JOIN (

Idntico al NATURAL JOIN pero la relacin resultante tiene el


esquema de la relacin izquierda Utilidad?

Curso Bases de Datos

5/4/16

37

THETA JOIN (R1 Condicin R2)

El operador de comparacin usado en la condicin NO es el = sino


alguno de los siguientes: >, <, >=, <=,

Es equivalente a:

Condicin

Curso Bases de Datos

(R1 X R2)

5/4/16

38

Ejemplo
Empleado Depto > Dep [

Curso Bases de Datos

DeptoDep

(Departamento)]

5/4/16

Divisin: R1 R2

39

Def 1: Sean las relaciones R1(A,B) y R2(B). El resultado de

R1
R2 es una relacin R3 cuyo esquema esta compuesto
por el atributo A, donde para todo valor de B en R2 existe
una pareja en R1 de A con ese valor.
Def 2:
R S = {t | t K (R) y {t} x s r} con

K= esquema de R esquema de S

Curso Bases de Datos

Tuplas de S
Tuplas de R

5/4/16

Ejemplo
En este ejemplo la relacin empleado no est

normalizada, observe que la CP es (Cdigo, Depto)


y Cdigo Nombre, Edad

Empleado

Departamento

Empleado (Depto(Departamento))

5/4/16

Curso Bases de Datos

40

41

Ademas ..

Se permite tambin el siguiente operador:

Asignacin: VbleRelacion Relacin


Otra forma de renombrar atributos y el
nombre de la relacin

NuevoNombreRelacin(Atributos Renombrados)

( (Lista Atributos)(R))

5/4/16

Vous aimerez peut-être aussi