Está en la página 1de 20

Unidad III Modelo Relacional

1











Introduccin


En esta unidad vamos hablar sobre el modelo relacional, para comenzar
definiremos que es un modelo relacional. Un modelo relacional es aquel que esta
formado por tablas, cuyas tablas estn formadas por filas y columnas. En las filas
contienen informacin de una entidad y en las columnas, informacin a un nico
atributo. Tambin en este documento encontraremos que una clave se define
como un atributo que identifica una fila, de igual manera encontraremos las
definiciones de otras claves.

Los cuatro modelos de BD ms utilizados en los SI son el modelo relacional, el
modelo jerrquico, el modelo en red y el modelo relacional con objetos. El modelo
relacional es el ms utilizado en el diseo y gestin de base de datos.

En esta unidad tambin explicaremos, las operaciones del lgebra relacional, que
sirven para hacer consultas a una base de datos. Es necesario saber estas
operaciones para poder hacer consultas en una base de datos.

Encontraremos las operaciones fundamentales del algebra relacional, con su
definicin de cada una de las operaciones.



















FUNDAMENTOS DE BASE DE DATOS
2
MODELO RELACIONAL












Tabla de contenido

Introduccin 2

3. El modelo relacional.. 4
3.1 Modelo relacional. 4
3.1.1 Estructura de los datos. 4
3.1.2 Esquema de la base de datos. 5
3.1.3 Claves. 8
3.1.4 Diagrama de esquema.. 9
3.2 Algebra relacional. 10
3.2.1 Operaciones fundamentales 11
3.2.1.1 La operacin seleccin... 11
3.2.1.2 La operacin proyeccin 12
3.2.1.3 La operacin unin.. 12
3.2.1.4 La operacin diferencia de conjunto 13
3.2.1.5 La operacin producto cartesiano 13
3.2.1.6 La operacin renombramiento.. 15
3.2.2 Definicin formal del algebra . 16
3.2.3 Otras operaciones. 17
3.2.3.1 La operacin interseccin de conjunto 17
3.2.3.2 La operacin reunin natural 18
3.2.3.3 La operacin asignacin 19
Conclusin 20
Bibliografa 21











FUNDAMENTOS DE BASE DE DATOS
3
MODELO RELACIONAL




3 EL MODELO RELACIONAL

3.1 El modelo relacional

Una base de datos relacional consiste en un conjunto de tablas, a cada una de las
cuales se le asigna un nombre exclusivo.

El modelo relacional es un modelo de datos y, como tal, tiene en cuenta los tres
aspectos siguientes de los datos:

1. La estructura, que debe permitir representar la informacin que nos interesa
del mundo real.
2. La manipulacin, a la que da apoyo mediante las operaciones de
actualizacin y consulta de los datos.
3. La integridad, que es facilitada mediante el establecimiento de reglas de
integridad; es decir, condiciones que los datos deben cumplir.

Un sistema de gestin de bases de datos relacional (SGBDR) da apoyo a la
definicin de datos mediante la estructura de los datos del modelo relacional, as
como a la manipulacin de estos datos con las operaciones del modelo; adems,
asegura que se satisfacen las reglas de integridad que el modelo relacional
establece.

En el modelo relacional se utiliza un grupo de tablas para representar los datos y
las relaciones entre ellos. Cada tabla est compuesta por varias columnas, y cada
columna tiene un nombre nico.

El principal objetivo del modelo de datos relacional es facilitar que la base de datos
sea percibida o vista por el usuario como una estructura lgica que consiste en un
conjunto de relaciones y no como una estructura fsica de implementacin.
Esto ayuda a conseguir un alto grado de independencia de los datos. Un objetivo
adicional del modelo es conseguir que esta estructura lgica con la que se percibe
la base de datos sea simple y uniforme. Con el fin de proporcionar simplicidad y
uniformidad, toda la informacin se representa de una nica manera: mediante
valores explcitos que contienen las relaciones. Con el mismo propsito, todos los
valores de datos se consideran atmicos; es decir, no es posible descomponerlos.

3.1.1 Estructura de los datos

El modelo relacional proporciona una estructura de los datos que consiste en un
conjunto de relaciones con objeto de representar la informacin que nos interesa
del mundo real.
La estructura de los datos del modelo relacional se basa, pues, en el concepto de
relacin.

