Sei sulla pagina 1di 7

Tcnica de Dise

Diseo
La normalizacin es una tcnica de diseo
de bases de datos que parte del estudio de
las relaciones entre los atributos

Normalizacin del
Modelo Relacional

Prof. Dr. Antonio


Mosquera Gonzlez

La normalizacin emplea una serie de


pruebas para tratar de identificar el
agrupamiento ptimo de los atributos

Bases de Datos
Ingenier
Ingeniera T
Tcnica en Inform
Informtica de Sistemas

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin del Modelo Relacional

ndice
Normalizacin
Dependencias Funcionales

Normalizacin

Proceso de Normalizacin
Primera Forma Normal
Segunda Forma Normal
Tercera Forma Normal

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin del Modelo Relacional

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin del Modelo Relacional
Bases de Datos
Ingenier
Ingeniera T
Tcnica en Inform
Informtica de Sistemas

Dise
Diseo de Bases de Datos

Conjunto de Relaciones
El propsito de la normalizacin es identificar un conjunto
adecuado de relaciones que soporten los requisitos de
datos de una organizacin

Principales usos del proceso de normalizacin:


Tcnica autnoma de diseo de tipo abajo-arriba
Tcnica de validacin para comprobar una
estructura de relaciones creada mediante una tcnica
de tipo arriba-abajo

Caractersticas del conjunto adecuado de relaciones:


Nmero mnimo de atributos necesarios
Agrupacin de los atributos que presenten una
relacin lgica fuerte
Redundancia mnima (cada atributo una vez salvo
las claves externas)

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin

Anomal
Anomalas de Actualizaci
Actualizacin

Anomal
Anomalas de Inserci
Insercin

Problemas asociados con la redundancia indeseada


en los datos
Personal (numPersonal, nombre,
categora, salario, numSucursal)
Sucursal (numSucursal,
ciudad)

numSucursal

ciudad

B005
B007
B003
B004
B002

Lrida
vila
Zaragoza
Barcelona
Lrida

numPersonal

nombre

categora

salario

numSucursal

SL21
SG37
SG14
SA9
SG5
SL41

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Para insertar los detalles de un nuevo empleado en la


relacin PersonalSucursal, se deben incluir los detalles de
la sucursal en la que trabaja
Cuando es un empleado de una sucursal que ya
existe los datos de sucursal deben ser coherentes
con los que ya existen

PersonalSucursal (numPersonal, nombre, categora, salario,


numSucursal, ciudad) numPersonal nombre categora salario numSucursal ciudad
SL21
SG37
SG14
SA9
SG5
SL41

Prof. Dr. Antonio


Mosquera Gonzlez

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Lrida
Zaragoza
Zaragoza
vila
Zaragoza
Lrida

Normalizaci
Normalizacin

Prof. Dr. Antonio


Mosquera Gonzlez

Anomal
Anomalas de Inserci
Insercin

numPersonal

nombre

categora

salario

numSucursal

ciudad

SL21
SG37
SG14
SA9
SG5
SL41

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Lrida
Zaragoza
Zaragoza
vila
Zaragoza
Lrida

Normalizaci
Normalizacin

Anomal
Anomalas de Borrado

Para insertar los detalles de una nueva sucursal, que


actualmente no tenga ningn empleado, es necesario
introducir valores nulos en los atributos del empleado

Si se borra una tupla de la relacin PersonalSucursal que


corresponda con el ltimo empleado de una sucural se
perder la informacin acerca de dicha sucursal

Si la clave principal es algn atributo de empleado,


numPersonal, se viola la integridad referencial

Prof. Dr. Antonio


Mosquera Gonzlez

numPersonal

nombre

categora

salario

numSucursal

ciudad

numPersonal

nombre

categora

salario

numSucursal

ciudad

SL21
SG37
SG14
SA9
SG5
SL41

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Lrida
Zaragoza
Zaragoza
vila
Zaragoza
Lrida

SL21
SG37
SG14
SA9
SG5
SL41

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Lrida
Zaragoza
Zaragoza
vila
Zaragoza
Lrida

Normalizaci
Normalizacin

Prof. Dr. Antonio


Mosquera Gonzlez

Anomal
Anomalas de Modificaci
Modificacin

Normalizaci
Normalizacin

10

Descomposici
Descomposicin

Si se quiere cambiar el valor de uno de los atributos de


