Está en la página 1de 7

Modelo de datos relacional.

MODELO DE DATOS RELACIONAL

1. EL MODELO PROPUESTO POR CODD...............................................................1

2. ESTRUCTURA DE UNA BD RELACIONAL.........................................................2


2.1 RELACIÓN Y TUPLA..................................................................................................2
2.2 DOMINIO Y ATRIBUTO..............................................................................................3
2.3 INTENSIÓN Y EXTENSIÓN DE UNA BD RELACIONAL.................................................3
2.4 RESTRICCIONES DEL MODELO..................................................................................3
2.4.1 Concepto de clave.............................................................................................4
2.4.2 Restricciones inherentes al modelo relacional.................................................4
2.4.3 Restricciones de usuario...................................................................................4
2.4.4 Valores nulos....................................................................................................5
2.5 El modelo relacional y la arquitectura ANSI...........................................................6

1
Modelo de datos relacional.

1. El modelo propuesto por Codd.


A finales de los años sesenta, Codd introdujo la teoría de las relaciones en el campo de
las bases de datos, suministrando un sólido fundamento teórico para el desarrollo,
dentro de este enfoque relacional, de nuevos productos.

Codd propone un modelo de datos basado en la teoría de las relaciones, en donde los
datos se estructuran lógicamente en forma de relaciones (tablas), siendo el objetivo
fundamental del modelo el de mantener la independencia de esta estructura lógica
respecto al modo de almacenamiento de los datos. Esta fue una de las principales
diferencias que introdujo el modelo relacional frente al modelo en red y al jerárquico.

Los objetivos que perseguía el modelo de Codd, se pueden resumir en los siguientes:
 Independencia física: es decir que no sea necesario cambiar los programas que
utilizan los usuarios para acceder a los datos cuando cambie la forma de
almacenarlos.
 Independencia lógica: esto es, que añadir, eliminar o modificar objetos de la
base de datos no repercuta en los programas y/o usuarios que están accediendo a
subconjuntos parciales de los mismos (vistas).
 Flexibilidad: en el sentido de poder presentar a cada usuario los datos de la
forma que se prefiera.
 Uniformidad: las estructuras lógicas de los datos presentan un aspecto
uniforme, lo que facilita la concepción y manipulación de los datos por parte del
usuario.
 Sencillez: las características anteriores, así como unos lenguajes de usuario muy
sencillos, producen como resultado que el modelo sea fácil de comprender y
utilizar por parte del usuario final.

Para conseguir estos objetivos, Codd introduce el concepto de relación (tabla) como
estructura básica del modelo. Todos los datos de una BD se representan en forma de
relaciones cuyo contenido varía en el tiempo. Además propone un conjunto de
operadores que se aplican a las relaciones.

El modelo relacional es el estándar actual de base de datos. Aunque en un principio, los


primeros desarrollos que se hicieron no fueron todo lo satisfactorio que se deseaban, el
desarrollo tecnológico impulsó definitivamente al modelo relacional a partir de la
década de los 80, convirtiéndolo en el líder indiscutible de los sistemas de bases de
datos.

2
Modelo de datos relacional.

2. Estructura de una BD relacional.


2.1 Relación y tupla.
La relación es el elemento básico del modelo relacional, siendo normalmente
representada mediante una tabla. En ella podemos distinguir un conjunto de columnas,
denominadas atributos que representan propiedades de la misma y que toman sus
valores de dominios asociados a los atributos. Las ocurrencias de la relación se
representan mediante un conjunto de filas, llamadas tuplas. El número de tuplas de una
relación se conoce como cardinalidad, mientras que el número de atributos es el grado.

Es normal representar una relación mediante una tabla, sin embargo existen una serie de
características que la diferencian del concepto típico de tabla:
 No puede haber filas duplicadas.
 El orden de las filas es irrelevante.
 El orden de los atributos no es significativo.
 Para un atributo de una tupla sólo puede haber un único valor, es decir, no se
permiten atributos multivaluados.

Una relación se identifica mediante un nombre y en ella es posible distinguir una


cabecera (esquema de relación) que define la estructura de la tabla, es decir, sus
atributos con los dominios subyacentes y un cuerpo que está formado por un conjunto
de tuplas que son ocurrencias de la relación y que varían en el tiempo.

2.2 Dominio y atributo.


Un dominio D es un conjunto de elementos V1,V2,..,Vn, todos del mismo tipo al que se
le asocia un nombre. Por ejemplo Sexo tiene 2 elementos: hombre y mujer. Todo
dominio ha de tener por lo tanto un nombre con el que referenciarlo y un tipo que sirva
de base a sus elementos.

A un dominio se le puede asociar ciertas restricciones que deben cumplir los valores de
ese dominio.

Un dominio puede definirse por intensión, si expresamos los elementos que lo


