Gdi-04-Formas Normales de Una Base de Datos

22
FRANCISCO JUAREZ R.

description

gf

Transcript of Gdi-04-Formas Normales de Una Base de Datos

Page 1: Gdi-04-Formas Normales de Una Base de Datos

F R A N C I S C O J U A R E Z R .

Page 2: Gdi-04-Formas Normales de Una Base de Datos

CONTENIDO

• NORMALIZACIÓN

• PRIMERA FORMA NORMAL

• CONCEPTOS ADICIONALES

• SEGUNDA FORMA NORMAL

• TERCERA FORMA NORMAL

• BCNF

F R A N C I S C O J U A R E Z R . 2

Page 3: Gdi-04-Formas Normales de Una Base de Datos

OBJETIVOS DE LA NORMALIZACIÓN

• Eliminar comportamientos anormales en actualizaciones.

• Eliminar datos redundantes

• Facilitar comprensión de relaciones semánticas

• Identifica relaciones basándose en las claves candidatas->DF

F R A N C I S C O J U A R E Z R . 3

Page 4: Gdi-04-Formas Normales de Una Base de Datos

RESTRICCIONES DE INTEGRIDAD

INTEGRIDAD DE LA ENTIDAD

UN ATRIBUTO QUE ES CLAVE DE UNA FILA EN UNA RELACION NO PUEDE TENER UN

VALOR NULO

INTEGRIDAD REFERENCIAL

TODA CLAVE EXTERNA PUEDE TAMBIEN SER NULA, O SU VALOR PUEDE SER EL

VALOR REAL DE UNA CLAVE EN OTRA RELACION

DEPENDENCIA FUNCIONAL

F R A N C I S C O J U A R E Z R . 4

Page 5: Gdi-04-Formas Normales de Una Base de Datos

ANOMALIAS

ANOMALIA DE ACTUALIZACION.-

INCONSISTENCIA DE LOS DATOS COMO RESULTADO DE DATOS REDUNDANTES Y

ACTUALIZACIONES PARCIALES.

ANOMALIA DE ELIMINACION.-

PERDIDA NO INTENCIONADA DE DATOS DEBIDO A QUE SE HAN BORRADO OTRO

DATOS.

ANOMALIA DE INSERCION.-

IMPOSIBILIDAD DE ADICIONAR DATOS EN LA BASE DE DATOS DEBIDO A LA

AUSENCIA DE OTROS DATOS.

F R A N C I S C O J U A R E Z R . 5

Page 6: Gdi-04-Formas Normales de Una Base de Datos

CONCEPTOS BASICOS DE NORMALIZACION

DESCOMPOSICION DE RELACIONES.-

DIVISION DE UNA RELACION EN MULTIPLES RELACIONES.

FORMAS NORMALES.-

REGLAS PARA RELACIONES ESTRUCTURADAS QUE ELIMINAN LAS ANOMALIAS

VALOR ATOMICO.-

UN VALOR QUE NO ES UN CONJUNTO DE VALORES O UN GRUPO REPETITIVO.

F R A N C I S C O J U A R E Z R . 6

Page 7: Gdi-04-Formas Normales de Una Base de Datos

NORMALIZACIÓN

TRABAJADOR

ID_TRABAJADOR NOMBRE TIPO DE OFICIO ID_SUPV ID_EDIFICIO

1235 A. Garcia Electricista 1311 312

1235 A. Garcia Electricista 1311 515

1412 A. Toledo Fontanero 312

1412 A. Toledo Fontanero 460

1412 A. Toledo Fontanero 435

1412 A. Toledo Fontanero 515

1311 L. Solari Electricista 435

Es el proceso de conversión de una relación en una forma estándar.

F R A N C I S C O J U A R E Z R . 7

Page 8: Gdi-04-Formas Normales de Una Base de Datos

PRIMERA FORMA NORMAL

Una relación esta en forma normal (1FN) si los valores en la relación son atómicos

para cada atributo en la relación. Esto quiere decir simplemente que los valores de

