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