jueves, 20 de septiembre de 2012

Normalización de nivel 5


Quinta forma normal (5FN)

     También conocida como forma normal de proyección-unión (PJ/NF), este nivel de normalización de bases de datos está designado para reducir redundancia en las bases de datos relacionales que guardan hechos multi-valores aislando semánticamente relaciones múltiples relacionadas. Una tabla se dice que está en 5NF si y sólo si está en 4NF y cada dependencia de unión (join) en ella es implicada por las claves candidatas.

Uso
     Solamente en contadas ocasiones una tabla 4NF no se corresponde con una 5NF. Éstas son situaciones en las cuales una restricción compleja del mundo real, que limita las combinaciones válidas de los valores de atributos en la tabla 4NF, no está implícita en la estructura de esa tabla. Si esa tabla no se normaliza a 5NF, la tarea de mantener la consistencia lógica de los datos dentro de la tabla debe ser llevada en parte por la aplicación responsable de inserciones, borrados, y actualizaciones a ella; y hay un riesgo elevado de que los datos dentro de la tabla se vuelvan inconsistentes. Por el contrario, el diseño 5NF excluye la posibilidad de tales inconsistencias.

Fuente:
Rules of Data Normalization.
Wikipedia (2012)

miércoles, 19 de septiembre de 2012

Normalización del nivel 4


Cuarta forma normal (4NF)    

     La cuarta forma normal, identificada como 4NF, usada en la normalización de bases de datos asegura de que las dependencias multivaluadas independientes estén correcta y eficientemente representadas en un diseño de base de datos. Esta norma es el siguiente nivel de normalización después de la forma normal de Boyce-Codd (BCNF).

Características

     Una tabla está en 4NF si y solo si esta en tercera forma normal o en BCNF y no posee dependencias multivaluadas no triviales. La definición de la 4NF confía en la noción de una dependencia multivaluada.
     Una tabla con una dependencia multivaluada es una donde la existencia de dos o más relaciones independientes muchos a muchos causa redundancia; y es esta redundancia la que es suprimida por la cuarta forma normal.

Dependencia multivaluada

     Sea R un esquema de relación. La dependencia multivaluada X ->> Y vale en R si los pares de tuplas t1 y t2 en R, tal que t1[X] = t2[X] existen las tuplas t3 y t4 en R tales que:
t1[X] = t2[X] = t3[X] = t4[X]
t3[Y] = t1[Y]
t3[R-X-Y] = t2[R-X-Y]
t4[Y] = t2[Y]
t4[R-X-Y] = t1[R-X-Y]

     En otras palabras se puede decir que: X ->> Y si dado un valor de X, hay un conjunto de valores de Y asociados y este conjunto de valores de Y NO está relacionado (ni funcional ni multifuncionalmente) con los valores de R - X -Y (donde R es el esquema), es decir Y es independiente de los atributos de R-X-Y. (Cátedra de Base de Datos 1, 2009) Una dependencia multivaluada de la forma X->> Y, es trivial cuando el conjunto de atributos {X,Y} conforma el total de los atributos del esquema.

Fuente:
Rules of Data normalization
Wikipedia (2012)

Propiedades ACID

     ACID, conformado por las siglas provenientes de Atomicity, Consistency, Isolation y Durability. En español, Atomicidad, Consistencia, Aislamiento y Durabilidad, son un conjunto de propiedades necesarias para que un conjunto de instrucciones, sean consideradas como una transacción en un sistema de gestión de bases de datos. 

     Una transacción es
 un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica. Un ejemplo de una transacción compleja es la transferencia de fondos de una cuenta a otra, la cual implica múltiples operaciones individuales.
Si un sistema supera la prueba ACID, significa que es fiable.

Atomicidad: Significa que el sistema permite operaciones atómicas. Una operación atómica es aquella que si está formada por operaciones más pequeñas, se consideran como un paquete indivisible. Deben ejecutarse todas correctamente, o en el caso de que alguna de ellas no pueda hacerlo, el efecto de las que ya se han ejecutado no debe hacerse notar, debe deshacerse, como si el conjunto de las operaciones no se hubieran realizado.
     La atomicidad está íntimamente ligada al concepto de transacción de los sistemas gestores de bases de datos. En un SGBD, cuando se indica que un conjunto de operaciones forman una transacción, o se ejecutan todas correctamente, o el SGBD deshará los cambios, como si la transacción nunca se hubiera iniciado. No obstante, atomicidad y transacción no son sinónimos. Mientras atomicidad es una propiedad, la transacción es el mecanismo que utilizan los SGBD para lograr la atomicidad.

Consistencia: Integridad. Esta propiedad asegura que sólo se empieza aquello que se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de integridad de la base de datos. Sostiene que cualquier transacción llevará a la base de datos desde un estado válido a otro también válido.

Aislamiento: Propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error.

Durabilidad: Propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.
Cumpliendo estos 4 requisitos un sistema gestor de bases de datos puede ser considerado ACID Compliant.