martes, 30 de agosto de 2011

Normalización de Bases de Datos

Cuando nosotros estamos desarrollando bases de datos podremos tener problemas en nuestra tabla, como por ejemlplo al momento de actualizar, borrar, e inlcusive insertar un nuevo dato ocaciona que el sistema sufra fallas como la perdida de informacion o errores logicos, para esto existe la normalizacion de bases de datos.

¿Que es la normalizacion?

La normalizacion es el proceso de descomponer en esquemas la tabla que tenemos inicialmente para que nuetras relaciones no presenten anomalías y asi garantizar la efectividad y eficiencia de nuestro sistema de bases de datos.

Para esta descomposición de esquemas utilizamos las formas normales de Codd, las cuales son 3, existen hasta 5 formas normales pero que tienden a añadir complejidad a la solución, pero de igual manera eliminan las anomalías que se presentan.

Las principales anomalías que se presentan son la anomalía de inserción (insertar un nuevo dato que no sea llave primaria puede provocar la no inserción del mismo en la base), la anomalía de borrado (borrar un dato que sea llave primaria puede llevar a que toda la información ligada a esa llave se pierda o borre) y la anomalía de actualización (Si el dato es llave primaria, entonces se tiene que actualizar todos los datos ligados a la llave lo que es poco eficiente).

Dado que todos los problemas anteriores conciernen principalmente a la llave primaria, lo que se busca con la normalizacion de bases de datos es eliminar esa dependencia y las anomalías sean corregidas.






lunes, 29 de agosto de 2011

SQL Power Architect


Es una herramienta de modelado de datos que fue creada por los diseñadores de almacenamiento de datos y tiene muchas características únicas dirigidas específicamente para el arquitecto de almacenamiento de datos. Nos permite realizar perfiles de datos en bases de datos de origen y generar automáticamente los metadatos de ETL de forma rapida y muy sencilla.
Algunas Características de SQL Power Architect.
* Permite acceder a las bases de datos a través de JDBC.
* Puedes conectarte a múltiples bases de datos al mismo tiempo.
* Compara modelos de datos y estructuras de bases de datos e identifica las discrepancias.
* Drag-and-drop de las tablas origen y las columnas en el área de trabajo.
* Ingeniería directa/inversa para PostgreSQL, Oracle, MS SQL Server y muchas más.
* Todos los proyectos se guardan en formato XML.
* OLAP modelos de esquema: cubos, medidas, dimensiones, jerarquías y niveles.

Modelo E-R

Modelo Entidad-Relación:

El modelo entidad-relación, también conocido por sus siglas "E-R" ,es una herramienta para el modelado de datos de un sistema de información donde se expresan entidades relevantes para un sistema de información así como sus interrelaciones y propiedades.

Pasos para elaborarlo:

1) Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.

2)Se elabora el diagrama entidad-relación con las listas

Partes que conforman el Modelo E-R

Entidad:

Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad. Van dentro de un Rectángulo dentro del diagrama.

Atributos:

Son las características que definen o identifican a una entidad. Estas pueden ser muchas, y el diseñador solo utiliza o implementa las que considere más relevantes. Los atributos son las propiedades que describen a cada entidad en un conjunto de entidades. Van dentro de elipses dentro del diagrama.

Claves:

  • Superclave: Es un subconjunto de atributos que permite distinguir unívocamente cada una de las entidades de un conjunto de entidades. Si se añade un atributo al anterior subconjunto, el resultado seguirá siendo una superclave.
  • Clave candidata: Dada una superclave, si ésta deja de serlo quitando únicamente uno de los atributos que la componen, entonces ésta es una clave candidata.
  • Clave primaria: Es una clave candidata, elegida por el diseñador de la base de datos, para identificar unívocamente las entidades en un conjunto de entidades.

Relación:

Describe cierta dependencia entre entidades o permite la asociación de las mismas. Va dentro de un robo dentro del diagrama.


Ejemplo del Modelo E-R:


De Modelo entidad- relación a Modelo Relacional

En este apartado veremos de manera resumida como lo dice el titulo la manera de pasar de modelo entidad relación al modelo relaciona.

Una vez que tenemos modelo nuestro modelo entidad relación, debemos analizar cada una de las relaciones que existen entre todas las tablas, ya que para cada tipo de relación existen algunas reglas que se deben de seguir para conseguir un modelo relacional.

Para la relación uno a uno:
Si ambas entidades tienen la misma llave primaria se crea solo una tabla, en caso contrario se crean dos tablas poniendo la llave primaria de la otra entidad como llave foránea en la tabla que se esta realizando.

Para la relación uno a muchos:
Se crean dos tablas desde un inicio, pasando la llave primaria de una entidad a otra como foráneas. En caso de que la relación tuviera atributos estos pasan a formar parte de la tabla de la entidad con mayor cardinalidad.

Para la relación muchos a muchos
Se crean 3 tablas, una para cada entidad y una para la relación, poniendo en esta ultima las llaves primarias de las entidades y los atributos de la relación en caso de que existieran.

Estos fueron algunos pasos para crear un modelo relacional, mas adelante veremos mas sobre su funcionalidad.