Construcción de SIGEPRO usando PMI para proyecto...

49
Normalización Universidad Nacional de Colombia Facultad de Ingeniería Preparó: Ismael Castañeda Fuentes Fuente principal: Database Systems A Practical Approach to Design, Implementation, and Management. Thomas Connolly, Carolyn Begg

Transcript of Construcción de SIGEPRO usando PMI para proyecto...

Page 1: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Normalización

Universidad Nacional de Colombia

Facultad de Ingeniería

Preparó: Ismael Castañeda Fuentes Fuente principal: Database Systems – A Practical Approach to Design, Implementation, and Management. Thomas Connolly, Carolyn Begg

Page 2: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Objetivos

Terminología

Propósito de la normalización

Uso de la normalización en diseño de bases de datos relacionales

Problemas potenciales relacionados con datos redundantes

Dependencias funcionales

Uso de las dependencias funcionales en la normalización

Identificación de dependencias funcionales en una relación

Dependencias funcionales para identificar la llave primaria

Dependencias funcionales para agrupar atributos en relaciones

Identificar 1FN, 2FN, 3FN, BCFN,4FN, 5FN

Dependencias multivaluadas

Axiomas de Armstrong

Page 3: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Terminología

FORMAL

(Codd) COMÚN FÍSICO

Relación Tabla Archivo

Tupla Fila Registro

Atributo Columna Campo

Dominio Tipo de dato Tipo de dato

TÉRMINOS EQUIVALENTES

Page 4: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Propósito de la normalización

La normalización es una técnica para obtener un conjunto de

relaciones que soporten apropiadamente los requerimientos de datos

de una empresa

Características del conjunto de relaciones Mínimo número de atributos necesarios para soportar los requerimientos de datos

Atributos correlacionados están en la misma relación

Redundancia mínima, excepto para atributos que son parte de llaves foráneas

Beneficios Acceso y mantenimiento más sencillo

Mínimo uso de espacio en memoria de los computadores

Page 5: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Normalización y diseño de bases de datos

Page 6: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Redundancia de datos y anomalías en la actualización

El objetivo principal del diseño de base de datos relacional, es agrupar los

atributos en relaciones para minimizar la redundancia de datos

Beneficios potenciales al hacer la implementación Actualizaciones a la base de datos se hacen con el mínimo de operaciones, reduciendo la posibilidad

de datos inconsistentes

Reducción del espacio requerido en almacenamiento persistente, reduciendo costes

Page 7: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Redundancia de datos y anomalías en la actualización

La relación StaffBranch tiene datos redundantes

Al hacer operaciones en la base de datos se pueden presentar anomalías Inserción

Actualización

Borrado

Page 8: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Descomposición - Solución a la Redundancia de datos

Page 9: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Propiedades de la Descomposición

Dos propiedades importantes de la descomposición:

La propiedad Lossless-join nos permite encontrar cualquier instancia de

la relación original en instancias correspondientes en relaciones más

pequeñas

La propiedad de Preservación de dependencia nos permite imponer

una restricción en la relación original mediante la imposición de una

restricción en cada una de las relaciones más pequeñas.

Page 10: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Dependencias funcionales

Concepto importante en la normalización

Describen asociaciones entre atributos

Si A y B son atributos de R, B es funcionalmente dependiente de A, si para cada

valor de A en R está asociado exactamente con un valor de B en R

Notación: A B

Representación gráfica:

Determinante de una dependencia funcional

Atributo o grupo de atributos al lado izquierdo de la flecha

Page 11: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Dependencias funcionales

Dependencia funcional basada en un solo dato

staffNo sName

sName staffNo

Dependencia funcional considerando todos los datos

staffNo sName

Page 12: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Características de las dependencias funcionales

Dependencia Funcional completa

Los determinantes deben tener el mínimo número de atributos necesarios para mantener

la dependencia funcional con el (los) atributo(s) del lado derecho

Si A y B son atributos de una relación, B es funcionalmente completa dependiente de A,

si B es funcionalmente dependiente de A, pero no sobre cualquier propiedad del

subconjunto A

Ejemplo de dependencia parcial

staffNo, sName branchNo

Verdadero, cada valor de (staffNo, sName)

está asociado con un valor de branchNo

Pero, branchNo también es funcionalmente

dependiente de un subconjunto de

(staffNo, sName), es decir de staffNo

Page 13: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Características de las dependencias funcionales

Características principales de dependencias funcionales usadas

en normalización

Hay una asociación 1 a 1 entre el(los) atributo(s) del lado izquierdo

(determinante) y aquellos que están en la mano derecha de la dependencia

funcional

Se cumple para todos los casos

El determinante tiene el número mínimo de atributos necesarios para