FUNDAMENTOS DE BASE DE DATOS
4
MODELO RELACIONAL


Los matemticos definen las relaciones como subconjuntos del producto
cartesiano de la lista de dominios.

Como las tablas son esencialmente relaciones, se utilizarn los trminos
matemticos relacin y tupla en lugar de los trminos tabla y fila. Una variable
tupla es una variable que representa a una tupla; en otras palabras, una tupla que
representa al conjunto de todas las tuplas.
Un dominio D es un conjunto de valores atmicos. Por lo que respecta al modelo
relacional, atmico significa indivisible; es decir, que por muy complejo o largo que
sea un valor atmico, no tiene una estructuracin interna para un SGBD relacional.

Los dominios pueden ser de dos tipos:
1) Dominios predefinidos, que corresponde a los tipos de datos que normalmente
proporcionan los lenguajes de bases de datos, como por ejemplo los enteros, las
cadenas de caracteres, los reales, etc.
2) Dominios definidos por el usuario, que pueden ser ms especficos. Toda
definicin de un dominio debe constar, como mnimo, del nombre del dominio y de
la descripcin de los valores que forman parte de ste.

3.1.2 Esquema de la base de datos

Cuando se habla de bases de datos se debe diferenciar entre el esquema de la
base de datos, o diseo lgico de la misma, y el ejemplar de la base de datos,
que es una instantnea de los datos de la misma en un momento dado.
Un relacin se compone del esquema (o intensin de la relacin) y de la
extensin.
El concepto de esquema de la relacin se corresponde con el concepto de
definicin de tipos de los lenguajes de programacin. El esquema de la relacin
consiste en un nombre de relacin R y un conjunto de atributos {A1, A2,..., An}.

La extensin de la relacin de esquema R (A1, A2,..., An) es un conjunto de tuplas
ti (i = 1, 2,..., m), donde cada tupla ti es, a su vez un conjunto de pares ti =
{<A1:vi1>, <A2:vi2>... >An: vin>} y, para cada par
<Aj: vij>, se cumple que vij es un valor de dominio (Aj), o bien un valor especial
que denominaremos nulo.


FUNDAMENTOS DE BASE DE DATOS
5
MODELO RELACIONAL




El grado de una relacin es el nmero de atributos que pertenecen a su esquema.
Ejemplo:
Grado de la relacin EMPLEADOS
El grado de la relacin de esquema EMPLEADOS (DNI, nombre, apellido, sueldo),
es 4.
La cardinalidad de una relacin es el nmero de tuplas que pertenecen a su
extensin.
Ejemplo:
Cardinalidad de la relacin EMPLEADOS

FUNDAMENTOS DE BASE DE DATOS
6
MODELO RELACIONAL

Observando la figura anterior se deduce que la cardinalidad de la relacin
EMPLEADOS es 3.

Resulta conveniente dar un nombre a los esquemas de las relaciones, igual que
se dan nombres a las definiciones de tipos en los lenguajes de programacin. Se
adopta el convenio de utilizar nombres en minsculas para las relaciones y
nombres que comiencen por una letra mayscula para los esquemas de las
relaciones. Siguiendo esta notacin se utilizar Esquema-cuenta para denotar el
esquema de la relacin de la relacin cuenta. Por tanto,

Esquema-cuenta = (nmero-cuenta, nombre-sucursal, saldo)

Se denota el hecho de que cuenta es una relacin de Esquema-cuenta mediante
cuenta (Esquema-cuenta).
En general, los esquemas de las relaciones incluyen una lista de los atributos y de
sus dominios correspondientes.

El concepto de ejemplar de relacin se corresponde con el concepto de valor de
una variable en los lenguajes de programacin. El valor de una variable dada
puede cambiar con el tiempo; de manera parecida, el contenido del ejemplar de
una relacin puede cambiar con el tiempo cuando la relacin se actualiza. Sin
embargo, se suele decir simplemente relacin cuando realmente se quiere decir
ejemplar de la relacin.
Como ejemplo de ejemplar de una relacin, considrese la relacin sucursal de la
Figura 3.3. El esquema de esa relacin es Esquema-relacin = (nombre-sucursal,
ciudad-sucursal, activos).

