Normalizacin Base de Datos I Normalizacin Definicin La

Normalización Base de Datos I

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. 2

Normalización 1 FN 2 FN 3 FN BCNF 4 FN 5 FN 3

Normalización 1 FN 4

Normalización • Formas Normales: Una tabla está en Primera Forma Normal (1 FN) si sus atributos contienen valores atómicos. 5

Normalización • Formas Normales: Una tabla está en Primera Forma Normal (1 FN) 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” 6

Normalización • Ejemplo # 7

Normalización • Primera Forma Normal (1 FN): # # # 8

Normalización • Primera Forma Normal (1 FN): # # 9

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) 10

Dependencias funcionales Dependencia funcionalde dedatos Dependencia funcional Describe una relación entre atributos de una tabla. Es “Si decir, cuando dos o de más filas tienen el mismo Ay. B son atributos una tabla, B será dependiente de A. Sivalor cadade valorfuncionalmente de A, tienen también el mismo B. de A está asociado con exactamente un valor de B” determinante A B B depende funcionalmente de A dependiente 11

Dependencias funcionales Dependencia funcional de datos Ejemplo: TRABAJADORES No. Trabajador Nombre Tipo de empleado Salario Sucursal SL 21 Juan Director 24000 B 005 SG 37 Ana Asistente 9000 B 003 SG 14 David Supervisor 18000 B 003 SA 9 María Asistente 9000 B 007 SG 5 Susana Director 24000 B 003 SL 41 Julia Asistente 9000 B 005 12

Dependencias funcionales Dependencia funcional de datos Ejercicio: LIBROS Clave libro Nombre libro Autor Editorial Año 1022 Sistemas de bases de datos Thomas M. Addison Wesley 2006 Carolyn E. Addison Wesley 2006 1022 Sistemas de bases de datos 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 13

Dependencias funcionales 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. 14

Dependencias funcionales Dependencia funcional completa Ejemplo 1 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 15

Dependencias funcionales 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)

Normalización 1 FN 2 FN 17

Normalización Segunda Forma Normal (2 FN) 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. 18

Normalización Segunda Forma Normal (2 FN) 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 19

Normalización Segunda Forma Normal (2 FN) 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 3491 25 7 3491 34 6 20

Normalización Segunda Forma Normal (2 FN) Ejercicio: No. vendedor Nombre vendedor Numero cliente Nombre Cliente 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 2785 Adrian 1823 Alma 35008 21

Normalización 1 FN 2 FN 3 FN 22

Normalización Tercera Forma Normal (3 FN) Ocurre cuando una tabla está en 2 FN 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. 23

Normalización Tercera Forma Normal (3 FN) Alumnos DNI Nombre Apellido Cod. Provincia 12121349 A Salvador Velasco 34 Palencia 12121349 B Pedro Valiente 34 Palencia 3457775 G Ana Fernández 47 Valladolid 5674378 J Sara Crespo 47 Valladolid 3456858 S Marina Serrat 08 Barcelona 24

Normalización Tercera Forma Normal (3 FN) Solución: Alumnos(#DNI, Nombre, Apellido 1, Cod_Provincia) Provincia(#Cod_Provincia, Provincia) 25

Normalización Tercera Forma Normal (3 FN) Solución: SOCIO 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 El campo no principal País depende transitivamente de la clave DNI (a través del campo Ciudad). 26

Normalización Ejercicio 1: Normalizar hasta 3 FN 27

Normalización Ejercicio 2: Normalizar hasta 3 FN 28

Normalización Ejercicio 3: Normalizar hasta 3 FN 29

Normalización 1 FN 2 FN 3 FN BCNF 30

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). 31

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. 32

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. 33

Normalización Forma normal de Boyce-Codd (FNBC) Ejemplo: TUTORIAS 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 34

Normalización Forma normal de Boyce-Codd (FNBC) Solución: Tutorías(#DNI, #Tutor) Asignaturas. Tutor(#Tutor, Asignatura) 35

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. 36

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. 37

Normalización Dependencia multivaluada A - >> B A A 1 A 1 B B 1 B 2 C C 1 C 2 38

Normalización Dependencia multivaluada 39

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. 40

Normalización 1 FN 2 FN 3 FN BCNF 4 FN 41

Normalización Cuarta Forma Normal(4 FN) 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 42

Normalización Cuarta Forma Normal(4 FN) 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 43

Normalización Cuarta Forma Normal(4 FN) Ejemplo 1: No Curso Profesor No Curso Material 17 Eva 17 1 17 Julia 17 2 25 Eva 25 1 25 2 25 3 44

Normalización Cuarta Forma Normal(4 FN) 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 45 que forman la clave dependen de otro atributo que también la forman.

Normalización Cuarta Forma Normal(4 FN) Ejemplo 2: Tabla en cuarta forma normal Tipo Vehículo Tipo Carga Camioneta Perecederos Camioneta Camión Tabla en cuarta forma normal Conductor Tipo Vehículo Juan Camioneta Muebles Marcos Camioneta Mudanza Juan Camión Marcos Camión 46

Normalización Cuarta Forma Normal(4 FN) Ejercicio 1: 47

Normalización Normalizar hasta 4 FN Ejercicio 2: Profesores(nombre, dir, teléfonos, asignaturas) 48

Normalización Normalizar hasta 4 FN Ejercicio 2: Profesores(nombre, dir, teléfonos, asignaturas) 49

Normalización 1 FN 2 FN 3 FN BCNF 4 FN 50

Normalización Dependencia de JOIN o de unión Una 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. 51

Normalización Quinta Forma Normal(5 FN) Ocurre cuando está en 4 FN 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. 52

GRACIAS
- Slides: 53