una sucursal concreta, se tiene que actualizar todas las
tuplas de todos los empleados de la sucursal

Las relaciones Personal y Sucursal por separado tienen


propiedades ms deseables que la relacin PersonalSucursal
Propiedades importantes asociadas a la descomposicin
de una relacin en varias ms pequeas:
Combinacin sin prdidas (cualquier instancia de la
relacin original puede identificarse a partir de instancias
de las relaciones ms pequeas)

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin

numPersonal

nombre

categora

salario

numSucursal

ciudad

SL21
SG37
SG14
SA9
SG5
SL41

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Lrida
Zaragoza
Zaragoza
vila
Zaragoza
Lrida

Preservacin de las dependencias (una restriccin


de la relacin original se puede mantener imponiendo
restricciones a cada una de las relaciones ms pequeas)
11

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin

12

Relaci
Relacin Entre Atributos
El concepto de dependencia funcional describe la
relacin que existe entre los atributos

Dependencias
Funcionales

Prof. Dr. Antonio


Mosquera Gonzlez

Relacin
Universal

R = (A, B, C, , Z)
(todo atributo tiene un nombre
distintivo en la base de datos)

Normalizaci
Normalizacin del Modelo Relacional
Bases de Datos
Ingenier
Ingeniera T
Tcnica en Inform
Informtica de Sistemas

Prof. Dr. Antonio


Mosquera Gonzlez

Dependencia Funcional

Dependencias Funcionales

Determinante

Las dependencias funcionales describen la relacin


existente entre atributos de una relacin
Por ejemplo, si A y B son atributos de la relacin R, B
ser funcionalmente dependiente de A o A determina
funcionalmente a B (lo que se denota A B) si cada
valor de A est asociado con exactamente un valor de B

El determinante hace referencia al atributo o grupo de


atributos en el lado izquierdo de la flecha que define
una dependencia funcional
A
B
a1
b1
AB

BA
a1
b1
a2
a2

A y B pueden consistir cada uno


de ellos de uno o ms atributos

Dependencias Funcionales

15

Prof. Dr. Antonio


Mosquera Gonzlez

Una caracterstica til para el proceso de normalizacin es


que los determinantes de las dependencias funcionales
tengan el mnimo nmero de atributos necesarios para
mantener la dependencia funcional del lado derecho

16

Las dependencias funcionales que se utilizan en el proceso


de normalizacin tienen las siguientes caractersticas
Hay una relacin de uno a uno entre los
atributos del lado izquierdo (determinante) y los
del lado derecho

Este requisito se conoce como dependencia funcional


completa: Si a y B son atributos de la relacin R, B
depende funcionalmente de manera completa de A si B
depende de A pero no de ningn subconjunto de A

Dependencias Funcionales

Dependencias Funcionales

Caracter
Caractersticas

Dependencia Funcional Completa

Prof. Dr. Antonio


Mosquera Gonzlez

b1
b1

Una dependencia funcional es una propiedad de un esquema


de relacin y no de una instancia concreta del esquema

La dependencia funcional es una propiedad de


la semntica de los atributos de una relacin
Prof. Dr. Antonio
Mosquera Gonzlez

14

Se cumplen en todo instante de tiempo


El determinante tiene el nmero mnimo de
atributos necesarios para mantener la dependencia

17

Prof. Dr. Antonio


Mosquera Gonzlez

Dependencias Funcionales

18

Dependencias Transitivas

Identificaci
Identificacin

La existencia de dependencias transitivas en una


relacin podra llegar a causar anomalas de actualizacin

La identificacin de todas las dependencias funcionales


entre un conjunto de atributos debera ser bastante
simple si se comprende bien el significado de cada
atributo y las relaciones existentes entre los atributos

Sean A, B y C atributos de una relacin R tales


que A B y B C, entonces C depende
transitivamente de A a travs de B

Prof. Dr. Antonio


Mosquera Gonzlez

numPersonal

nombre

categora

salario

numSucursal

ciudad

SL21
SG37
SG14
SA9
SG5
SL41

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Lrida
Zaragoza
Zaragoza
vila
Zaragoza
Lrida

Dependencias Funcionales

Estos datos se
suelen obtener
con las tcnicas
de determinacin
de hechos

19

Prof. Dr. Antonio


Mosquera Gonzlez

Identificaci
Identificacin

numPersonal nombre, categora, salario, numSucursal, ciudad