Tambin se necesita una relacin que describa la asociacin entre los clientes y
las cuentas. El esquema de la relacin que describe esta asociacin es: Esquema-
impositor = (nombre-cliente, nmero-cuenta)
En la Figura se muestra un ejemplo de la relacin impositor (Esquema-impositor).












FUNDAMENTOS DE BASE DE DATOS
7
MODELO RELACIONAL

3.1.3 Claves

Clave candidata, clave primaria y clave alternativa de las relaciones
Definiremos qu se entiende por clave candidata, clave primaria y clave alternativa
de una relacin. Para hacerlo, ser necesario definir el concepto de superclave.

Una superclave de una relacin de esquema R (A1, A2, ..., An) es un subconjunto
de los atributos del esquema tal que no puede haber dos tuplas en la extensin de
la relacin que tengan la misma combinacin de valores para los atributos del
subconjunto. Una superclave, por lo tanto, nos permite identificar todas las tuplas
que contiene la relacin.

Una clave candidata de una relacin es una superclave C de la relacin que
cumple que ningn subconjunto propio de C es superclave. Es decir, C cumple
que la eliminacin de cualquiera de sus atributos da un conjunto de atributos que
no es superclave de la relacin. Intuitivamente, una clave candidata permite
identificar cualquier tupla de una relacin, de manera que no sobre ningn atributo
para hacer la identificacin.

Habitualmente, una de las claves candidatas de una relacin se designa clave
primaria de la relacin. La clave primaria es la clave candidata cuyos valores se
utilizarn para identificar las tuplas de la relacin. El diseador de la base de datos
es quien elige la clave primaria de entre las claves candidatas.

Si el esquema de una base de datos relacional se basa en las tablas derivadas de
un esquema E-R es posible determinar la clave primaria del esquema de una
relacin a partir de las claves primarias de los conjuntos de entidades o de
relaciones de los que se deriva el esquema:
Conjunto de entidades fuertes. La clave primaria del conjunto de entidades se
convierte en la clave primaria de la relacin.
Conjunto de entidades dbiles. La tabla y, por tanto, la relacin
correspondientes a un conjunto de entidades dbiles incluyen
Los atributos del conjunto de entidades dbiles.
La clave primaria del conjunto de entidades fuertes del que depende el
conjunto de entidades dbiles.
La clave primaria de la relacin consiste en la unin de la clave primaria del
conjunto de entidades fuertes y el discriminante del conjunto de entidades dbil.

Conjunto de relaciones. La unin de las claves primarias de los conjuntos de
entidades relacionados se transforma en una superclave de la relacin. Si la
relacin es de varios a varios, esta superclave es tambin la clave primaria.

Las claves candidatas no elegidas como primaria se denominan claves
alternativas.
Utilizaremos la convencin de subrayar los atributos que forman parte de la clave
primaria en el esquema de la relacin. As pues, R (A1, A2, ..., Ai, ..., An) indica
que los atributos A1, A2, ..., Ai forman la clave primaria de R.

FUNDAMENTOS DE BASE DE DATOS
8
MODELO RELACIONAL

Claves forneas de las relaciones
Las claves forneas tienen por objetivo establecer una conexin con la clave
primaria que referencian. Por lo tanto, los valores de una clave fornea deben
estar presentes en la clave primaria correspondiente, o bien deben ser valores
nulos. En caso contrario, la clave fornea representara una referencia o conexin
incorrecta.
Una clave fornea de una relacin R es un subconjunto de atributos del esquema
de la relacin, que denominamos CF y que cumple las siguientes condiciones:
1. Existe una relacin S (S no debe ser necesariamente diferente de R) que
tiene por clave primaria CP.
2. Se cumple que, para toda tupla t de la extensin de R, los valores para CF
de t son valores nulos o bien valores que coinciden con los valores para CP
de alguna tupla s de S.
Y entonces, se dice que la clave fornea CF referencia la clave primaria CP de la
relacin S, y tambin que la clave fornea CF referencia la relacin S.

3.1.4 Diagramas de esquema

Un esquema de bases de datos, junto con las dependencias de clave primaria y
externa, se puede mostrar grficamente mediante diagramas de esquema. La
Figura muestra el diagrama de esquema del ejemplo bancario. Cada relacin
aparece como un cuadro con los atributos listados dentro de l y el nombre de la
relacin sobre l. Si hay atributos clave primarios, una lnea horizontal cruza el
cuadro con los atributos clave primaria listados sobre ella. Las dependencias de
clave externa aparecen como flechas desde los atributos clave externa de la
relacin referenciante a la clave primaria de la relacin referenciada.