mantener la dependencia con el(los) atributo(s) de la mano derecha

Page 14: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Dependencias transitivas

Importante reconocer dependencias transitivas porque su existencia en una

relación puede potencialmente causar anomalías al hacer actualizaciones

Dependencia transitiva

Si A, B y C son atributos de una relación tal que

A B y B C Entonces C es dependiente transitivamente de A vía B (a condición de que A no

es funcionalmente dependiente de B o C)

Ejemplo

staffNo sName, position, salary, branchNo, bAddress

branchNo bAdress

Dependencia transitiva:

branchNo bAddress existe sobre staffNo vía branchNo

Page 15: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Proceso de normalización

Técnica formal para analizar una relación basada en su llave primaria y las

dependencias funcionales entre los atributos de esa relación

Se ejecuta a través de una serie de pasos. Cada paso corresponde a una forma

normal específica, que tiene sus propiedades

Page 16: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Identificación de dependencias funcionales

Identificar todas las dependencias funcionales de un conjunto de atributos es

relativamente simple, si el significado de cada atributo y las asociaciones entre

atributos se conocen muy bien

Esta información debe ser proporcionada por la empresa de charlas con los

usuarios y/o documentación tal como los requerimientos de los usuarios

Si los usuarios no están disponibles y/o la documentación está incompleta,

dependiendo de la aplicación sobre la base de datos el diseñador de la base de

datos debe utilizar el sentido común y/o experiencia para suministrar la

información faltante

Page 17: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Ejemplo de identificación de dependencias funcionales

Se supone que position y branch determinan salary del staff

Dependencias funcionales para la relación StaffBranch

staffNo sName, position, salary, branchNo, bAddress

branchNo bAddress

bAddress branchNo

branchNo, position salary

bAddress, position salary

Page 18: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Ejemplo de identificación de dependencias funcionales

Dependencias funcionales entre los

atributos A hasta E

A C (fd1)

C A (fd2)

B D (fd3)

A, B E (fd4)

Con las dependencias funcionales,

identificar las restricciones de integridad que

debe tener la relación

Identificar llaves candidatas y una de ellas la

llave primaria

Page 19: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Ejemplo de identificación de dependencias funcionales

Dependencias funcionales de StaffBranch

staffNo sName, position, salary,

branchNo, bAddress

branchNo bAddress

bAddress branchNo

branchNo, position salary

bAddress, position salary

Determinantes: staffNo, branchNo, bAddress, (branchNo, position) y (bAddress, position)

Para identificar llaves candidatas:

Identificar el(los) atributo(s) que identifican cada tupla en la relación

Todos los atributos que no hacen parte de la llave candidata deben ser funcionalmente

dependientes de la llave

La única llave candidata y llave primaria de la relación StaffBranch es staffNo (los demás

atributos de la relación son funcionalmente dependientes de staffNo)

Page 20: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Ejemplo de identificación de dependencias funcionales

Dependencias funcionales

A C (fd1)

C A (fd2)

B D (fd3)

A, B E (fd4)

Determinantes A, B, C y (A,B)

Único determinante que funcionalmente

determina todos los otros atributos es (A, B)

Entonces (A, B) es la llave primaria

Page 21: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Proceso de normalización

A medida que avanza la normalización, las relaciones se vuelven cada vez

más restringidas (más fuertes) en la forma y también menos vulnerables a las

anomalías de actualización.

Page 22: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Proceso de normalización

Page 23: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Forma desnormalizada (UNF)

UNF: Tabla que contiene uno o más grupos repetitivos

Para crear una tabla sin normalizar

Transformar los datos de la fuente de información (formulario, por ejemplo) en formato

de tabla con columnas y filas

Page 24: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Forma desnormalizada (UNF)

CLIENTE

ID Cliente Nombre Apellido Teléfono 1 Teléfono 2 Teléfono 3

123 Rachel Ingram 555-861-2025

456 James Wright 555-403-1659 555-776-4100

789 Maria Fernandez 555-808-9633

CLIENTE

ID Cliente Nombre Apellido Teléfono

123 Rachel Ingram 555-861-2025

456 James Wright 555-403-1659

555-776-4100

789 Maria Fernandez 555-808-9633

Grupo repetitivo dentro de columna

Grupo repetitivo a través de columnas

CLIENTE

ID Cliente Nombre Apellido Teléfono

123 Rachel Ingram 555-861-2025

456 James Wright 555-403-1659

456 James Wright 555-776-4100

789 Maria Fernandez 555-808-9633

Page 25: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

UNF a 1FN

1FN: relación en la cual en cada intersección de una fila y una columna contiene

uno y solo un valor, sin grupos repetitivos

