Está en la página 1de 12

GESTIÓN DE BASES DE DATOS - CURSO:2021/2022

UNIDAD DE TRABAJO 3: DISEÑO DE BASES DE DATOS RELACIONALES.

 Estructura del modelo relacional.

La relación es el elemento básico del modelo relacional, y se puede representar como una tabla:

REPRESENTACIÓN DE UNA RELACIÓN EN FORMA DE TABLA

NOMBRE

Atributo 1 Atributo 2 .............. Atributo n

XXXX XXXX .............. XXXX Tupla 1

XXXX XXXX ............. XXXX Tupla 2

................ ................ .............. ................ ..............

XXXX XXXX ............ XXXX Tupla m

Aunque una relación se representa en forma de tabla, no se admiten filas duplicadas, las filas
y columnas no están ordenadas y es plana, es decir, en el cruce de una fila y de una columna sólo
puede haber un valor.

COMPARACIÓN DE LA TERMINOLOGÍA DE RELACIÓN, TABLA Y FICHERO

RELACIÓN TABLA FICHERO

TUPLA FILA REGISTRO


ATRIBUTO COLUMNA CAMPO
GRADO Nº DE COLUMNAS Nº DE CAMPOS
CARDINALIDAD Nº DE FILAS Nº DE REGISTROS

Dominio.

Un dominio D es un conjunto finito de valores homogéneos y atómicos V1, V2, ..., Vn,
caracterizado por un nombre; decimos valores homogéneos porque son todos del mismo tipo,
y atómicos porque son indivisibles en lo que al modelo se refiere.

Los dominios pueden definirse por intensión y por extensión. Por ejemplo, el dominio de
las edades de las personas activas se puede definir por intensión como entero de longitud dos
comprendido entre 18 y 65, mientras que la definición del dominio de nacionalidades por
intensión sería muy pobre semánticamente , ya que permitiría toda combinación de 10 letras
Página 1
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
aun cuando no constituyesen un nombre válido de nacionalidad; por ello, sería preferible
definir este dominio por extensión con los nombres de las distintas nacionalidades que
admitiésemos en la base de datos.

Un dominio compuesto se puede definir como una combinación de dominios simples a la


que se pueden aplicar ciertas restricciones de integridad. Por ejemplo, un dominio Fecha con
restricciones para que no apareciesen valores no válidos para la fecha. Los dominios
compuestos, al igual que los atributos compuestos pueden ser tratados como valores
atómicos.

Elementos de una relación.

▪ Nombre: Las relaciones se identifican con un nombre, algunas que se refieren a resultados
intermedios pueden no tenerlo.
▪ Cabecera de la relación: Es el conjunto de n pares atributo-dominio subyacente, donde n es el
grado. Se corresponde con la primera fila cuando la relación se percibe como una tabla. El
conjunto A de atributos sobre los que se define la relación se llama contexto de la misma.
▪ Cuerpo de la relación: Conjunto de m tuplas, donde cada tupla es un conjunto de n pares
atributo-valor. El número de tuplas m es la cardinalidad. Así como la cabecera de la relación
es invariante, su cuerpo varía en el transcurso del tiempo, al igual que la cardinalidad.
▪ Esquema de relación: Estará constituido por el nombre (si existe) y la cabecera. También se
denomina intensión. En general no suele ponerse el dominio de los atributos en la cabecera
de la relación.
▪ Estado de relación: Se denomina también relación y está constituido por el esquema y el
cuerpo de relación.

Una base de datos relacional es una base de datos percibida por los usuarios como una
colección de relaciones que varían en el tiempo, es decir, una colección de variables de
relación.

Claves.

Una clave candidata de una relación es un conjunto de atributos que identifican unívoca y
mínimamente cada tupla de la relación. Puede haber más de una clave candidata, entre las
cuales se debe 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 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 candidata de una relación R1. La clave
ajena y la correspondiente clave candidata han de estar definidas sobre el mismo dominio.

Página 2
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
Definición en intensión (ESQUEMA RELACIONAL).

Grafo relacional (Diagrama relacional).

Una forma sencilla de representar el esquema relacional es el denominado grafo o diagrama