FUNDAMENTOS DE BASE DE DATOS
9
MODELO RELACIONAL

3.2 LGEBRA RELACIONAL

El lgebra relacional es un lenguaje de consulta procedimental. Consta de un
conjunto de operaciones que toman como entrada una o dos relaciones y
producen como resultado una nueva relacin. Las operaciones fundamentales del
lgebra relacional son seleccin, proyeccin, unin, diferencia de conjuntos,
producto cartesiano y renombramiento. Adems de las operaciones
fundamentales hay otras operaciones, por ejemplo, interseccin de conjuntos,
reunin natural, divisin y asignacin.
Estas operaciones se definirn en trminos de las operaciones fundamentales.

Una caracterstica destacable de todas las operaciones del lgebra relacional es
que tanto los operandos como el resultado son relaciones. Esta propiedad se
denomina cierre relacional.

Las operaciones del lgebra relacional han sido clasificadas segn distintos
criterios; de todos ellos indicamos los tres siguientes:

1) Segn se pueden expresar o no en trminos de otras operaciones.

a) Operaciones primitivas: son aquellas operaciones a partir de las cuales
podemos definir el resto. Estas operaciones son la unin, la diferencia, el
producto cartesiano, la seleccin y la proyeccin.

b) Operaciones no primitivas: el resto de las operaciones del lgebra
relacional que no son estrictamente necesarias, porque se pueden expresar
en trminos de las primitivas; sin embargo, las operaciones no primitivas
permiten formular algunas consultas de forma ms cmoda. Existen
distintas versiones del lgebra relacional, segn las operaciones no
primitivas que se incluyen

2) Segn el nmero de relaciones que tienen como operando:

a) Operaciones binarias: son las que tienen dos relaciones como operando.
Son binarias todas las operaciones, excepto la seleccin y la proyeccin.
b) Operaciones unarias: son las que tienen una sola relacin como operando.
La seleccin y la proyeccin son unarias.

3) Segn se parecen o no a las operaciones de la teora de conjuntos:

a) Operaciones conjuntistas: son las que se parecen a las de la teora de
conjuntos. Se trata de la unin, la interseccin, la diferencia y el producto
cartesiano.
b) Operaciones especficamente relacionales: son el resto de las operaciones;
es decir, la seleccin, la proyeccin y la combinacin.



FUNDAMENTOS DE BASE DE DATOS
10
MODELO RELACIONAL

La operacin redenominar, que denotaremos con el smbolo :=, permite asignar un
nombre R a la relacin que resulta de una operacin del lgebra relacional; lo
hace de la forma siguiente: R := E, siendo E la expresin de una operacin del
lgebra relacional.

3.2.1 Operaciones fundamentales

Las operaciones seleccin, proyeccin y renombramiento se denominan
operaciones unarias porque operan sobre una sola relacin. Las otras tres
operaciones operan sobre pares de relaciones y se denominan, por lo tanto,
operaciones binarias.

3.2.1.1. 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)

En general, se permiten las comparaciones que utilizan =, , <, , > o en el
predicado de seleccin. Adems, se pueden combinar varios predicados en uno
mayor utilizando las conectivas y () y o ().

Ejemplo de seleccin
Si queremos obtener una relacin R con los despachos de la base de datos del
ejemplo que estn en el edificio Marina y que tienen una superficie de ms de 12
metros cuadrados, haremos la siguiente seleccin:
R := DESPACHOS(edificio = Marina y superficie > 12).

La relacin R resultante ser:


El predicado de seleccin puede incluir comparaciones entre dos atributos. Para
ilustrarlo, considrese la relacin responsable-prstamo, que consta de tres
atributos: nombre-cliente, nombre-banquero y nmero-prstamo, que especifica
que un empleado concreto es el responsable del prstamo concedido a un cliente.
Para hallar todos los clientes que se llaman igual que su responsable de
prstamos se puede escribir nombre-cliente = nombre-banquero (responsable-
prstamo)

FUNDAMENTOS DE BASE DE DATOS
11
MODELO RELACIONAL

