lunes, 30 de julio de 2012

Introducción y conceptos de Bases de Datos Relacionales

Introducción a las Bases de Datos Relacionales. Las bases de datos surgieron como respuesta a los altos niveles de procesamiento de información que comenzaron a tener las grandes organizaciones.

El procesamiento de archivos estaba quedando obsoleto dado que el manejo de archivos y la obtención de reportes cada vez más sofisticados para la toma de decisiones fue llegando a tal grado que manejar archivos planos con lenguajes de programación tradicionales se volviera una pesadilla.

El Modelo Relacional


Uno de los mayores logros para el manejo eficiente de bases de datos (anteriormente ya existían otros modelos como las Bases de datos jerarquicas y de Redes) vino de la mano de E. F. Codd que trabajaba en IBM, quien en el año de 1970 publicó un artículo llamado "A Relational Model of Data for Large Shared Databanks", junio 1970 pp. 77-387.  Codd hace uso de una especialidad de matemáticas llamada algebra relacional para el manejo de datos. El trabajo realizado permitió estructurar y definir el modelo de las Bases de Datos Relacionales.

Nota: Curiosamente aunque la investigación nació en IBM no liberó la primer base de datos relacional, este honor le corresponde a la por aquellos días pequeña empresa Oracle.
Ventajas del Modelo Relacional

La principal ventaja es que los datos se almacenan conceptualmente de una manera más intuitiva para los usuarios. Los datos se almacenan en tablas, renglones y existen relaciones entre los datos de dos o más tablas por medio de columnas especiales.

Esto trae una considerable ventaja respecto al antiguo Procesamiento de archivos, ya que no existe la duplicación de datos cuando esta bien diseñada la base de datos, entre otras ventajas. Existirá por ejemplo una única tabla para clientes y en ninguna otra tabla tendrá información duplicada.

Componentes de las Bases de Datos Relacionales


Una afinidad es una tabla de dos dimensiones. Cada fila tiene datos que pertenecen a algo. Cada columna corresponde a un atributo y a las hileras se les conoce como tuplas. Los términos afinidad, tupla y atributo son propias del álgebra relacional, pero para la gente de sistemas es más propio usar: tabla, registro y campo.

Para entender el modelo relacional y la normalización se deben comprender dos términos importantes: dependencia funcional y clave. La normalización es un proceso para convertir una afinidad que tiene algunos problemas, a dos o más afinidades que resuelven el problema.


Dependencias funcionales


Se llama dependencia funcional a la relación entre uno o más atributos (tablas). Es decir si se conoce el valor de un atributo se puede conocer el valor de otro; como ejemplo, con el valor numeroSeguroSocial se puede encontrar nombreAsegurado, en dicho caso se dice que nombreAsegurado es funcionalmente dependiente de numeroSeguroSocial.

Las Clave y la Unicidad


Una clave es un grupo de uno o más atributos que identifican de modo único (unicidad) a una hilera. Existen varios tipos de claves. Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suele llamársele candidata a clave primaria.
Clave primaria

Una clave primaria es una clave única elegida entre las candidatas de una afinidad, para especificar los datos que serán relacionados con las demás afinidades. La forma de hacer esto es por medio de claves foráneas. Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave debe contener valores NULL.
Clave foránea

Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.

Por ejemplo, el código de numerocliente puede ser una clave foránea en la tabla de facturas. Se permite que existan varias facturas en un mismo cliente, pero habrá uno y sólo un numeroCliente por cada clave numerofactura en la tabla facturas.
Clave índice

Las claves índice nacen por la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla con el fin de que las consultas que filtran registros por medio de estos campos, puedan encontrar los registros de forma no secuencial y más rápido usando la clave índice.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.