Está en la página 1de 14

I.E.S.

TRASSIERRA
Córdoba
http://www.iestrassierra.com

Departamento de Informática

APUNTES DEL MÓDULO


BASES DE DATOS

UT 2: CREACIÓN DE BASES DE DATOS RELACIONALES

Prof: Salvador Pérez Jorge ©


UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

UT 2: CREACIÓN DE BASES DE DATOS RELACIONALES


1. Modelos de datos: concepto y tipos
2. El Modelo Relacional
3. Estática del modelo relacional
4. Arquitectura de un SGBD Relacional
5. Los valores nulos en el modelo relacional
6. Dinámica del modelo relacional

1.- MODELO DE DATOS. CONCEPTO Y TIPOS

Llamamos modelo a un instrumento que se aplica a una parcela del mundo real (universo del
discurso) para obtener una estructura de datos a la que denominamos esquema. Modelar
consiste en definir un mundo abstracto de forma que las conclusiones que se puedan sacar de él
coincidan con las manifestaciones del mundo real. Un modelo de datos es un conjunto de
herramientas conceptuales que permiten describir los datos, sus relaciones y las reglas de
integridad que deben cumplir. (ver imagen)

Modelo
de
Datos
Universo Estructura
del de Datos
Discurso (esquema)

Obtención de la estructura de datos a partir del U.D

También conviene distinguir entre mundo real y universo del discurso, ya que este último es la
visión particular que tiene el diseñador de la BD (figura 2). Así, de un mismo mundo real, como
puede ser este Instituto, podemos definir dos universos del discurso tan distintos como el relativo
a los profesores, con sus especialidades, los alumnos con sus cursos, grupos, optativas,
calificaciones, horarios, aulas, etc., o el concerniente a la gestión económica del Centro,
proveedores, facturas, cheques, ingresos, etc.

U. Mundo
D. Real

El Universo del discurso como percepción del diseñador

Dpto. Informática 1
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

El esquema se especifica durante el diseño, y no es de esperar que se modifique a menudo. Sin


embargo, los datos que se almacenan en la base de datos pueden cambiar con frecuencia (se
insertan, se actualizan y se borran).

Por lo tanto, podemos observar dos tipos objetos en nuestro modelo: estáticos, o relativamente
invariantes en el tiempo (estructuras), y dinámicos, que varían en el transcurso del tiempo (datos).

Objetos estáticos: Entidades, Atributos, Dominios, Interrelaciones y Restricciones.

Objetos dinámicos: viene representada por los valores que toman los distintos objetos de un
esquema en un momento determinado y que reciben el nombre de ocurrencias del esquema o
base de datos en ese momento.

Suelen distinguirse tres modelos de BD: Jerárquico, en Red y Relacional.

MODELO JERÁRQUICO
Se le llama también modelo en árbol, ya que utiliza para su representación una estructura de tipo
árbol invertido compuestas de nodos, que representan las entidades, enlazados por arcos, que
representan las asociaciones o interrelaciones entre dichas entidades. En tal estructura el orden
de los nodos es importante. En la imagen se observa una estructura arborescente:

Estructura arborescente

Un árbol está compuesto por elementos llamados nodos. Cada nodo puede tener varios nodos
hijos, y cada uno de éstos solo puede tener un nodo padre. Todo hijo debe tener un padre, salvo
el nodo raíz (el de más alto nivel en la jerarquía). De igual forma todo padre debe tener uno o
más hijos, salvo los nodos terminales (también llamados hojas).

Los nodos forman niveles. Se llama altura al número de niveles de la estructura jerárquica. Se
denomina momento al número de nodos, y peso al número de nodos terminales (hojas). Camino
es el conjunto de líneas que unen dos nodos entre sí. Un camino que termina en una hoja se
denomina rama. El grado de un nodo es el número de sus hijos. El grado de un árbol es el mayor
grado de sus nodos.

Dpto. Informática 2
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