los atributos no pueden ser un conjunto de valores o grupo repetitivo.

F R A N C I S C O J U A R E Z R . 8

Page 9: Gdi-04-Formas Normales de Una Base de Datos

PRIMERA FORMA NORMAL

ASIGNACION

(ID_TRABAJADOR, NOMBRE, TIPO DE OFICIO, ID_SUPV, ID_EDIFICIO)

TRABAJADOR

ID_TRABAJADOR NOMBRE TIPO DE OFICIO ID_SUPV ID_EDIFICIO

1235 A. Garcia Electricista 1311 (312, 515)

1412 A. Toledo Fontanero (312, 460)

A. Toledo (435, 515)

1311 L. Solari Electricista 435

F R A N C I S C O J U A R E Z R . 9

Page 10: Gdi-04-Formas Normales de Una Base de Datos

PRIMERA FORMA NORMAL

(ID_TRABAJADOR, NOMBRE, TIPO DE OFICIO, ID_SUPV, ID_EDIFICIO)

TRABAJADOR

(ID_TRABAJADOR, NOMBRE, TIPO OFICIO, ID_SUPV)

ASIGNACION

(ID_TRABAJADOR, ID_EDIFICIO)

F R A N C I S C O J U A R E Z R . 10

Page 11: Gdi-04-Formas Normales de Una Base de Datos

PRIMERA FORMA NORMAL

TRABAJADOR

ID_TRABAJADOR NOMBRE TIPO DE OFICIO ID_SUPV

1235 A. Garcia Electricista 1311

1412 A. Toledo Fontanero

1311 L. Solari Electricista

ASIGNACION

ID_TRABAJADOR ID_EDIFICIO

1235 312

1235 515

1412 312

1412 460

1412 435

1412 515

F R A N C I S C O J U A R E Z R . 11

Page 12: Gdi-04-Formas Normales de Una Base de Datos

EJEMPLO DE PRIMERA FORMA NORMAL

FACTURA

(NUM_FACT, COD_CLI, NOM_CLI, DIR_CLI, TELF_CLI, COD_VEN, NOM_VEN, FECHA,

COD_ART, DES_ART, CANT, PU, PV)

F R A N C I S C O J U A R E Z R . 12

Page 13: Gdi-04-Formas Normales de Una Base de Datos

CONCEPTOS ADICIONALES DE NORMALIZACION

DEPENDENCIA FUNCIONAL.-

EL VALOR DE UN ATRIBUTO EN UNA TUPLA DETERMINA EL VALOR DE OTROATRIBUTO EN LA TUPLA.

DETERMINANTE.-

EL ATRIBUTO DE LA PARTE IZQUIERDA DE UNA DF DETERMINA EL VALOR DE LOSOTROS ATRIBUTOS EN UNA TUPLA.

PROYECCION DE UNA RELACION.-

UNA RELACION COMPUESTA DE ATRIBUTOS SELECCIONADOS DE OTRARELACION.

DEPENDENCIA TRANSITIVA.-

APARECE CUANDO UN ATRIBUTO NO CLAVE ES FUNCIONALMENTE DEPENDIENTEDE UNO O MAS ATRIBUTOS NO CLAVES.

F R A N C I S C O J U A R E Z R . 13

Page 14: Gdi-04-Formas Normales de Una Base de Datos

DEPENDENCIAS FUNCIONALES

Las dependencias funcionales proveen una manera para definir restricciones

adicionales en un esquema relacional. La idea esencial es que el valor de la

tupla en un atributo determina unívocamente el valor de la tupla en otro

atributo.

F R A N C I S C O J U A R E Z R . 14

Page 15: Gdi-04-Formas Normales de Una Base de Datos

DEPENDENCIAS FUNCIONALES

Si A y B son atributos en la Relación R entonces

DF: A =>B

Significa que si cualesquiera dos tuplas en R tienen el mismo valor para el atributo A,

deben tener el mismo valor para su atributo B.

F R A N C I S C O J U A R E Z R . 15

Page 16: Gdi-04-Formas Normales de Una Base de Datos

