Está en la página 1de 31

NORMALIZACIÓN DE LAS

TABLAS DEL BANCO DE DATOS

Dra. María G. Rosa-Rosario


Objetivos
 En el capítulo se discutirá:
 ¿Qué es normalización y el papel que desempeña en el
diseño del banco de datos?
 Acerca de las formas normales: 1NF, 2NF, 3NF, BCNF Y
4NF.
 ¿Cómo las formas normales son transformadas de formas
normales bajas a formas normales altas?
 Que la normalización y el modelo de E-R son usados
concurrentemente para producir un buen diseño de un
banco de datos.
 Que algunas situaciones requieren de-normalización para
generar información eficientemente.
META

 La meta principal del diseño de los bancos


de datos es describir la información en
términos de tener una estructura relacional
apropiada.
 Dicha relación debe estar libre de
anomalías.
Continuación:
 Para entender la normalización se necesita definir
dos términos.
 Dependencia funcional
 Es la relación entre atributos dentro de una relación.

 La dependencia funcional entre atributos en una


relación usualmente no envuelve una ecuación.
 Ej. Suponga que los estudiantes tienen un número de
identificación único, SID y que cada estudiante tiene
solo una materia principal.
 Dado el valor de un SID, se puede encontrar la
especialidad (Major) del estudiante.
 “Major” es dependiente funcional de SID.
 SID  Major (N:1) (Los atributos al lado izq. de la flecha se
llaman determinantes.)
 SID determina funcionalmente a Major.
EJEMPLO
 Podemos decir que el TotalPrice es
dependiente funcional de ItemPrice y
Quantity.
 Las ecuaciones representan la
dependencia funcional.
 Ej. Si sabemos el precio de un artículo y la
cantidad comprada, podemos calcular el
precio total de esos artículos.
 TotalPrice = ItemPrice x Quantity
Continuación:
 Ejemplo:
 Las dependencias funcionales pueden envolver grupos
de atributos.
 Considere la relación GRADES (SID, ClassNumber,
Grade)
 La combinación de SID y ClassName determina una
nota, la dependencia funcional se escribe:
 (SID, ClassName)  Grade

 Observe que SID y ClassName son necesarios para


determinar una nota, no se puede subdividir la
dependencia funcional debido a que ninguno, SID o
ClassName determinan GRADE por sí solo.
LLAVES o CLAVES
 Grupo de uno o más atributos los cuales
son los únicos identificadores de una fila.

Fig. 5.3 Kroenke


Continuación:

 Asuma que estudiante se le permite participar


en una sola actividad a la vez, en este caso el
valor de SID determina una fila única, por lo
tanto es una clave.
 Por otro lado, si al estudiante se le permite
matricularse en muchas actividades a la misma
vez, es posible para un valor de SID aparecer
en dos o más filas de la tabla, debido a esto SID
no puede ser el único identificador en la fila. Se
requiere entonces la combinación de atributos.
Continuación:

Fig. 5.4 Kroenke


CLAVE COMBINADA

 Algunas veces más de un atributo será


requerido para identificación única de una
fila. (tuple)
 Si una clave consiste de más de un
atributo, es llamado una clave combinada
o compuesta.
 Fig. 5.4
Tablas y normalización del
banco de datos
 Las tablas son un bloque de construcción en
el proceso de diseño de los bancos de datos.
 La normalización es un proceso que consiste
en asignar atributos a las entidades.
 Reduce las redundancia de datos.
 Ayuda a eliminar las anomalías de los datos.
 Produce redundancia controlada que permite
vincular/enlazar las tablas del banco de datos.
NORMALIZACIÓN
 Proceso de evaluar y convertir una
relación para reducir las anomalías de la
modificación.
 Detecta y elimina la redundancia de la
data.
 La eliminación de las anomalías se
ejecutan redefiniendo la relación en dos o
más.
 Anomalía-consecuencia indeseada de la
modificación de la data.
FORMAS NORMALES
 Relación de clase y los términos que
identifican el nivel para prevenir
anomalías.
NIVELES DE FORMAS NORMALES
Necesidad de normalización

Estructura de tabla que concuerda con el formato de un reporte.


Observaciones de la tabla
 PRO_NUM
 Aparentemente se intenta convertir esta entrada en clave
primaria.
 Contiene valor nulo:
 Para mantener la integridad de la identidad no se permite
un valor nulo en la clave primaria.
 Según Rob y Coronell;
 se produce un nulo cuando oprime la tecla “Enter” del teclado sin
haber hecho ningún tipo de entrada previa.
 La entrada de la tabla invitan a la inconsistencia de
datos.
 Ej. El valor de JOB_CLASS “Ingeniero Elect.” podría ser
ingresado como “Ing. Elect.” en algunos casos, “IngEl.” en
otros “IE” en otros más.
Continuación:
Observaciones de la tabla
 La tabla muestra redundancias. Estas redundancias de datos
producen las siguientes anomalías.
 Actualización
 La modificación de JOB_CLASS por número de empleado
(EMP_NUM) 105, requiere (potencialmente) modificaciones, una por
cada EMP_NUM= 105.
 Inserción
 Para completar una definición de fila, un nuevo empleado debe ser