Dado que el valor especial nulo indica valor desconocido o inexistente, cualquier
comparacin que implique a un valor nulo se evala como falsa.

3.2.1.2. 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 relacin que resulta ser:


3.2.1.3 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.
Para contestar a esta consulta hace falta la informacin de la relacin impositor y
la de la relacin
Prestatario.

Impositor y prestamista

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:

FUNDAMENTOS DE BASE DE DATOS
12
MODELO RELACIONAL


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)
La relacin resultante ser:


3.2.1.4 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 s 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 relacin resultante ser:

Como en el caso de la operacin unin, hay que asegurarse de que las diferencias
de conjuntos se realicen entre relaciones compatibles. Por tanto, para que una
operacin diferencia de conjuntos r s sea vlida hay que exigir que las relaciones
r y s sean de la misma aridad y que los dominios de los atributos i-simos de r y s
sean iguales.

3.2.1.5 La operacin producto cartesiano

El producto cartesiano es una operacin que, a partir de dos relaciones, obtiene
una nueva relacin formada por todas las tuplas que resultan de concatenar tuplas
de la primera relacin con tuplas de la segunda.
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

FUNDAMENTOS DE BASE DE DATOS
13
MODELO RELACIONAL

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. nmero-
prstamo, prstamo .nombre-sucursal, prstamo. nmero-prstamo, prstamo.
importe)
Con este esquema se puede distinguir entre prestatario. nmero-prstamo 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)

En general, si se tienen las relaciones r1 (R1) y r2 (R2), r1 r2 es una relacin
cuyo esquema es la concatenacin de R1 y de R2. La relacin R contiene todas
las tuplas t para las que hay unas tuplas t1 en r1 y t2 en r2 para las que t[R1] =
t1[R1] y t[R2] = t2[R2].
Supngase que se desea averiguar los nombres de todos los clientes que tienen
concedido un prstamo en la sucursal de Navacerrada. Se necesita para ello
informacin de las relaciones prstamo y prestatario. Si se escribe
nombre-sucursal = Navacerrada (prestatario prstamo)
entonces el resultado ser:



Se tiene una relacin que slo atae a la sucursal de Navacerrada. Sin embargo,
la columna nombre-cliente puede contener clientes que no tengan concedido
ningn prstamo en la sucursal de Navacerrada.

FUNDAMENTOS DE BASE DE DATOS
14
MODELO RELACIONAL

(Si no se ve el motivo por el que esto es cierto, recurdese que el producto
cartesiano toma todos los emparejamientos posibles de una tupla de prestatario
con una tupla de prstamo.)
Dado que la operacin producto cartesiano asocia todas las tuplas de prstamo
con todas las tuplas de prestatario, se sabe que, si un cliente tiene concedido un
prstamo en la sucursal de Navacerrada, hay alguna tupla de prestatario
prstamo que contiene su nombre y que prestatario. nmero-prstamo =
prstamo. nmero- prstamo. Por tanto, si escribimos

prestatario.nmero-prstamo = prstamo.nmero-prstamo (nombre-sucursal =
Navacerrada (prestatario prstamo))

Slo se obtienen las tuplas de prestatario prstamo que corresponden a los
clientes que tienen concedido un prstamo en la sucursal de Navacerrada.
Finalmente, dado que slo se desea obtener nombre-cliente, se realiza una
proyeccin:
nombre-cliente (prestatario.nmero-prstamo = prstamo.nmero-prstamo
(nombre-sucursal = Navacerrada (prestatario prstamo)))

El resultado de esta expresin ser:


3.2.1.6 La operacin renombramiento

A diferencia de las relaciones de la base de datos, los resultados de las
expresiones de lgebra relacional no tienen un nombre que se pueda utilizar para
referirse a ellas. Resulta til poder ponerles nombre; el operador
renombramiento, denotado por la letra griega rho minscula (), permite realizar
esta tarea. Dada una expresin E del lgebra relacional, la expresin x (E)
devuelve el resultado de la expresin E con el nombre x.
Las relaciones r por s mismas se consideran expresiones (triviales) del lgebra
relacional. Por tanto, tambin se puede aplicar la operacin renombramiento a una
relacin r para obtener la misma relacin con un nombre nuevo.
Otra forma de la operacin renombramiento es la siguiente. Supngase que una
expresin del lgebra relacional
E tiene aridad n. Por tanto, la expresin x (A1, A2, An) (E) devuelve el
resultado de la expresin E con el nombre x y con los atributos con el nombre
cambiado a A1, A2,, An.

