La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Normalización Unidad 1.

Presentaciones similares


Presentación del tema: "Normalización Unidad 1."— Transcripción de la presentación:

1 Normalización Unidad 1

2 Bases para realizar un MER
Identificar las entidades y los atributos Identificar las relaciones Relacionar el modelo, eliminar las relaciones redundantes y los atributos derivados y redundantes Realizar el diccionario de datos Validar el modelo con el diccionario de datos

3 Item de búsqueda (índice)
Es un atributo que tiene una configuración interna especial que facilita la búsqueda de un valor Una relación puede tener varios índices

4 Llave Uno o varios atributos es llave cuando: Es un item de búsqueda
No es vacía para ninguna fila Dado un valor existe apenas una fila de la tabla con ese valor

5 Normalización. Definición
El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Se trata de obtener la máxima independencia de datos y eliminar redundancias innecesarias.

6 Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos. Evitar problemas de actualización de los datos en las tablas. Proteger la integridad de los datos.

7 En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones: Cada columna debe tener su nombre único. No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo.

8 Terminología relacional equivalente
Entidad = tabla o archivo Tupla = registro, fila o renglón Atributo = columna o campo Clave = llave o código de identificación Clave Primaria = clave candidata elegida Clave Ajena = clave externa o clave foránea Clave Alternativa = clave secundaria

9 Dependencia funcional
B es funcionalmente dependiente de A. Es una conexión entre uno o más atributos. Por ejemplo si conocemos el valor de FechaDeNacimiento podemos conocer el valor de Edad.

10 Dependencia funcional – Cont.
Las dependencias funcionales del sistema se escriben utilizando una flecha FechaDeNacimiento Edad Aquí a FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos formas FechaDeNacimiento determina a Edad o Edad es funcionalmente dependiente de FechaDeNacimiento.

11 Claves Una clave primaria es aquella columna (pueden ser también dos columnas o más) que identifica únicamente a esa fila. Se acostumbra poner la clave primaria como la primera columna de la tabla. Muchas veces la clave primaria es autonumérica.

12 Claves – Cont. En una tabla puede que tengamos más de una clave, en tal caso se puede escoger una para ser la clave primaria, las demás claves son las claves candidatas. Una clave foránea es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla.

13 Claves – Cont. Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que también puede identificar de forma única a una fila dentro de una tabla. Ejemplo: Si en un tabla clientes definimos el número de documento (id_cliente) como clave primaria, el número de seguro social de ese cliente podría ser una clave alternativa.

14 Formas Normales Una base de datos está en la forma normal N cuando todas sus tablas están en la forma normal N. El creador de las 3 primeras formas normales (o reglas) fue Edgar F. Codd.

15 Primera Forma Normal (1FN)
Una tabla está en Primera Forma Normal sólo si La tabla contiene una clave primaria. La tabla no contiene atributos nulos. Se eliminan los grupos repetitivos. Una columna no puede tener múltiples valores. Los datos son atómicos. (Si a cada valor de X le pertenece un valor de Y, entonces a cada valor de Y le pertenece un valor de X)

16 1FN – Grupos repetitivos
Ejemplo 1 Se desean guardar datos de clientes. Que ocurre cuando queremos agregar otro número de teléfono al cliente 456? Id_cliente Nombre Apellido Telefono 123 Martin Lopez 456 Luis Gomez 789 David Suarez

17 1FN – Grupos repetitivos – Cont.
Opción 1: Dominio y valores La manera más simple de hacer esto es permitir que el campo "Teléfono" contenga más de un valor en cualquier registro dado. Id_cliente Nombre Apellido Telefono 123 Martin Lopez 456 Luis Gomez 435678 789 David Suarez

18 1FN – Grupos repetitivos – Cont.
La representación anterior no está en 1FN. La 1NF prohíbe a un campo contener más de un valor de su dominio de columna. Que ocurre cuando queremos agregar otro número de teléfono al cliente 456?

19 1FN – Grupos repetitivos – Cont.
Opción 2: Grupos repetidos a través de columnas Se puede evitar esta restricción definiendo múltiples columnas del número telefónico Que ocurre con esta opción? Id_cliente Nombre Apellido Telefono1 Telefono2 Telefono3 123 Martin Lopez 456789 456 Luis Gomez 789654 457789 789 David Suarez

20 1FN – Grupos repetitivos – Cont.
Se hace uso de columnas que permiten valores nulos Problemas de dividir en 3 columnas: Dificultad en hacer consultas a la tabla La imposibilidad de hacer cumplir la unicidad los enlaces Cliente-a-Teléfono La restricción de los números de teléfono por cliente a tres.

21 1FN – Solución Un diseño que está inequívocamente en 1NF hace uso de dos tablas: una tabla de cliente y una tabla de teléfono del cliente. Idcliente Telefono 123 456 789 456789 789654 457789 Idcliente Nombre Apellido 123 Martin Lopez 456 Luis Gomez 789 David Suarez

22 Segunda Forma Normal (2FN)
Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal.

23 2FN – Cont. Por ejemplo una tabla con habilidades de los empleados
Que observamos? Empleado Habilidad Lugar de trabajo Jones Mecanografia Marketing Taquigrafia Tallado Roberts Limpieza Servicios Ellis Ventas Atención al público Computación Harrison

24 2FN – Cont. La única clave candidata de la tabla es {Empleado, Habilidad}. El atributo restante, Lugar actual de trabajo, es dependiente solo en parte de la clave candidata, llamada Empleado. Esta redundancia hace a la tabla vulnerable a anomalías de actualización

25 2FN – Cont. Solución: Dividir en dos tablas Empleado Habilidad Jones
Mecanografia Taquigrafia Tallado Roberts Limpieza Ellis Ventas Computación Harrison Empleado Lugar de trabajo Jones Marketing Roberts Servicios Ellis Atención al público Harrison

26 Tercera Forma Normal (3FN)
La tabla se encuentra en 3FN si es 2FN y cada atributo que no forma parte de ninguna clave, depende directamente y no transitivamente, de la clave primaria.

27 3FN Ejemplo de una tabla 2NF que no está en 3FN Torneo Año Ganador
Fecha de nacimiento del ganador Indiana Invitational 1998 Al Fredrickson 21 de julio de 1975 Cleveland Open 1999 Bob Albertson 28 de septiembre de 1968 Des Moines Masters Chip Masterson 14 de marzo de 1977

28 3FN – Cont. La única clave candidato es {Torneo, Año}.
El atributo no primario Fecha de nacimiento del ganador es dependiente transitivamente de {Torneo, Año} vía el atributo no primario Ganador. Esto hace la tabla vulnerable a inconsistencias lógicas, pues no hay nada que impida a la misma persona ser mostrada con diferentes fechas de nacimiento en diversos registros.

29 3FN – Cont. Solución: dividir la tabla en dos: Torneo Año Ganador
Indiana Invitational 1998 Al Fredrickson Cleveland Open 1999 Bob Albertson Des Moines Masters Chip Masterson Jugador Fecha de nacimiento Chip Masterson 14 de marzo de 1977 Al Fredrickson 21 julio de 1975 Bob Albertson 28 septiembre de 1968

30 3FN – Cont. La mayoría de las tablas 3NF están libres anomalías de actualización, inserción, y borrado.


Descargar ppt "Normalización Unidad 1."

Presentaciones similares


Anuncios Google