MODELO EN RED
Es un modelo de datos propio de los sistemas comerciales de los años 70. Fue creado para
representar relaciones más complejas y eficientes que las del modelo jerárquico, pero más
flexible, ya que permitía que los nodos tuvieran más de un solo padre.

Estructura de red

La principal innovación que representó respecto al jerárquico es que permite la relación de


muchos a muchos (M:N). Este modelo, que no impone en principio ninguna restricción ni al tipo
ni al número de los arcos, permite representar estructuras de datos muy complejas.

MODELO RELACIONAL
Fue desarrollado por Codd para IBM en los años 70 y actualmente es el modelo más utilizado
para modelar problemas reales y administrar datos dinámicamente.

Su principal ventaja es que permite que el usuario y el diseñador operar en un entorno que se
percibe como un conjunto de tablas y los detalles físicos complejos los maneja el sistema.

Características:
• Representa los datos y las relaciones entre ellos como una colección de tablas.
• De manera simple, una relación representa una tabla que no es más que un conjunto de
filas, cada fila es un conjunto de campos y cada campo representa un valor que describe
el mundo real.
• Las tablas son independientes, pero se relacionan mediante un vínculo común.
• Proporciona una redundancia y una inconsistencia mínima.
• La independencia de datos de las aplicaciones y del dispositivo de almacenamiento.

Este modelo utiliza tablas bidimensionales llamadas relaciones para la representación de los
datos y las interrelaciones entre ellos. La forma que tiene de conseguir la relación uno a muchos
entre el registro padre de un fichero y los registros hijos de otro fichero es mediante la utilización
de campos de conexión, esto es, insertando el valor de la clave principal del registro padre en
cada uno de los registros hijos.

Dpto. Informática 3
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

MODELO ORIENTADO A OBJETOS


Se denomina así porque su estructura básica es un objeto, que recoge tanto datos como sus
relaciones. Un objeto se describe como un conjunto de hechos, pero incluye también información
sobre la relación que tienen los hechos dentro del objeto y con otros objetos; así como todas las
operaciones que puedan ser realizadas en él.

El modelo de datos orientado a objetos está basado en los siguientes componentes:


• La estructura básica es un objeto: equivale a una entidad individual del modelo Entidad-
Relación.
• Una clase es la definición del objeto. Esta definición explica los métodos y atributos que
tiene. Las clases se organizan en una jerarquía de clase que se parece a un árbol invertido
donde cada clase tiene solo un padre. Por ejemplo, la clase cliente y la clase proveedor
comparten una clase: persona.
• Un método representa una acción del mundo real. Por ejemplo: localizar el nombre de un
cliente, cambiar el teléfono de un cliente o imprimir su dirección. Son equivalentes a los
procedimientos en un lenguaje de programación. Definen el comportamiento de un
objeto.
• La herencia es la capacidad de un objeto de heredar los atributos y los métodos de los
objetos que están sobre él en una jerarquía de clase. Por ejemplo, las clases cliente y
proveedor, como subclases de la clase persona heredarán los atributos de la clase
persona.

2.- EL MODELO RELACIONAL


El modelo de datos relacional surgió como consecuencia de los trabajos publicados en 1970 por
E. F. Codd en los que introdujo la teoría de las relaciones en el campo de las B.D. No obstante,
tuvieron que transcurrir diez años para que saliera al mercado el primer SGBD relacional (ORACLE
en 1979 y SQL en 1981).

Codd basa su modelo en la teoría de las relaciones en donde los datos se estructuran lógicamente
en forma de relaciones (tablas) marcándose como principal objetivo la independencia de la
estructura lógica respecto al medio de almacenamiento y otras características de tipo físico.

Dpto. Informática 4
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

2.1.- Estructura
El elemento básico del modelo relacional es la relación que puede representarse como una tabla
(ver imagen) en la que se distingue un conjunto de columnas que representan propiedades de la
tabla y que se identifican por un nombre; y un conjunto de filas que representan las ocurrencias
de la relación. Formalmente, una relación es un conjunto de filas, en la terminología relacional.

Representación de una relación en forma de tabla

