jueves, 16 de octubre de 2014

Tema 4: Bases de datos: sus orígenes, usos y futuro

La base de datos es una colección de datos que de una manera lógica, pero no necesariamente física, es coherente. Normalmente, debe haber un significado inherente à los datos para justificar la creación de la base de datos.

Un sistema de administración de bases de datos (DBMS: Database management system), define, crea y mantiene una base de datos. El DBMS además permite a los usuarios acceso contralo a los datos en la base de datos. Un DBMS es una combinación de cinco componentes: hardware, software, datos, usuarios y procesamientos.


Los datos en una base de datos se almacenan físicamente en los dispositivos de almacenamiento. En una base de datos los datos son una entidad separada del software que accede a los mismos. Esta separación permite la organización para cambiar el software sin tener que cambiar los datos físicos o la manera en que estos se almacenan. Si una organización ha decido utilizar una DBMS, entonces toda la información requerida por la organización debe mantenerse bajo una entidad, para que sea accesible por el software en el DBMS.

Modelos de bases de datos
Un modelo de base de datos define el diseño lógico de los datos. El modelo también describe las relaciones entre distintas partes de los datos. En la historia del diseño de bases de datos, tres modelos han estado en uso:
-          Modelo jerárquico
-          Modelo de red
-          Modelos relacional

Modelo jerárquico.
En un modelo jerárquico, los datos están organizados como un árbol invertido. Cada entidad tiene solo un padre, pero puede tener varios hijos. En la parte superior de la jerarquía, el árbol es una sola entidad, la cual se llama raíz. Se considera un modelo obsoleto. He aquí un ejemplo.


Modelo de red.
En un modelo de red, las entidades se organizan en un grafo, donde se puede tener acceso a algunas entidades a través de varios caminos. No hay una jerarquía. Este modelo también es considerado obsoleto.


Modelo relacional.
En un modelo relacional, los datos se organizan en tablas bidimensionales llamadas relaciones. No hay una estructura jerárquica o de red impuesta por datos. Las tablas o relaciones están relacionadas entre sí. Por ejemplo:


Una relación, en apariencia, es una tabla bidimensional. El RDBMS organiza los datos de manera que la vista externa sea una serie de relaciones o tablas. Esto no significa que los datos se almacenen como tablas; el almacenamiento físico de los datos es independiente de la forma en que estos están lógicamente organizados. Una relación en un RDBMS tiene las siguientes características:
-     Nombre: cada relación en una base de datos relacional debe tener un nombre único entre otras relaciones.
-   Atributo: cada columna en una relación se llama atributo. Los atributos son los encabezados de las columnas en la tabla. Cada atributo da significado a los datos almacenados bajo él.

Cada columna de la tabla debe tener un nombre que sea único en el ámbito de la relación. El número total de atributos para una relación se conoce como el grado de la relación. Los nombres de los atributos no se almacenan en la base de datos; el nivel conceptual utiliza los atributos para dar significado a cada columna.

Tuplas.
Cada fila en la relación se conoce como tupla. Una tupla define una colección de valores de atributos. El número total de filas en una relación se llama cardinalidad de la relación. Esta cambia cuando se añaden o eliminan tuplas. Esto vuelve dinámica a la base de datos.


Usos
El DBA tiene capacidades para acometer una variedad de objetivos relacionados con el diseño, administración y uso de una BD multiuso grande.

Control de redundancia.
En el desarrollo tradicional de software que hace uso del procedimiento de archivos, cada grupo de usuarios mantiene sus propios archivos para manipular sus aplicaciones de procesamiento de datos.

La redundancia de almacenar los mismos datos varias veces conduce a serios problemas. Primero, las actualizaciones lógicas sencillas hay que hacerlas varias veces: una por cada archivo donde se almacenen los datos registrados. Esto lleva a una duplicación del esfuerzo. Segundo, se derrocha el espacio de almacenamiento. Tercero, los archivos almacenados pueden terminar siendo incoherentes. Hay que tener entonces un diseño que almacene cada elemento de datos lógico en un solo lugar de la base de datos. Esto garantiza una coherencia y ahorra espacio de almacenamiento. El DBMS debe tener la capacidad de controlar la redundancia para evitar las incoherencias entre los archivos.

Restricción de acceso no controlado.
Cuando varios usuarios comparten una base de datos grande, es probable que la mayoría de los mismos no tengan autorización para acceder a toda la información. Asi pues hay que controlar el tipo de operación de acceso (recuperación o actualización). Normalmente los usuarios tienen acceso mediante contraseña. Un BDMS debe proporcionar seguridad y un sistema de autorización, que el DBA utiliza para crear cuentas y especificar las restricciones de las mismas.

Almacenamiento persistente para los objetos del programa.
Las BD se pueden utilizar para proporcionar almacenamiento persistente a los objetos de programa y las estructuras de datos. Es una de las principales razones de los sistemas de bases de datos orientados a objetos. Normalmente los lenguajes de programación tienen estructuras de datos complejas, como tipos de registro en Pascal o definiciones de clase en C++ o Java. Un objeto complejo de C++ se puede almacenar de forma permanente en un BDMS orientado a objetos. Se dice que dicho objeto es persistente porque sobrevive a la terminación de la ejecución del programa y otro programa C++ lo puede recuperar más tarde. Los sistemas de bases de datos orientados a objetos normalmente ofrecen compatibilidad de la estructura de datos con uno o más lenguajes de programación orientados a objetos.

Suministro de estructuras de almacenamiento para un procesamiento eficaz de las consultas.
Los sistemas de bases de datos deben proporcionar capacidades para ejecutar eficazmente consultas y actualizaciones. Como la base de datos normalmente se almacena en el disco, el DBMS debe proporcionar estructuras de datos especializados para acelerar la búsqueda en el disco de los registros deseados. Con este fin se utilizan archivos auxiliares denominados índices, que están basados casi siempre en el árbol de estructuras de datos, o en las estructuras de datos dispersas, convenientemente modificados para la búsqueda en disco. Al final, estos registros deben copiarse del registro a la memoria. Hay por eso un sistema de búfer que mantiene partes de la base de datos en los búferes de la memoria principal.

Copia de seguridad.
Un DBMS debe ofrecer la posibilidad de recuperarse ante fallos del hardware y del software. El subsistema de copia de seguridad y recuperación del DBMS es el responsable de la recuperación.

Suministro de varias interfaces de usuario.
Como una BD la utilizan muchos tipos de usuarios con distintos niveles de conocimiento técnico, un DBMS deber proporcionar distintas interfaces de usuario, entre las que podemos citar los lenguajes de consulta para los usuarios casuales, las interfaces de lenguaje de programación para los programadores de aplicaciones, formularios y códigos de comando para los usuarios paramétricos, e interfaces por menús y en el idioma nativo para los usuarios independientes.

Representación de relaciones complejas entre los datos.
Una base de datos puede incluir numerosas variedades de datos que se interrelacionan entre sí de muchas formas. Un DBMS debe tener la capacidad de representar las relaciones complejas entre los datos, definir las nuevas relaciones que surgen, y recuperar y actualizar fácil y eficazmente los datos relacionados.

Implementación de las relaciones de integridad.
Debe haber ciertas restricciones de integridad. El más simple consiste en especificar un tipo de datos por cada elemento de datos. Una restricción compleja implica especificar que un registro de un archivo debe estar relacionado con registros de otros archivos. Estas restricciones se derivan del significado o la semántica de los datos y del mini-mundo que representan. Unas restricciones pueden ser automáticas, otras pueden ser comprobadas por los programas de actualización o en el momento de introducir datos. En las aplicaciones grandes es costumbre denominarlas reglas de negocios.


Historia de las bases de datos