numSucursal ciudad
ciudad numSucursal
numSucursal, categora salario
ciudad, categora salario
numPersonal

nombre

categora

salario

numSucursal

ciudad

SL21
SG37
SG14
SA9
SG5
SL41

Juan
Ana
David
Mara
Susana
Julia

Gerente
Ayudante
Supervisor
Ayudante
Gerente
Ayudante

30000
12000
18000
9000
24000
9000

B005
B003
B003
B007
B003
B005

Lrida
Zaragoza
Zaragoza
vila
Zaragoza
Lrida

Dependencias Funcionales

20

Clave Primaria

Cuando no hay informacin apropiada sobre el significado


de los atributos se recurre al estudio de los datos (esto
puede ser un problema si no constituyen una
representacin veraz de todos los posibles valores)

El objetivo principal de identificar un conjunto de


dependencias funcionales para una relacin es el de
especificar el conjunto de restricciones de integridad que la
relacin debe satisfacer
Una restriccin de integridad importante es la identificacin
de claves candidatas de las cuales saldr la clave primaria

Prof. Dr. Antonio


Mosquera Gonzlez

a
e
a
e
a
e

b
b
d
d
f
f

z
r
z
r
z
r

w
w
w
w
s
s

q
p
t
q
t
t

Dependencias Funcionales

AC
CA

Sern claves candidatas los determinantes de


dependencias funcionales que determinen cada
tupla de la relacin (es decir, todos los atributos)

BD
A, B E
21

Prof. Dr. Antonio


Mosquera Gonzlez

Dependencias Funcionales

22

Clave Primaria
numPersonal nombre, categora, salario, numSucursal, ciudad

Proceso de
Normalizacin

numSucursal ciudad
ciudad numSucursal
numSucursal, categora salario
ciudad, categora salario

AC
CA
BD
A, B E

Prof. Dr. Antonio


Mosquera Gonzlez

Dependencias Funcionales

23

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin del Modelo Relacional
Bases de Datos
Ingenier
Ingeniera T
Tcnica en Inform
Informtica de Sistemas

Base

Formas Normales

La normalizacin es una tcnica formal para analizar


relaciones basndose en su clave principal (o claves
candidatas) y en las dependencias funcionales

Un esquema de relacin est en una determinada forma


normal si satisface un cierto conjunto de restricciones
Universo de Relaciones
1FN

Implica una serie de reglas que pueden utilizarse


de modo que una base de datos pueda
normalizarse hasta el grado deseado

Cood, 1972

2FN
3FN

Boyce y Cood, 1974

FNBC

Fagin, 1977

4FN

Cuando no se satisfaga un requisito, la relacin que viole


dicho requisito deber ser descompuesta en una serie
de relaciones que cumplan individualmente el requisito

5FN

Fagin, 1979

En realidad, son ideas sencillas


Prof. Dr. Antonio
Mosquera Gonzlez

Proceso de Normalizaci
Normalizacin

25

Proceso de Normalizaci
Normalizacin

Prof. Dr. Antonio


Mosquera Gonzlez

Avance del Proceso

26

Ejemplo

A medida que avanza el proceso de normalizacin,


las relaciones tienen un formato ms fuerte y son menos
vulnerables a las anomalas de actualizacin

Para el modelo de datos relaciones la nica


forma crtica es 1FN, el resto son opcionales
Para evitar la mayor parte de las anomalas de
actualizacin es conveniente llegar a 3FN

num
Cliente

nombre
Cliente

num
Propiedad

calle

inicio
Renta

fin
Renta

renta

num
Propietario

nombre
Propietario

CR76

Juan

PG4
PG16

Lgrimas, 6
Nueva, 5

1-Jul-03
1-Sep-04

31-Ago-04
1-Sep-05

350
450

CO40
CO93

Tina
Antonio

CR56

Alinne

PG4
PG36
PG16

Lgrimas, 6
Mayor, 2
Nueva, 5

1-Sep-02
10-Oct-03
1-Nov-05

10-Jun-03
1-Dic-04
10-Ago-06

350
375
450

CO40
CO93
CO93

Tina
Antonio
Antonio

Un cliente slo puede alquilar un inmueble una vez


Prof. Dr. Antonio
Mosquera Gonzlez

Proceso de Normalizaci
Normalizacin

27

Prof. Dr. Antonio


Mosquera Gonzlez

Proceso de Normalizaci
Normalizacin

