Sie sind auf Seite 1von 43

BASE BASE DE DE DATOS DATOS I

Unidad III, tema 2: Normalizacin


Profesor: M.C. Sergio Jurez Vzquez Cubo: 04 Correo: sergio2x@hotmail.com

Introduccin
El diseo tiene como objetivo obtener una serie de esquemas que permitan almacenar informacin, sin redundancia y de fcil acceso. Las formas normales permiten lograr un buen diseo. Para esto se necesita informacin acerca del problema que se est modelando. Parte de esta informacin se encuentra en un diagrama E-R, pero se necesita informacin adicional.
2

Introduccin (Cont. 2)
Problema a modelar Modelo (E)ER
Entidades Atributos

Normalizacin
Propiedades

Modelo Relacional

Relaciones (datos)

Introduccin (Cont. 3)

Adicional PASO DEL ME/R AL MODELO RELACIONAL

Introduccin (Cont. 4)
Mundo real Modelado de datos
Diseo conceptual Diseo lgico

Normalizacin

Denormalizacin

Diseo fsico Base de datos


6

Normalizacin
El proceso de normalizacin de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas en el modelo E-R (entidad-relacin).
Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos.

En el modelo relacional es frecuente llamar tabla a una relacin, la cual tiene que cumplir con algunas restricciones:
Cada columna debe tener su nombre nico. No puede haber dos renglones iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo
7

Normalizacin (Cont.)
Las primeras tres reglas de normalizacin son:
1NF (Primera forma normal) - Todos los atributos deben univalorados, debe ser atmicos.

2NF (Segunda forma normal) - Un atributo debe depender de la llave primaria de la entidad en la cual est.
3NF (Tercera forma normal) - No puede haber un atributo que no sea llave primaria dependiendo de otro atributo que tampoco sea llave primaria .
8

Normalizacin (Cont.)
En la literatura se menciona seis reglas de normalizacin las cuales son:
1NF (Primera forma normal) - Remover atributos multivaluados. 2NF (Segunda forma normal) - Remover dependencias parciales 3NF (Tercera forma normal) - Remover dependencias transitivas. (forma normal Boyce-Codd) - Remover anomalas sobrantes que resultan de los mltiples candidatos a llave primaria. 4NF (Cuarta forma normal) - Remover dependencias con multivalores. 5NF (Quinta forma normal) - Remover anomalas que hayan quedado.

PAG. 211

Normalizacin (Cont.)
Las tres primeras reglas de normalizacin son suficientes para resolver la gran mayora de los casos. Existe una cuarta forma normal, llamada tambin Forma normal de Boyce Codd (BCNF) y una quinta forma normal, pero pocas veces se consideran prcticas en un diseo. La omisin de estas reglas puede dar como resultado una tabla que no sea perfecta, pero no debera afectar a su funcionamiento

10

Figura: Pasos en la normalizacin

11

Primera Forma Normal (1FN)


Tabla proveedor
Nombre reg 1 TASA Antig 25 aos Dire cciones Ciudad Producto clavos tornillos tuercas tachuelas tuercas tachuelas clavos tornillos tuercas
Producto Cant Producto Cant clavos 400 clavos 400 tornillos 200 tornillos 200 tuercas 100 tuercas 100 tachuelas 50 tachuelas tuercas 3050 tuercas tachuelas 2030 clavos 2020 tachuelas tornillos 5020 clavos tuercas 4050 tornillos tuercas 40

Reforma 23 Puebla

reg 2 reg 3

MESA GISA

15 aos 20 aos

Juarez 15 Sur 322

Cholula Puebla

Entidad en 1FN Nombre


tupla 1 tupla tupla 1 2 tupla tupla 2 3 tupla tupla 3 4 tupla tupla 4 5 tupla tupla 5 6 tupla 6 7 tupla tupla 7 8 tupla tupla 9 tupla 8 tupla 9

Nombre TASA TASA TASA TASA TASA MESA MESA TASA MESA GISA TASA GISA GISA

Antig Antig 25 aos 25 aos aos 25 25 aos aos 25 25 aos aos 25 25 aos aos 15 15 aos aos 15 20 15 aos aos 20 20 aos aos 20 aos 20 aos 20 aos

Dire cciones Ciudad Dire cciones Ciudad Reforma 23 Puebla Reforma23 23 Puebla Puebla Reforma Reforma23 23 Puebla Puebla Reforma Reforma23 23 Puebla Puebla Reforma Reforma Puebla Juarez 15 23 Cholula Juarez15 15 Cholula Cholula Juarez Sur 32215 Puebla Juarez Cholula Sur Puebla Sur322 322 Puebla Sur 322 Puebla Sur 322 Puebla Sur 322 Puebla