asignado a un proyecto.
 Si el empleado aún no ha sido asignado, se debe crear un proyecto
virtual para completar el ingreso del dato empleado.
 Eliminación
 Si el empleado 103 deja el trabajo, se deberán eliminar todas las
entradas en las cuales EMP_NUM = 103.
 Cuando se realizan estas eliminaciones, también se pierden otros
datos vitales.
Conversión a 1NF:

 Para estar en la primera forma normal


(First Normal Form-1NF)
 Los grupos repetidos deben ser eliminados.
 Si existen deben eliminarse asegurándose de que
cada fila defina una sola entidad.
 Para mantener una clave primaria apropiada, que
identifique de manera única a cualquier valor de
atributo, la nueva clave deberá ser una
combinación de PORJ_NUM Y EMP-NUM.
Continuación:
Conversión a 1NF
Continuación:
Conversión a 1NF
 Identificación de dependencias:
 Dependencias deseadas basadas en la clave
primaria.
 Dependencias menos deseadas:
 Parciales
 Basadas solamente en una parte de una clave compuesta.
 se tiene que conocer sólo el PROJ_NUM para
determinar el PROJ_NAME
 es decir el PROJ_NUM depende solamente de una parte
de la clave primaria
 se necesita conocer sólo el EMP_NUM para encontrar el
EMP_NAME, JOB_CLASS y CHG_HOUR
Continuación:
Conversión a 1NF

 Transitivas
 Un atributo no principal depende de otro atributo no
principal.
 El problema con las dependencias transitivas es que siguen
produciendo anomalía de datos.
Continuación:
Conversión a 1NF

El diagrama contiene dependencias parciales basadas solamente en


una parte de la clave primaria.
Continuación:
Conversión a 1NF

 El término primera forma normal (1NF) describe la


forma tabular en la cual:
 Todos los atributos de clave están definidos.
 No existen grupos repetidores en la tabla.
 Cada intersección de fila/columna puede contener uno y
sólo un valor, no un conjunto de valores.
 Todos los atributos son dependientes de la clave primaria.
 Cualquier atributo que por lo menos sea parte de una clave
se conoce como: atributo principal o atributo clave.
 Ej. en la tabla anterior PROJ_NUM y EMP_NUM son atributos
principales o clave.
 Todas las bases relacionales satisfacen los requerimientos
de 1NF.
Conversión a 2NF
 Para estar en la segunda forma normal
(Second Normal Form-2NF)
 La relación debe estar en INF
 Escriba cada componente de clave en una línea aparte y
luego, escriba la clave original (compuesta) en la última
línea:
 Basada en la tabla anterior:
 PROJ_NUM
 EMP_NUM
 PROJ_NUM EMP_NUM
 Cada componente se convertirá en la clave en una nueva
tabla.
Continuación:
Conversión a 2NF
Continuación:
Conversión a 2NF
 Escriba los atributos dependientes después
de cada clave nueva:

PROJECT (PROJ_NUM, PROJ_NAME)


EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS, CHG_HOUR)
ASSIGN (PROJ_NUM, EMP_NUM, HOURS)
Continuación:
Conversión a 2NF

 Una tabla está en segunda forma normal


(2NF) si:
 Está en 1NF.
 No incluye dependencias parciales.
 ningún atributo depende solamente de una parte de la
clave primaria
 Existe la posibilidad de que una tabla en 2NF
exhiba dependencia transitiva.
 uno o más atributos pueden ser funcionalmente
dependientes de atributos no de clave.\
Conversión a 3NF

 Las anomalías de datos, creadas por la


organización de la base de datos mostrada
en la figura anterior, se eliminan fácilmente si
se elimina la dependencia transitiva y se
guarda en otra tabla.
 Sin enbargo, JOB_CLASS debe retenerse e
la tabla original 2NF como clave foránea,
para establecer un vículo ente la tabla
original y la tabla recién creada.
Continuación:
Conversión a 3NF
 Una vez que se termina la conversión, la base de
datos contiene cuatro tablas:

PROJECT (PROJ_NUM, PROJ_NAME)


ASSIGN (PROJ_NUM, EMP_NUM, HOURS)
EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS)
JOB (JOB_CLASS, CHG_HOUR)

 Esta conversión, ha eliminado la dependencia


transitiva de la tabla EMPLEADO original; ahora se
dice que las tablas están en tercera forma
normalizada (3NF).
Continuación:
Conversión a 3NF

 Para estar en la tercera forma normal


(Third Normal form-3NF)
 La relación debe estar en 2NF
 No contiene dependencias transitivas
 Transitivo: Cuando un atributo funciona
indirectamente dependiendo de una clave (la
dependencia es a través de un atributo que no es
una clave)
Continuación:
 Forma Normal Boyce- Codd
 La relación debe estar en 3NF
 Cada determinante puede ser candidato para ser una
clave.
 Para estar en la cuarta forma normal
(Fourth Normal form-4NF)
 La relación no puede contener dependencias de
multivalor.
 Para estar en la quinta forma normal
(Fifth Normal form-5NF)
 Dependencias que son obscuras y fuera del alcance
del texto. (no discutidas)

También podría gustarte