Seleccionar un atributo o conjunto de atributos para actuar como la llave para la

tabla no normalizada

Identificar el(los) grupo(s) de repetitivo(s) en la tabla no normalizada que se

repite para el(los) atributo(s) llave(s)

Quitar el grupo de repetitivo

Introduciendo datos apropiados en las columnas vacías de filas que contienen los datos

repetitivos ("aplanamiento" de la tabla)

ó

Colocando los datos repetitivos junto con una copia original del (de los) atributo(s)

clave(s) en una relación aparte

Page 26: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

UNF a 1FN

CLIENTE

ID

Cliente Nombre Apellido Teléfono 1 Teléfono 2 Teléfono 3

123 JOSE ALFREDO Ingram 555-861-2025

456 ALEX Wright 555-403-1659 555-776-4100

789 MARTIN Fernandez 555-808-9633

CLIENTE

ID

Cliente Nombre Apellido Teléfono

123 Rachel Ingram 555-861-2025

456 James Wright 555-403-1659

555-776-4100

789 Maria Fernandez 555-808-9633

Relación no normalizada

Relación no normalizada

CLIENTE

ID

Cliente Nombre Apellido

123 Rachel Ingram

456 James Wright

789 Maria Fernandez

Teléfono del cliente

ID Cliente Teléfono

123 555-861-2025

456 555-403-1659

456 555-776-4100

789 555-808-9633

Diseño en 1FN

Page 27: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

UNF a 1FN

Diseño en 1FN

Relación no normalizada Relación no normalizada

Page 28: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Primera Forma Normal (1NF)

Dependencias funcionales

Page 29: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Segunda Forma Normal (2NF)

2NF Basada en el concepto de dependencia funcional completa

Dependencia funcional completa indica que si

A y B son los atributos de una relación

B es totalmente dependiente de A si B es funcionalmente dependiente de A, pero no en

un subconjunto de A

Segunda Forma Normal (2NF)

Una relación que está en 1FN y todo atributo no llave primaria es totalmente

dependiente funcionalmente de la llave primaria

Una relación que está en 1FN y cada atributo no llave primaria tiene dependencia

funcional total de cualquier llave candidata

Page 30: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

1FN a 2NF

Identificar la llave primaria de la relación 1NF

Identificar las dependencias funcionales en la relación

Si existen dependencias parciales en la llave primaria eliminarlas colocándolas

en una nueva relación junto con una copia de su determinante

Dependencias funcionales

Page 31: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Tercera Forma Normal (3NF)

3NF Basada en el concepto de dependencia transitiva

La dependencia transitiva es una condición donde

A, B y C son los atributos de una relación tal que si A B y B C,

Entonces C es transitivamente dependiente de A a través de B (condición: A no

es funcionalmente dependiente de B o C)

Tercera forma Normal 3FN

Relación que está en 1FN y 2FN y en la que ningún atributo no llave primaria es

transitivamente dependiente de la llave primaria

Relación que está en primera y en segunda forma normal y en el que ningún atributo no

llave primaria es transitivamente dependiente de cualquier llave candidata

Page 32: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

2FN a 3NF

Identificar la llave primaria en la relación 2FN

Identificar las dependencias funcionales en la relación

Si existen dependencias transitivas de la llave primaria,

eliminarlas reemplazándolas por una nueva relación,

junto con una copia de su dominante

Page 33: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Más sobre dependencias funcionales

El conjunto completo de dependencias funcionales de una relación dada puede

ser muy grande

Es importante encontrar un enfoque que reduzca el conjunto a un tamaño

manejable

Page 34: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Reglas de inferencia para dependencias funcionales

Identificar un conjunto de dependencias funcionales de una relación

(representadas como X) que sea un conjunto más pequeño que el conjunto

completo de dependencias funcionales para esa relación (representadas como

Y) y que tengan la propiedad de que para cada dependencia funcional en Y está

implícita por las dependencias funcionales en X

El conjunto de todas las dependencias funcionales que están implícitas en un

conjunto dado de dependencias funcionales X se llama el cierre de X, notado X+

Un conjunto de reglas de inferencia, denominados axiomas de Armstrong,

especifican cómo las nuevas dependencias funcionales se pueden inferir de las

dadas.

Page 35: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Reglas de inferencia para dependencias funcionales

Sean A, B y C subconjuntos de los atributos de la relación R.

Los axiomas de Armstrong son:

(1) Reflexividad Si B es un subconjunto de A, entonces A B

(2) Incremento (augmentation) Si A B, entonces A,C B,C

(3) Transitividad Si A B y B C, entonces A C

Reglas adicionales se pueden derivar de las tres primeras las cuales simplifican

el cálculo de X+

