LENGUAJES DE BASES DE DATOS - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

LENGUAJES DE BASES DE DATOS

Description:

Se utiliza para extraer atributos (columnas) de una relaci n R ... Se puede extraer m s de una columna a la vez. p Lista Atributos (R) 12/25/09 ... – PowerPoint PPT presentation

Number of Views:171
Avg rating:3.0/5.0
Slides: 31
Provided by: carlosmari
Category:

less

Transcript and Presenter's Notes

Title: LENGUAJES DE BASES DE DATOS


1
LENGUAJES DE BASES DE DATOS
ÁLGEBRA RELACIONAL Parte I
Gloria Lucía Giraldo Gómez Universidad Nacional
de Colombia glgiraldog_at_unalmed.edu.co Bloque
anexo al M8 Oficina 313
2
Álgebra Relacional
  • Permite operar con el Modelo Relacional
  • Conjunto de operadores que toman relaciones como
    sus operandos y regresan una relación como
    resultado ? El álgebra es cerrada
  • Es un formalismo que permite solicitar
    información a las Bases de Datos
  • Es un lenguaje puro (en general no se implementa
    directamente)
  • Propuesta por Codd
  • Se usa para la traducción de una consulta SQL y
    para optimización de consultas

3
Álgebra Relacional
  • 8 operadores iniciales clasificados en 2 grupos
  • Tradicionales de la teoría de conjuntos Unión,
    Intersección, Diferencia y Producto Cartesiano
  • Especiales Restricción (o Selección),
    Proyección, Reunión (join) y División
  • Operadores adicionales Renombrado, Agrupamiento

4
Álgebra Relacional
REPASO!! Cuál es el esquema de la relación
ADMINISTRADOR? (Código,Nombre,Edad)
Sean las relaciones
ADMINISTRADOR
PRODUCTOR
5
Restricción o Selección (s)
scondición(R)
  • El argumento es una relación y una condición
  • Produce una relación R1 que contiene todas las
    tuplas de R que cumplen una condición específica
  • La condición se construye mediante operadores de
    comparación (,lt,gt etc.) y booleanos (AND, OR
    etc.)
  • El resultado es una nueva relación cuyo esquema
    es idéntico al esquema de R

6
Restricción o Selección (s)
  • sEdad gt 25 (Administrador)
  • sCódigo lt 5 (Productor)

7
Proyección (p)
p Lista Atributos (R)
  • Toma como argumento una relación R y una lista de
    atributos
  • Se utiliza para extraer atributos (columnas) de
    una relación R
  • El resultado es una nueva relación R1 cuyo
    esquema corresponde a la lista de atributos
    proyectados
  • En R1 se eliminan las tuplas duplicadas
  • Se puede extraer más de una columna a la vez

8
Proyección (p)
  • pCódigo,Edad(Administrador)

pCódigo,Nombre(Productor)
9
Proyección (p)
Suponga una relación W así
W
pEdad(W)
El resultado será
se eliminan tuplas repetidas !!
10
Producto Cartesiano R1 X R2
  • Toma como argumentos dos relaciones R1 y R2
  • Da como resultado una relación 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 común por qué?
  • Se debe usar un alias (mediante el operador r) si
    los esquemas no son disjuntos
  • R3 contiene todas las tuplas resultantes de la
    concatenación de cada tupla de R1 con cada una de
    las tuplas de R2

Renombrado de atributos
11
Ejemplo
El renombrado ? de la relation R(A,B,C,D) en
R(A,K,L,D) se denota ? B?K,C?L (R)
Administrador X rCódigo?Cod,Nombre?Nom,Edad?Edad1
(Productor)
El renombrado es puramente sintáctico !!
12
Unión R1 È R2
  • Toma como argumentos dos relaciones R1 y R2 con
    esquemas idénticos
  • Retorna una relación R3 con el mismo esquema de
    R1 y R2 que contiene todas la tuplas de R1 y
    todas las de R2, eliminando tuplas repetidas

R1
R2
13
Ejemplo
  • Administrador È Productor

14
Intersección R1 ? R2
R1
  • Toma como argumentos dos relaciones R1 y R2 con
    esquemas idénticos
  • Retorna una relación R3 con el mismo esquema de
    R1 y R2 que contiene todas las tuplas que
    aparecen tanto en R1 como en R2

R2
15
Ejemplo
  • Administrador Ç Productor

16
Diferencia R1 - R2
R1
  • Toma como argumento dos relaciones R1 y R2 con
    esquemas idénticos
  • Retorna una relación R3 con el mismo esquema de
    R1 y R2 que contiene todas las tuplas que
    aparecen en R1 pero no en R2

R2
17
Ejemplo
  • Administrador - Productor
  • Productor - Administrador

18
TAREA Observa y Verifica !!
  • La unión, intersección y producto cartesiano son
    conmutativas y asociativas
  • La diferencia no es conmutativa ni asociativa
  • La intersección no es primitiva ya que puede ser
    expresada mediante la diferencia

19
Reunión (JOIN)
  • NATURAL JOIN R1 ? R2
  • Si R1(A,B) y R2(B,C) el resultado de R1 ? R2
  • es una relación 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 común (B).
  • El atributo B puede ser compuesto.

20
Ejemplo
Empleado
Departamento
Nota En este ejemplo, el campo Depto en Empleado
NO ES CF con respecto a la tabla Departamento
Atributo de Join
21
Ejemplo
  • Empleado ? Departamento

22
SEMI JOIN ( ?)
  • Idéntico al NATURAL JOIN pero la relación
    resultante tiene el esquema de la relación
    izquierda Utilidad?

23
THETA JOIN (R1 QCondición R2)
  • El operador de comparación usado en la condición
    NO es el sino alguno de los siguientes gt,
    lt, gt, lt, ?
  • Es equivalente a sCondición (R1 X R2)

24
Ejemplo
  • Empleado Q Depto gt Dep r Depto?Dep
    (Departamento)

25
División R1 R2
  • Def 1 Sean las relaciones R1(A,B) y R2(B). El
    resultado de R1 R2 es una relación 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

Tuplas de S
Tuplas de R
26
Ejemplo
En este ejemplo la relación empleado no está
normalizada, observe que la CP es (Código, Depto)
y Código ? Nombre, Edad
  • Empleado

Departamento
Empleado (pDepto(Departamento))
27
Ademas ..
  • Se permite también el siguiente operador
  • Asignación VbleRelacion ? Relación
  • Otra forma de renombrar atributos y el nombre de
    la relación
  • r NuevoNombreRelación(Atributos Renombrados) (
    p(Lista Atributos)(R))

28
Agrupar con funciones
  • G Agrupar con funciones Sum(), Avg(), Max(),
    Min(), Count()

SINTAXIS
Atributos de Agrupamiento G Funciones de Grupo (R)
Emp
Ej. Sea
Qué hace la siguiente consulta? Depto G
Count(Código) AS conteo (Emp)
Renombrado de la función de Grupo
29
Extender
  • Extend R ADD expresión AS nuevo_atributo

Emp
Ej Extend Emp ADD Sal2 AS Saldobl
30
Ejemplo
  • Se genera una relación como la original pero con
    un atributo saldobl adicional

Qué hace la siguiente consulta? Ej Extend Emp
ADD 1 AS num, Hola AS mensaje
Write a Comment
User Comments (0)
About PowerShow.com