Para ilustrar el uso del renombramiento de las relaciones, considrese la consulta
Buscar el mximo saldo de cuenta del banco. La estrategia empleada para
obtener el resultado es

FUNDAMENTOS DE BASE DE DATOS
15
MODELO RELACIONAL

1) Calcular una relacin intermedia consistente en los saldos que no son el
mximo y 2) realizar la diferencia entre la relacin saldo (cuenta) y la relacin
intermedia recin calculada.
Paso 1: Para calcular la relacin intermedia hay que comparar los valores de los
saldos de todas las cuentas. Esta comparacin se puede hacer calculando el
producto cartesiano cuenta x cuenta y formando una seleccin para comparar el
valor de cualesquiera dos saldos que aparezcan en una tupla. En primer lugar hay
que crear un mecanismo para distinguir entre los dos atributos saldo. Se utilizar
la operacin renombramiento para cambiar el nombre de una referencia a la
relacin cuenta; as, se puede hacer referencia dos veces a la relacin sin
ambigedad alguna. La relacin temporal que se compone de los saldos que no
son el mximo puede escribirse ahora como

cuenta.saldo (cuenta.saldo < d.saldo (cuenta x d (cuenta)))

Esta expresin proporciona los saldos de la relacin cuenta para los que aparece
un saldo mayor en alguna parte de la relacin cuenta (cuyo nombre se ha
cambiado a d). El resultado contiene todos los saldos salvo el mximo. Esta
relacin ser:

Paso 2: La consulta para averiguar el mximo saldo de cuenta del banco puede
escribirse de la manera siguiente:

saldo (cuenta) cuenta.saldo (cuenta.saldo < d.saldo (cuenta x d
(cuenta)))

El resultado de esta consulta es:


3.2.2. Definicin formal del lgebra relacional

Las expresiones fundamentales del lgebra relacional se componen de alguna de
las siguientes:

Una relacin de la base de datos
Una relacin constante

Una relacin constante se escribe listando sus tuplas entre llaves ({}), por ejemplo
{(C-101, Centro, 500) (C- 215, Becerril, 700)}.

FUNDAMENTOS DE BASE DE DATOS
16
MODELO RELACIONAL

Las expresiones generales del lgebra relacional se construyen a partir de
subexpresiones menores. Sean E1 y E2 expresiones de lgebra relacional. Todas
las siguientes son expresiones del lgebra relacional:

E1 E2
E1 E2
E1 E2
P(E1), donde P es un predicado de atributos de E1
S (E1), donde S es una lista que se compone de algunos de los
atributos de E1
x (E1), donde x es el nuevo nombre del resultado de E1.


3.2.3. Otras operaciones

Las operaciones fundamentales del lgebra relacional son suficientes para
expresar cualquier consulta del lgebra relacional. Sin embargo, si uno se limita
nicamente a las operaciones fundamentales, algunas consultas habituales
resultan de expresin intrincada.

3.2.3.1. La operacin interseccin de conjuntos

La primera operacin adicional del lgebra relacional que se definir es la
interseccin de conjuntos ().
Supngase que se desea averiguar todos los clientes que tienen un prstamo
concedido y una cuenta abierta. Utilizando la interseccin de conjuntos se puede
escribir

nombre-cliente (prestatario) nombre-cliente (impositor)

La relacin resultante ser:

Obsrvese que se puede volver a escribir cualquier expresin del lgebra
relacional utilizando la interseccin de conjuntos sustituyendo la operacin
interseccin por un par de operaciones de diferencia de conjuntos, de la manera
siguiente:
r s = r (r s)
Por tanto, la interseccin de conjuntos no es una operacin fundamental y no
aade potencia al lgebra relacional.
Sencillamente, es ms conveniente escribir r s que r (r s).



FUNDAMENTOS DE BASE DE DATOS
17
MODELO RELACIONAL

3.2.3.2. La operacin reunin natural

