Algebra Relacional


Algebra relacional

Es un método que consiste básicamente en crear o construir nuevas relaciones a partir de relaciones existentes.

Existen 2 tipos de operadores algebraicos:

  • Operadores básicos o primitivos.
  • Operadores no básicos o derivados.

Operadores básicos o primitivos.

Se clasifican en:

  1. Proyección (π).
  2. Selección (σ).
  3. Unión (U).
  4. Diferencia (-).
  5. Producto cartesiano (X).

Proyección.

Este operador permite extraer columnas de una relación y de esta manera crea un subconjunto de atributos de la relación, además elimina las filas duplicadas.

Ejemplo

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD
1 PEDRO 24 3182405 QUITO
2 SONIA 15 3234534 QUITO
3 ERIK 18 4102405 GUAYAQUIL
4 ANDREA 27 4089129 GUAYAQUIL

π NOMBRE, CUIDAD (PERSONA)

NOMBRE CUIDAD
PEDRO QUITO
SONIA QUITO
ERIK GUAYAQUIL
ANDREA GUAYAQUIL

Selección.

Este operador permite seleccionar un subconjunto de filas o registros de una relación y de acuerdo a la condición planteada los registros serán seleccionados para formar parte de un nuevo subconjunto.

Ejemplo

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD
1 PEDRO 24 3182405 QUITO
2 SONIA 15 3234534 QUITO
3 ERIK 18 4102405 GUAYAQUIL
4 ANDREA 27 4089129 GUAYAQUIL

σ CODIGO>2 (PERSONA)

CODIGO NOMBRE EDAD TELEFONO CIUDAD
3 ERIK 18 4102405 GUAYAQUIL
4 ANDREA 27 4089129 GUAYAQUIL

Unión.

La unión de 2 relaciones R y S es otra relación la cual va a tener los registros de R en  S o en ambas, además se eliminan los registros duplicados.

En esta relación R y S deben ser compatibles es decir que deben estar definidas sobre el mismo conjunto de atributos.

Ejemplo

EMPLEADO

CÓDIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO
5 PEDRO 800
2 EDUARDO 300
6 ADRIAN 1000
4 NANCY 430
8 JUAN 180

EMPLEADO U JEFE

CÓDIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430
5 PEDRO 800
6 ADRIAN 1000
8 JUAN 180

Diferencia.

La diferencia de 2 relaciones R y S es otra relación la cual va a tener los registros que están en R pero no están en S.

En esta relación R y S deben ser compatibles.

Ejemplo

EMPLEADO

CÓDIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO
5 PEDRO 800
2 EDUARDO 300
6 ADRIAN 1000
4 NANCY 430
8 JUAN 180

EMPLEADO – JEFE

CODIGO NOMBRE SUELDO
1 KEVIN 550
3 JESSICA 240

JEFE – EMPLEADO

CODIGO NOMBRE SUELDO
5 PEDRO 800
6 ADRIAN 1000
8 JUAN 180

Producto cartesiano.

Es  una relación que consiste en la concatenación de cada una de las filas de la relación R con cada una de las filas de la relación S.

Ejemplo

PROVINCIA

CÓDIGO NOMBRE POBLACION
5 PICHINCHA 800
2 AZUAY 300
6 GUAYAS 1000
4 COTOPAXI 430

CIUDAD

CÓDIGO CIUDAD
C1 QUITO
C2 CUENCA
C3 GUAYAQUIL

PROVINCIA X CIUDAD

CÓDIGO NOMBRE POBLACION CODIGO CIUDAD
5 PICHINCHA 800 C1 QUITO
5 PICHINCHA 800 C2 CUENCA
5 PICHINCHA 800 C3 GUAYAQUIL
2 AZUAY 300 C1 QUITO
2 AZUAY 300 C2 CUENCA
2 AZUAY 300 C3 GUAYAQUIL
6 GUAYAS 1000 C1 QUITO
6 GUAYAS 1000 C2 CUENCA
6 GUAYAS 1000 C3 GUAYAQUIL
4 COTOPAXI 430 C1 QUITO
4 COTOPAXI 430 C2 CUENCA
4 COTOPAXI 430 C3 GUAYAQUIL

Operadores no básicos o derivados.

Se clasifican en:

  1. Intersección (∩).
  2. Unión natural ().
  3. División (/).

Intersección.

Es  una relación que contiene el conjunto de todas las filas que están tanto en la relación R como en S.

R y S deben ser compatibles.

Ejemplo

EMPLEADO

CODIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430

JEFE

CODIGO NOMBRE SUELDO
5 PEDRO 800
2 EDUARDO 300
6 ADRIAN 1000
4 NANCY 430
8 JUAN 180

EMPLEADO – JEFE

CODIGO NOMBRE SUELDO
2 EDUARDO 300
4 NANCY 430

Unión natural.

El resultado es una relación con los atributos de ambas relaciones y se obtiene combinando vas filas de ambas relaciones que tengan el mismo valor en los atributos comunes.

El join se lo usa entre los atributos comunes de las entidades o tablas que poseen la clave primaria de una tabla foránea correspondiente de otra entidad.

Ejemplo

PROVINCIA

CODIGO NOMBRE POBLACION CODIGO_CIUDAD
5 PICHINCHA 800 1
2 AZUAY 300 3
6 GUAYAS 1000 3
4 COTOPAXI 430 1

CIUDAD

CODIGO_CIUDAD CIUDAD
1 QUITO
2 CUENCA
3 GUAYAQUIL
CÓDIGO NOMBRE POBLACION CODIGO_CIUDAD CODIGO_CIUDAD CIUDAD
5 PICHINCHA 800 1 1 QUITO
5 PICHINCHA 800 1 2 CUENCA
5 PICHINCHA 800 1 3 GUAYAQUIL
2 AZUAY 300 3 1 QUITO
2 AZUAY 300 3 2 CUENCA
2 AZUAY 300 3 3 GUAYAQUIL
6 GUAYAS 1000 3 1 QUITO
6 GUAYAS 1000 3 2 CUENCA
6 GUAYAS 1000 3 3 GUAYAQUIL
4 COTOPAXI 430 1 1 QUITO
4 COTOPAXI 430 1 2 CUENCA
4 COTOPAXI 430 1 3 GUAYAQUIL

RESULTADO

CODIGO NOMBRE POBLACION CODIGO_CIUDAD CODIGO_CIUDAD CIUDAD
5 PICHINCHA 800 1 1 QUITO
2 AZUAY 300 3 3 GUAYAQUIL
6 GUAYAS 1000 3 3 GUAYAQUIL
4 COTOPAXI 430 1 1 QUITO

Outer Join.

Es una variante del join en la que se intenta mantener toda va información de los operandos, incluso para aquellas que no encajan o entran en juego en el Join, se rellena con nulos las filas que no tienen correspondencia en el Join.

Existen 3 variantes:

  1. Left.
  2. Right
  3. Full

Left

Se tiene en cuenta todas las filas del primer operando.

Right

Se tiene en cuenta todas las filas del segundo operando.

Full

Se tiene en cuenta todas las filas de ambos operandos.

División.

Define una relación sobre el conjunto de atributos C, incluido en la relación R, y que contiene el conjunto de valores de S, que en las filas de R están combinadas con cada una de las filas de S.

R

A B C D
1 2 3 5
4 3 5 9
3 2 8 1
1 2 2 7
1 3 2 7

S

C D
3 5
2 7

R / S

A B
1 2

About these ads
    • Jhonathan Ruales
    • 28/05/10

    GRACIAS…
    Esta información me sirvió para presentar mi trabajo en la U..

  1. No trackbacks yet.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: