Bases de Datos: Conceptos, Tipos y Características Clave
Clasificado en Informática
Escrito el en español con un tamaño de 4,93 KB
Una base de datos es un sistema para archivar información en una computadora, cuyo propósito general es mantener información y hacer que esté disponible cuando se solicite. Las bases de datos son un área de la computación que ha recibido mucha atención debido a sus múltiples aplicaciones: bibliotecas, automatización de oficinas, ingeniería de software, diccionarios automatizados y, en general, cualquier programa orientado a mantener y recuperar información textual. Su recuperación, actualización y manejo es relativamente simple con el uso de cualquier manejador de bases de datos.
Antecedentes
La información se ha convertido en el eje que mueve a la mayoría de las organizaciones hoy día. La solución: las personas de computación han desarrollado conceptos, técnicas y sistemas bajo un tópico conocido como "bases de datos".
- Dato: es la representación física de un aspecto de la realidad.
- Base de datos: conjunto de datos, que pueden estar organizados y/o interrelacionados de alguna manera con un propósito particular.
- DBMS: Sistema Manejador de Bases de Datos.
Tipos de Bases de Datos
Bases de Datos Relacionales
Las bases de datos relacionales son las que han tenido más uso comercial. Consisten en tablas; cada tabla lleva el nombre de una relación y contiene filas y columnas. Se pueden construir nuevas tablas a partir de estas mediante el corte y pegado de filas y columnas (registros y campos) a partir de tablas existentes y relacionales. Estas filas y columnas son lo que conocemos como campos y registros. La manera de acceder a cualquiera de ellos se realiza mediante un campo "llave"; este se elige después de analizar todos los campos del registro. La característica esencial de un campo llave es que es distinto para cada registro. Al procedimiento de seleccionar el campo llave y, en general, la estructuración de la base de datos se le llama normalización.
Bases de Datos Lógicas
Las bases de datos lógicas son construidas con registros homogéneos de manera parecida a las relacionales. Adicionalmente, se agregan restricciones lógicas y reglas de composición parecidas a las de Prolog, que permiten (en principio) deducir información que originalmente no está contenida en la base de datos.
Bases de Datos Orientadas a Objetos
Las bases de datos orientadas a objetos tienen una organización similar a la de los árboles. Cada nodo del árbol representa un campo y cada árbol un registro; cada tipo de nodo tiene un método distinto de búsqueda. Esto es equivalente a decir que todos los campos pueden ser utilizados como campos llave, pero complica el diseño. Si la base de datos es demasiado grande o tiene relaciones demasiado complejas, el grafo resultante se vuelve una maraña ininteligible. No existen implementaciones comerciales de este tipo de bases de datos, y los prototipos académicos son una capa de software adicional al manejador de una base de datos relacional.
Problemas y Desafíos en las Bases de Datos
- Redundancia de datos e inconsistencias: formatos, duplicidad de información e incongruencia entre datos o copias de datos a lo largo del sistema.
- Dificultad de acceso (Access): en un sistema de archivos no se pueden obtener aquellos datos que no estén implantados en un programa; se carece de niveles de abstracción.
- Aislamiento de datos: debido al factor tiempo y los requerimientos que van surgiendo, se puede llegar a tener un problema al intentar separar un conjunto de datos porque ya se tiene un enredo en los archivos y se podría dar el caso en que dos usuarios estén manipulando la misma información pero de distinta manera.
- Integridad: si queremos asociar dos datos, para ello se emplean "restricciones de consistencia".
- Atomicidad: el problema clásico de transacciones bancarias: u ocurre toda la transacción o no ocurre nada, pero no puede quedarse a medias.
- Acceso concurrente: garantizar un buen tiempo de respuesta, que todos los usuarios puedan acceder y/o modificar la información; esto no es fácil porque también hay que considerar que, aunque los datos son los mismos, las aplicaciones no necesariamente lo son.
- Seguridad: no toda la información debe estar disponible a todos los usuarios; algunos usuarios solo tendrán permisos de lectura. Esto es relativamente sencillo de resolver aplicando "roles", pero el problema aumenta cuando, en lugar de pensar en términos de usuarios, pensamos en términos de aplicaciones, ya que el número de roles y sus combinaciones aumenta y mantener las restricciones de seguridad se torna complicado.