Sea D otro subconjunto de atributos de la relación R, entonces:

(4) Autodeterminación A A

(5) Descomposición Si A B,C, entonces A B y A C

(6) Unión Si A B y A C, entonces A B,C

(7) Composición Si A B y C D, entonces A,C B,D

Page 36: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Conjuntos mínimos de dependencias funcionales

Un conjunto de dependencias funcionales Y está cubierta por un conjunto de

dependencias funcionales X, si cada dependencia funcional de Y está también

en X+, es decir, todas las dependencias en Y se pueden inferir de X.

Un conjunto de dependencias funcionales X es mínima si satisface las

siguientes condiciones:

Cada dependencia en X tiene un solo atributo en su lado derecho

No puede sustituir ninguna dependencia A B en X con la dependencia C B, donde

C es un subconjunto propio de A, y aún así tener un conjunto de dependencias

equivalentes a X.

No se puede eliminar ninguna dependencia de X y conservar un conjunto de

dependencias que equivalen a X.

Page 37: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Forma normal de Boyce-Codd (BCFN)

Una relación está en Boyce-Codd (BCFN) si y solo si cada determinante es llave

candidata

Basada en las dependencias funcionales que tienen en cuenta todas las claves

candidatas en una relación, sin embargo BCNF tiene restricciones adicionales

con respecto a la definición general de 3FN

La diferencia entre 3FN y BCFN es que para una dependencia funcional A B,

3FN permite esta dependencia en una relación si B es un atributo de la llave

primaria y A no es llave candidata. Mientras que, BCNF insiste en que para que

esta dependencia permanezca en una relación, A debe ser una llave candidata

Toda relación en BCFN también está en 3FN. Sin embargo, una relación en 3FN

no necesariamente está en BCFN

Page 38: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Forma normal de Boyce-Codd (BCFN)

Dependencias Funcionales de la relación ClientInterview

Page 39: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Forma normal de Boyce-Codd (BCFN)

Relaciones BCNF Interview y StaffRoom

Page 40: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Forma normal de Boyce-Codd (BCFN)

Son muy raras las violaciones a BCNF

Potenciales violaciones a BCNF pueden ocurrir en una relación que:

Contiene dos (o más) llaves candidatas compuestas

Las llaves candidatas se superponen, es decir, tienen al menos un atributo en común

Page 41: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Repaso de Normalización (UNF a BCNF)

Page 42: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Repaso de Normalización (UNF a BCNF)

Page 43: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Repaso de Normalización (UNF a BCNF)

Page 44: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Repaso de Normalización (UNF a BCNF)

Page 45: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Cuarta Forma Normal (4NF)

A pesar de que BCNF elimina anomalías debidas a dependencias funcionales,

otro tipo de dependencias, llamadas dependencias multi-valuadas (MVD),

pueden causar redundancia de datos

La posible existencia de dependencias multi-valuadas en una relación se debe a

1NF y que puede resultar en redundancia de datos

Dependencia multi-valuada (MVD)

Dependencia entre atributos de una relación (por ejemplo: A, B y C), tal que para cada

valor de A hay un conjunto de valores para B y un conjunto de valores para C. Sin

embargo, el conjunto de valores de B y C son independientes uno del otro.

Notación MVD entre atributos A, B y C de una relación:

A ->> B

A ->> C

Page 46: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Cuarta Forma Normal (4NF)

Una dependencia multi-valuada se puede definir como trivial o no trivial

Una MVD A ->> B en una relación R se define como trivial si

(a) B es un subconjunto de A ó

(b) A U B = R

Una MVD se define como no trivial si ni (a) ni (b) se satisfacen

Una MVD trivial no especifica una restricción en una relación, mientras que una

MVD no trivial especifica una restricción

4FN es una relación que está en forma normal Boyce-Codd y no contiene

dependencias no triviales multi-valuadas

Page 47: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Cuarta Forma Normal (4NF) - Ejemplo

Page 48: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Quinta forma normal (5NF)

5FN es una relación descompuesta en dos relaciones que tienen la propiedad

lossless-join, la que asegura que no se generan tuplas no válidas cuando las

relaciones se reúnen a través de una operación natural join

Sin embargo, hay requisitos para descomponer una relación en más de dos

relaciones. Aunque raros, esos casos se manejan por dependencia join y quinta

forma normal (5NF)

5FN es una relación que no tiene dependencias join

Page 49: Construcción de SIGEPRO usando PMI para proyecto TIdis.unal.edu.co/~icasta/consejero/Normalizacion.pdf · Uso de la normalización en diseño de bases de datos relacionales Problemas

Grupo de Investigación en Bases de Datos UNBD SIGEPRO

Quinta forma normal (5NF) - Ejemplo