Las tablas se caracterizan por:


o Cada tabla solo puede tener un tipo de registro.
o Cada registro posee un número determinado de campos, cada uno de los cuales se
identifica por un nombre que lo distingue del resto. La BD, normalmente, contendrá
muchas tablas (ficheros), una por cada tipo de registro.
o En una tabla, cada registro es distinto; no hay registros duplicados (con todos sus datos
idénticos).
o Los registros de una tabla no tienen una secuencia determinada, su orden es irrelevante.
o Se pueden crear nuevas tablas relacionando campos procedentes de dos o más tablas ya
existentes.

Hay que insistir en que una relación se suele representar en forma de tabla, aunque tiene una
serie de elementos característicos que la distinguen de las típicas tablas en memoria (arrays):
• No puede haber filas duplicadas, es decir, con todos los valores idénticos.
• El orden de las filas es irrelevante.
• La tabla es plana, es decir, en el cruce de una fila y una columna sólo puede haber un valor
(no se admiten atributos multivaluados).

Toda relación se identifica por un nombre, y en ella se distingue una cabecera (esquema de
relación) que define la estructura de la tabla, es decir, sus atributos con los dominios subyacentes,
y un cuerpo (extensión), que está formado por un conjunto de tuplas.

Dpto. Informática 5
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

2.2.- Objetivos
El modelo propuesto por Codd se marcaba los siguientes objetivos:

• Independencia física. Esto es que el modo de almacenamiento físico de los datos no influya en
su tratamiento o manipulación lógica, de forma que pueda cambiarse el modo de
almacenamiento físico (unidad, ruta de acceso y nombre del fichero) sin que tengan que
cambiarse los programas que manejan esos datos. Para lograr esta independencia física será
necesario asignar a cada nombre lógico de fichero la ubicación física a que corresponde.

• Independencia lógica. Que es la capacidad de variar el esquema conceptual sin que ello
repercuta en los programas que utilizan subconjuntos parciales de ellos. El esquema cambia
cuando se modifica la estructura lógica de la B.D.: añadir, eliminar o modificar campos, por
ejemplo. Para lograr esta independencia lógica es necesario guardar las definiciones de los
ficheros (estructura) en el soporte y eliminarla de los programas.

En los lenguajes de alto nivel la modificación del modo o lugar de almacenamiento (nivel físico)
exige el cambio en el programa de la sentencia de apertura del fichero(s), y la modificación de
la estructura del fichero (nivel lógico o conceptual), requiere la redefinición de las variables de
estructura que los manejan en los programas de aplicación (es necesario modificar todas las
instrucciones que accedan al fichero). Sin embargo, en los SGBD relacionales no se requiere
ninguna de las modificaciones anteriores debido a la independencia física y lógica.

La independencia lógica y física entre los 3 esquemas (externo, conceptual e interno)

• Flexibilidad. En el sentido de poder presentar los datos a cada usuario de la forma que este
prefiera. La posibilidad de crear vistas de usuario permite que el administrador defina una
visión del fichero, en cuanto al número de campos y el orden de éstos, según los gustos o
necesidades de cada usuario

• Uniformidad. Los datos se estructuran de forma uniforme (los mismos campos y de la misma
longitud) no soportando registros de longitud variable.

• Sencillez. El modelo y los conceptos fundamentales se pretende que sean fáciles de


comprender por el usuario final.

Dpto. Informática 6
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

3.- TERMINOLOGÍA DEL MODELO RELACIONAL

3.1.- Elementos
El modelo relacional utiliza una terminología propia y consta de los elementos que pasamos a ver
y que se ilustran en la figura 9.

• Relación, representada por una tabla de dos dimensiones formada por filas y columnas.

• Atributos, o columnas que representan las propiedades de la tabla (campos en la terminología


tradicional) y se identifican por un nombre que los distinguen del resto.

• Tuplas, o filas de la tabla que representan las distintas ocurrencias de la relación (registros).

• Cardinalidad: número de tuplas (filas) de la relación (tabla).

• Grado: número de atributos (columnas) de la relación.