12

Segunda Forma Normal (2FN)


Nombre tupla 1 tupla tupla 2 1 tupla tupla 3 2 tupla tupla 4 3 tupla tupla 5 4 tupla tupla 6 5 tupla tupla 7 6 tupla 8 7 tupla tupla 9 8 tupla
tupla 9

Sin embargo la 1FN tiene problemas cuando los atributos tienen dependencia de varias llaves o dominios independiente.
Antig Dire cciones Ciudad Producto Cant 25 aos 25aos aos 25 25 aos 25 aos 25aos aos 25 15aos aos 25 15aos aos 15 20aos aos 15 20 20aos aos 20 20aos aos
20 aos Antig

TASA TASA TASA TASA TASA TASA TASA MESA TASA MESA MESA TASA MESA TASA GISA GISA GISA
GISA

Nombre

Reforma 23 Puebla Reforma 23Puebla Puebla Reforma 23 Reforma 23 Puebla Reforma 23 Puebla Reforma 23Puebla Puebla Reforma 23 Juarez 15 Cholula Reforma 23 Puebla Juarez 15 Cholula Cholula Juarez 15 Sur 322 Puebla Juarez 15 Cholula Sur 322 Sur 322 Puebla Puebla Sur 322 Sur 322 Puebla Puebla
Sur 322 Puebla

Dire cciones

Ciudad

clavos tornillos clavos tuercas tornillos tachuelas tuercas tuercas tachuelas tachuelas tuercas clavos tachuelas clavos tornillos tornillos tuercas
tuercas

Producto

Cant

400 400200 200100 100 50 50 30 30 20 20 20 20 50 50 40


40

Ent 1

Nombre TASA MESA GISA

Antig 25 aos 15 aos 20 aos

Dire cciones Ciudad Reforma 23 Puebla Juarez 15 Cholula Sur 322 Puebla

Entidades en 2FN
Las entidades estn en 1FN y adems cada dominio o atributo depende de un sola llave: Ent 1 Nombre ==> Ant, Dir,Cd Ent 2 Nombre, Producto ==> Cant

tupla 1 tupla 2 tupla 3

Ent 2 tupla 1 tupla 2 1 tupla tupla 3 2 tupla tupla 4 3 tupla tupla 5 4 tupla tupla 6 5 tupla tupla 7 6 tupla tupla tupla 8 7 tupla tupla 9 8 tupla 9

Nombre Nombre TASA TASA TASA TASA TASA TASA MESA MESA MESA TASA GISA TASA GISA GISA

Antig Producto 25 aos clavos 25 aos tornillos 25 aos tuercas 25 aos tachuelas 15 aos tuercas 15 aos tachuelas 20 aos 20 aos clavos 20 aos tornillos tuercas

Dire cciones Cant Reforma 23 400 23 Reforma 200 23 Reforma 100 23 Reforma 50 15 Juarez 30 15 Juarez Sur 20 322 Sur 20 322 Sur 322 13 50 40

P P P P C C P P P

Tercera Forma Normal (3FN)


Sin embargo la 2FN tiene problemas cuando uno de los atributos tienen dependencia transitiva de los dominios o atributos

14

Tercera Forma Normal (3FN)

15

Ejemplos 1

16

Ejemplos 2

17

Ejemplos 3

18

Tarea en clases
En los siguientes ejemplos indicar si no estas normalizados o cuentan con alguna forma normal o estn normalizadas, en caso de no estarlo debern normalizarlas.

19

Ejemplo No.1
EMPLEADOS (nss, nombre, puesto, salario, emails) con nss como clave primaria.
Tabla Empleados

20

Ejemplo No.2

21

Ejemplo No.3

22

Ejemplo No.4

23

Ejemplo No.5

24

Dependencia Funcional
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. A y B pueden consistir cada uno de ellos de uno o ms atributos

25

Dependencia funcional
Definicin: Suponga que tiene R = {A1, A2, A3, , An} , R es una relacin y A es un conjunto de atributos. Sea X, Y subconjuntos de A. Notacin DF: X Y Se lee: X determina o implica Y Y depende funcionalmente de X Si y slo si cada valor de X tiene asociado en todo momento un nico valor de Y Donde: X es el determinante Y es el implicado X e Y se les dice Descriptores.

Un determinante es un conjunto del que depende funcionalmente otro conjunto de atributos llamado implicado.
26

DEPENDENCIA FUNCIONAL COMPLETA


