jueves, 13 de octubre de 2011

Resumen de normalizacion

La normalización de una base de datos, consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al relacional.

Una vez obtenido el esquema relacional resultante del modelo entidad relación que representa la base de datos, normalmente se tendrá una buena base de datos. Pero otras veces, debido a fallos en el diseño o a problemas indetectables en esta fase del diseño, tendremos un esquema que puede producir una base de datos que incorpore estos problemas:

  •   Redundancia. Se llama así a los datos que se repiten continua e innecesariamente por las tablas de las bases de datos. 
  •   Ambigüedades. Datos que no clarifican suficientemente el registro al que representan.
  •  Pérdida de restricciones de integridad.
  • Anomalías en operaciones de modificación de datos. El hecho de que al insertar un solo elemento haya que repetir tuplas o registros en una tabla para variar unos pocos datos. O que eliminar un elemento suponga eliminar varias tuplas.  
  • El principio fundamental reside en que las tablas deben referirse a objetos o situaciones muy concretas.


La solución para estos problemas o anomalías suele ser dividir la tabla con problemas en otras tablas más adecuadas.

Las formas normales se corresponden a una teoría de normalización iniciada por Codd y continuada por otros autores (entre los que destacan Boyce y Fagin). Codd definió en 1970 la primera forma normal, desde ese momento aparecieron la segunda, tercera, la Boyce-Codd, la cuarta y la quinta forma normal.

Una tabla puede encontrarse en primera forma normal y no en segunda forma normal, pero no al contrario. Es decir los números altos de formas normales son más restrictivos (la quinta forma normal cumple todas las anteriores).

Primera forma normal.

Una tabla se encuentra en primera forma normal si impide que un atributo de una tupla pueda tomar más de un valor.

Segunda forma normal.

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. Toda la clave principal debe hacer dependientes al resto de atributos, si hay atributos que depende sólo de parte de la clave, entonces esa parte de la clave y esos atributos formarán otra tabla.

Se dice que un conjunto de atributos (Y) depende funcionalmente de otro conjunto de atributos (X) si para cada valor de X hay un único valor posible para Y. Simbólicamente se denota por X→Y.

Por ejemplo el nombre de una persona depende funcionalmente del DNI, para un DNI concreto sólo hay un nombre posible.

Tercera forma normal.

Ocurre cuando una tabla está en segunda forma normal 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.

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)

Por ejemplo si X es el atributo Número de Clase de un instituto, e Y es el atributo Código Tutor. Entonces X→Y (el tutor depende funcionalmente del número de clase). Si Z representa el Código del departamento, entonces Y→Z (el código del departamento depende funcionalmente del código tutor, cada tutor sólo puede estar en un departamento). Como no ocurre que Y→X (el código de la clase no depende funcionalmente del código tutor, un código tutor se puede corresponder con varios códigos de clase).

Entonces X-→Z (el código del departamento depende transitivamente del código de la clase).

Forma normal de Boyce-Codd (FNBC).

Ocurre si una tabla está en tercera forma normal y además todo determinante es una clave candidata.

Cuarta forma normal.

Ocurre esta forma normal cuando una tabla está en forma normal de Boyce Codd y toda dependencia multivaluada es una dependencia funcional.

Una dependencia multivaluada de una tabla con atributos X, Y, Z de X sobre Z (es decir X->>Z) ocurre cuando los posibles valores de Y sobre cualquier par de valores X y Z dependen sólo del valor de X y son independientes de Z.

Quinta forma normal.

Ocurre cuando existen restricciones especiales entre claves que no han sido desglosados, se deben a restricciones muy concretas y complejas.

A continuacion un video:









martes, 4 de octubre de 2011

Resumen modelo entidad-relacion


El modelo entidad-relación es una herramienta para el modelado de datos de un sistema de informacion. Estos modelos expresan entidades relevantes para un sistema de información así como sus interrelaciones y propiedades.


Entidad: Es un objeto en el mundo real que es distinguible, tiene un conjunto de propiedades.


Atributo: Describe la propiedad o propiedades que posee una entidad.


Diagrama entidad relación: Proporciona una notación para documentar un diseño de una base de datos, el diagrama consta de los siguientes componentes:


  •          Rectángulos: representan entidades.

  •          Elipses: representan atributos.

  •          Rombos: representan relaciones normalmente es etiquetado en su interior con un verbo.

  •          Líneas: unen atributos a entidades, y entidades a relaciones.

  •         Elipses dobles: representan atributos multivaluados.

  •          Elipses discontinuas: describen atributos derivados.

  •          Líneas dobles: indican participación total de una entidad en una relación.



Relación: Es una asociación entre entidades.


Cardinalidad de las relaciones: El tipo de cardinalidad se representa mediante una etiqueta en el exterior de la relación, respectivamente: "1:1", "1: N" y "N: M", aunque la notación depende del lenguaje utilizado, la que más se usa actualmente es el unificado. Otra forma de expresar la cardinalidad es situando un símbolo cerca de la línea que conecta una entidad con una relación:
  •      "0" si cada instancia de la entidad no está obligada a participar en la relación.
  •      "1" si toda instancia de la entidad está obligada a participar en la relación y, además, solamente participa una vez.
  •      "N”, "M", o "*" si cada instancia de la entidad no está obligada a participar en la relación y puede hacerlo cualquier número de veces.
Entidades fuertes y débiles: Una entidad débil es aquella que no puede existir sin participar en la relación, es decir, aquella que no puede ser unívocamente identificada solamente por sus atributos. Una entidad fuerte (también conocida como entidad regular) es aquella que sí puede ser identificada unívocamente.

Grado: Es el número de entidades que intervienen en una relación.

Restricciones de participación: Dado un conjunto de relaciones R en el cual participa un conjunto de entidades A, dicha participación puede ser de dos tipos:

  • Total: Cuando cada entidad en A participa en al menos una relación de R.
  • Parcial: Cuando al menos una entidad en A NO participa en alguna relación de R.

Herencia: La herencia es un intento de adaptación de estos diagramas al paradigma orientado a objetos. La herencia es un tipo de relación entre una entidad "padre" y una entidad "hijo". La entidad "hijo" hereda todos los atributos y relaciones de la entidad "padre". Por tanto, no necesitan ser representadas dos veces en el diagrama. La relación de herencia se representa mediante un triángulo interconectado por líneas a las entidades.

Agregación: Es una abstracción a través de la cual las relaciones se tratan como entidades de un nivel más alto. Se utiliza para expresar relaciones entre relaciones o entre entidades y relaciones. Se representa englobando la relación abstraída y las entidades que participan en ella en un rectángulo.


A continuacion tutorial del modelo entidad relacion aqui