Las primeras aplicaciones de bases de datos que utilizaron sistemas jerárquicos y de red.
Muchas de las primeras aplicaciones de bases de datos almacenaban registros en grandes organizaciones como corporaciones, universidades, hospitales y bancos. En muchas de esas aplicaciones había muchos registros de estructura parecida; también había muchos tipos de registros y muchas interrelaciones entre ellos.
Uno de los principales problemas con los primeros sistemas de bases de datos era la mezcla de relaciones conceptuales con el almacenamiento físico y la ubicación de los registros en el disco. Sin embargo, no proporcionaba suficiente flexibilidad para acceder eficazmente a los registros cuando se identificaban consultas y transacciones nuevas. En realidad era muy difícil implementar con eficacia las consultas nuevas que requerían una organización diferente del almacenamiento para un procesamiento eficaz.
Otro defecto de los primeros sistemas era que solo proporcionaban interfaces de lenguaje de programación. Las consultas nuevas llevaban mucho tiempo y era costosa pues había que escribir, probar y depurar programas nuevos. La mayoría de esos sistemas de bases de datos se implementaron en grandes y costosos computadores mainframe a mediados de los años sesentas, y a lo largo de los 70 y 80. Los principales tipos de esos sistemas estaban basados en tres paradigmas principales: sistemas jerárquicos, sistemas basados en los sistemas de red y sistemas de archivos inversos.

Flexibilidad de aplicación con las bases de datos relacionales.
Las bases de datos relacionales se propusieron originalmente para separar el almacenamiento físico de los datos de su representación conceptual, así como para proporcionar una buena base matemática para el almacenamiento de así contenidos. El modelo de datos relacional también introdujo lenguajes de consulta de alto nivel que proporcionaban una alternativa a las interfaces de lenguaje de programación; por tanto era mucho más rápido escribir nuevas consultas. Los sistemas relacionales estaban destinados inicialmente a las mismas aplicaciones que los primitivos sistemas, pero estaban pensados para ofrecer flexibilidad en el desarrollo de nuevas consultas y para reorganizar la base de datos cuando cambiaran los requisitos.
Los sistemas relacionales experimentales desarrollados a finales de la década de 1970 y los sistemas de administración de bases de datos relacionales (RDBMS) comerciales que aparecieron a principios de la década de 1980 eran muy lentos, pues no utilizaban punteros de almacenamiento físico o la ubicación del registro para acceder a los registros de datos relacionados. Su rendimiento mejoró con el desarrollo de nuevas técnicas de almacenamiento e indexación y unas técnicas mejores de procesamiento y optimización. Eventualmente, las bases de datos relacionales se convirtieron en el tipo de sistema de bases de datos predominante para las aplicaciones de bases de datos tradicionales. En casi todos los tipos de computadores, desde los pequeños computadores personales hasta los grandes servidores, existen bases de datos relacionales.

Aplicaciones orientadas a objetos y la necesidad de bases de datos más complejas.
El surgimiento de los lenguajes de programación orientados a objetos en la década de 1980 y la necesidad de almacenar y compartir objetos estructurados complejos induce al desarrollo de las bases de datos orientadas a objetos (OODB). Inicialmente, las OODB estaban consideradas como competidoras de las bases de datos relacionales, porque proporcionaban más estructuras de datos generales. También incorporaban muchos de los útiles paradigmas de la orientación a objetos, como los tipos de datos abstractos, la encapsulación de  operaciones, la herencia y la identidad de objeto. No obstante, la complejidad del modelo y la carencia de un estándar contribuyó a su limitado uso. Ahora se utilizan principalmente en las aplicaciones especializadas (por ejemplo, en ingeniería, publicación multimedia y sistemas de fabricación). A pesar de las expectativas de que iban a provocar un gran impacto, lo cierto es que su penetración global en el mercado de productos de bases de datos permanece aún hoy por debajo del 50%.

Intercambio de datos en la Web para el comercio electrónico.
La World Wide Web proporciona una gran red de computadores interconectados. Los usuarios pueden crear documentos utilizando un lenguaje de publicación web, como HTML (Lenguaje de marcado de hipertexto, HyperText Markup Language), y almacenar esos documentos en servidores web desde los que otros usuarios (clientes) pueden acceder a ellos. Los documentos se pueden enlazar mediante hipervínculos, que son punteros a otros documentos. En la década de 1990 apareció el comercio electrónico (e-commerce) como una aplicación trascendental en la Web. Cada vez iba siendo más evidente que parte de la información que aparecía en las páginas web de e-commerce a menudo eran datos que se extraían dinámicamente de unos DBMSs. Se desarrollaron varias técnicas que permitían el intercambio de datos en la Web. Actualmente, XML (Lenguaje de marcado extendido, eXtended Markup Language) está considerado como el principal estándar para el intercambio de datos entre varios tipos de bases de datos y páginas web. XML combina conceptos de los modelos utilizados en los sistemas de documentación con conceptos de modelado de bases de datos.

