12. Normalizacion.pdf
Document Details
Uploaded by IndulgentCitrine
Universidad Mariano Gálvez de Guatemala
Tags
Related
Full Transcript
BD CONCEPTOS GENERALES Introduccion a los Sistemas de Computo Universidad Mariano Gálvez Dominios El conjunto de valores permitidos para cada atributo se llama dominio de dicho atributo. Valores nulos En ocasiones el valor de dicho atributo se desconoce en el momen...
BD CONCEPTOS GENERALES Introduccion a los Sistemas de Computo Universidad Mariano Gálvez Dominios El conjunto de valores permitidos para cada atributo se llama dominio de dicho atributo. Valores nulos En ocasiones el valor de dicho atributo se desconoce en el momento actual o no está definido para una instancia particular. En una base de datos, a algunos atributos se les puede permitir tener valores nulos para algunas instancias de entidades Atributos multivaluados Algunos atributos pueden tener valores múltiples para una instancia de entidad. Por ejemplo, los estudiantes pueden tener más de una dirección de correo electrónico. Atributos Compuestos Algunos atributos se pueden descomponer en elementos más pequeños. Por ejemplo, la dirección se puede descomponer en calle, ciudad, estado y código postal. Atributos Derivados A veces es posible que quiera incluir en un diseño un atributo cuyo valor se pueda calcular cuando sea necesario. Por ejemplo, es posible que quiera tratar la edad como si fuese un atributo, pero si ya almacenó la fecha de nacimiento, no hay necesidad de también almacenar la edad, pues se calcula fácilmente. Superclaves Una superclave es un atributo o un conjunto de atributos que identifican de manera única una entidad. Eso significa que siempre permite diferenciar una instancia de entidad de otra. Clave Candidata Es aquella que no contiene atributos adicionales. Una clave candidata se define como una superclave tal que ningún subconjunto propio de sus atributos sea por sí mismo una superclave. Claves Primarias Un conjunto de entidades puede tener varias claves candidatas. El diseñador de la base de datos elige entre ellas e identifica una como la forma normal de identificar entidades y acceder a los registros. Ésta se convierte en la clave primaria. En otras palabras, la clave primaria es la clave candidata “triunfadora”, aquella que en realidad se elige. La clave primaria puede ser una sola clave de atributo o una clave compuesta. Claves Primarias Con frecuencia, las otras claves candidatas se convierten en claves alternativas, cuyos valores únicos proporcionan otro método de acceder a los registros. El término clave secundaria por lo general significa un atributo o conjunto de atributos cuyos valores, no necesariamente únicos, se usan como un medio de acceder a los registros. NORMALIZACIÓN BD Introduccion a los Sistemas de Computo Universidad Mariano Gálvez Objetivos El objetivo básico del modelado lógico es desarrollar una “buena” descripción de los datos, sus relaciones y sus restricciones. Para el modelo relacional, esto significa que debe identificar un conjunto adecuado de relaciones. La tarea de elegir las relaciones es difícil, porque existen muchas opciones para que el diseñador las considere. Objetivos El propósito de la normalización es producir un conjunto estable de relaciones que sea un modelo fiel de las operaciones de la empresa. Al seguir los principios de la normalización, se logra un diseño que es muy flexible, lo que permite al modelo extenderse cuando necesite representar nuevos atributos, conjuntos de entidades y relaciones. Anomalias Una anomalía es un estado inconsistente, incompleto o contradictorio de la base de datos. Si estas anomalías estuvieran presentes sería incapaz de representar cierta información, podría perder información cuando ciertas actualizaciones se realicen y correría el riesgo de que los datos se vuelvan inconsistentes con el tiempo. Tipos de Anomalias INSERT - actualización DELETE - borrado y UPDATE, actualización Ejemplo de Anomalias Supongamos una tabla llamada Empleados_Proyectos: Ejemplo de Anomalias Anomalía de Inserción: No se puede agregar Proyecto C sin asignar un id_empleado y nombre_empleado. Actualización: Si el nombre de Proyecto A cambia a Proyecto X, todas las filas con id_proyecto 101 deben actualizarse. Si no se actualiza una fila, habrá inconsistencia. Anomalía de Eliminación: Si se elimina el empleado Carlos Sánchez, también se elimina la información del Proyecto A para ese empleado, lo cual puede ser problemático si el Proyecto A todavía está en curso con otros empleados. Dependencia Funcional Definición: Si R es un esquema de relación y A y B son conjuntos de atributos no vacíos en R, se dice que B es funcionalmente dependiente en A si y sólo si cada valor de A en R tiene asociado exactamente un valor de B en R. Esto se escribe como A→B Dependencia Funcional Para ilustrar la dependencia funcional considere la siguiente relación: Dependencia Funcional Al examinar la tabla, se ve que, si se proporciona un valor específico de stuId, sólo hay un valor de lastName asociado con dicho stuId particular. Por Ejemplo: Para el stuId S1006, el lastName asociado es Lee. Puesto que se entiende que cada estudiante tiene una ID única, se sabe que es una característica de la relación, no sólo de esta instancia, de modo que {lastName} es funcionalmente dependiente de {stuId} y se puede escribir {stuId} → {lastName} : Dependencia Funcional Sin embargo, para un valor dado de lastName, puede haber más de un stuId. Note que, para el lastName Jones, existen dos valores stuId, S1003 y S1060. Para cada uno de los otros atributos, existe sólo un valor asociado con un valor particular de stuId, de modo que todos los atributos son funcionalmente dependientes de stuId. Formas Normales Las formas normales son una serie de pautas o reglas utilizadas en la normalización de bases de datos relacionales para minimizar la redundancia y evitar problemas de integridad en los datos. Cada forma normal impone restricciones adicionales sobre la estructura de las tablas y las relaciones entre ellas. Primera Forma Normal 1NF Propósito: Garantizar que la tabla sea una relación válida en el modelo relacional. Requisitos: Cada columna debe contener valores atómicos e indivisibles. Cada columna debe contener solo un valor por fila (no listas o conjuntos de valores). Todos los valores en una columna deben ser del mismo tipo de datos. Cada fila debe ser única y debe haber una clave primaria que identifique de manera única cada fila. Ejemplo: Si una tabla contiene una columna con múltiples valores, como una lista de números de teléfono en una sola columna, no está en 1NF. Para normalizar, se dividiría esa columna en varias filas, cada una con un solo valor de teléfono. Segunda Forma Normal 1NF Propósito: Eliminar la redundancia parcial de los datos. Requisitos: La tabla debe estar en 1NF. Todas las columnas no clave deben depender completamente de la clave primaria (dependencia completa). Ejemplo: Si una tabla tiene una clave primaria compuesta y una columna depende solo de una parte de esa clave, no está en 2NF. Para normalizar, se movería esa columna a otra tabla donde su dependencia sea completa. Segunda Forma Normal 1NF Propósito: Eliminar la redundancia transitoria de los datos. Requisitos: La tabla debe estar en 2NF. No debe haber dependencias transitivas entre las columnas no clave y la clave primaria (es decir, una columna no clave no debe depender de otra columna no clave). Ejemplo: Si una tabla tiene una columna A que depende de la clave primaria y una columna B que depende de A, entonces B tiene una dependencia transitiva. Para normalizar, se movería B a otra tabla donde dependa directamente de A.