Está en la página 1de 30

UT5.

Normalización de modelos relacionales

 Modelo relacional

 Normalización

 Paso del DER al modelo físico de datos

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 1


Modelo Relacional
La relación: estructura bidimensional que representa a las entidades y a algunas relaciones
del diagrama entidad-relación.
Las filas de una relación, tuplas, corresponden a las ocurrencias; cada tupla cuenta con una
serie de atributos, cada uno de ellos con un valor.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 2


 Llamamos dominio de un atributo al conjunto de valores
Dominio que puede tomar para una ocurrencia concreta.
 Cada dominio corresponde exclusivamente a los valores
Tipos de datos posibles.
 La idea de dominio se asocia con la de tipo de datos.
base  También se pueden definir conjuntos de valores a
• Números enteros. medida. Por ejemplo el atributo “día de la semana”, cuyos
posibles valores son:
• Números decimales.
• Cadenas de caracteres. {“lunes”, “martes”, “miércoles”, jueves”, “viernes”, “sábado”, “domingo”}
• Fechas y horas.
Recordad que existe un valor especial, el valor nulo o NULL.
• Valores lógicos (verdadero o falso).
 Representa la ausencia de valor.
• Objetos (ficheros binarios)
 No confundir con el valor vacío (“” en un campo de tipo
cadena de caracteres, o 0 en un campo numérico).

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 3


Normalización
Edgar F. Codd a mediados de los años 80, aportó una serie de definiciones conocidas como
“las 12 reglas de Codd” (realmente son 13 reglas, numeradas del 0 al 12) cuya aplicación
elimina las redundancias de información en una solución relacional.
La técnica es conocida como normalización, y consiste en llevar todas las relaciones a
determinados estados llamados formas normales. De una manera más formal decimos que:

La normalización de bases de datos, es la técnica o proceso que consiste en aplicar


una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación
al modelo relacional, con el objetivo de
 evitar la redundancia de datos,
 evitar problemas de actualización de los datos en las tablas,
 y proteger la integridad de los datos.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 4


Regla 0: Regla fundamental.
Regla 1: Regla de la información.
Regla 2: Regla del acceso garantizado.
Regla 3: Regla del tratamiento sistemático de valores nulos.
Regla 4: Catálogo dinámico en línea basado en el modelo relacional.
Regla 5: Regla del sublenguaje de datos completo.
Las 12 reglas Regla 6: Regla de actualización de vistas.

de Codd Regla 7: Inserción, actualización y borrado de alto nivel.


Regla 8: Independencia física de los datos.
Regla 9: Independencia lógica de los datos.
Regla 10: Independencia de la integridad.
Regla 11: Independencia de la distribución.
Regla 12: La regla de la no subversión.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 5


Primera forma normal (1FN)
Una relación está en primera forma normal (1FN) si todos sus valores son atómicos, es decir,
cada valor de los dominios de todos los atributos es único.
Si se ve la relación gráficamente como una tabla, ésta estará en 1FN si tiene un solo valor en
la intersección de cada fila con cada columna.

El atributo Teléfono
tiene múltiples valores
para varios registros

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 6


Primera forma normal (1FN)
Si una relación no está en 1FN, hay que eliminar de ella los grupos repetitivos.
Un grupo repetitivo será el atributo o grupo de atributos que tiene múltiples valores para cada
tupla de la relación.
Hay dos formas de eliminar los grupos repetitivos.
 En la primera, se repiten los atributos con un solo valor para cada valor del grupo repetitivo.
El atributo Teléfono
tiene múltiples valores
De este modo, se introducen para varios registros
redundancias porque se duplican
valores.
Estas redundancias se eliminarán
después al aplicar las restantes
formas normales.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 7


Primera forma normal (1FN)
 La segunda forma de eliminar los grupos repetitivos, consiste en poner cada uno de ellos en
una relación aparte, heredando la clave primaria de la relación en la que se encontraban.

El atributo Teléfono
tiene múltiples valores
para varios registros

Un conjunto de relaciones se encuentra en 1FN si ninguna de ellas tiene grupos repetitivos.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 8


Primera forma normal (1FN)
Otro caso en el que se considera que una relación no está en 1FN es cuando la relación tiene
atributos compuestos
DNI Dirección teléfono
11111A El Sol 12 Parla 111111
22222B La Luna 15 Getafe 2222222
El atributo Teléfono
tiene múltiples valores
para varios registros
DNI Calle Número Localidad teléfono
11111A El Sol 12 Parla 111111
22222B La Luna 15 Getafe 2222222

Un conjunto de relaciones se encuentra en 1FN si ninguna de ellas tiene atributos compuestos.


UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 9
Segunda forma normal (2FN)
Una relación está en segunda forma normal (2FN) si cumple:
 Está en 1FN
 Todos los atributos que no forman parte de la clave primaria dependen de ella por
completo.

La clave primaria está


