CAE 3 - Diseña BD - Modelo Relacional - 2024
CAE 3 - Diseña BD - Modelo Relacional - 2024
INTRODUCCIÓN
En los primeros años de las bases de datos, cada aplicación almacenaba datos en su propia estructura
única. Cuando los desarrolladores querían crear aplicaciones para usar esos datos, tenían que saber
mucho sobre la estructura de datos particular para encontrar los datos que necesitaban. Estas
estructuras de datos eran ineficientes, difíciles de mantener y difíciles de optimizar para ofrecer un buen
rendimiento de la aplicación.
El modelo relacional proporcionó una forma estándar de representar y consultar datos que cualquier
aplicación podría utilizar. Desde el principio, los desarrolladores reconocieron que la principal fortaleza
del modelo de base de datos relacional estaba en el uso de tablas, que eran una forma intuitiva, eficiente
y flexible de almacenar y acceder a información estructurada.
Con el tiempo, cuando los desarrolladores comenzaron a utilizar el lenguaje de consulta estructurado
(SQL) para escribir y consultar datos en una base de datos, y, derivado de esto, surgió otra fortaleza del
modelo relacional. Durante muchos años, se utilizó ampliamente el SQL como lenguaje para consultas de
bases de datos. El SQL, que se basa en el álgebra relacional, proporciona un lenguaje matemático
internamente consistente que facilita la mejora del rendimiento de todas las consultas de la base de datos.
En comparación, otros enfoques deben definir consultas individuales.
El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de datos basado en
la lógica de predicados y en la teoría de conjuntos.
Edgar Frank Codd definió las bases del modelo relacional a finales de los 60’s. Trabajaba para IBM,
empresa que tardó un poco en implementar sus bases. Pocos años después el modelo se empezó a
implementar cada vez más, hasta ser el modelo de bases de datos más popular.
CONCEPTO
Frecuentemente, una relación se conceptualiza de una manera más fácil de imaginar, esto es, pensando
en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un
registro o tupla), y columnas (también llamadas campos).
Página No. I
OBJETIVOS DEL MODELO RELACIONAL
Existen una serie de términos formales que se corresponden con expresiones informales. Conviene
conocerlos para así familiarizarse con ellos. En la práctica suelen usarse las expresiones sencillas, más
fáciles de entender.
Página No. II
CARACTERÍSTICAS
Es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la
actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones
(relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones
relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional".
LAS TABLAS
Las bases de datos relacionales se basan en el uso de tablas (también se les llama relaciones). Las tablas
se representan gráficamente como una estructura rectangular formada por filas y columnas. Cada
columna almacena información sobre una propiedad determinada de la tabla (se le llama también
atributo), como por ejemplo nombre, número de control, apellidos, edad, etc. Cada fila posee una
ocurrencia o ejemplar de la instancia o relación representada por la tabla (a las filas se las llama también
tuplas).
DOMINIOS
Los dominios suponen una gran mejora en este modelo ya que permiten especificar los posibles valores
válidos para un atributo. Cada dominio incorpora su nombre y una definición del mismo. Ejemplos de
dominio:
▪ Dirección: 50 caracteres
▪ Nacionalidad: español, francés, italiano, etc.
Los dominios pueden ser también compuestos a partir de otros (año, mes y día = fecha)
CLAVES
▪ clave candidata. Conjunto de atributos de una tabla que identifican unívocamente cada tupla de la
tabla.
▪ clave primaria. Clave candidata que se escoge como identificador de las tuplas.
▪ clave alternativa. Cualquier clave candidata que no sea primaria
▪ clave externa o secundaria. Atributo de una tabla relacionado con una clave de otra tabla.
VALORES NULOS
Los valores nulos indican contenidos de atributos que no tienen ningún valor.
Página No. IV
1 PASO DEL ESQUEMA E-R AL MODELO RELACIONAL
INTRODUCCIÓN
Para iniciar con el proceso llamado reducción a tablas, a partir de los diagramas de Entidad – Relación,
vamos a usar el primer modelo conceptual elaborado, que es la agenda que contiene la base de datos de
los alumnos del 4º. “A” de la especialidad de Ofimática.
Página No. V
PASO 1. Transformaciones de entidades fuertes.
En principio, las entidades fuertes del modelo Entidad Relación son transformados al modelo relacional
siguiendo estas instrucciones:
En el diagrama ER de ejemplo que estamos usando, se identifican 3 entidades fuertes, que son:
1. Alumno.
2. Tutor.
3. Población.
Relación ALUMNOS
En esta relación se almacenarán los datos de los alumnos del grupo. Se agregaron 3 alumnos, para
facilitar su comprensión.
Relación TUTOR:
Página No. VI
Relación POBLACIÓN:
codigo_postal nombre_poblacion
70980 Santa María Huatulco
70989 Santa Cruz Huatulco
70900 San Pedro Pochutla
La idea inicial es transformar a cada relación en una tabla en el modelo relacional. Pero hay que distinguir
según el tipo de relación.
En las relaciones muchos a muchos (dos entidades 1 a muchos), la relación se transforma en una
tabla cuyos atributos son: los atributos de la relación y las claves de las entidades relacionadas
(que pasarán a ser claves externas). La clave de la tabla la forman todas las claves externas:
• Relaciones de orden n
Las relaciones ternarias, cuaternarias y n-arias que unen más de dos relaciones, se transforman
en una tabla que contiene los atributos de la relación más los identificadores de las entidades
relacionadas. La clave la forman todas las claves externas:
Este caso no aplica para nuestro ejemplo, ya que las relaciones que tenemos son binarias.
Las relaciones binarias de tipo uno a varios, y, uno a uno, no requiere ser transformadas en una
tabla en el modelo relacional. En su lugar la tabla del lado varios (tabla relacionada) incluye como
clave externa el identificador de la entidad del lado uno, y los atributos de la relación:
Así en el dibujo, el identificador2 en la tabla Entidad1 se convierte en una clave externa. En el caso
de que el número mínimo de la relación sea de cero (puede haber ejemplares de la entidad uno
sin relacionar), se deberá permitir valores nulos en la clave externa identificador2. En otro caso
no se podrán permitir (ya que siempre habrá un valor relacionado).
En el caso de las relaciones uno a uno, ocurre lo mismo: la relación no se convierte en tabla, sino
que se coloca en una de las tablas (en principio daría igual cuál) el identificador de la entidad
relacionada como clave externa.
Para el caso de nuestro ejemplo, tenemos que se cumple la condición que se indica en el texto: la
entidad ALUMNOS tiene una relación 1 a 1 con la entidad TUTOR, y la entidad TUTOR tiene una
relación 1 a muchos con la entidad ALUMNOS. También aplica para la relación ALUMNOS (un
alumno vive en una población) y POBLACIÓN (en una población, pueden vivir uno o más alumnos).
Al ser la entidad ALUMNOS, la entidad del lado varios o muchos, se lleva la llave primaria de la
entidad POBLACIÓN, y la llave primaria de la entidad TUTOR y el atributo de la relación.
codigo_postal nombre_poblacion
70980 Santa María Huatulco
70989 Santa Cruz Huatulco
70900 San Pedro Pochutla
Página No. IX
2 NORMALIZACIÓN DEL ESQUEMA RELACIONAL
Una vez obtenido el esquema relacional resultante del modelo entidad relación que representa la base de
datos, normalmente tendremos una buena base de datos. Pero, algunas veces, debido a fallos en el diseño
o a problemas indetectables en esta fase del diseño, tendremos un esquema que puede producir una base
de datos que incorpore estos problemas:
1. Redundancia. Se llama así a los datos que se repiten continua e innecesariamente por las tablas
de las bases de datos.
2. Ambigüedades. Datos que no clarifican suficientemente el registro al que representan.
3. Pérdida de restricciones de integridad.
4. Anomalías en operaciones de modificación de datos . El hecho de que al insertar un solo elemento
haya que repetir tuplas en una tabla para variar unos pocos datos. O que eliminar un elemento
suponga eliminar varias tuplas.
FORMAS NORMALES
La forma normal se corresponde a una teoría de normalización iniciada por el propio Codd y continuada
por otros autores (entre los que destacan Boyce y Fagin). Codd definió en 1970 la primera forma normal,
desde ese momento aparecieron la segunda, tercera, la Boyce-Codd, la cuarta y la quinta forma normal.
Una tabla puede encontrarse en primera forma normal y no en segunda forma normal, pero no al contrario.
Es decir, los números altos de formas normales son más restrictivos (la quinta forma normal cumple
todas las anteriores).
La teoría de formas normales es una teoría absolutamente matemática, pero en el presente manual se
describen de forma intuitiva.
▪ Todos los atributos son “atómicos”. Por ejemplo, en el campo teléfono no tenemos varios
teléfonos.
▪ La tabla contiene una clave primaria única. Por ejemplo, la CURP para personas, la matrícula
para vehículos. Si no tiene clave, no es 1FN.
▪ La clave primaria no contiene atributos nulos. No podemos tener filas para las que no haya
clave (por ejemplo, personas sin CURP o vehículos sin matrícula).
▪ No debe existir variación en el número de columnas. Si algunas filas tienen 8 columnas y
otras 3, pues no estamos en 1FN.
▪ Los campos no clave deben identificarse por la clave. Es decir, que los campos no clave
dependen funcionalmente de la clave. Esto es prácticamente lo mismo que decir que existe
clave primaria.
▪ Debe existir una independencia del orden tanto de las filas como de las columnas, es decir,
si los datos cambian de orden no deben cambiar sus significados.
Ocurre si una tabla está en primera forma normal y además cada atributo que no sea clave,
depende de forma funcional completa respecto de cualquiera de las claves. Toda la clave principal
debe hacer dependientes al resto de atributos, si hay atributos que depende sólo de parte de la
clave, entonces esa parte de la clave y esos atributos formarán otra tabla.
Página No. X
Tercera forma normal (3FN)
Ocurre cuando una tabla está en 2FN y además ningún atributo que no sea clave depende
transitivamente de las claves de la tabla. Es decir, no ocurre cuando algún atributo depende
funcionalmente de atributos que no son clave.
Supongamos que tenemos una tabla de ganadores de torneos de tenis. En ella figura el nombre
del torneo, el año, el nombre del ganador y su nacionalidad. La clave sería Torneo-Año. Pues esta
tabla no está en 3FN porque el atributo nacionalidad, que no es de la clave, depende del nombre
del ganador (también depende de la clave). Digamos que nacionalidad aporta información sobre
el ganador, pero no sobre la clave. Es una dependencia transitiva porque nacionalidad depende de
ganador que a su vez depende de Torneo-Año.
Para nuestro ejemplo, las tablas quedaron normalizadas, hasta la tercera forma normal.
EJERCICIO DE PRÁCTICA 1:
Convertir el siguiente diagrama ER al esquema relacional, y posteriormente, mostrar la reducción a tablas.
Página No. XI