• Dominio: constituido por el conjunto de valores de donde un atributo toma sus valores en las
distintas tuplas existentes en la relación. Un dominio es un conjunto finito de valores
homogéneos (todos del mismo tipo) e indivisibles en lo que se refiere al modelo (si se
descompusieran perderían la semántica a ellos asociada).

Todo dominio debe tener un nombre identificador del atributo y un tipo de datos; así el tipo
de datos del dominio de país es una serie de caracteres de longitud quince. A un dominio
pueden asociarse unidades de medida (litros, metros, etc.) y ciertas restricciones (no nulo en
un campo clave, solo dígitos en distrito postal, etc.).

Un dominio puede ser definido por extensión o por intensión. Así el atributo edad en una
relación de empleados puede ser definido por intensión como un entero comprendido entre
18 y 65. Sin embargo la definición del atributo país por intensión sería poco exacta
admitiéndose cualquier combinación de 15 letras, en este caso sería mucho más conveniente
definir el dominio por extensión mediante una lista de los nombres de los distintos países que
admitiésemos en la B.D.

Ejemplo de elementos del modelo Relacional

Dpto. Informática 7
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

Además de los dominios y atributos simples que acabamos de ver, los trabajos de Codd y Date
publicados en 1990 introducen el concepto de dominio compuesto.

Un dominio compuesto puede definirse como una combinación de dominios simples que
tienen un nombre y a la que pueden aplicársele ciertas restricciones de integridad. Así por
ejemplo el dominio fecha puede estar compuesto por los dominios simples día, mes y año, y
sería más fácil aplicar reglas de validación (integridad) sobre el dominio compuesto que
individualmente sobre los tres dominios simples, además de facilitar el manejo por parte de
los usuarios porque pueden ser tratados como unidades indivisibles de información, es decir
como valores atómicos.

• Claves
 Clave candidata: atributo o conjunto de atributos que identifican unívoca y
mínimamente a cada una de las tuplas de la relación. Por la propia definición de
relación, siempre hay al menos una clave candidata (el conjunto de todos los atributos).
Si no se cumpliera la condición de minimalidad se eliminarían de la clave aquellos
atributos que lo impidiesen. Una relación puede tener más de una clave candidata.
 Clave principal: clave candidata elegida para identificar cada una de las tuplas. Una
relación solo puede tener una clave principal.
 Clave alternativa: clave candidata no elegida como principal.
 Clave ajena: clave candidata exportada a otra relación lo que permite relacionar una
tabla con otra.

3.2.- Restricciones
En el modelo relacional, como ocurre en otros, existen estructuras u ocurrencias no permitidas o
restricciones. Los datos almacenados han de cumplir las estructuras del modelo (por ejemplo, no
tener tuplas duplicadas) y han de cumplir las restricciones de usuario para constituir una
ocurrencia válida del esquema.

3.2.1.- Restricciones inherentes al modelo relacional


- La integridad derivada de la definición matemática de relación, la cual diferencia a una
relación de una tabla, presenta las siguientes restricciones:

• No pueden existir dos tuplas idénticas.


• El orden de las tuplas no es significativo (es indiferente).
• El orden de los atributos no es significativo.
• Cada atributo sólo puede tomar un único valor del dominio, no admitiéndose
por lo tanto los grupos repetitivos.

- La integridad de entidad establece que “Ningún atributo que forme parte de la clave
primaria de una relación puede tomar un valor nulo”; es decir un valor desconocido o
inexistente. A las claves alternativas también debería exigírseles esta integridad, pero el
modelo no lo contempla.

Dpto. Informática 8
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

3.2.2.- Restricciones de usuario


Las restricciones de usuario pueden considerarse como unas reglas de validación definidas
sobre un conjunto de tuplas, atributos o dominios que deben ser verificadas para que éstos
constituyan una ocurrencia válida del esquema.

- La integridad referencial es una restricción que destaca dentro de las restricciones de


