Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Diseño de Bases de Datos Relacionales NORMALIZACION Definición El proceso de normalización de bases de datos consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las Bases de Datos se normalizan para: Evitar la redundancia de los datos. Disminuir problemas de actualización de los datos en las tablas.(pérdida no deseada de información) Proteger la integridad de los datos. Inconsistencia de la información al borrar un registro. Las Bases de Datos se normalizan para: 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 tabla debe tener su nombre único No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos de una columna deben ser del mismo tipo. La teoría de la normalización esta basada en la aplicación de las reglas de normalización Se dice que una relación está en una determinada forma normal si satisface cierto conjunto específico de restricciones impuestas por la regla de normalización correspondiente. La aplicación de una regla de normalización es una operación que toma una relación como entrada y da como resultado dos o más relaciones y: La relación de objeto de la aplicación de la regla es desestimada en el nuevo esquema relacional considerado La teoría de la normalización esta basada en la aplicación de las reglas de normalización No se introducen nuevos atributos en el esquema relacional resultante de la normalización. Los atributos de la relación objeto de la normalización pasan a formar parte de la intención de una o mas de la relaciones resultantes. En la aplicación de la regla de normalización se ha debido eliminar al menos una dependencia existente entre los atributos de la relación objeto de la normalización Primera Forma Normal (1FN) Para que una relación este en Primera Forma Normal, sus atributos deben ser atómicos, un domino es atómico si se considera que los elementos del dominio son unidades indivisibles. - Ejemplos de dominios atómicos Conjunto de nombre (atributos compuestos) Teléfonos (atributo multivaluado) Identificación de números como CS101 que se puede descomponer en partes. Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos repetidos como valores, es decir, contienen un solo valor por cada celda. Primera Forma Normal (1FN) - Ejemplos de dominios atómicos … Cont… Todos los ingresos en cualquier columna(atributo) deben ser del mismo tipo. Cada columna debe tener un nombre único Dos filas o renglones de una misma tabla no deben ser idénticas, aunque el orden de las filas no es importante Ejemplo: Pueden ser no atómicos por que incluyen varios valores. Matrículas(codigo, nombres, apellido1, apellido2, asignaturas) Alumnos(codigo,nombre,apellido1,apellido2) Matricula(codigo,asignatura) Por que provengan de un atributo compuesto. Clientes(codigo,nombre,teléfono,…) Clientes(codigo,nombre,apellido1,apellido2,teléfono,…) La atomicidad es una propiedad de cómo se utilizan los elementos del dominio. Cuentas(codigoextendido, saldo,..) Cuentas(codBanco, codSucursal, Segunda Forma Normal (2FN) Una relación esta en Segunda Forma Normal, si está en 1FN y cada atributo de la relación depende funcionalmente de forma completa de la clave primaria. Una relación R está en 2FN si solo si está en 1FN y los atributos no primos dependen funcionalmente de la llave primaria. Identificar las dependencias funcionales y transitivas. Ejemplo: Regalo(codRegalo,cedula,nombreRegalo,nombrePersona,apellido1Pers ona,apellido2Persona,precio,dedicatoria..) Regalos(codRegalo,nombreRegalo,precio) Persona(cedula,nombrePersona, apellido1Persona,apellido2Persona) Regala(codRegalo,cedula,dedicatoria) Tercera Forma Normal (3FN) Una relación R satisface la Tercera Forma Normal, si solo si, satisface 2FN y cada atributo no primo de la relación no depende funcionalmente de forma transitiva de la clave primaria de esa relación. Es decir no pueden existir dependencias entre los atributos que no formen parte de la clave primaria de la relación R. Ejemplo: Recuerdos(idFoto, codPersona, nombre, cedula, titulo, monumento, ciudad, antiguiedadMonumento) Fotos(idFoto, titulo, monumento, fecha) Persona(codPersona, nombre, cedula) Monumentos(Nombre, antigüedad, ciudad) Recuerdos(idFoto, codPersona) Forma Normal Boyce Codd(3FN)-FNBC Se basa en el concepto de determinante funcional y está soportada en las características de las claves candidatas de las relaciones. Determinante Funcional. Se denomina determinante funcional a un atributo o a un conjunto de atributos de una relación R del cual depende funcionalmente de forma completa algún atributo de las misma relación. . Versión ligeramente más fuerte que al tercera forma normal (3FN) Se dice que una tabla esta en FNBC, si solo si, está en 3FN y cada dependencia funcional no trivial tiene una clave como determinante. Forma Normal Boyce Codd(3FN)-FNBC Una forma sencilla de comprender si una relación está en FNBC consiste en comprobar, además que este en 3FN, lo siguiente: Si no existen claves candidatas compuestas (con varios atributos), está en FNBC. Si existen varias claves candidatas compuestas y éstas tienen un elemento común, no está en FNBC . Ejemplo: (cedulaTutor, cedulaEstudiante, nssTutor) nss : Seguridad Social Las claves candidatas son: cedulaTutor, cedulaEstudiante No está en FNBC nssTutor, cedulaEstudiante (cedulaTutor, nssTutor) (cedulaTutor, cedulaEstudiante) https://www.youtube.com/watch?v=ATF_Kj5t-PU Dependencias Multivaluadas Dada una relación R, se dice que el atributo R.y ₩ R depende de forma multivaluada de otro atributo R.x ₩ R, o que R.x multidetermina a R.y, y se expresa de la forma: Rx. R.y si, solo si, cada valor de R.x tiene asignado un conjunto bien definido de valores de R.y y este conjunto es independiente de cualquier valor que tome otro atributo R.z ₩ R, el cual depende de R.x Cuarta Forma Normal 4FN Una relación está en FN4 si, solo si, siempre que existe una dependencia multivaluada en R de la forma: - R.x R.y, Todos los demás atributos de R son funcionalmente dependientes de R.x - R.x R.z, para todo R.z ₩ R Ejemplo: Ventas(restaurante, pizza, zonaEnvío) ventasPizza(restaurante,pizza) ventasZona(restaurante,zonaEnvío) Ejemplo de 1FN Matrícula Nombre Dirección Teléfono Materia Num Materia Programa 1 Pedro Cr 20 22-30 3154899 Bases de Datos 123 Sistemas 1 Pedro Cr 20 22-30 3154899 Programación Web 234 Sistemas 1 Pedro Cr 20 22-30 3154899 Programación Visual 234 Sistemas 2 Allison Calle 12 17-23 2457896 Bases de Datos 123 Sistemas Grupos redundantes (Matrícula, Nombre, Dirección, teléfono y programa) Los campos que nos están permitiendo esa redundancia son: Materia y NumMateria Son los únicos datos que no cambia en la repetición. Se divide en dos tablas como Se muestra Matrícula Nombre Dirección Teléfono Programa 1 Pedro Cr 20 22-30 3154899 Sistemas 1 Pedro Cr 20 22-30 3154899 Sistemas 1 Pedro Cr 20 22-30 3154899 Sistemas 2 Allison Calle 12 17-23 2457896 Sistemas Matrícula Materia NumMateria 1 Bases de Datos 123 1 Programación Web 234 1 Pprogramación Visual 234 2 Bases de Datos 123 Tabla Alumno Tabla Alumno-Materia Dependencia funcional Dependencia Funcional Dependencia Transitiva A B C A B C B y C dependen funcional mente de A, para que existan B y C tiene que existir A A es la clave primaria, B depende total y funcionalmente de A, pero C depende de B, aquí hay una dependencia transitiva entonces como B depende de A y C depende de B, entonces C tiene una depen dencia transitiva de A. Tercera Forma Normal 3FN Matrícula Nombre Dirección Teléfono No Carrera No Carrera Programa1 Pedro Cr 20 22-30 3154899 1234 1234 Sistemas 1 Pedro Cr 20 22-30 3154899 1234 6789 Sistemas Matrícula NumMateria Materia NumMateria 1 123 Bases de Datos 123 1 234 Programación Web 234 1 234 Pprogramación Visual 234 2 123 Bases de Datos 123 Hasta aquí eta normalizada hasta la Tercera Normal 3FN. No estamos teniendo pérdida de datos y estamos optimizando las tablas y no hay repetición los datos están Relacionados y estamos ahorrando espacio. Segunda Forma Normal 2FN Matrícula Nombre Dirección Teléfono Programa 1 Pedro Cr 20 22-30 3154899 Sistemas 1 Pedro Cr 20 22-30 3154899 Sistemas 1 Pedro Cr 20 22-30 3154899 Sistemas 2 Allison Calle 12 17-23 2457896 Sistemas Matrícula Materia NumMateria 1 Bases de Datos 123 1 Programación Web 234 1 Pprogramación Visual 234 2 Bases de Datos 123 Tabla Alumno Tabla Alumno-Materia Matrícula Nombre Dirección Teléfono Programa 1 Pedro Cr 20 22-30 3154899 Sistemas 1 Pedro Cr 20 22-30 3154899 Sistemas Matrícula NumMateria Materia NumMateria 1 123 Bases de Datos 123 1 234 Programación Web 234 1 234 Pprogramación Visual 234 2 123 Bases de Datos 123 Como sistemas tiene una dependencia transitiva, se debe crear otra tabla y quedaría como se nota en la siguiente diapositiva.
Compartir