compuesta por Cod. Libro
y Cod. Tienda.
El atributo Dirección sólo
depende del atributo Cod.
Tienda.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 10


Segunda forma normal (2FN)
Para pasar una relación en 1FN a 2FN hay que eliminar las dependencias parciales de la clave
primaria.
Para ello, se eliminan los atributos que son funcionalmente dependientes y se ponen en una
nueva relación, con los atributos de la clave primaria de los que dependen.

El atributo Teléfono
tiene múltiples valores
para varios registros

 La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o más atributos.
 Si una relación está en 1FN y su clave primaria es simple (tiene un solo atributo), entonces también está en 2FN.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 11


Tercera forma normal (3FN)
Una relación está en tercera forma normal (3FN) si cumple las siguientes reglas:
 Está en 2FN.
 Todos los atributos que no forman parte de la clave primaria son independientes entre sí,
es decir, no dan información sobre otros atributos de la relación.

Todos los atributos dependen directamente de la clave primaria (“Código de empleado”) excepto
“Nombre de departamento” que depende de “Código de departamento”.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 12


Tercera forma normal (3FN)
Para pasar una relación de 2FN a 3FN hay que eliminar las dependencias transitivas.
Para ello, se eliminan los atributos que dependen transitivamente y se ponen en una nueva relación con una
copia de su determinante (el atributo o atributos no clave de los que dependen).

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 13


Nomenclatura

Paso del
DER al
modelo Definiremos una nomenclatura común a todos los elementos del
modelo físico.

físico de Está basada en la notación húngara, definida en los años 70 por Charles
Simonyi, programador húngaro de Xerox.

datos Simonyi estableció unas reglas de nominación de variables que


aportaba información sobre su ámbito y tipo de datos.

A pesar de que esta nomenclatura puede resultar insuficiente en un


entorno de trabajo de un SGBD real, nos servirá como marco de
referencia común para los ejercicios y actividades a realizar

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 14


Nomenclatura
 Nombres de tablas. Se prefijarán con una “T” mayúscula (TEmpleado,TCliente).
 Nombres de campo. El prefijo, una letra minúscula, indicará el tipo de datos del campo, de acuerdo a los
siguientes tipos básicos:
o Números: “n” de number (nCantidad, nTotal)
o Cadenas de caracteres: “c” de carácter (cNombre, cCiudad)
o Fechas: “d” de date (dNacimiento, dAlta). Nótese que ya no es necesario especificar la palabra “fecha”
o Valores lógicos: “l” de logical (lSexo, lPensionista)
o Objetos: “o” de object (oFoto, oDocumentoXML)

En algunos casos, las relaciones, del diagrama entidad/relación, van a generar tablas. A la hora de dar nombre a
estas tablas se pueden seguir dos criterios:
 Utilizar un sustantivo que represente la acción implícita en la relación (Ej. “cliente contrata servicio” sería
TContrato)
 Concatenar los nombres de las entidades relacionadas (Ej. TProfesor – TAsignatura sería
TProfesorAsignatura).

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 15


Reglas de transformación
Las tablas se representan como un rectángulo La modalidad irá implícita en la terminación de las
con el nombre de la tabla en la parte superior líneas que relacionan tablas, del siguiente modo
y la lista de campos en la inferior.
Un anillo representa cero
Los campos que
conformen la clave Una barra representa 1
primaria irán
subrayados y en orden Un pie de gallo representa n (varios)

Modalidad (0,1) Modalidad (1,1)


También nos podemos
encontrar las tablas
representadas así

Modalidad (1,N) Modalidad (0,N)

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 16


Transformación de componentes del diagrama E/R
Se aplicarán las siguientes reglas
 Toda entidad se convierte en una tabla
 Todo atributo pasa a ser un campo.
 Los atributos que formen parte de la clave primaria se convierten en campos de la clave primaria de la tabla,
conservando su orden.
 Estudio de las relaciones en función de su cardinalidad
o Relaciones N:M
o Relaciones 1:N
o Relaciones 1:1
o Relaciones reflexivas
o Relaciones N-arias
o Jerarquías

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 17


La relación se convierte en una tabla que tiene como clave primaria la
concatenación de las claves de las entidades que asocia

Relaciones
N:M

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 18


Opción 1
Si la relación tiene algún atributo, se convierte en tabla. Su clave
primaria será la concatenación de las claves de las entidades que asocia.
Habrá que evaluar si algún atributo de la relación debe formar parte
también de la clave primaria de la nueva tabla

Relaciones
1:N
Tres posibilidades

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 19


Opción 2
Si la modalidad mínima en el lado de cardinalidad 1 es 1 y no hay
atributos en la relación, la relación desaparece.
Los atributos que forman la clave primaria de la entidad de modalidad
máxima 1, se propagarán a la entidad de modalidad máxima N. Esto dará
lugar a una clave foránea

Relaciones
N:1

1:N
Tres posibilidades

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 20