relacional. Es un grafo compuesto de un conjunto de nodos multiparticionados, donde cada
nodo representa un esquema de relación, es decir, una tabla de la Base de Datos. Para cada
esquema de relación ha de aparecer, como mínimo, su nombre y sus atributos, indicando su
clave primaria, sus claves alternativas y las claves ajenas. Las opciones de borrado y modificación
de la clave ajena se pueden poner en la línea que une la clave ajena con la tabla referenciada.

 Restricciones.

RESTRICCIONES INHERENTES

- No hay dos tuplas iguales (de donde se deduce la obligatoriedad de la clave primaria).
- 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 sobre el que está definido,
no admitiéndose por tanto los grupos repetitivos. Se dice que una tabla que cumple
esta condición está normalizada (o bien está en primera forma normal).

RESTRICCIONES SEMÁNTICAS

Las principales restricciones semánticas del modelo relacional son las siguientes:

- Clave primaria. Permite declarar un atributo o conjunto de atributos como clave


primaria de una relación, por lo que sus valores no se podrán repetir ni se admitirán los
nulos (o valores "ausentes"). En esta clave distinguiremos entre la restricción inherente
de obligatoriedad de la clave primaria y la restricción semántica que le permite al usuario
indicar qué atributos forman parte de la clave primaria.

Página 3
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
. Unicidad. Los valores de un conjunto de atributos (uno o más) no pueden repetirse en
una relación.
. Obligatoriedad. El conjunto de atributos no admite valores nulos.
. Integridad referencial. Si una relación R2 (relación que referencia) tiene un descriptor
que es una clave candidata de la relación R1 (relación referenciada), todo valor de dicho
descriptor debe concordar con un valor de la clave candidata referenciada de R1 o bien
ser nulo. El descriptor es, por tanto, una clave ajena de la relación R2.

- Restricciones de rechazo, en las que el usuario formula una condición mediante un


predicado definido sobre un conjunto de atributos, de tuplas o dominios, el cual debe ser
verificado por los correspondientes objetos en toda operación de actualización. En caso
de que la operación intente violar la condición se impide que la operación se lleve a cabo
(se produce un rechazo de la operación).

- Actualmente los SGDB soportan restricciones en las que el usuario puede especificar
libremente la respuesta (acción) ante una determinada condición, lo que se suele llamar
disparadores (trigger). Así como las anteriores reglas de integridad son declarativas, los
disparadores son procedimentales, siendo preciso que el usuario escriba el
procedimiento que ha de aplicarse en caso de que se cumpla la condición.

 Paso del modelo ER al modelo relacional.


El diseño de una base de datos relacional se puede realizar mediante una primera fase en la
que al mundo real se le aplica un modelo semántico (Modelo Entidad/Relación), a fin de obtener
un esquema conceptual, a partir de este esquema se realiza una segunda fase en la que se
transforma dicho esquema al modelo relacional mediante unas reglas de transformación.

REPRESENTACIÓN GRÁFICA DE LA METODOLOGÍA PROPUESTA PARA EL DISEÑO DE


BASES DE DATOS RELACIONALES

ESQUEMA
CONCEPTUAL ESQUEMA LÓGICO
(relacional)
AUTOR

Escribe

MUNDO REAL LIBRO

DISEÑADOR

Página 4
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
TRANSFORMACIÓN DEL ESQUEMA CONCEPTUAL AL RELACIONAL

Está basado en los tres principios siguientes.

• Todo tipo de entidad se convierte en una relación.

• Todo tipo de interrelación N:M se transforma en una relación.

• Todo tipo de interrelación 1:N se traduce en el fenómeno de propagación de clave o bien


se crea una nueva relación.

A primera vista se puede observar que al pasar el modelo E/R al relacional se pierde
semántica, puesto que tanto las entidades como las interrelaciones se transforman en
relaciones, de forma que ya no es posible distinguir entre unas y otras. En el caso de
propagación de clave, desaparece incluso el nombre de la relación. Esto no implica
necesariamente un peligro para la integridad de la base de datos, ya que, si la transformación
se ha realizado correctamente, se habrán definido las necesarias restricciones (opciones de
las claves ajenas, ...) que asegurarán la consistencia de los datos.

Ejemplo 1:

Página 5
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
Grafo:

Ejemplo 2:

Página 6
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
Ejemplo 3:

Actividad. Realiza los ejercicios de la tarea 1.

ESTÁTICA DEL MODELO RELACIONAL. RESUMEN

➢ El elemento central del modelo relacional es la Relación. Una relación tiene un nombre, un
conjunto de atributos que representan sus propiedades y un conjunto de tuplas que incluyen
los valores que cada uno de los atributos toma para cada elemento de la relación.
Página 7
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022

➢ El modelo relacional tiene restricciones inherentes (obligatoriedad de la clave primaria, orden


de tuplas y atributos no relevantes, cada atributo solo puede tomar un valor del dominio,
ningún atributo que forma parte de la clave primaria puede tomar un valor nulo).

➢ Existen mecanismos que proporciona el modelo relacional para recoger restricciones


semánticas o de usuarios (restricción de clave primaria (PRIMARY KEY), restricción de
unicidad (UNIQUE), restricción de obligatoriedad (NOT NULL), restricción de clave ajena
(FOREIGN KEY) también denominada integridad referencial.

➢ Además de la integridad referencial que nos permite enlazar relaciones entre sí dando lugar a
la estructura de la base de datos, el modelo relacional permite también definir las opciones
de borrado y modificación en las claves ajenas. Estas opciones indican las acciones que hay
que llevar a cabo cuando se produce un borrado o modificación de una tupla en la relación
padre referenciada por una relación hija.

o Borrado/Modificación en cascada (CASCADE). El borrado o modificación de una tupla en


la relación padre ocasiona un borrado o modificación de todas las tuplas relacionadas en
la relación hija.
o Borrado/Modificación restringido (RESTRICT). Si existen tuplas en la relación hija
relacionadas con la tupla de la relación padre sobre la que se realiza la operación,
entonces no se permitirá llevar a cabo dicha operación.
o Borrado/Modificación con puesta a nulos (SET NULL). Permite poner el valor de la clave
ajena referenciada a NULL cuando se produce el borrado o modificación de una tupla en
la relación padre.
o Borrado/Modificación con puesta a un valor por defecto (SET DEFAULT). Similar al caso
anterior con la excepción de que el valor al que se ponen las claves ajenas referenciadas
es un valor por defecto que se habrá especificado en la definición de la tabla
correspondiente.

➢ Existen también restricciones de verificación (CHECK). Se utilizan cuando sea necesario


especificar una condición que deben cumplir los valores de determinados atributos de una
relación de la base de datos aparte de todas las demás restricciones (clave primaria, ...)

➢ Las aserciones (ASSERTION), son otro tipo de restricciones que generalizan el caso anterior.
Son condiciones que se establecen sobre elementos de distintas relaciones.

➢ Por último, a veces puede interesar especificar una acción distinta del rechazo cuando no se
cumple una determinada restricción semántica. Para esto se recurre a los disparadores o
triggers que nos permiten además de indicar una condición, especificar la acción que se lleve
a cabo si la condición se hace verdadera.
(evento-condición-acción - Reglas ECA-)

Notación

Un esquema relacional se representa mediante un grafo, conocido como grafo relacional;


básicamente, se trata de un grafo dirigido cuyos nodos son las relaciones de la base de datos y
los arcos representan las restricciones de clave ajena, y en el que aparecerán además de las
Página 8
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
distintas relaciones con sus atributos y las restricciones de clave ajena las restricciones de clave
primaria, unicidad y obligatoriedad. Las convenciones empleadas para la representación de este
grafo son:
▪ El nombre de las tablas está representado en mayúsculas, primero aparece el
nombre de la relación y a continuación sus atributos entre paréntesis.
▪ Las claves primarias aparecen subrayadas.
▪ Las claves alternativas aparecen en negrita o con línea discontinua.
▪ Las claves ajenas están en letra cursiva y referencian a la relación en la que son
clave primaria mediante una flecha.
▪ Los atributos que pueden tomar un valor nulo aparecen con un asterisco.
▪ Las opciones para la integridad referencial son:
- B:C, Borrado en cascada.
- B:N, Borrado con puesta a nulos.
- B:D, Borrado con puesta a valor por defecto.
- B:R, Borrado restringido.
- M:C, Modificación en cascada.
- M:N, Modificación con puesta a nulos.
- M:D, Modificación con puesta a valor por defecto.
- M:R, Modificación restringida.

 Teoría de la normalización

Se conoce como teoría de la normalización a un conjunto de reglas que nos permiten


asegurar que un esquema relacional cumple unas ciertas propiedades. Es una técnica formal para
organizar datos, la cual nos ayuda a determinar qué es lo que está equivocado en un diseño y nos
enseña la manera de corregirlo.
El principio básico en todo diseño es:

"Hechos distintos se deben almacenar en objetos distintos"

Entre los problemas que puede presentar un esquema relacional cuando el diseño es
inadecuado y no cumple dicho principio, destacaremos:

▪ Incapacidad para almacenar ciertos hechos.


▪ Redundancias y, por tanto, posibilidad de inconsistencias.
▪ Ambigüedades.
▪ Pérdida de información (aparición de tuplas espurias)
▪ Pérdida de ciertas restricciones de integridad que dan lugar a interdependencias entre los
datos (dependencias funcionales).
▪ Aparición en la base de datos, como consecuencia de las redundancias, de estados que no son
válidos en el mundo real; es lo que se llama anomalías de inserción, borrado y modificación.

La teoría de la normalización evita las redundancias y las anomalías de actualización (nunca de


consulta), obteniendo relaciones más estructuradas que no presentan los problemas anteriores.

Página 9
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
NOCIÓN INTUITIVA DE LAS FORMAS NORMALES

La teoría de la normalización se centra en lo que se conoce como formas normales. Se dice


que un esquema de relación está en una determinada forma normal si satisface un conjunto
específico de restricciones.

La primera forma normal (1FN) fue introducida por Codd en su primer trabajo y es una
restricción inherente al modelo relacional, por lo que su cumplimiento es obligatorio. Consiste en
la prohibición de que en una relación existan grupos repetitivos, esto es, de que un atributo
pueda tomar más de un valor del dominio subyacente. En realidad, se debe decir que una tabla
está normalizada sólo con que se encuentre en 1FN, aunque, a menudo, esta expresión no se
aplica con la debida precisión y se afirma que una tabla no está normalizada porque no está en
formas normales superiores a la primera.

Codd, junto con la 1FN, definió también la segunda forma normal (2FN) y la tercera (3FN).
Posteriormente, otros autores propusieron nuevas formas normales, como la Forma Normal de
BOYCE y CODD (FNBC), y la cuarta y quinta forma normal (4FN y 5FN) debidas a FAGIN.

En esta Unidad vamos a mostrar intuitivamente las ideas que subyacen en la teoría de la
normalización. Estas ideas, no tienen la precisión ni la formalización de la teoría matemática de la
normalización, pero en la práctica son muchas veces suficientes.

Dentro de este enfoque intuitivo podemos decir que un esquema de relación se encuentra en
2FN si, además de estar en 1FN, todos los atributos que no forman parte de ninguna clave
candidata suministran información acerca de la clave completa, no de una parte de la clave.

Una relación se encuentra en 3FN si, además de las dos restricciones anteriores (1FN y 2FN),
se cumple que los atributos que no forman parte de ninguna clave candidata facilitan
información sólo acerca de la(s) clave(s) y no acerca de otros atributos.

En resumen, podemos decir que, para que una relación se encuentre en 3FN, ha de estar en
1FN y, además, todos sus atributos que no forman parte de ninguna clave candidata "deben ser
información referida a la clave, la clave completa y nada más que la clave".

DEPENDENCIAS FUNCIONALES

La teoría de la normalización se basa en el concepto de dependencias. Estas dependencias son


propiedades inherentes al contenido semántico de los datos que se han de cumplir para
cualquier extensión del esquema de relación y forman parte de las restricciones de usuario del
modelo relacional.

Las dependencias nos muestran algunas importantes interrelaciones existentes entre los
atributos del mundo real, cuya semántica tratamos de incorporar a nuestra base de datos; son,
por tanto, invariantes en el tiempo, siempre que no cambie el mundo real del cual proceden.

Las dependencias funcionales son un tipo especial de dependencias en el que se basan las
primeras formas normales y cuya definición es la siguiente:

Sea el esquema de relación R definido sobre el conjunto de atributos A y sean X e Y


subconjuntos de A llamados descriptores. Se dice que Y depende funcionalmente de X, o lo que
Página 10
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
es igual, que X determina o implica a Y si, y sólo si, cada valor de X tiene asociado en todo
momento un único valor de Y. Representamos esta dependencia funcional de la siguiente forma:
X ---------> Y

Llamamos determinante o implicante al descriptor que se encuentra a la izquierda del símbolo


de implicación, e implicado al descriptor que se encuentra a la derecha.

Si para un esquema R tenemos la dependencia funcional X -------> Y, dado el valor de X no


podemos, en general, conocer el valor de Y; solamente podremos afirmar que para dos tuplas de
cualquier extensión r(R) que tengan el mismo valor de X, el valor de Y será también igual en
ambas.

• Dependencia funcional plena o completa.

Sea un descriptor compuesto X: X(X1, X2)


se dice que Y tiene dependencia funcional completa o plena de X si depende
funcionalmente de X pero no depende de ningún subconjunto del mismo, esto es:
X ---------> Y
X1 ----/---> Y
X2 ----/----> Y
lo que se representa por:
X  Y
• Dependencia funcional transitiva.

Sea la relación R (X, Y, Z)


en la que existen las siguientes dependencias funcionales:
X -----------> Y
Y ------------> Z
Y -----/------> X
se dice que Z tiene una dependencia transitiva respecto de X a través de Y, lo que se
representa por:
X ----- -----> Z
Si además, Z -----/------> Y, se dice que la dependencia transitiva es estricta.

DEFINICIÓN FORMAL DE LAS TRES PRIMERAS FORMAS NORMALES

• Primera forma normal (1FN). Para que una tabla pueda estar en esta forma no debe admitir
grupos repetitivos, es decir, cada atributo toma un único valor del dominio subyacente.

• Segunda forma normal (2FN). Se dice que una relación está en 2FN, si:
- Está en 1FN.
- Cada atributo no principal tiene dependencia funcional completa respecto de cada una
de las claves.

• Tercera forma normal (3FN). Se dice que una relación está en 3FN, si:
- Está en 2FN.
- No existe ningún atributo no principal que dependa transitivamente de alguna de las
claves de relación.

Página 11
GESTIÓN DE BASES DE DATOS - CURSO:2021/2022
CUARTA FORMA NORMAL (4FN)

Vamos a partir del caso en que hemos construido una relación llamada Docencia, con los
siguientes atributos:
Docencia(dni, c_aula, c_asignatura)

Pudiera darse el caso de:

➢ Los alumnos tengan asignado un conjunto de aulas para la impartición de la docencia con
independencia de las asignaturas que cursan (depende del alumno).
➢ Los alumnos se pueden matricular en cualquier conjunto de asignaturas con independencia
del aula en que se impartan.

Con estos supuestos, se observa lo que se denomina dependencias multievaluadas. Estas


dependencias ocasionan:

➢ Redundancia en la relación Docencia puesto que el alumno puede recibir docencia en


cualquier aula independientemente de la asignatura.
➢ Problemas de inserción, borrado y modificación. Al formar los tres atributos parte de la clave
principal, se eliminan las independencias de los atributos.

Por ello se originan las tablas:


Docencia_1(dni, asignatura)
Docencia_2(dni, aula)
En este caso se dice que se ha normalizado en la 4FN.

QUINTA FORMA NORMAL (5FN)

Partimos del mismo caso anterior, tenemos construida la relación:


Docencia(dni, c_aula, c_asignatura)
Pudiera darse el caso de:
➢ Que un alumno puede estar matriculado en un conjunto de asignaturas.
➢ Para cada asignatura existe un conjunto de aulas en las que se puede impartir la docencia.
➢ Para cada asignatura el alumno recibe la docencia en todas las aulas asignadas a esa
asignatura.

Con estos supuestos, se cumple la 4FN puesto que las aulas no son independientes de las
asignaturas en las que se matriculan los alumnos. Sin embargo, existe lo que se denomina
dependencia de reunión entre los atributos dni, asignatura y aula y habría una gran redundancia
de información.

Para que estuviera en 5FN, se tendrían que generar las relaciones:


Docencia_1(dni, asignatura)
Docencia_2(asignatura, aula)
Docencia_3(dni, aula)

Página 12

También podría gustarte