Base de datos
Una base de datos es un almacén
que nos permite guardar grandes cantidades de información de forma organizada
para que luego podamos encontrar y utilizar fácilmente. El término de bases de
datos fue escuchado por primera vez en 1963, en un simposio celebrado en
California, USA. Una base de datos se puede definir como un conjunto
de información relacionada que se encuentra agrupada o estructurada. En
informática, la base de datos es un sistema formado por un conjunto de datos
almacenados en discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulen ese conjunto de datos. Cada base de datos se compone de
una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o
más columnas y filas. Las columnas guardan una parte de la
información sobre cada elemento que queramos guardar en la tabla, cada fila de
la tabla conforma un registro.
Características
Entre las principales
características de los sistemas de base de datos podemos mencionar:
·
Independencia lógica y física de los datos.
·
Redundancia mínima.
·
Acceso concurrente por parte de múltiples
usuarios.
·
Integridad de los datos.
·
Consultas complejas optimizadas.
·
Seguridad de acceso y auditoría.
·
Respaldo y recuperación.
Ventajas de las bases de datos
·
Control sobre la
redundancia de datos: Los sistemas de ficheros almacenan varias copias
de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio
de almacenamiento,
además de provocar la falta de consistencia de datos. En los sistemas de bases
de datos todos estos ficheros están integrados, por lo que no se almacenan
varias copias de los mismos datos. Sin embargo, en una base de datos no se
puede eliminar la redundancia completamente, ya que en ocasiones es necesaria
para modelar las relaciones entre los datos.
·
Consistencia de datos: Eliminando
o controlando las redundancias de datos se reduce en gran medida el riesgo de
que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier
actualización se debe realizar sólo una vez, y está disponible para todos los
usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta
redundancia, el propio sistema puede encargarse de garantizar que todas las
copias se mantienen consistentes.
·
Compartir datos: En
los sistemas de ficheros, los ficheros pertenecen a las personas o a los
departamentos que los utilizan. Pero en los sistemas de bases de datos, la base
de datos pertenece a la empresa y puede ser compartida por todos los usuarios
que estén autorizados.
·
Mantenimiento de
estándares: Gracias a la integración es más fácil respetar los estándares necesarios,
tanto los establecidos a nivel de la empresa como los nacionales e
internacionales. Estos estándares pueden
establecerse sobre el formato de los datos para facilitar su intercambio,
pueden ser estándares de documentación, procedimientos de actualización y
también reglas de acceso.
·
Mejora en la integridad
de datos: La integridad de la base de datos se refiere a la validez y la
consistencia de los datos almacenados. Normalmente, la integridad se expresa
mediante restricciones o reglas que no se pueden violar. Estas restricciones se
pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se
debe encargar de mantenerlas.
·
Mejora en la seguridad: La seguridad de
la base de datos es la protección de la base de datos frente a usuarios no
autorizados. Sin unas buenas medidas de seguridad, la integración de datos en
los sistemas de bases de datos hace que éstos sean más vulnerables que en los
sistemas de ficheros.
·
Mejora en la
accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de
consultas o generadores de informes que permiten al usuario hacer cualquier
tipo de consulta sobre los datos, sin que sea necesario que un programador
escriba una aplicación que
realice tal tarea.
·
Mejora en la
productividad: El SGBD proporciona muchas de las funciones estándar que
el programador necesita escribir en un sistema de ficheros. A nivel básico, el
SGBD proporciona todas las rutinas de manejo de ficheros típicas de los
programas de aplicación. El hecho de disponer de estas funciones permite al
programador centrarse mejor en la función específica requerida por los
usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel.
·
Mejora en el
mantenimiento: En los sistemas de ficheros, las descripciones de los
datos se encuentran inmersas en los programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un
cambio en su estructura, o un cambio en el modo en que se almacena en disco,
requiere cambios importantes en los programas cuyos datos se ven afectados. Sin
embargo, los SGBD separan las descripciones de los datos de las aplicaciones.
Esto es lo que se conoce como independencia de datos, gracias a la cual se
simplifica el mantenimiento de las aplicaciones que acceden a la base de datos.
·
Aumento de la
concurrencia: En algunos sistemas de ficheros, si hay varios usuarios
que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso
interfiera entre ellos de modo que se pierda información o se pierda la
integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de
datos y garantizan que no ocurran problemas de este tipo.
·
Mejora en los servicios
de copias de seguridad: Muchos sistemas de ficheros dejan que sea el
usuario quien proporcione las medidas necesarias para proteger los datos ante
fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer
copias de seguridad cada día, y si se produce algún fallo, utilizar estas
copias para restaurarlos. En este caso, todo el trabajo realizado sobre los
datos desde que se hizo la última copia de seguridad se pierde y se tiene que
volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se
minimiza la cantidad de trabajo perdido cuando se produce un fallo.
Desventajas de las bases de datos
·
Complejidad: Los
SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder
realizar un buen uso de ellos.
·
Coste del equipamiento
adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que
sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las
prestaciones deseadas, es posible que sea necesario adquirir una máquina más
grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la
implantación de un sistema de bases de datos sea más cara.
·
Vulnerable a los fallos:
El hecho de que todo esté centralizado en el SGBD hace que el sistema
sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben
tenerse copias de seguridad (Backup).
Entre los diferentes tipos de
base de datos, podemos encontrar los siguientes:
MySql: es
una base de datos con licencia GPL basada en un servidor. Se caracteriza por su
rapidez. No es recomendable usar para grandes volúmenes de datos.
PostgreSql y
Oracle: Son sistemas de base de datos poderosos. Administra muy
bien grandes cantidades de datos, y suelen ser utilizadas en intranets y
sistemas de gran calibre.
Access: Es una base de datos
desarrollada por Microsoft.
Esta base de datos, debe ser creada bajo el programa access, el cual crea un
archivo .mdb con la estructura ya explicada.
Microsoft
SQL Server: es una base de datos más potente que access
desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de
informaciones.
Tipos de Campos de bases de datos
Cada Sistema de Base de Datos
posee tipos de campos que pueden ser similares o diferentes. Entre los más
comunes podemos nombrar:
·
Numérico: entre
los diferentes tipos de campos numéricos podemos encontrar enteros “sin
decimales” y reales “decimales”.
·
Booleanos: poseen
dos estados: Verdadero “Si” y Falso “No”.
·
Memos: son
campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no
poder ser indexados.
·
Fechas: almacenan
fechas facilitando posteriormente su explotación. Almacenar fechas de esta
forma posibilita ordenar los registros por fechas o calcular los días entre una
fecha y otra.
·
Alfanuméricos: contienen
cifras y letras. Presentan una longitud limitada (255 caracteres).
·
Auto incrementables: son campos numéricos
enteros que incrementan en una unidad su valor para cada registro incorporado.
Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un
registro.
Estructura de una Base de Datos
Una base de datos, a fin de
ordenar la información de manera lógica, posee un orden que debe ser cumplido
para acceder a la información de manera coherente. Cada base de datos contiene
una o más tablas, que cumplen la función de contener los campos. La estructura
de una base de datos hace
referencia a los tipos de datos,
los vínculos o relaciones y
las restricciones que deben cumplir esos datos (integridad de datos y redundancia de
datos). La estructura de una base de datos es diseñada o descrita
empleando algún tipo de modelo
de datos.
Modelo de bases de datos
Además de la clasificación por la
función de las bases de datos, estas también se pueden clasificar de acuerdo a
su modelo de administración de datos.
Un modelo de datos es básicamente
una "descripción" de algo conocido como contenedor de
datos (algo en donde se guardan los datos), así como de los métodos para
almacenar y recuperar datos de esos contenedores. Los modelos de datos no son
cosas físicas: son abstracciones que permiten la implementación de un sistema
eficiente de base de datos; por lo general se refieren a algoritmos, y
conceptos matemáticos.
Algunos modelos con frecuencia
utilizados en las bases de datos:
Bases de
datos jerárquicas
En este modelo los datos se
organizan en forma de árbol invertido (algunos dicen raíz), en donde
un nodo padre de información puede tener varios hijos. El nodo
que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se
los conoce como hojas.
Las bases de datos jerárquicas
son especialmente útiles en el caso de aplicaciones que manejan un gran volumen
de información y datos muy compartidos permitiendo crear estructuras estables y
de gran rendimiento.
Una de las principales
limitaciones de este modelo es su incapacidad de representar eficientemente la
redundancia de datos.
Base de
datos de red
Este es un modelo ligeramente
distinto del jerárquico; su diferencia fundamental es la modificación del
concepto de nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto
al modelo jerárquico, ya que ofrecía una solución eficiente al problema de
redundancia de datos; pero, aun así, la dificultad que significa administrar la
información en una base de datos de red ha significado que sea un modelo
utilizado en su mayoría por programadores más que por usuarios finales.
Bases de
datos transaccionales
Son bases de datos cuyo único fin
es el envío y recepción de datos a grandes velocidades, estas bases son muy
poco comunes y están dirigidas por lo general al entorno de análisis de
calidad, datos de producción e industrial, es importante entender que su fin
único es recolectar y recuperar los datos a la mayor velocidad posible, por lo
tanto la redundancia y duplicación de información no es un problema como con
las demás bases de datos, por lo general para poderlas aprovechar al máximo
permiten algún tipo de conectividad a bases de datos relacionales.
Un ejemplo habitual de
transacción es el traspaso de una cantidad de dinero entre cuentas bancarias.
Normalmente se realiza mediante dos operaciones distintas, una en la que se
debita el saldo de la cuenta origen y otra en la que acreditamos el saldo de la
cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que
no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es
decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso
una caída del sistema), el resultado final es que, o bien se han realizado las
dos operaciones, o bien no se ha realizado ninguna.
Bases de
datos relacionales
Este es el modelo utilizado en la
actualidad para representar problemas reales y administrar datos dinámicamente.
Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd,2 de
los laboratorios IBM en San José (California), no tardó en
consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea
fundamental es el uso de "relaciones". Estas relaciones podrían
considerarse en forma lógica como conjuntos de datos llamados "tuplas".
Pese a que esta es la teoría de las bases de datos relacionales creadas por
Codd, la mayoría de las veces se conceptualiza de una manera más fácil de
imaginar. Esto es pensando en cada relación como si fuese una tabla que está
compuesta por registros (las filas de una
tabla), que representarían las tuplas, y campos (las columnas de una
tabla).
En este modelo, el lugar y la
forma en que se almacenen los datos no tienen relevancia (a diferencia de otros
modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de
que es más fácil de entender y de utilizar para un usuario esporádico de la
base de datos. La información puede ser recuperada o almacenada mediante
"consultas" que ofrecen una amplia flexibilidad y poder para
administrar la información.
El lenguaje más habitual para
construir las consultas a bases de datos relacionales es SQL, Structured
Query Language o Lenguaje Estructurado de Consultas, un estándar
implementado por los principales motores o sistemas de gestión de bases de
datos relacionales.
Durante su diseño, una base de
datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.
Bases de
datos multidimensionales
Son bases de datos ideadas para
desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian
demasiado de las bases de datos relacionales (una tabla en una base de datos
relacional podría serlo también en una base de datos multidimensional), la
diferencia está más bien a nivel conceptual; en las bases de datos
multidimensionales los campos o atributos de una tabla pueden ser de dos tipos,
o bien representan dimensiones de la tabla, o bien representan métricas que se
desean aprender.
Bases de
datos orientadas a objetos
Este modelo, bastante reciente, y
propio de los modelos informáticos orientados a
objetos, trata de almacenar en la base de datos
los objetos completos (estado y comportamiento).
Una base de datos orientada a
objetos es una base de datos que incorpora todos los conceptos importantes del
paradigma de objetos:
·
Encapsulación - Propiedad que permite ocultar la información al resto de
los objetos, impidiendo así accesos incorrectos o conflictos.
·
Herencia - Propiedad a través de la cual los objetos
heredan comportamiento dentro de una jerarquía de clases.
·
Polimorfismo - Propiedad de una operación mediante la cual
puede ser aplicada a distintos tipos de objetos.
En bases de datos orientadas a
objetos, los usuarios pueden definir operaciones sobre los datos como parte de
la definición de la base de datos. Una operación (llamada función) se
especifica en dos partes. La interfaz (o signatura) de una operación incluye el
nombre de la operación y los tipos de datos de sus argumentos (o parámetros).
La implementación (o método) de la operación se especifica separadamente y
puede modificarse sin afectar la interfaz. Los programas de aplicación de los
usuarios pueden operar sobre los datos invocando a dichas operaciones a través
de sus nombres y argumentos, sea cual sea la forma en la que se han
implementado. Esto podría denominarse independencia entre programas y
operaciones.
SQL: 2003, es el estándar de SQL92
ampliado, soporta los conceptos orientados a objetos y mantiene la
compatibilidad con SQL92.
Bases de
datos documentales
Permiten la indexación a texto
completo, y en líneas generales realizar búsquedas más potentes, sirven para
almacenar grandes volúmenes de información de antecedentes históricos. Tesaurus
es un sistema de índices optimizado para este tipo de bases de datos.
Bases de
datos deductivas
Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa en lógica matemática. Este tipo de base de datos surge debido a las limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas de los datos almacenados en la base de datos.
Comentarios
Publicar un comentario