Opción 3
Si la modalidad mínima en el lado de cardinalidad 1 es 0 y no hay
atributos en la relación, la relación se convierte en tabla. Su clave
primaria será la concatenación de las claves de las entidades que asocia.

N:1

Relaciones
N:1

1:N
Tres posibilidades

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 21


Opción 1
Si ambas modalidades son (0,1) la relación se convierte en tabla.
Su clave primaria será la concatenación de las claves de las entidades
que asocia.
1:1

Relaciones
1:1
Tres posibilidades

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 22


Opción 2
Si una modalidad es (0,1) y la otra (1,1), la clave de la entidad con
modalidad mínima 1 se propaga a la entidad con modalidad mínima 0.

1:1

Relaciones
1:1
Tres posibilidades

Si la relación tiene atributos propios también pasarían a la entidad con modalidad


UT5. NORMALIZACIÓN DE MODELOS RELACIONALES mínima 0 23
Opción 3
Si ambas modalidades son (1,1), se propaga la clave primaria de cualquiera
de ellas a la otra entidad. Si una de las entidades fuera débil entonces la
clave de la entidad fuerte se propaga a la débil.

Relaciones
1:1
Tres posibilidades

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES Si la relación tiene atributos propios también pasarían a la entidad24débil
Al ser relaciones de una entidad consigo misma, lo normal es que se
conviertan en dos tablas, una la entidad y otra la relación. Pero existen
varios casos en función de la cardinalidad (como en las relaciones
binarias)
Relación 1:1
No se crea una tabla para la relación. La clave de la entidad se repite y la
tabla resultante tendrá ese atributo dos veces, uno como clave primaria
Relaciones y otro como clave ajena de ella misma.

reflexivas
Varios casos

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 25


Relación 1:N
En este caso hay que tener en cuenta la cardinalidad del lado muchos:
• Si no es obligatoria se crea una nueva tabla cuya clave será la de la
entidad del lado muchos y se propaga la clave a la nueva tabla como
clave ajena.
• Si es siempre obligatoria no se crea una nueva tabla y se procede
como en el caso 1:1
Relaciones
reflexivas
Varios casos

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 26


Relación N:M
Se trata igual que las relaciones binarias.
La tabla que resulta de la relación contendrá dos veces la clave primaria
de la entidad del lado muchos, más los atributos de la relación, si los
hay. La clave de esta nueva tabla será la combinación de las dos.

Relaciones
reflexivas
Varios casos

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 27


En este tipo de relaciones se agrupan 3 o más entidades y para pasar al
modelo de datos relacional
 cada entidad se convierte en tabla.
 También se convierte en tabla la relación que va a contener los
atributos propias de ella junto con las claves de todas las entidades.
 La clave de la tabla resultante será la concatenación de las claves de

Relaciones las entidades, hay que tener en cuenta:

N-arias • Si la relación es M:N:P la clave de la tabla resultante es la unión


de las claves de las tablas que relaciona.
• Si la relación es 1:M:N, la clave de la entidad con relación 1 pasa
a formar parte de la tabla resultante pero solo como un atributo
más.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 28


a. Crear una sola tabla con todos los atributos de la entidad y de los subtipos,
añadiendo como un atributo más el atributo discriminante. Esto se aplica
cuando:
 Los subtipos se diferencian en muy pocos atributos

Jerarquías  Las relaciones que los asocian al resto de las entidades sean las mismas para
los subtipos.
El modelo relacional Si la jerarquía es:
 Total: el atributo discriminante no admitirá nulos
no dispone de  Parcial: el atributo discriminante si admitirá nulos
mecanismos para Si entre los subtipos puede haber:
representarlas, así  Solapamiento: Se forman grupos repetitivos, por tanto será necesario crear
que se tienen que una nueva tabla que asocie el atributo discriminante con el supertipo.
 Exclusividad: No es necesaria una tabla nueva
eliminar. b. Crear una tabla para cada tipo y subtipos que haya. Esto se aplica cuando:
Se aplican las  Existen muchos atributos distintos entre los subtipos.
siguientes reglas  Se quieren mantener los atributos comunes en una tabla.
c. Crear una tabla por cada subtipo, incluyendo los atributos comunes en cada
una. Esto se aplica cuando:
 Existen muchos atributos distintos entre los subtipos
 Los accesos a los datos de los subtipos siempre afectan a los atributos
comunes.
UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 29
Jerarquías
Ventajas e inconvenientes:
a) Es la más rápida por tener que acceder
a una sola entidad.
b) La menos eficiente pero la mejor desde
un punto de vista semántico
c) Más eficiente en consultas que afecten
a todos los atributos de un subtipo y
menos eficiente en consultas que
afecten a los atributos comunes.
Introduce redundancias y es la que
pierde más semántica.

UT5. NORMALIZACIÓN DE MODELOS RELACIONALES 30

También podría gustarte