DEPENDENCIAS FUNCIONALES

ASIGNACION (ID_TRABAJADOR, ID_EDIFICIO, FECHA_INICIO, NOMBRE)

TRABAJADOR

ID_TRABAJADOR ID_EDIFICIO FECHA_INICIO NOMBRE

1235 312 10-10 A. Garcia

1412 312 1-10 A. Toledo

1235 515 17-10 A. Garcia

1412 460 8-12 A. Toledo

1412 435 15-10 A. Toledo

F R A N C I S C O J U A R E Z R . 16

Page 17: Gdi-04-Formas Normales de Una Base de Datos

SEGUNDA FORMA NORMAL

UNA RELACION ESTA EN SEGUNDA FORMA NORMAL (2FN) SI Y SOLO SI ESTA EN 1FN

Y TODOS LOS ATRIBUTOS NO CLAVE DEPENDEN POR COMPLETO DE LA CLAVE

PRIMARIA.

F R A N C I S C O J U A R E Z R . 17

Page 18: Gdi-04-Formas Normales de Una Base de Datos

SEGUNDA FORMA NORMAL

2FN 1FN + ningún atributo NO CLAVE depende PARCIALMENTE de ALGUNA CLAVE de R.

DF son COMPLETAS (si se elimina un atributo deja de ser DF)

Proceso de normalización (1Fn a 2FN)

Crear una nueva relación para cada clave parcial con su(s) atributo(s) dependientes

Mantener una relación con las claves originales y todos los atributos que dependan

funcionalmente de manera total de ellas

F R A N C I S C O J U A R E Z R . 18

Page 19: Gdi-04-Formas Normales de Una Base de Datos

TERCERA FORMA NORMAL

UNA RELACION ESTA EN TERCERA FORMA NORMAL 3FN SI Y SOLO SI ESTA EN 1FN Y

2FN, Y TODOS LOS ATRIBUTOS NO CLAVES DEPENDE DE MANERA NO TRANSITIVA DE

LA CLAVE PRIMARIA

3FN 2FN + atributo NO CLAVE NO depende de otro atributo NO CLAVE

F R A N C I S C O J U A R E Z R . 19

Page 20: Gdi-04-Formas Normales de Una Base de Datos

FORMA NORMAL DE BOYCE/CODD (BCNF)

UNA RELACION R, ESTA EN FORMA NORMAL DE BOYCE/CODD(BCNF) SI Y SOLO SI

TODO DETERMINANTE ES UNA CLAVE CANDIDATA

DETERMINANTE ES UN ATRIBUTO DEL CUAL DEPENDE FUNCIONALMENTE (POR

COMPLETO) ALGUN OTRO ATRIBUTO

F R A N C I S C O J U A R E Z R . 20

Page 21: Gdi-04-Formas Normales de Una Base de Datos

FORMA NORMAL DE BOYCE/CODD(BCNF)

VINOS VINO PAIS REGION

CHENAS FRANCIA BEAUJOLAIS

RIOJA ESPAÑA LA RIOJA

VALDEPEÑAS ESPAÑA CIUDAD REAL

JEREZ ESPAÑA MALAGA

CHABLIS EEUU CALIFORNIA

DF se cumple: si X → A entonces X es CLAVE

Siempre es posible descomponer una relación en FNBC garantizadoUNION SIN PERDIDA PERO … BCNF NO garantiza PRESERVACION DEDEPENDENCIAS

F R A N C I S C O J U A R E Z R . 21

Page 22: Gdi-04-Formas Normales de Una Base de Datos

FORMA NORMAL DE BOYCE/CODD(BCNF)

VINOS (VINO, PAIS, REGION)

F= {REGION →PAIS, (VINO, PAIS) →REGION}

Descomposición en BCNF:

VINOS (VINO, REGION)

REGIONES (REGION, PAIS)

Pero la DF (VINO, PAIS) → REGION se ha perdido, aunque se puede

recomponer R haciendo un join sobre REGION

F R A N C I S C O J U A R E Z R . 22