28

Definici
Definicin

Primera Forma
Normal

Prof. Dr. Antonio


Mosquera Gonzlez

Normalizaci
Normalizacin del Modelo Relacional
Bases de Datos
Ingenier
Ingeniera T
Tcnica en Inform
Informtica de Sistemas

Primera Forma Normal (1FN): Una relacin en la que


la interseccin de toda fila y columna contiene un valor y
slo un valor

Para conseguir Primera Forma Normal se


colocan los datos repetitivos, junto con una
copia de los atributos clave originales en
una relacin independiente

Prof. Dr. Antonio


Mosquera Gonzlez

Primera Forma Normal

30

Ejemplo

Ejemplo

ClienteAlquiler (numCliente, nombreCliente, numPropiedad, calle,


inicioRenta, finRenta, renta, numPropietario, nombrePropietario)

Cliente (numCliente, nombreCliente)


PropietarioPropiedadAlquilar (numCliente, numPropiedad, calle,
inicioRenta, finRenta, renta, numPropietario, nombrePropietario)

num
Cliente

nombre
Cliente

num
Propiedad

calle

inicio
Renta

fin
Renta

renta

num
Propietario

nombre
Propietario

CR76
CR76
CR56
CR56
CR56

Juan
Juan
Alinne
Alinne
Alinne

PG4
PG16
PG4
PG36
PG16

Lgrimas, 6
Nueva, 5
Lgrimas, 6
Mayor, 2
Nueva, 5

1-Jul-03
1-Sep-04
1-Sep-02
10-Oct-03
1-Nov-05

31-Ago-04
1-Sep-05
10-Jun-03
1-Dic-04
10-Ago-06

350
450
350
375
450

CO40
CO93
CO40
CO93
CO93

Tina
Antonio
Tina
Antonio
Antonio

Prof. Dr. Antonio


Mosquera Gonzlez

Primera Forma Normal

31

num
Cliente

nombre
Cliente

CR76
CR56

Juan
Alinne

num
Cliente

num
Propiedad

calle

inicio
Renta

fin
Renta

renta

num
Propietario

nombre
Propietario

CR76
CR76
CR56
CR56
CR56

PG4
PG16
PG4
PG36
PG16

Lgrimas, 6
Nueva, 5
Lgrimas, 6
Mayor, 2
Nueva, 5

1-Jul-03
1-Sep-04
1-Sep-02
10-Oct-03
1-Nov-05

31-Ago-04
1-Sep-05
10-Jun-03
1-Dic-04
10-Ago-06

350
450
350
375
450

CO40
CO93
CO40
CO93
CO93

Tina
Antonio
Tina
Antonio
Antonio

Prof. Dr. Antonio


Mosquera Gonzlez

Primera Forma Normal

32

Definici
Definicin
Segunda Forma Normal (2FN): Una relacin que
est en primera forma normal y en la que todo atributo
que no sea de clave principal depende funcionalmente
de manera completa de la clave principal

Segunda Forma
Normal

Prof. Dr. Antonio


Mosquera Gonzlez

Para conseguir Segunda Forma Normal se crean


nuevas relaciones de modo que se eliminen los
atributos que no sean de clave principal,
situndolos en otra relacin junto con una copia
de aquella parte de la clave primaria de la que
dependen funcionalmente

Normalizaci
Normalizacin del Modelo Relacional
Bases de Datos
Ingenier
Ingeniera T
Tcnica en Inform
Informtica de Sistemas

Prof. Dr. Antonio


Mosquera Gonzlez

Definici
Definicin General

Segunda Forma Normal

34

Ejemplo

Segunda Forma Normal (2FN): Una relacin que


est en primera forma normal y en la que todo atributo
que no sea de clave candidata depende funcionalmente
de manera completa de cualquier clave candidata

Cliente (numCliente, nombreCliente)


PropietarioPropiedadAlquilar (numCliente, numPropiedad, calle,
inicioRenta, finRenta, renta, numPropietario, nombrePropietario)

df1: numCliente, numPropiedad inicioRenta, finRenta


df2: numCliente nombreCliente
df3: numPropiedad calle, renta, numPropietario, nombrePropitario
df4: numPropietario nombrePropietario
df5: numCliente, inicioRenta numPropiedad, calle, finRenta, renta,
numPropietario, nombrePropietario
df6: numPropiedad, inicioRenta numCliente, nombreCliente, finRenta