usuario y puede expresarse de la siguiente forma: “Todo valor de una clave ajena en una
relación que referencia debe concordar con un valor de la clave primaria en la relación
referenciada, o ser nulo”. La clave ajena puede coincidir con la clave primaria de la otra
tabla, o (en caso de tratarse de una clave primaria compuesta) ser parte integrante de la
misma. Es el administrador de la base de datos quien la define al describir el esquema
relacional.

En la siguiente imagen se representan cuatro relaciones que responden a la gestión de


préstamos de una biblioteca.

CURSO (CODCURSO, DESCRIPCION, ETAPA, CICLO, TITULACIÓN)

ALUMNO (DNI, NOMBRE, DIR, TELÉFONO, CODCURSO, FECHANAC)

LIBRO (SIGNATURA, TITULO, AUTOR, AÑO, PRECIO)

PRESTAMO (DNI, SIGNATURA, FECHAPRES, FECHADEV)

Clave ajena y restricción referencial

El atributo codcurso de la relación ALUMNO es clave ajena que referencia a CURSO, de


modo que debe coincidir con la clave primaria de la relación CURSO o ser nulo, ya que los
alumnos del instituto deberán estar asignados a un curso determinado, o caso de que aún
no haya comenzado el curso puede que ese atributo no tenga valor.

En la relación PRESTAMO existen dos claves ajenas: dni que referencia a la relación ALUMNO
por una clave alternativa y signatura que referencia a LIBRO por su clave primaria; en este
caso ninguna de esas dos claves ajenas, ni el atributo fechapres puede tomar valores nulos
pues forman parte de la clave primaria compuesta de PRESTAMO.

El modelo relacional, como todo modelo de datos, lleva asociado a su parte estática
(estructura y restricciones) una dinámica que permite mantener actualizados los datos. Esta
actualización se realiza con las sentencias de actualización (inserción, borrado y
modificación de tuplas).

Además de definir las claves ajenas, hay que analizar las consecuencias que pueden
ocasionar las operaciones de modificación o borrado sobre tuplas de la relación
referenciada. Es decir, debemos identificar la acción que el SGBDR debe realizar sobre estas
tuplas. A continuación, se enumeran las principales.

Dpto. Informática 9
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

Operación restringida (RESTRICT): solo se permitirá el borrado o modificación de tuplas de


la relación que contiene la clave primaria referenciada si no existen tuplas con dicha clave
en la relación que contiene la clave ajena. En nuestro ejemplo, para borrar un curso de
nuestra base de datos, no podría haber ningún alumno matriculado en ese curso, en caso
contrario el sistema impediría el borrado.

Operación con transmisión en cascada (CASCADE): el borrado o modificación de tuplas en


la relación con la clave primaria referenciada implica el borrado o modificación en cascada
de las tuplas de la relación que contiene la clave ajena. En nuestro ejemplo: si se modifica
un código de curso (atributo codcur) en la relación CURSO, se debería modificar también
dicho atributo en la relación ALUMNO.

Operación con puesta a nulos (SET NULL) o a valor por defecto (SET DEFAULT): el borrado
o modificación de tuplas de la relación con clave primaria implica poner a nulos o poner al
valor por defecto los valores de la clave ajena en la otra relación. En nuestro ejemplo: si se
borra un curso, a los alumnos matriculados en dicho curso se les debería poner el atributo
codcurso a nulos, o al valor por defecto declarado al crear la tabla.

Operación que desencadena un procedimiento de usuario: el borrado o modificación de


tuplas de la tabla referenciada pone en marcha un procedimiento definido por el usuario.
En este caso las opciones de borrado y modificación de tuplas deben tratarse por separado.

4.- ARQUITECTURA DE UN S.G.B.D. RELACIONAL


Según las recomendaciones ANSI/SPARC de arquitectura a 3 niveles, el modelo relacional se
compone de los siguientes niveles:

Sublenguaje de datos Sublenguaje de datos


Área de trabajo del Área de trabajo del
usuario usuario

Nivel Submodelo relacional Submodelo relacional de


de datos (vistas) datos (vistas)
externo

