Introducción a las Bases de datos.
Los sistemas de base de datos se diseñan para manejar grandes cantidades de información. El manejo de los datos implica tanto la definición de estructuras para el almacenamiento como la creación de mecanismos para el manejo de la información. Además, el sistema de base de datos debe de cuidar la seguridad de la información almacenada en la base de datos, previniendo caídas del sistema o intentos de acceso no autorizados.
Uno de los objetivos principales de una base de datos es proporcionar a los usuarios una visión abstracta de los datos. Es decir, el sistema oculta ciertos detalles relativos a la forma en que se almacenan y mantienen los datos. Esto se logra definiendo tres niveles de abstracción en los que puede considerarse la base de datos: físico, conceptual y de visión.
En el nivel físico se describe cómo se almacenan los datos en cuanto a detalles de estructuras de datos complejas del nivel más bajo.
En el nivel conceptual, que es el siguiente nivel más alto de abstracción, se describe cuáles son los datos reales que están almacenados en la base de datos y qué relaciones existen entre los datos.
El nivel de visión es más alto, en el cual se describe solo una parte de la base de datos y se presentan vistas diferentes de la misma base de datos a los usuarios.
Para describir la naturaleza de una base de datos, se define el concepto de modelo de datos, que es un conjunto de herramientas conceptuales para describir los datos, las relaciones entre ellos, su semántica y sus limitantes. Se han propuesto varios modelos diferentes, los cuales se dividen en tres grupos: lógicos basados en objetos, lógicos basados en registros y los modelos físicos de datos.
Las bases de datos cambian con el tiempo al insertar información en ellas y eliminarla. El conjunto de información almacenada en la base de datos en determinado momento se denomina instancia de la base de datos.
El diseño general de dicha base se conoce como esquema de la base de datos. La capacidad para modificar una definición de esquema en un nivel sin afectar la definición del esquema se denomina dependencia de los datos. Existen dos niveles de ésta: independencia física e independencia lógica de los datos. Un esquema de base de datos se especifica por medio de una serie de definiciones que se expresa en un lenguaje de definición de datos(DDL). El resultado de la Compilación de las proposiciones en DDL es un conjunto de tablas que se almacenan en un archivo especial llamado diccionario de datos que contiene metadatos, es decir, “datos acerca de los datos”.
Un lenguaje de manejo de datos (DML) permite a los usuarios tener acceso a los datos o manejarlos. Existen básicamente dos tipos de DML: de procedimientos, que requieren que el usuario especifique cuáles datos necesita y cómo se van a obtener, y sin procedimientos, que requieren que el usuario especifique cuáles son los datos que necesita sin especificar la forma de obtención.
Un manejador de base de datos es un módulo de programa que constituye la interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicaciones y las consultas que se hacen al sistema. El manejador de base de datos se encarga de interactuar con el manejador de archivos, de conservar la integridad, de garantizar la seguridad, del respaldo y recuperación y del control de concurrencia.
Los datos son un vital recurso organizacional. Es por esto que las organizaciones y sus gerentes necesitan practicar el manejo de recursos de datos, una actividad gerencial que aplica la tecnología de sistemas de información y herramientas de manejo para la tarea de administrar los recursos de datos de una organización.
Para poder sobrevivir, las organizaciones necesitan mejores diseños para la distribución y adquisición de información. Conociendo esto, más y más compañías han de administrar los datos como un recurso.
Una de las grandes dificultades de ejecutivos de compañías que utilizan computadoras ocurre cuando se les dice que la información que ellos requieren o necesitan a cerca de sus empleados por ejemplo, es muy difícil o muy costosa de obtener. Algunas razones podrían ser:
La información deseada está en archivos diferentes, cada uno organizado de manera distinta. Cada archivo ha sido organizado para ser usado por programadores de aplicaciones diferentes, ninguna de las cuales producen la información que se desea en la forma que se necesita. Ningún programa de aplicación está disponible para ayudar a obtener la información que se desea de estos archivos. De esta forma los ejecutivos de la compañía se sentirían frustrados y desencantados con el procesamiento basado en computadora, si este no puede proveerlo con la información de un simple requerimiento como ese. El tener archivos de datos independientes implica controlar datos duplicados. Esta duplicidad o redundancia de datos causa muchos problemas al momento de actualizar los archivos ya que para cada archivo individual se debe desarrollar programas que realicen las funciones de mantenimiento necesarias y que aseguren la exactitud de los datos en todos los archivos involucrados.
Una base de datos es una estructura de datos, que en sus comienzos fue conocida como un sistema de información administrativa. Un sistema de manejo de base de datos o DBMS (Database Management System) consiste básicamente en un conjunto de programas y una colección de datos interrelacionados para accesar a los mismos. Entonces, una base de datos es una colección integrada de datos, cada persona y cada programa autorizado a accesar la base de datos puede hacerlo. Una base de datos bien diseñada debe de minimizar la cantidad de información redundante.
Sin embargo, los sistemas tradicionales de base de datos (modelo Jerárquico y Red) no lograron cumplir con las expectativas, particularmente por su complejidad y su limitación para representar apropiadamente estructuras de datos distintos a su forma natural.
Los problemas normalmente asociados a los modelos de archivos planos son:
Los productos de bases de datos tradicionales requieren instrucciones con procedimientos muy detallados. Los programadores deben saber como se almacenarán físicamente los datos en la base y como localizarlos. Los programadores deben decidir cual es la estrategia más eficiente de acceso de los datos. Todo esto ha motivado a investigadores a proponer nuevos enfoques que resuelvan los problemas antes planteados