Sie sind auf Seite 1von 7

Introduccin

Esta seccin presenta la manera de hacer consultas a una base de datos


empleando algunos conceptos matemticos aplicados a un esquema
relacional. Los lenguajes que se analizan ms adelante se derivan
precisamente del algebra relacional.
El lgebra relacional consiste de algunas simples pero poderosas maneras de
construir nuevas relaciones a partir de otras. Si pensamos que las relaciones
iniciales son los datos almacenados entonces las nuevas relaciones se pueden
ver como respuestas a algunas consultas deseadas .

5.1 OPERACIONES FUNDAMENTALES DEL LGEBRA RELACIONAL


El lgebra relacional es un lenguaje de consulta procedimental que consta de
un conjunto de instrucciones u operaciones que toman una o dos relaciones
como entrada y producen una nueva relacin como resultado.
Tipos de operaciones:

SELECCIN
PROYECCION
PRODUCTO CARTESIANO
RENOMBRAR
UNION
DIFERENCIA
INTERSECCION
PRODUCTO NATURAL
DIVISION
ASIGNACION

5.2 OTRAS OPERACIONES DEL LGEBRA RELACIONAL


La operacin seleccin
La operacin seleccin selecciona tuplas que satisfacen un predicado dado.
Se utiliza la letra griega sigma minscula () para denotar la seleccin. El
predicado aparece como subndice de . La relacin del argumento se da
entre parntesis a continuacin de . Por tanto, para seleccionar las tuplas
de la relacin prstamo en que la sucursal es Navacerrada hay que
escribir
nombre-sucursal = Navacerrada (prstamo)
La operacin proyeccin
Supngase que se desea hacer una lista de todos los nmeros de prstamo
y del importe de los mismos, pero sin que aparezcan los nombres de las
sucursales. La operacin proyeccin permite producir esta relacin. La
operacin proyeccin es una operacin unaria que devuelve su relacin de
argumentos, excluyendo algunos argumentos. Dado que las relaciones son
conjuntos, se eliminan todas las filas duplicadas. La proyeccin se denota
por la letra griega mayscula pi (). Se crea una lista de los atributos que
se desea que aparezcan en el resultado como subndice de . La relacin

de argumentos se escribe a continuacin entre parntesis. Por tanto, la


consulta para crear una lista de todos los nmeros
de prstamo y del importe de los mismos puede escribirse como
nmero-prstamo, importe (prstamo)
La operacin unin
Considrese una consulta para averiguar el nombre de todos los clientes
del banco que tienen una cuenta, un prstamo o ambas cosas. Obsrvese
que la relacin cliente no contiene esa informacin, dado que los clientes no
necesitan tener ni cuenta ni prstamo en el banco. Se conoce la manera de
averiguar los nombres de todos los clientes con prstamos en el banco:
nombre-cliente (prestatario)
Tambin se conoce la manera de averiguar el nombre de los clientes con
cuenta en el banco:
nombre-cliente (impositor)
Para contestar a la consulta hace falta la unin de estos dos conjuntos; es
decir, hacen falta todos los nombres de clientes que aparecen en alguna de
las dos relaciones o en ambas. Estos datos se pueden averiguar mediante
la operacin binaria unin, denotada, como en la teora de conjuntos, por .
Por tanto, la expresin buscada es
nombre-cliente (prestatario)nombre-cliente (impositor)
Tngase en cuenta que en el resultado hay diez tuplas, aunque hay siete
prestatarios y seis impositores distintos. Esta discrepancia aparente se
debe a que Gmez, Santos y Lpez son a la vez prestatarios e impositores.
Dado que las relaciones son conjuntos, se eliminan los valores duplicados.
Obsrvese que en este ejemplo se toma la unin de
dos conjuntos, ambos consistentes en valores de nombre- cliente. En
general, se debe asegurar que las uniones realicen entre
relaciones compatibles. Por ejemplo, no tendra sentido realizar la unin de
las relaciones prstamo y prestatario. La primera es una relacin con tres
atributos, la segunda slo tiene dos. Ms an, considrese la unin de un
conjunto de nombres de clientes y de un conjunto de ciudades. Una unin
as no tendra sentido en la mayor parte de los casos. Por tanto, para que
una operacin unin r s sea vlida hay que exigir que se cumplan dos
condiciones:
1. Las relaciones r y s deben ser de la misma aridad. Es decir, deben tener
el mismo nmero de atributos.
2. Los dominios de los atributos i-simos de r y de s