Nivel Modelo relacional de datos


(tablas base)
conceptual

Nivel Esquema de almacenamiento


interno

BASE DE DATOS

Arquitectura de un sistema relacional de bases de datos

Dpto. Informática 10
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

1. El nivel externo compuesto por vistas. La vista es una tabla ‘virtual’ esto es que no existe
por sí misma, sino que se deriva de una o más tablas de base. Las vistas son ventanas sobre
tablas reales, de las que solo se almacena su definición, y no tienen representación directa
en el almacenamiento. En SQL, las vistas se crean con la sentencia CREATE VIEW.

2. El nivel conceptual, definido mediante un conjunto de relaciones, también llamadas


tablas de base, cada una de las cuales se implementa por medio de un archivo distinto.
Todos los objetos vistos hasta ahora: dominios, relaciones, claves y restricciones,
constituyen el esquema conceptual. Las tablas de base se crean con la sentencia CREATE
TABLE de SQL.

3. El nivel interno en el que cada tabla de base se representa por un archivo que puede tener
varios índices asociados. CREATE INDEX, en SQL.

El modelo relacional, al ser un modelo lógico, no especifica nada a nivel interno. En general cada
registro del esquema interno se corresponde con una tupla de las tablas de base, pero puede que
un registro esté formado por tuplas de distintas tablas o que una tupla pudiera implementarse en
distintos registros a nivel físico.

Cada producto comercial ofrece unos elementos internos (índices, agrupamientos, particiones,
etc.) para optimizar su rendimiento.

Además de los tres niveles vistos que conforman la parte estática del modelo relacional, existe un
cuarto componente que constituye la parte dinámica del modelo.

El sublenguaje de datos que permita el manejo de los datos del sistema. Estos lenguajes, llamados
de especificación, son muy potentes y tienen sentencias para el procesamiento de una tabla
completa, a diferencia de los lenguajes de navegación que procesan la tabla registro a registro.
Son sublenguajes de especificación los siguientes:

- Lenguajes de procedimiento o algebraicos


- Lenguajes sin procedimiento o predicativos

5.- LOS VALORES NULOS EN EL MODELO RELACIONAL

El valor nulo (NULL) puede definirse como un valor o una marca utilizada para representar la
información desconocida, inaplicable, etc. La necesidad de valores nulos se hace evidente por
diversas razones:

• Existen tuplas con valores desconocidos en un momento determinado como, por


ejemplo, el año de edición de un libro.
• Posibilidad de atributos inaplicables como, por ejemplo, la editorial para un artículo.
• Necesidad de añadir un nuevo atributo a una tabla y que no tendrá ningún valor para las
tuplas existentes.

Dpto. Informática 11
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

El tratamiento de los valores nulos exige definir operaciones y funciones específicas para valores
nulos, entre otras:

• operaciones aritméticas (+, -, x, :)


• operaciones de comparación (=, , , , , )
• tablas de verdad con lógica trivaluada o cuatrivaluada para los operadores NOT, AND, OR
• operaciones del álgebra relacional (unión, intersección, reunión)
• funciones estadísticas (media, varianza, ..)

Así, por ejemplo, se plantea el problema de saber si dos valores nulos son iguales. No podemos
decir que es cierto que sean iguales puesto que estaríamos afirmando que no son tan
desconocidos; pero tampoco podríamos decir que es falso que sean iguales; la única solución que
nos queda es decir que quizás sean iguales.

Surge de esta forma una lógica distinta a la habitual, la llamada lógica trivaluada, cuyas tablas de
verdad usan los valores C (cierto), F (falso) y Q (quizás) y se muestran en la siguiente imagen.

A B A AND B A OR B NOT A
C C C C F
C Q Q C F
C F F C F
Q C Q C Q
Q Q Q Q Q
Q F F Q Q
F C F C C
F Q F Q C
F F F F C
Lógica trivaluada: operaciones booleanas con valores nulos