componen a partir de una expresión o por extensión si lo definimos indicando todos los
elementos que lo componen. La mejor manera de definirlo dependerá del dominio en
cuestión.

2.3 Intensión y extensión de una BD relacional.


La intensión o esquema de una relación, denotado por R(A1D1,A2D2,...AnDn) es un
conjunto de n pares (atributo-dominio) donde n es el grado de la relación. El esquema
de una relación es la parte definitoria y estática de la relación que se corresponde con
su cabecera cuando la relación se representa mediante una tabla.

Para definir completamente una relación, deberemos especificar, además de los pares
(atributo-dominio) sobre los que se define, las restricciones de integridad que deben
cumplir sus tuplas para que constituyan una ocurrencia válida del esquema. Por tanto,
podemos definir el esquema de relación con más precisión como R(A:D,S), siendo R el
nombre de la relación, A la lista de atributos, D los dominios subyacentes y S las
restricciones de usuario.

3
Modelo de datos relacional.

La extensión, ocurrencia o instancia de una relación, denotada por r(R) es un conjunto


de m tuplas {t1,t2,..,tm} donde cada tupla es un conjunto de n pares atributo-valor
{Ai:Vi} donde Vi es un valor del dominio Di asociado al atributo Ai. Cuando la
relación se representa mediante una tabla, el cuerpo de ésta corresponde a la extensión
de la relación.

El esquema de la base de datos relacional será una colección de esquemas de relación y


de restricciones de usuario interrelacionales o sobre dominios.

Se puede definir una base de datos relacional como una ocurrencia válida del esquema
de la base de datos relacional.

2.4 Restricciones del modelo.


Las restricciones son estructuras u ocurrencias no permitidas. Podemos diferenciar entre
restricciones inherentes y de usuario. Los datos almacenados en la base han de
adaptarse a las estructuras impuestas por el modelo (por ejemplo no tener tuplas
duplicadas) y han de cumplir las restricciones de usuario para constituir una ocurrencia
válida del esquema.

2.4.1 Concepto de clave.


Una clave candidata de una relación es un conjunto no vacío de atributos que
identifican unívoca y mínimamente cada tupla. Por la propia definición de relación hay
al menos una clave candidata, ya que al ser cada relación un conjunto, no pueden
existir tuplas repetidas y por lo tanto el conjunto de todos los atributos será una clave
candidata.

Una relación puede tener más de una clave candidata, entre las cuales se deben
distinguir:
 Clave primaria: es aquella clave candidata que el usuario escogerá, por
consideraciones ajenas al modelo relacional, para identificar las tuplas de la
relación.
 Claves alternativas: son aquellas claves candidatas que no han sido escogidas
como clave primaria.

Se denomina clave externa o clave ajena de una relación R2 a un conjunto no vacío de


atributos cuyos valores han de coincidir con los valores de la clave primaria de una
relación R1 (R1 y R2 no son necesariamente distintas) o ser nulos en R2. La clave
externa y la clave primaria han de estar definidas sobre los mismos dominios.

2.4.2 Restricciones inherentes al modelo relacional.


De la definición matemática de relación se deducen una serie de características que se
han de cumplir obligatoriamente, por lo que se tratan de restricciones inherentes y
diferencian a una relación de una tabla:
 No hay dos tuplas iguales.
 El orden de las tuplas no es significativo.
 El orden de los atributos no es significativo.
 Cada atributo sólo puede tomar un único valor del dominio.

4
Modelo de datos relacional.

Además de las restricciones derivadas de la definición matemática de relación, existe


otra que es la de integridad de entidad, que establece que ningún atributo que forma
parte de la clave primaria de una relación puede tomar un valor nulo, es decir, un valor
desconocido o inexistente. El modelo no exige aplicar esta restricción a las claves
alternativas.

2.4.3 Restricciones de usuario.


Se puede considerar la restricción de usuario, dentro del contexto relacional, como un
predicado definido sobre un conjunto de atributos, de tuplas o de dominios, que debe
ser verificado por los correspondientes objetos para que éstos constituyan una
ocurrencia válida del esquema.

Dentro de las restricciones de usuario destaca la de integridad referencial, según la


cual, si una relación R2 tiene una clave externa definida sobre la clave primaria de una
relación R1, todo valor de los atributos de R2 en la clave externa ha de concordar con
valores de la clave primaria de R1 o bien ser nulos. Esta restricción es definida por el
usuario cuando describe el esquema relacional. La integridad referencial está
plenamente vinculada con el concepto de interrelación del modelo Entidad/Interrelación
de Chen. De hecho, la forma en que el modelo relacional implementa las interrelaciones
es a través de la propagación de claves principales o alternativas como claves externas.

Además de definir las claves externas, hay que determinar las consecuencias que
pueden tener ciertas operaciones (borrado y modificación) realizadas sobre tuplas de la
relación referenciada en la relación donde se define la clave externa, pudiéndose
distinguir las siguientes opciones:
 Operación restringida (restrict). El borrado o modificación de tuplas de la
