Upload
carlos-leonardo-perez-lizama
View
2
Download
1
Embed Size (px)
DESCRIPTION
Normalización
Citation preview
1
NormalizaciNormalizacióón del n del Modelo RelacionalModelo Relacional
Bases de DatosBases de DatosIngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de Sistemas
Prof. Dr. Antonio Mosquera González
TTéécnica de Disecnica de Diseññoo
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo Relacional
La normalización es una técnica de diseño de bases de datos que parte del estudio de las relaciones entre los atributos
Prof. Dr. Antonio Mosquera González
22
La normalización emplea una serie de pruebas para tratar de identificar el agrupamiento óptimo de los atributos
33
Normalización
Dependencias Funcionales
Proceso de Normalización
Primera Forma Normal
Segunda Forma Normal
Tercera Forma Normal
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo Relacional
ÍÍndicendice
NormalizaciNormalizacióónn
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo RelacionalBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González
55
El propósito de la normalización es identificar un conjunto adecuado de relaciones que soporten los requisitos de datos de una organización
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
Conjunto de RelacionesConjunto de Relaciones
Características del conjunto adecuado de relaciones:
Número mínimo de atributos necesarios
Agrupación de los atributos que presenten una relación lógica fuerte
Redundancia mínima (cada atributo una vez salvo las claves externas)
66
Principales usos del proceso de normalización:
Técnica autónoma de diseño de tipo abajo-arriba
Técnica de validación para comprobar una estructura de relaciones creada mediante una técnica de tipo arriba-abajo
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
DiseDiseñño de Bases de Datoso de Bases de Datos
2
77
Problemas asociados con la redundancia indeseadaen los datos
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
AnomalAnomalíías de Actualizacias de Actualizacióónn
Personal (numPersonal, nombre, categoría, salario, numSucursal)
PersonalSucursal (numPersonal, nombre, categoría, salario, numSucursal, ciudad)
B005B003B003B007B003B005
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
numSucursalsalariocategoríanombrenumPersonal
B005B003B003B007B003B005
numSucursal
LéridaZaragozaZaragozaÁvilaZaragozaLérida
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
ciudadsalariocategoríanombrenumPersonal
LéridaÁvilaZaragozaBarcelonaLérida
B005B007B003B004B002
ciudadnumSucursal
Sucursal (numSucursal, ciudad)
88
Para insertar los detalles de un nuevo empleado en la relación PersonalSucursal, se deben incluir los detalles de la sucursal en la que trabaja
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
AnomalAnomalíías de Insercias de Insercióónn
B005B003B003B007B003B005
numSucursal
LéridaZaragozaZaragozaÁvilaZaragozaLérida
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
ciudadsalariocategoríanombrenumPersonal
Cuando es un empleado de una sucursal que ya existe los datos de sucursal deben ser coherentes con los que ya existen
99
Para insertar los detalles de una nueva sucursal, que actualmente no tenga ningún empleado, es necesario introducir valores nulos en los atributos del empleado
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
AnomalAnomalíías de Insercias de Insercióónn
B005B003B003B007B003B005
numSucursal
LéridaZaragozaZaragozaÁvilaZaragozaLérida
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
ciudadsalariocategoríanombrenumPersonal
Si la clave principal es algún atributo de empleado, numPersonal, se viola la integridad referencial
1010
Si se borra una tupla de la relación PersonalSucursal que corresponda con el último empleado de una sucural se perderá la información acerca de dicha sucursal
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
AnomalAnomalíías de Borradoas de Borrado
B005B003B003B007B003B005
numSucursal
LéridaZaragozaZaragozaÁvilaZaragozaLérida
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
ciudadsalariocategoríanombrenumPersonal
1111
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
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
AnomalAnomalíías de Modificacias de Modificacióónn
B005B003B003B007B003B005
numSucursal
LéridaZaragozaZaragozaÁvilaZaragozaLérida
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
ciudadsalariocategoríanombrenumPersonal
1212
Las relaciones Personal y Sucursal por separado tienen propiedades más deseables que la relación PersonalSucursal
Prof. Dr. Antonio Mosquera González
NormalizaciNormalizacióónn
DescomposiciDescomposicióónn
Propiedades importantes asociadas a la descomposiciónde una relación en varias más pequeñas:
Combinación sin pérdidas (cualquier instancia de la relación original puede identificarse a partir de instancias de las relaciones más pequeñas)
Preservación de las dependencias (una restricción de la relación original se puede mantener imponiendo restricciones a cada una de las relaciones más pequeñas)
3
Dependencias Dependencias FuncionalesFuncionales
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo RelacionalBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González
1414
El concepto de dependencia funcional describe la relación que existe entre los atributos
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
RelaciRelacióón Entre Atributosn Entre Atributos
R = (A, B, C, …, Z)Relación Universal
(todo atributo tiene un nombre distintivo en la base de datos)
1515
Las dependencias funcionales describen la relación existente entre atributos de una relación
Por ejemplo, si A y B son atributos de la relación 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
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
Dependencia FuncionalDependencia Funcional
La dependencia funcional es una propiedad de la semántica de los atributos de una relación
A y B pueden consistir cada uno de ellos de uno o más atributos
1616
El determinante hace referencia al atributo o grupo de atributos en el lado izquierdo de la flecha que define una dependencia funcional
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
DeterminanteDeterminante
A B B A
b1a2b1a2
b1a1b1a1BA
Una dependencia funcional es una propiedad de un esquema de relación y no de una instancia concreta del esquema
1717
Una característica útil para el proceso de normalización es que los determinantes de las dependencias funcionalestengan el mínimo número de atributos necesarios para mantener la dependencia funcional del lado derecho
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
Dependencia Funcional CompletaDependencia Funcional Completa
Este requisito se conoce como dependencia funcional completa: Si a y B son atributos de la relación R, B depende funcionalmente de manera completa de A si B depende de A pero no de ningún subconjunto de A
1818
Las dependencias funcionales que se utilizan en el proceso de normalización tienen las siguientes características
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
CaracterCaracteríísticassticas
Hay una relación de uno a uno entre los atributos del lado izquierdo (determinante) y los del lado derecho
Se cumplen en todo instante de tiempo
El determinante tiene el número mínimo de atributos necesarios para mantener la dependencia
4
1919
La existencia de dependencias transitivas en una relación podría llegar a causar anomalías de actualización
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
Dependencias TransitivasDependencias Transitivas
Sean A, B y C atributos de una relación R tales que A B y B C, entonces C depende transitivamente de A a través de B
B005B003B003B007B003B005
numSucursal
LéridaZaragozaZaragozaÁvilaZaragozaLérida
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
ciudadsalariocategoríanombrenumPersonal
2020
La identificación de todas las dependencias funcionales entre un conjunto de atributos debería ser bastante simple si se comprende bien el significado de cada atributo y las relaciones existentes entre los atributos
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
IdentificaciIdentificacióónn
Estos datos se suelen obtener con las técnicas de determinación de hechos
B005B003B003B007B003B005
numSucursal
LéridaZaragozaZaragozaÁvilaZaragozaLérida
3000012000180009000240009000
GerenteAyudanteSupervisorAyudanteGerenteAyudante
JuanAnaDavidMaríaSusanaJulia
SL21SG37SG14SA9SG5SL41
ciudadsalariocategoríanombrenumPersonal
numPersonal nombre, categoría, salario, numSucursal, ciudad
numSucursal ciudad
ciudad numSucursal
numSucursal, categoría salario
ciudad, categoría salario
2121
Cuando no hay información apropiada sobre el significado de los atributos se recurre al estudio de los datos (esto puede ser un problema si no constituyen una representación veraz de todos los posibles valores)
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
IdentificaciIdentificacióónn
qptqtt
E
wwwwss
zrzrzr
bbddff
aeaeae
DCBAA C
C A
B D
A, B E
2222
El objetivo principal de identificar un conjunto de dependencias funcionales para una relación es el de especificar el conjunto de restricciones de integridad que la relación debe satisfacer
Una restricción de integridad importante es la identificación de claves candidatas de las cuales saldrá la clave primaria
Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
Clave PrimariaClave Primaria
Serán claves candidatas los determinantes de dependencias funcionales que determinen cada tupla de la relación (es decir, todos los atributos)
2323Prof. Dr. Antonio Mosquera González
Dependencias FuncionalesDependencias Funcionales
Clave PrimariaClave Primaria
numPersonal nombre, categoría, salario, numSucursal, ciudad
numSucursal ciudad
ciudad numSucursal
numSucursal, categoría salario
ciudad, categoría salario
A C
C A
B D
A, B E
Proceso de Proceso de NormalizaciNormalizacióónn
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo RelacionalBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González
5
2525
La normalización es una técnica formal para analizar relaciones basándose en su clave principal (o claves candidatas) y en las dependencias funcionales
Prof. Dr. Antonio Mosquera González
Proceso de NormalizaciProceso de Normalizacióónn
BaseBase
Implica una serie de reglas que pueden utilizarse de modo que una base de datos pueda normalizarse hasta el grado deseado
Cuando no se satisfaga un requisito, la relación que viole dicho requisito deberá ser descompuesta en una serie de relaciones que cumplan individualmente el requisito
2626Prof. Dr. Antonio Mosquera González
Proceso de NormalizaciProceso de Normalizacióónn
Formas NormalesFormas Normales
Un esquema de relación está en una determinada forma normal si satisface un cierto conjunto de restricciones
Universo de Relaciones1FN
5FN
4FN
FNBC
3FN
2FN Cood, 1972
Boyce y Cood, 1974
Fagin, 1977
Fagin, 1979
En realidad, son ideas sencillas
2727
A medida que avanza el proceso de normalización, las relaciones tienen un formato más fuerte y son menos vulnerables a las anomalías de actualización
Prof. Dr. Antonio Mosquera González
Proceso de NormalizaciProceso de Normalizacióónn
Avance del ProcesoAvance del Proceso
Para el modelo de datos relaciones la única forma crítica es 1FN, el resto son opcionales
Para evitar la mayor parte de las anomalías de actualización es conveniente llegar a 3FN
2828Prof. Dr. Antonio Mosquera González
Proceso de NormalizaciProceso de Normalizacióónn
EjemploEjemplo
CO40CO93CO93
CO40CO93
numPropietario
TinaAntonioAntonio
350375450
10-Jun-031-Dic-0410-Ago-06
1-Sep-0210-Oct-031-Nov-05
Lágrimas, 6Mayor, 2Nueva, 5
PG4PG36PG16
AlinneCR56
TinaAntonio
350450
31-Ago-041-Sep-05
1-Jul-031-Sep-04
Lágrimas, 6Nueva, 5
PG4PG16
JuanCR76
nombrePropietario
rentafinRenta
inicioRenta
callenumPropiedad
nombreCliente
numCliente
Un cliente sólo puede alquilar un inmueble una vez
Primera Forma Primera Forma NormalNormal
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo RelacionalBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González
3030
Primera Forma Normal (1FN): Una relación en la que la intersección de toda fila y columna contiene un valor y sólo un valor
Prof. Dr. Antonio Mosquera González
Primera Forma NormalPrimera Forma Normal
DefiniciDefinicióónn
Para conseguir Primera Forma Normal se colocan los datos repetitivos, junto con una copia de los atributos clave originales en una relación independiente
6
3131
ClienteAlquiler (numCliente, nombreCliente, numPropiedad, calle, inicioRenta, finRenta, renta, numPropietario, nombrePropietario)
Prof. Dr. Antonio Mosquera González
Primera Forma NormalPrimera Forma Normal
EjemploEjemplo
CO40CO93CO40CO93CO93
numPropietario
TinaAntonioTinaAntonioAntonio
350450350375450
31-Ago-041-Sep-0510-Jun-031-Dic-0410-Ago-06
1-Jul-031-Sep-041-Sep-0210-Oct-031-Nov-05
Lágrimas, 6Nueva, 5Lágrimas, 6Mayor, 2Nueva, 5
PG4PG16PG4PG36PG16
JuanJuanAlinneAlinneAlinne
CR76CR76CR56CR56CR56
nombrePropietario
rentafinRenta
inicioRenta
callenumPropiedad
nombreCliente
numCliente
3232
Cliente (numCliente, nombreCliente)
PropietarioPropiedadAlquilar (numCliente, numPropiedad, calle, inicioRenta, finRenta, renta, numPropietario, nombrePropietario)
Prof. Dr. Antonio Mosquera González
Primera Forma NormalPrimera Forma Normal
EjemploEjemplo
JuanAlinne
CR76CR56
nombreCliente
numCliente
CO40CO93CO40CO93CO93
numPropietario
TinaAntonioTinaAntonioAntonio
350450350375450
31-Ago-041-Sep-0510-Jun-031-Dic-0410-Ago-06
1-Jul-031-Sep-041-Sep-0210-Oct-031-Nov-05
Lágrimas, 6Nueva, 5Lágrimas, 6Mayor, 2Nueva, 5
PG4PG16PG4PG36PG16
CR76CR76CR56CR56CR56
nombrePropietario
rentafinRenta
inicioRenta
callenumPropiedad
numCliente
Segunda Forma Segunda Forma NormalNormal
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo RelacionalBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González
3434
Segunda Forma Normal (2FN): Una relación 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
Prof. Dr. Antonio Mosquera González
Segunda Forma NormalSegunda Forma Normal
DefiniciDefinicióónn
Para conseguir Segunda Forma Normal se crean nuevas relaciones de modo que se eliminen los atributos que no sean de clave principal, situándolos en otra relación junto con una copia de aquella parte de la clave primaria de la que dependen funcionalmente
3535
Segunda Forma Normal (2FN): Una relación 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
Prof. Dr. Antonio Mosquera González
Segunda Forma NormalSegunda Forma Normal
DefiniciDefinicióón Generaln General
3636
Cliente (numCliente, nombreCliente)
PropietarioPropiedadAlquilar (numCliente, numPropiedad, calle, inicioRenta, finRenta, renta, numPropietario, nombrePropietario)
Prof. Dr. Antonio Mosquera González
Segunda Forma NormalSegunda Forma Normal
EjemploEjemplo
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
7
3737
Cliente (numCliente, nombreCliente)
Alquiler (numCliente, numPropiedad, inicioRenta, finRenta)
PropietarioPropiedad (numPropiedad, calle, renta, numPropietario, nombrePropietario)
Prof. Dr. Antonio Mosquera González
Segunda Forma NormalSegunda Forma Normal
EjemploEjemplo
JuanAlinne
CR76CR56
nombreCliente
numCliente
CO40CO93CO40CO93CO93
numPropietario
TinaAntonioTinaAntonioAntonio
350450350375450
Lágrimas, 6Nueva, 5Lágrimas, 6Mayor, 2Nueva, 5
PG4PG16PG4PG36PG16
nombrePropietario
rentacallenumPropiedad
31-Ago-041-Sep-0510-Jun-031-Dic-0410-Ago-06
1-Jul-031-Sep-041-Sep-0210-Oct-031-Nov-05
PG4PG16PG4PG36PG16
CR76CR76CR56CR56CR56
finRenta
inicioRenta
numPropiedad
numCliente
Tercera Forma Tercera Forma NormalNormal
NormalizaciNormalizacióón del Modelo Relacionaln del Modelo RelacionalBases de DatosBases de Datos
IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González
3939
Tercera Forma Normal (3FN): Una relación que está en primera y segunda forma normales y en la que ningún atributo que no sea clave principal depende transitivamente de la clave primaria
Prof. Dr. Antonio Mosquera González
Tercera Forma NormalTercera Forma Normal
DefiniciDefinicióónn
Para conseguir Tercera Forma Normal se eliminan los atributos de la relación que dependan transitivamente situándolos en una nueva relación junto con una copia del determinante
4040
Tercera Forma Normal (3FN): Una relación que está en primera y segunda forma normales y en la que ningún atributo que no sea de clave candidata depende transitivamente de ninguna clave candidata
Prof. Dr. Antonio Mosquera González
Tercera Forma NormalTercera Forma Normal
DefiniciDefinicióón Generaln General
4141Prof. Dr. Antonio Mosquera González
Tercera Forma NormalTercera Forma Normal
EjemploEjemplo
Cliente (numCliente, nombreCliente)
Alquiler (numCliente, numPropiedad, inicioRenta, finRenta)
PropietarioPropiedad (numPropiedad, calle, renta, numPropietario, nombrePropietario)
df1: numCliente, numPropiedad inicioRenta, finRenta
df2: numCliente nombreCliente
df3: numPropiedad calle, renta, numPropietario, nombrePropitario
df4: numPropietario nombrePropietario
df5’: numCliente, inicioRenta numPropiedad, finRenta
df6’: numPropiedad, inicioRenta numCliente, finRenta
4242Prof. Dr. Antonio Mosquera González
Tercera Forma NormalTercera Forma Normal
EjemploEjemplo
Cliente (numCliente, nombreCliente)
Alquiler (numCliente, numPropiedad, inicioRenta, finRenta)
Propiedad (numPropiedad, calle, renta, numPropietario)
Propietario (numPropietario, nombrePropietario)
JuanAlinne
CR76CR56
nombreCliente
numCliente
CO40CO93CO40CO93CO93
numPropietario
TinaAntonioTinaAntonioAntonio
nombrePropietario
31-Ago-041-Sep-0510-Jun-031-Dic-0410-Ago-06
1-Jul-031-Sep-041-Sep-0210-Oct-031-Nov-05
PG4PG16PG4PG36PG16
CR76CR76CR56CR56CR56
finRenta
inicioRenta
numPropiedad
numCliente
CO40CO93CO40CO93CO93
numPropietario
350450350375450
Lágrimas, 6Nueva, 5Lágrimas, 6Mayor, 2Nueva, 5
PG4PG16PG4PG36PG16
rentacallenumPropiedad