deben ser iguales para todo i. Tngase en cuenta que r y s pueden ser, en
general, relaciones temporales que sean resultado de expresiones del
lgebra relacional.
La operacin diferencia de conjuntos
La operacin diferencia de conjuntos, denotada por , permite buscar las
tuplas que estn en una relacin pero no en la otra. La expresin r se da
como resultado una relacin que contiene las tuplas que estn en r pero no
en s. Se pueden buscar todos los clientes del banco que tienen abierta una
cuenta pero no tienen concedido ningn prstamo escribiendo
nombre-cliente (impositor) nombre-cliente (prestatario)
La operacin producto cartesiano
La operacin producto cartesiano, denotada por un aspa (), permite
combinar informacin de cualesquiera dos relaciones. El producto
cartesiano de las relaciones r1 y r2 como r1 r2. Recurdese que las
relaciones se definen como subconjuntos del producto cartesiano de un
conjunto de dominios. A partir de esta definicin ya se debe tener una
intuicin sobre la definicin de la operacin producto cartesiano. Sin
embargo, dado que el mismo nombre de atributo puede aparecer tanto
en r1 como en r2,
hay que crear un esquema de denominaciones para distinguir entre ambos
atributos. En este caso se logra
adjuntando al atributo el nombre de la relacin de la que proviene
originalmente. Por ejemplo, el esquema de relacin
de r=prestatario prstamo es
(prestatario.nombre-cliente, prestatario.nmeroprstamo, prstamo.nombresucursal, prstamo.
nmero-prstamo, prstamo.importe)
Con este esquema se puede distinguir entre prestatario. nmeroprstamo y prstamo.nmero-prstamo.
Para los atributos que slo aparecen en uno de los dos esquemas se suele
omitir el prefijo con el nombre de la relacin. Esta simplificacin no genera
ambigedad alguna. Por tanto, se puede escribir el esquema de relacin
de r como
(nombre-cliente, prestatario.nmero-prstamo, nombre-sucursal,
prstamo.nmero-prstamo, importe)

El acuerdo de denominaciones precedente exige que las relaciones que


sean argumentos de la operacin producto cartesiano tengan nombres
diferentes. Esta exigencia causa problemas en algunos casos, como
cuando se desea calcular el producto cartesiano de una relacin consigo
misma. Se produce un problema similar si se utiliza el resultado de una
expresin del lgebra relacional en un producto cartesiano, dado que har
falta un nombre para la relacin para poder hacer referencia a sus atributos.

5.3 Algebra relacional extendida


Las operaciones bsicas del lgebra relacional se han ampliado de varias
maneras. Una ampliacin sencilla es permitir operaciones aritmticas como
parte de la proyeccin. Una ampliacin importante es permitir operaciones
de agregacin, como el clculo de la suma de los elementos de un
conjunto, o su media. Otra ampliacin importante es la operacin reunin
externa, que permite a las expresiones del lgebra relacional trabajar con
los valores nulos que modelan la informacin que falta.
Proyeccin generalizada
La operacin proyeccin generalizada ampla la operacin proyeccin
permitiendo que se utilicen funciones aritmticas en la lista de proyeccin.
La operacin proyeccin generalizada tiene la forma
F1, F2, , Fn (E)
donde E es cualquier expresin del lgebra relacional y F1, F2, , Fn son
expresiones aritmticas que incluyen constantes y atributos en el esquema
de E.
Como caso especial la expresin aritmtica puede ser simplemente un
atributo o una constante.

5.4 VALORES NULOS


"null' significa "dato desconocido" o "valor inexistente".
A veces, puede desconocerse o no existir el dato correspondiente a algn
campo de un registro. En estos casos decimos que el campo puede
contener valores nulos.
Por ejemplo, en nuestra tabla de libros, podemos tener valores nulos en el
campo "precio" porque es posible que para algunos libros no le hayamos
establecido el precio para la venta.
En contraposicin, tenemos campos que no pueden estar vacos jams.

Veamos un ejemplo. Tenemos nuestra tabla "libros". El campo "titulo" no


debera estar vaco nunca, igualmente el campo "autor". Para ello, al crear
la tabla, debemos especificar que tales campos no admitan valores nulos:

<span style="background-color: #aed7a8; text-align: left;">create


table libros(
titulo varchar2(30) not null,
autor varchar2(20) not null,
editorial varchar2(15) null,
precio number(5,2)
);</span>

Para especificar que un campo NO admita valores nulos, debemos colocar


"not null" luego de la definicin del campo.
En el ejemplo anterior, los campos "editorial" y "precio" si admiten valores
nulos.
Cuando colocamos "null" estamos diciendo que admite valores nulos (caso
del campo "editorial"); por defecto, es decir, si no lo aclaramos, los campos
permiten valores nulos (caso del campo "precio").
Cualquier campo, de cualquier tipo de dato permite ser definido para
aceptar o no valores nulos. Un valor "null" NO es lo mismo que un valor 0
(cero) o una cadena de espacios en blanco (" ").

5.5 OPERACIONES MODIFICACIN DE LA BASE DE DATOS


Se abordar la manera de insertar, borrar o modificar informacin de la
base de datos. Las modificaciones de la base de datos se expresan
utilizando la operacin asignacin. Las asignaciones a las relaciones reales
de la base de datos. Borrado Las solicitudes de borrado se expresan
bsicamente igual que las consultas.
Slo se pueden borrar tuplas enteras; no se pueden borrar valores de
atributos concretos. En el lgebra relacional los borrados se expresan
mediante r r E donde r es una relacin y E es una consulta del lgebra
relacional

Conclusin.
En conclusin el Algebra Relacional es un mtodo bsicamente que
consiste en crear nuevas relaciones, tomando en cuenta las
relaciones que ya existen.
Es demasiado importante conocer a detalle las caractersticas de los
datos que se vayan ingresar en las tablas, que relacin tendrn y el
acceso a la informacin.
El Algebra requiere que los creadores del sistema puedan percatarse
de todos los tipos de acciones de los usuarios en un momento dado
necesiten realizar y que datos requerirn en cada consulta que
realicen.

Das könnte Ihnen auch gefallen