relación referenciada sólo se permite si no existen tuplas con esa clave en la
relación que tiene la clave externa.
 Operación con transmisión en cascada (cascade). El borrado o modificación de
tuplas de la relación referenciada conlleva la modificación o el borrado en
cascada de las tuplas de la relación que tiene la clave externa para los valores de
clave primaria usados.
 Operación con puesta a nulos (set null). El borrado o modificación de tuplas de
la relación referenciada conlleva poner a nulos los valores de la clave externa.
 Operación con puesta a valor por defecto (set default). Igual que la anterior
pero en lugar de poner los valores de la clave externa a NULL, se ponen los
valores por defecto, que deben haber sido definidos al crear la relación.

La opción seleccionada en caso de modificación es independiente de la de borrado, es


decir, se puede elegir cascade para un caso y restrict para el otro.

Existen también las restricciones entre elementos, entre las que cabe destacar:
 Restricción interrelación sobre atributos (column/table constraint(restricción)).
Se define en el esquema de la correspondiente relación mediante un par
S=<A,P> donde A es el conjunto de atributos involucrados en la restricción,
denominado contexto de la restricción, y P es un predicado definido sobre A. Si
el conjunto de atributos pertenece a más de una relación, este tipo de restricción
se conoce como restricción interrelación.

5
Modelo de datos relacional.

 Restricción interrelación sobre tuplas. Se define en el esquema de la


correspondiente relación mediante un par S=<T,P> donde T es el conjunto de
tuplas involucrado en la restricción, y P es un predicado definido sobre ellas. En
general, tanto este tipo de restricción como las anteriores reciben el nombre de
asertos y corresponden a la sentencia SQL ‘CHECK’.
 Restricción sobre dominios. Se define en el esquema relacional mediante un par
S=<D,P> donde D es el conjunto de dominios involucrados en la restricción y P
es un predicado definido sobre D. La misma definición de dominio implica una
restricción.

2.4.4 Valores nulos.


Un valor nulo es una marca que indica que el dato asociado a un atributo es desconocido
o inexistente. Por ejemplo si desconocemos un dato a la hora de insertar un registro.

El tratamiento de los valores nulos es complejo y requiere del estudio pormenorizado de


distintas operaciones y funciones que se pueden llevar a cabo en el modelo relacional.

Por ejemplo la tabla que determina el resultado de las operaciones lógicas AND, OR y
NOT sería:

X Y X And Y X Or Y Not X
V V V V F
V F F V F
V N N V F
F V F V V
N V N V N
F N F N V
N F F N N
F F F F V
N N N N N

Para las operaciones aritméticas el resultado de operar un valor nulo con otro valor
cualquiera se considera siempre nulo.

Para los operadores de comparación surgen problemas serios, por ejemplo es 3 >
NULL, la única respuesta posible es quizás (que creo que se corresponde con el valor
NULL).

En el caso de utilizar funciones resumen, el estándar ANSI/ISO de SQL especifica las


siguientes reglas:
 Si alguno de los valores de datos de una columna es NULL, se ignora para el
propósito de calcular el valor de la función de la columna.
 Si todos los datos de una columna son NULL, las funciones SUM(), AVG(),
MIN() y MAX() devuelven un valor NULL, mientras que la función COUNT()
devuelve un valor de 0.
 Si no hay datos en la columna, es decir, la columna está vacía, las funciones
SUM(), AVG(), MIN() y MAX() devuelven 0.

6
Modelo de datos relacional.

Aunque el estándar es muy claro en este punto, los productos SQL comerciales pueden
producir resultados diferentes.

2.5 El modelo relacional y la arquitectura ANSI.


El modelo relacional puede estudiarse dentro del marco de la arquitectura ANSI de tres
niveles (físico, lógico y de usuario). Un esquema que representa como encaja el modelo
relacional dentro de la arquitectura ANSI podría ser:

Como puede verse en el esquema, el modelo relacional teórico se adapta bastante bien a
la arquitectura ANSI con las siguientes excepciones:
 Si dispone de las oportunas autorizaciones, cualquier usuario puede acceder
tanto a relaciones base como a vistas, mientras que en la arquitectura ANSI para
un usuario la base de datos estaba limitada al esquema externo –vistas -, ya que
el esquema conceptual (relaciones base) es responsabilidad del administrador y
sólo pueden ser definidas y manejadas por éste.
 Aunque las vistas se corresponden con los esquemas externos de ANSI, en el
modelo relacional no todas las vistas son actualizables.
 En la práctica, muchos productos no responden a la arquitectura de tres niveles,
ya que la definición del esquema conceptual y del esquema interno no está
claramente diferenciadas.

También podría gustarte