Esta lógica, en cierto modo, atenta contra la intuición. En efecto si un usuario realiza las consultas:
alumnado con 18 o más años de edad y alumnado con menos de 18 años de edad, podríamos
suponer que ha recuperado todos los alumnos y alumnas de la base de datos, pero esto puede
no ser cierto, ya que no habría recuperado los alumnos cuya edad (o fecha de nacimiento) se
desconoce (valor nulo).

Es por ello necesario un nuevo operador unario denominado MAYBE, que corresponde al
predicado IS NULL del lenguaje SQL. Este operador resulta cierto cuando el valor de la expresión
sobre la que se aplica es quizás. Su tabla de verdad es la siguiente.

A MAYBE A
C F
Q C
F F
El operador MAYBE

En cuanto a las operaciones aritméticas con valores nulos, se toma como nulo el resultado de
sumar, multiplicar, restar o dividir un valor nulo con cualquier otro.

Dpto. Informática 12
UT 2: Creación de Bases de Datos Relacionales BASES DE DATOS

Por lo que respecta a los operadores algebraicos, es importante considerar los valores nulos para
evitar pérdidas de información a la hora de realizar consultas, para lo que se han diseñado nuevos
operadores como la combinación externa (outer join) que se estudiarán más adelante.

Además, hay que considerar los valores nulos a la hora de aplicar funciones estadísticas como
frecuencias, varianza, media, etc. En estos casos hay que aclarar si se tendrán o no en cuenta los
valores nulos al realizar los cálculos, o nos podremos llevar sorpresas como que la media de los
valores de un atributo no es igual a la suma de los valores dividido por el número de elementos.

El gran problema de los valores nulos es que ningún producto comercial los ha instrumentado de
forma coherente y satisfactoria; así, por ejemplo, algunos productos relacionales los ignoran para
operaciones de agrupamiento y los tienen en cuenta en operaciones de ordenación y proyección.
El propio Codd (1990) apunta que "esta parte del modelo no tiene un fundamento teórico tan
sólido como las otras". Otros autores como Date (1990) proponen evitar los valores nulos,
mediante valores por defecto hasta que el problema se sistematice y se comprenda mejor. Codd
contesta que esta postura no hace más que enmascarar el problema y lo critica detalladamente.

Nosotros, siguiendo a Adoración de Miguel y Mario Piattini, no entraremos en esta polémica y


evitaremos, en la medida de lo posible, los valores nulos especificando siempre que se pueda la
obligatoriedad de los atributos (NOT NULL). Si, a pesar de ello, nos vemos obligados a aceptar
valores nulos, deberemos prestar atención a las operaciones que con ellos se realizan y estudiar
detenidamente el tratamiento que de los valores nulos hace el producto comercial utilizado. La
aceptación de valores nulos suele conllevar un aumento en la dificultad de depuración de los
programas que actúan sobre la base de datos.

En resumen, el tema de los valores nulos se encuentra en fase de investigación y no está aún
resuelto. Su importancia radica en las implicaciones que tiene sobre el resto del modelo
relacional, las operaciones algebraicas, la optimización de consultas, la teoría de la normalización.
No obstante, es conveniente conocer el problema y estudiar detenidamente el tratamiento que
nuestro SGBDR da a los valores nulos.

6.- DINÁMICA DEL MODELO RELACIONAL

La dinámica del modelo relacional se expresa mediante lenguajes de manipulación de datos


relacionales que operan sobre conjuntos de tuplas. Estos lenguajes se dividen en dos grupos:

• Algebraicos o de procedimiento. Se caracterizan porque los cambios de estado se


especifican mediante operaciones cuyos operandos son relaciones (tablas) y cuyo
resultado es otra relación. Se conocen como álgebra relacional.

• Predicativos o sin procedimiento, donde los cambios de estado se especifican


mediante predicados que definen el estado objetivo sin indicar las operaciones que
hay que realizar para llegar al mismo, es decir, se seleccionan conjuntos de tuplas. Se
conocen como cálculo relacional y pueden ser orientados a la tupla o al dominio.

Dpto. Informática 13

También podría gustarte