Prof. Dr. Antonio


Mosquera Gonzlez

Segunda Forma Normal

35

Prof. Dr. Antonio


Mosquera Gonzlez

Segunda Forma Normal

36

Ejemplo
Cliente (numCliente, nombreCliente)
Alquiler (numCliente, numPropiedad, inicioRenta, finRenta)
PropietarioPropiedad (numPropiedad, calle, renta,
numPropietario, nombrePropietario)
num
Cliente

num
Propiedad

inicio
Renta

fin
Renta

CR76
CR76
CR56
CR56
CR56

PG4
PG16
PG4
PG36
PG16

1-Jul-03
1-Sep-04
1-Sep-02
10-Oct-03
1-Nov-05

31-Ago-04
1-Sep-05
10-Jun-03
1-Dic-04
10-Ago-06

Prof. Dr. Antonio


Mosquera Gonzlez

num
Cliente

nombre
Cliente

CR76
CR56

Juan
Alinne

Tercera Forma
Normal

num
Propiedad

calle

renta

num
Propietario

nombre
Propietario

PG4
PG16
PG4
PG36
PG16

Lgrimas, 6
Nueva, 5
Lgrimas, 6
Mayor, 2
Nueva, 5

350
450
350
375
450

CO40
CO93
CO40
CO93
CO93

Tina
Antonio
Tina
Antonio
Antonio

Segunda Forma Normal

37

Normalizaci
Normalizacin del Modelo Relacional
Bases de Datos
Ingenier
Ingeniera T
Tcnica en Inform
Informtica de Sistemas

Prof. Dr. Antonio


Mosquera Gonzlez

Definici
Definicin

Definici
Definicin General

Tercera Forma Normal (3FN): Una relacin que est en


primera y segunda forma normales y en la que ningn
atributo que no sea clave principal depende transitivamente
de la clave primaria

Tercera Forma Normal (3FN): Una relacin que est en


primera y segunda forma normales y en la que ningn
atributo que no sea de clave candidata depende
transitivamente de ninguna clave candidata

Para conseguir Tercera Forma Normal se eliminan


los atributos de la relacin que dependan
transitivamente situndolos en una nueva relacin
junto con una copia del determinante

Prof. Dr. Antonio


Mosquera Gonzlez

Tercera Forma Normal

39

Prof. Dr. Antonio


Mosquera Gonzlez

Tercera Forma Normal

Ejemplo

Ejemplo

Cliente (numCliente, nombreCliente)

Cliente (numCliente, nombreCliente)

Alquiler (numCliente, numPropiedad, inicioRenta, finRenta)

Alquiler (numCliente, numPropiedad, inicioRenta, finRenta)

PropietarioPropiedad (numPropiedad, calle, renta, numPropietario,


nombrePropietario)

Propiedad (numPropiedad, calle, renta, numPropietario)


Propietario (numPropietario, nombrePropietario)

df1: numCliente, numPropiedad inicioRenta, finRenta


df2: numCliente nombreCliente
df3: numPropiedad calle, renta, numPropietario, nombrePropitario
df4: numPropietario nombrePropietario
df5: numCliente, inicioRenta numPropiedad, finRenta

num
Cliente

num
Propiedad

inicio
Renta

fin
Renta

CR76
CR76
CR56
CR56
CR56

PG4
PG16
PG4
PG36
PG16

1-Jul-03
1-Sep-04
1-Sep-02
10-Oct-03
1-Nov-05

31-Ago-04
1-Sep-05
10-Jun-03
1-Dic-04
10-Ago-06

df6: numPropiedad, inicioRenta numCliente, finRenta

Prof. Dr. Antonio


Mosquera Gonzlez

Tercera Forma Normal

40

41

Prof. Dr. Antonio


Mosquera Gonzlez

num
Cliente

nombre
Cliente

CR76
CR56

Juan
Alinne

num
Propietario

nombre
Propietario

CO40
CO93
CO40
CO93
CO93

Tina
Antonio
Tina
Antonio
Antonio

num
Propiedad

calle

renta

num
Propietario

PG4
PG16
PG4
PG36
PG16

Lgrimas, 6
Nueva, 5
Lgrimas, 6
Mayor, 2
Nueva, 5

350
450
350
375
450

CO40
CO93
CO40
CO93
CO93

Tercera Forma Normal

42

Potrebbero piacerti anche