base de datos i. definición: la normalización es un proceso en el cual se va comprobando el...

53
Normalización Base de Datos I

Upload: juan-francisco-contreras-benitez

Post on 24-Jan-2016

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

Normalización

Base de Datos I

Page 2: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

2

Normalización

• Definición:

La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar eliminar redundancias e inconsistencias en una base de datos.

Page 3: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

3

Normalización

1FN

BCNF

4FN

5FN

Page 4: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

4

Normalización

1FN

Page 5: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

5

Normalización

• Formas Normales:

Una tabla está en Primera Forma Normal (1FN) si sus atributos contienen valores atómicos.

Page 6: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

6

Normalización

• Formas Normales:

Una tabla está en Primera Forma Normal (1FN) si sus atributos contienen valores atómicos.

“Una relación en la que la intersección de toda fila y columna contiene un valor y solo un valor”

Page 7: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

7

Normalización

• Ejemplo

#

Page 8: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

8

Normalización

• Primera Forma Normal (1FN):

##

#

Page 9: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

9

Normalización

• Primera Forma Normal (1FN):

# #

Page 10: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

10

Normalización

• Ejercicio: Aplique la primera forma normal a la siguiente tabla:

1. Persona (#CURP, nombre, edad, fecha de nacimiento, teléfonos)

2. Cliente (#Num_cliente,direcciones_de_envio, saldo, límite de crédito)

Page 11: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

11

Dependencia funcional de datos

Es decir, cuando dos o más filas tienen el mismo valor de A, tienen también el mismo valor de B.

Dependencias funcionales

A B

Dependencia funcional de datosDescribe una relación entre atributos de una

tabla.“Si A y B son atributos de una tabla, B será

funcionalmente dependiente de A. Si cada valor de A está asociado con exactamente un valor de B”

determinante dependiente

11B depende funcionalmente de A

Page 12: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

12

Dependencia funcional de datosEjemplo:

Dependencias funcionales

12

No. Trabajador Nombre Tipo de

empleado Salario Sucursal

SL21 Juan Director 24000 B005

SG37 Ana Asistente 9000 B003

SG14 David Supervisor 18000 B003

SA9 María Asistente 9000 B007

SG5 Susana Director 24000 B003

SL41 Julia Asistente 9000 B005

TRABAJADORES

Page 13: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

13

Dependencia funcional de datosEjercicio:

Dependencias funcionales

13

Clave libro

Nombre libro Autor Editorial Año

1022 Sistemas de bases de datos Thomas M. Addison Wesley 2006

1022 Sistemas de bases de datos

Carolyn E. Addison Wesley 2006

2893 Fundamentos de Bases de datos Silberschatz. Mc Graw Hill 2010

2893 Fundamentos de Bases de datos Korth. Mc Graw Hill 2010

2893 Fundamentos de Bases de datos Sudarshan. Mc Graw Hill 2010

LIBROS

Page 14: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

14

Dependencia funcional completa

Indica que si A y B son atributos de una tabla, B depende funcionalmente de A pero no de ningún subconjunto de A.

Dependencias funcionales

14

Page 15: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

15

Dependencia funcional completaEjemplo 1

Dependencias funcionales

15

Matrícula Código curso Nombre Apellido Calificación

1256 34 Pedro Valiente 9

1256 25 Pedro Valiente 8

5776 34 Ana Fernández 6

3491 25 Sara González 7

3491 34 Sara González 6

Page 16: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

Dependencia funcional transitiva

Se produce cuando tenemos tres conjuntos de atributos X, Y y Z.

Y depende funcionalmente de X (X→Y),

Z depende funcionalmente de Y (Y→Z).

Además X no depende funcionalmente de Y.

Entonces ocurre que X produce una dependencia funcional transitiva sobre Z.

Esto se denota como:

(X → Z)

Dependencias funcionales

Page 17: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

17

Normalización

1FN

2FN

Page 18: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

18

Normalización

Segunda Forma Normal (2FN)

Ocurre si una tabla está en primera forma normal y además cada atributo que no sea clave, depende de forma funcional completa respecto de cualquiera de las claves.

Page 19: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

19

Normalización

Segunda Forma Normal (2FN)Ejemplo:

Matrícula Código curso Nombre Apellido Calificación

1256 34 Pedro Valiente 9

1256 25 Pedro Valiente 8

5776 34 Ana Fernández 6

3491 25 Sara González 7

3491 34 Sara González 6

Page 20: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

20

Normalización

Segunda Forma Normal (2FN)Solución:

Matrícula Nombre Apellido

1256 Pedro Valiente

5776 Ana Fernández

3491 Sara González

Matrícula Código curso Calificación

1256 34 9

1256 25 8

5776 34 6

3491 25 7

3491 34 6

Page 21: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

21

Normalización

Segunda Forma Normal (2FN)Ejercicio:

No. vendedor

Nombre vendedor

Numero cliente

NombreCliente Valor de venta

1022 Mariana 1840 Melisa 13540

1022 Mariana 1834 Álvaro 10600

1022 Mariana 1856 Victoria 9700

2893 Salvador 1865 Francisco 68400

2893 Salvador 1890 Enrique 34600

2785 Adrian 1864 25000 25000

2785 Adrian 1823 Alma 35008

Page 22: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

22

Normalización

1FN

3FN

Page 23: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

23

Normalización

Tercera Forma Normal (3FN)

Ocurre cuando una tabla está en 2FN y además ningún atributo que no sea clave depende transitivamente de las claves de la tabla. Es decir no ocurre cuando algún atributo depende funcionalmente de atributos que no son clave.

Page 24: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

24

Normalización

Tercera Forma Normal (3FN)

DNI Nombre Apellido Cod. Provincia Provincia

12121349A Salvador Velasco 34 Palencia

12121349B Pedro Valiente 34 Palencia

3457775G Ana Fernández 47 Valladolid

5674378J Sara Crespo 47 Valladolid

3456858S Marina Serrat 08 Barcelona

Alumnos

Page 25: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

25

Normalización

Tercera Forma Normal (3FN)Solución:

Alumnos(#DNI, Nombre, Apellido1, Cod_Provincia)

Provincia(#Cod_Provincia, Provincia)

Page 26: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

26

Normalización

Tercera Forma Normal (3FN)

Solución:

DNI Ciudad País Edad

1 Oaxaca México 34

2 Oaxaca México 25

3 Puebla México 19

4 Miami EU 22

5 Miami EU 30

SOCIO

El campo no principal País depende transitivamente de la clave DNI (a través del campo Ciudad).

Page 27: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

27

Normalización

Ejercicio 1: Normalizar hasta 3FN

Page 28: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

28

Normalización

Ejercicio 2: Normalizar hasta 3FN

Page 29: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

29

Normalización

Ejercicio 3: Normalizar hasta 3FN

Page 30: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

30

Normalización

1FN

3FN

BCNF

Page 31: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

31

Normalización

Forma normal de Boyce-Codd (FNBC)

Con frecuencia existen situaciones en donde la tercera forma normal no es capaz de responder adecuadamente en relaciones en las que se dan algunas de las siguientes condiciones:

(A) Hay varias claves candidatas.

(B) Las claves candidatas son compuestas, y

(C) Hay traslape de los atributos que componen las claves candidatas(es decir, tienen atributos comunes).

Page 32: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

32

Normalización

Forma normal de Boyce-Codd (FNBC)

Debido a que las tres condiciones anteriores no se dan con frecuencia, en la mayoría de los casos la tercera forma normal es suficiente.

Page 33: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

33

Normalización

Forma normal de Boyce-Codd (FNBC)

Una relación está en Formal Normal de Boyce-Codd (BCNF) si y sólo si cada determinante (en la relación) es una clave candidata.

Page 34: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

34

Normalización

Forma normal de Boyce-Codd (FNBC)

Ejemplo:

DNI Asignatura Tutor

1 Lenguaje Eva

1 Matemáticas Andrés

3 Lenguaje Eva

2 Matemáticas Guillermo

2 Lenguaje Julia

4 Matemáticas Guillermo

TUTORIAS

Page 35: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

35

Normalización

Forma normal de Boyce-Codd (FNBC)

Solución:

Tutorías(#DNI,#Tutor)

AsignaturasTutor(#Tutor, Asignatura)

Page 36: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

36

Normalización

¡Atención!• Todas las formas normales antes vistas se

basan en las dependencias funcionales entre los atributos de una relación.

• En general las tres primeras formas normales son suficientes para cubrirlas necesidades de la mayoría de las bases de datos.

Page 37: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

37

Normalización

Dependencia multivaluada

Una dependencia multivaluada representa una dependencia entre atributos( por ejemplo A, B y C) en una relación de modo que para cada valor de A hay un conjunto de valores de B y un conjunto de valores de C; sin embargo, los conjuntos de valores de B y C son independientes entre si.

Page 38: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

38

Normalización

Dependencia multivaluada

A - >> B A B CA1 B1 C1A1 B2 C1A1 B1 C2A1 B2 C2

Page 39: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

39

Normalización

Dependencia multivaluada

Page 40: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

40

Normalización

Dependencia multivaluada No Curso Profesor Material

17 Eva 1

17 Eva 2

17 Julia 1

17 Julia 2

25 Eva 1

25 Eva 2

25 Eva 3

Los materiales del curso dependen del curso y no del profesor en una dependencia multivaluada (no hay dependencia funcional ya que los posibles valores son varios). Para el par Nº de curso y profesor podemos saber los materiales; pero lo sabemos por el curso y no por el profesor.

Page 41: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

41

Normalización

1FN

BCNF

4FN

Page 42: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

42

Normalización

Cuarta Forma Normal(4FN)

Una relación que ésta en forma normal de Boyce-Codd y no contiene dependencias multivaluadas no triviales.

Una dependencia multivaluada A->>B o A->->B es trivial si B es un subconjunto de A o si A U B =R

Page 43: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

43

Normalización

Cuarta Forma Normal(4FN)

Ejemplo 1:

No Curso Profesor Material

17 Eva 1

17 Eva 2

17 Julia 1

17 Julia 2

25 Eva 1

25 Eva 2

25 Eva 3

Page 44: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

44

Normalización

Cuarta Forma Normal(4FN)

Ejemplo 1:

No Curso Profesor

17 Eva

17 Julia

25 Eva

No Curso Material

17 1

17 2

25 1

25 2

25 3

Page 45: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

45

Normalización

Cuarta Forma Normal(4FN)

Ejemplo 2:Transporte

Conductor Tipo Vehículo Tipo Carga

Juan Camioneta Perecederos

Marcos Camioneta Perecederos

Juan Camioneta Muebles

Marcos Camioneta Muebles

Juan Camión Mudanza

Marcos Camión Mudanza

En este caso hay dependencias funcionales multivaluadas, ya que algunos atributos que forman la clave dependen de otro atributo que también la forman.

Page 46: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

46

Normalización

Cuarta Forma Normal(4FN)

Ejemplo 2:

Tabla en cuarta forma normal

Tipo Vehículo Tipo Carga

Camioneta Perecederos

Camioneta Muebles

Camión Mudanza

Tabla en cuarta forma normal

Conductor Tipo Vehículo

Juan Camioneta

Marcos Camioneta

Juan Camión

Marcos Camión

Page 47: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

47

Normalización

Cuarta Forma Normal(4FN)

Ejercicio 1:

Page 48: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

48

Normalización

Normalizar hasta 4FN

Ejercicio 2:

Profesores(nombre, dir, teléfonos, asignaturas)

Page 49: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

49

Normalización

Normalizar hasta 4FN

Ejercicio 2:

Profesores(nombre, dir, teléfonos, asignaturas)

Page 50: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

50

Normalización

1FN

BCNF

4FN

5FN

Page 51: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

51

Normalización

Dependencia de JOIN o de uniónUna proyección de una tabla es la tabla resultante de tomar un subconjunto de los atributos de una tabla (se trata de la operación proyección Π, del álgebra relacional).Se dice que se tiene una tabla con dependencia de tipo JOIN si se puede obtener esa tabla como resultado de combinar (mediante la operación JOIN del álgebra relacional) varias proyecciones de la misma.

Page 52: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

52

Normalización

Quinta Forma Normal(5FN)

Ocurre cuando está en 4FN y además no hay proyecciones que combinadas formen la tabla original. Es la más compleja y polémica de todas. Polémica pues no está claro en muchas ocasiones que sea una solución mejor sacar las proyecciones de la tabla. Fue definida también Fagin.

Page 53: Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar

GRACIAS