Capacidades extendidas de las bases de datos para las nuevas aplicaciones.
El éxito de los sistemas de bases de datos en las aplicaciones tradicionales animó a los desarrolladores de otros tipos de aplicaciones a intentar utilizarlos. Dichas aplicaciones, de las que se ofrecen unos ejemplos a continuación, utilizaban tradicionalmente sus propias estructuras de archivos y datos especializadas:
  • Aplicaciones científicas. Almacenan grandes cantidades de datos resultado de los experimentos científicos en áreas como la física o el mapa del genoma humano.
  • Almacenamiento y recuperación de imágenes, desde noticias escaneadas y fotografías personales, hasta imágenes de satélite o las procedentes de procedimientos médicos, como los rayos X o el MRI (procesamiento de imágenes de resonancia magnética).
  • Almacenamiento y recuperación de vídeos, como películas, o videoclips, procedentes de noticias o cámaras digitales personales.
  • Aplicaciones de minado de datos, que analizan grandes cantidades de datos buscando ocurrencias de patrones específicos o relaciones.
  • Aplicaciones espaciales, que almacenan las ubicaciones espaciales de datos como la información meteorológica o los mapas que se utilizan en los sistemas de información geográfica.
  • Aplicaciones de series cronológicas que almacenan información como datos económicos a intervalos regulares de tiempo (por ejemplo, gráficos de las ventas diarias o del producto nacional bruto mensual).

Futuro de las bases de datos

Debido al avance de las generaciones de las computadoras, las bases de datos no se quedan atrás, tuvieron que avanzar junto con los lenguajes de programación y las necesidades de los programadores para el almacenaje de datos y actualmente las bases de datos se han convertido en un tipo de lenguaje multiusuario.

Los datos o la información es lo más importante para las empresas, debido a que su mayor utilización es para la toma de decisiones, actualmente en las bases de datos se pueden realizar consultas en tiempo real, y visualizarlo en reportes que en realidad es lo que los directivos de una empresa necesitan ver, en sí los simples datos no dicen nada, sino la información ya estructurada y en forma es lo que muestra la información para la toma de decisiones en sí.

La evolución de las bases de datos está en incremento, actualmente nos encontramos en la tercera generación, muchos expertos en la materia coinciden en que el incremento de las bases de datos está en aumento día con día, en todas las áreas profesionales ya que todo es información, en las áreas como la investigación, tecnología, arte, educación, sistemas médicos, programas de ingeniería de software, programas de desarrollo, de diseño, sistemas de información geográfica, entre otros.

La expectativa del futuro de las bases de datos se proyecta a la manipulación de bases de datos por medio de todos dispositivos móviles, con acceso móvil a la red, esto empieza en nuestra actualidad así como la seguridad de las bases de datos para aspectos militares, médicos, entre otros, además de las bases de datos paralelas en las cual se maneja la misma base de datos al mismo tiempo, las bases de datos en memoria principal la cual se ubica en la memoria principal lo que elimina o al menos disminuye la necesidad de operaciones de entrada/salida, las bases de datos activas las cuales se producen cuando ciertas condiciones se ejecutan de manera automática, sin intervención del usuario, las bases de datos deductivas, las bases de datos orientadas a objetos, las bases de datos multimedia, las bases de datos temporales y las bases de datos difusas, entre otras son en la actualidad lo que estamos viviendo en tecnología de almacenamiento de datos, así que esperemos a ver si todo esto tiene sus frutos en los próximos 10 años cuando de lo único e indispensable para cualquier persona sea su información.


Video sobre bases de datos






No hay comentarios:

Publicar un comentario