Bases de datos

De EcuRed
Base de Datos
Información sobre la plantilla

Conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso.

Base de Datos o Banco de Datos (BB.DD.). Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una Biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.

Contenido

Generalidades

En la actualidad, y debido al desarrollo tecnológico de campos como la Informática y la Electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.

Existen programas denominados sistemas gestores de bases de datos; los sistemas de gestión de bases de datos (en inglés:database management system, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.

Los hechos generales de los sistemas gestores de bases de datos, son los de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.

Conceptos generales fundamentales

  • Base de Datos. Conjuntos de datos interrelacionados entre sí y su fin es servir a uno o varios usuarios, sin redundancias perjudiciales e innecesarias, es independiente de la aplicación que la utilice y tiene operaciones específicas.
  • Sistema de Gestión de Bases de Datos (SGBD). Son software que dirigen y controlan todas las gestiones que realiza las BD.
  • Administrador de la BD. Diseñar la organización de la BD, elegir el software que se va a utilizar, dar mantenimiento a la BD y consultar a los usuarios.
  • Entidad. Objeto del Mundo Real. Existe información descriptiva sobre él.
  • Instancia. Es la información contenida en la BD en un momento determinado.
  • Atributos. Son los que describen la entidad. Se divide en dos grupos:
  1. Identificadores. Identifican de manera única cada instancia.
  2. Descriptores. Identifican las instancias y pueden repetirse.
Ejemplo de una tabla en Bases de Datos.
Ejemplo de una tabla en Bases de Datos.
  • Clave Primaria. Es la que permite la identificación única de una instancia.
  • Interrelaciones. Es la que permite relacionar y acoplar dos o más entidades: Modelo Entidad-Relación.

Es una herramienta para el diseño lógico de BD relacionales es fácil de interpretar. Consiste en la representación a través de un diagrama de las entidades y sus Interrelaciones.

  • Clase Sociedad. Es la participación que tiene cada Instancia de la entidad en la interrelación. Si participan todas las Instancias estamos en presencia de Clase Sociedad Obligatoria.

Si al menos existe una instancia que no participa en la interrelación estamos en presencia de Clase Sociedad Opcional y tiene en la línea de interrelación el siguiente símbolo (0)

Funcionalidad de las interrelaciones

  • Uno a Uno (1:1)
Ejemplo de relación de 1:1.
Ejemplo de relación de 1:1.

La interrelación "Dirige" entre las Entidades "Jefe" y "Departamento". Significa que un "Departamento" tiene como máximo un "Jefe" y un "Jefe" es dirigente de un "Departamento". Cuando ocurre este tipo de funcionalidad el Atributo Primo de la Entidad "Jefe" pasa como Llave Extranjera para la Entidad "Departamento" o viceversa.

  • Uno a Muchos (1: N)
    Ejemplo de relación de 1:N.
    Ejemplo de relación de 1:N.

Cuando ocurre este tipo de funcionalidad y la interrelación es Obligatoria el Atributo Primo de la Entidad "Jefe" pasa como Llave Extranjera para la Entidad "Empleado". Si el caso es Opcional, es cuando al menos uno de los elementos no pasa por la interrelación entonces se forma una nueva Entidad que contiene los Atributos Primos de cada Entidad, más otros datos de interés.

  • Mucho a Muchos (M: N)
    Ejemplo de relación de M:N.
    Ejemplo de relación de M:N.

En este caso es igual que cuando es de Uno a Muchos Opcional entonces se forma una nueva Entidad que contiene los Atributos Primos de cada Entidad, más otros datos de interés

Objetivos de los Sistemas Gestores de bases de datos(SGBD)

Existen distintos objetivos que deben cumplir los SGBD:

Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.

  • Independencia

La independencia de los datos consiste en la capacidad de modificar el esquema (Físico o Lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

  • Consistencia

En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.

Por otra parte, la base de datos, representa una realidad determinada que tiene determinadas condiciones, por ejemplo, que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones.

  • Seguridad

La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta Información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.

  • Manejo de transacciones

Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.

  • Tiempo de respuesta

Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.

Ventajas de los SGBD

Proveen facilidades para la manipulación de grandes volúmenes de datos. Entre éstas se encuentran:

  • Simplifican la Programación de equipos de consistencia.
  • Manejando las Políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc.
  • Organizan los datos con un impacto mínimo en el Código de los programas.
  • Bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores.
  • Usualmente, proveen interfaces y lenguajes de consulta que simplifican la Recuperación de los datos.

Inconvenientes

  1. Típicamente, es necesario disponer de una o más personas que administren de la base de datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren los Sistemas operativos. Esto puede llegar a incrementar los costos de operación en una Empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene.
  2. Si se tienen muy pocos Datos que son usados por un único Usuario por vez y no hay que realizar Consultas complejas sobre los Datos, entonces es posible que sea mejor usar una Planilla de cálculo.
  3. Complejidad: los Software muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.
  4. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un Software de gran tamaño, que requiere de gran cantidad de memoria para poder correr.
  5. Coste del Hardware adicional: los requisitos de Hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.

Productos de SGBD disponibles (free)

SGBD libres

  • MySQL Licencia Dual, depende el uso (no se sabe hasta cuando, ya que la compro Oracle). Sin embargo, existen 2 versiones: una gratuita que sería equivalente a la edición "express" SQL server de Windows y otra más completa de pago, ese pago se haría en la licencia de ella ya que permitiría usarse en otras distribuciones sin usar la licencia GNU.
  • Firebird basada en la versión 6 de InterBase, Initial Developer's PUBLIC LICENSE Version 1.0.
  • SQLite Licencia Dominio Público

SGBD no libres

  • Advantage Database
  • DBase
  • FileMaker
  • Fox Pro
  • IBM DB2 Universal Database (DB2 UDB)
  • IBM Informix
  • Interbase de CodeGear, filial de Borland
  • MAGIC
  • Microsoft Access
  • Microsoft SQL Server
  • NexusDB
  • Open Access
  • Oracle
  • Paradox
  • Pervasive SQL
  • Progress (DBMS)
  • Sybase ASE
  • Sybase ASA
  • Sybase IQ
  • WindowBase
  • IBM IMS Base de Datos Jerárquica
  • CA-IDMS

SGBD no libres y gratuitos

Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo, en España los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).

Tipos de bases de datos

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se este manejando, o la utilidad de la misma:

Según variabilidad de los datos almacenados

Bases de datos estáticas

Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar Datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases de datos dinámicas

Éstas son bases de datos donde la Información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub.

Según el contenido

Bases de datos bibliográficas

Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.

Bases de datos de texto completo

Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.

Directorios

Un ejemplo son las Guías telefónicas en formato electrónico.

Bases de datos o bibliotecas de información de química o biológica

Son bases de datos que almacenan diferentes tipos de información proveniente de la Química, las Ciencias de la vida o médicas. Se pueden considerar en varios subtipos:

  • Las que almacenan secuencias de Nucleótidos o Proteínas.
  • Las bases de datos de rutas metabólicas.
  • Bases de datos de estructura, comprende los registros de datos experimentales sobre Estructuras 3D de Biomoléculas
  • Bases de datos clínicas.
  • Bases de datos bibliográficas (Biológicas, Químicas, Médicas y de otros campos): PubChem, Medline, EBSCOhost.

Modelos de bases de datos

Además de la clasificación por la función de las bases de datos, éstas 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 guarda la información), así como de los métodos para almacenar y recuperar información 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

Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), 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.

Bases de datos de red

Éste 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.

Base de datos relacionales

Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, 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 ésta 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. Durante los años 80 la aparición de DBASE produjo una revolución en los Lenguajes de programación y Sistemas de administración de datos. Aunque nunca debe olvidarse que DBase no utilizaba SQL como lenguaje base para su gestión.

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 estudiar.

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 SQL9.2 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL9.2.

Bases de datos documentales

Permiten la Indexación a texto completo, y en líneas generales realizar búsquedas más potentes. 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.

Gestión de bases de datos distribuida

La base de datos está almacenada en varias Computadoras conectadas en Red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas Universidades, sucursales de tiendas, etcétera.

Véase también

Enlaces externos

Fuente