Un atributo B de R tiene dependencia funcional completa de un atributo A de R, si tiene dependencia funcional de A pero no tiene dependencia funcional de ningn subconjunto de A.

27

DEPENDENCIA FUNCIONAL PARCIAL


Un atributo B de R tiene dependencia funcional parcial de un atributo C de R, si tiene dependencia funcional de C y adems tiene dependencia funcional de un subconjunto propio A de C.

28

DEPENDENCIA FUNCIONAL TRANSITIVA


Sean A, B y C atributos de un esquema de relacin R; si C tiene dependencia funcional de B y B tiene dependencia funcional de A, entonces C tiene dependencia funcional transitiva de A.

29

DEPENDENCIA FUNCIONAL TRANSITIVA


Sea R = {Id_empleado, Categora, Sueldo} y

F = {Id_empleado Categora, Categora Sueldo }.


1. Id_empleado Categora (dada) 2. Categora Sueldo (dada) 3. Id_empleado Sueldo (por transitividad de 1 y 2)
30

Dependencia Funcional (Cont.)


La tarea de especificar todas las dependencias funcionales posibles en los proyectos reales de bases de datos suele ser muy a menudo imposible de abordar

31

Forma normal de Boyce-Codd


La Forma Normal de Boyce-Codd (o FNBC) es una versin ligeramente ms fuerte de la Tercera forma normal (3FN).
La forma normal de Boyce-Codd requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata. En una tabla en 3FN, todos los atributos dependen de una clave, de la clave completa y de ninguna otra cosa excepto de la clave (excluyendo dependencias triviales, como A A). Se dice que una tabla est en FNBC si y solo si est en 3FN y cada dependencia funcional no trivial tiene una clave candidata como determinante.

En trminos menos formales, una tabla est en FNBC si est en 3FN y los nicos determinantes son claves candidatas.
32

FNBC (Cont.)
El problema de la 3FN es que no maneja relaciones que:
Tienen varias claves candidatas, Esas claves candidatas son compuestas, y Las claves candidatas tienen por lo menos un atributo en comn.

Por ello, se define la FNBC para el caso en el que exista ms de una clave candidata, y que se cumplan las condiciones anteriores. La violacin de la Forma Normal de Boyce-Codd es bastante infrecuente

33

FNBC (Cont.)
En el caso en el que no se den dichas condiciones, o bien no exista ms de una clave candidata (solo la clave primaria) la FNBC es completamente equivalente a la 3FN. La FNBC es ms restrictiva que la 3FN ya que solo permite que un atributo no clave dependa funcionalmente de la clave primaria.

34

3FN vs FNBC
La diferencia entre 3FN y FNBC es que para una dependencia funcional A B, 3FN permite que exista esta dependencia en una relacin si B es un atributo de clave candidata y A no es una clave candidata, mientras que FNBC exige que A sea una clave candidata.

35

3FN vs FNBC (Cont.)


Puede que no siempre sea deseable transformar una relacin a FNBC. Perder una dependencia implica perder semntica.

Cuando esto sucede, puede que sea ms adecuado detenerse en 3FN, que siempre preserva las dependencias.

36

FNBC: Ejemplo 1
Para la relacin
2FN

PRESTAMO( id_socio, nombre_socio, id_libro, fec_prest, editorial, pas ) las claves candidatas son:
(id_socio, id_libro) y (nombre_socio, id_libro)

37

FNBC: Ejemplo 1 (Cont.)


3FN

PRESTAMO1( id_socio, nombre_socio, id_libro, fec_prest ) LIBRO( id_libro, editorial, pas )

La claves candidatas son:


(id_socio, nombre_socio, id_libro) LIBRO1 ( id_libro, editorial ) EDITORIAL (editorial, pas )
3FN

38

FNBC: Ejemplo 1 (Cont.)


PRESTAMO1( id_socio, nombre_socio, id_libro, fec_prest ) Est en FNBC?
No, ya que id_socio y nombre_socio, se repiten innecesariamente por cada id_libro.

SOCIO( id_socio, nombre_socio ) PRESTAMO2( id_socio, id_libro, fec_prest

39

FNBC: Ejemplo 1 (Cont.)


El esquema relacional est en FNBC:
LIBRO1( id_libro, editorial ) EDITORIAL( editorial, pas ) SOCIO( id_socio, nombre_socio ) PRESTAMO2( id_socio, id libro, fec_prest )

40

Ejercicio 1

41

Ejercicio 2

42

Ejercicio 3

43

Das könnte Ihnen auch gefallen