Suele resultar deseable simplificar ciertas consultas que exigen un producto
cartesiano. Generalmente, las consultas que implican un producto cartesiano
incluyen un operador seleccin sobre el resultado del producto cartesiano.
Considrese la consulta Hallar los nombres de todos los clientes que tienen
concedido un prstamo en el banco y averiguar el importe del mismo. En primer
lugar se calcula el producto cartesiano de las relaciones prestatario y prstamo.
Luego, se seleccionan las tuplas que slo ataen al mismo nmero-prstamo,
seguidas por la proyeccin de nombre-cliente, nmero-prstamo e importe
resultantes:

nombre-cliente, prstamo.nmero-prstamo, importe (prestatario.nmero-
prstamo = prstamo.nmero-prstamo (prestatario prstamo))

La reunin natural es una operacin binaria que permite combinar ciertas
selecciones y un producto cartesiano en una sola operacin. Se denota por el
smbolo de la reunin. La operacin reunin natural forma un producto
cartesiano de sus dos argumentos, realiza una seleccin forzando la igualdad de
los atributos que aparecen en ambos esquemas de relacin y, finalmente, elimina
los atributos duplicados. Aunque la definicin de la reunin natural es compleja, la
operacin es sencilla de aplicar.

Como ilustracin, considrese nuevamente el ejemplo Averiguar los nombres de
todos los clientes que tienen concedido un prstamo en el banco y averiguar su
importe. Esta consulta puede expresarse utilizando la reunin natural de la
manera siguiente:

nombre-cliente, nmero-prstamo, importe (prestatario prstamo)

Dado que los esquemas de prestatario y de prstamo (es decir, Esquema-
prestatario y Esquema-prstamo) tienen en comn el atributo nmero-prstamo, la
operacin reunin natural slo considera los pares de tuplas que tienen el mismo
valor de nmero-prstamo. Esta operacin combina cada uno de estos pares en
una sola tupla en la unin de los dos esquemas (es decir, nombre- cliente,
nombre-sucursal, nmero-prstamo, importe). Despus de realizar la proyeccin,
se obtiene:



FUNDAMENTOS DE BASE DE DATOS
18
MODELO RELACIONAL

3.2.3.3 La operacin asignacin

En ocasiones resulta conveniente escribir una expresin del lgebra relacional por
partes utilizando la asignacin a una variable de relacin temporal. La operacin
asignacin, denotada por , acta de manera parecida a la asignacin de los
lenguajes de programacin. Para ilustrar esta operacin, se puede escribir r s
como
temp1R S (r)
temp2 R S ((temp1 s) R S, S (r))
resultado = temp1 temp2
La evaluacin de una asignacin no hace que se muestre ninguna relacin al
usuario. Por el contrario, el resultado de la expresin a la derecha de se asigna
a la variable relacin a la izquierda de . Esta variable relacin puede utilizarse
en expresiones posteriores.
Con la operacin asignacin se pueden escribir las consultas como programas
secuenciales consistentes en una serie de asignaciones seguida de una expresin
cuyo valor se muestra como resultado de la consulta.






























FUNDAMENTOS DE BASE DE DATOS
19
MODELO RELACIONAL








CONCLUSIN



El principal objetivo de este documento es el de dejar la nocin de lo que es el
modelo relacional y el algebra relacional, de cual importante es conocer dichos
conceptos. El tener un conocimiento de esto conceptos, nos proporciona lo bsico
para seguir aprendiendo, y comprender los tipos de modelos que hay.

Se deca que un modelo relacional es un modelo de datos, pero Que es un
modelo de datos?, lo definen como una coleccin de herramientas conceptuales
para describir los datos, las relaciones, la semntica y las restricciones de
consistencia.

Los diseadores consideran que la mejor forma de hacer un modelo relacional es,
primero haciendo un modelo de E-R, una vez obtenido poder traducirlo en modelo
relacional.

Como nos podemos dar cuenta, se ilustraron algunos ejemplos de las operaciones
del algebra relacional, al igual de la importancia que tiene y las diferentes
clasificaciones que tiene.




















FUNDAMENTOS DE BASE DE DATOS
20
MODELO RELACIONAL












BIBLIOGRAFA


Silberschatz, A., Korth, H. F., & Sudarshan, S. FUNDAMENTOS DE BASES DE
DATOS. McGraw-Hill Interamericana.

Rafael Camps Par, L. A. (Primera edicin: mayo 2005). Base de Datos. La
universidad virtual, Formacin de Posgrado.

También podría gustarte