miércoles, 19 de octubre de 2011

Base de datos

INTRODUCCIÓN
Una base de datos es un conjunto de datos relacionados entre si. Por datos se entienden hechos conocidos que pueden registrarse y que tienen un significado implícito. Por ejemplo, un número de teléfono, un número de documento, un nombre, etc.

Una base de datos tiene las siguientes propiedades implícitas:
· Una base de datos representa algún aspecto del mundo real, en ocasiones llamada minimundo. Las modificaciones del minimundo se reflejan en la base de datos.
· Una base de datos es un conjunto de datos lógicamente coherente, con cierto significado inherente. Una colección aleatoria de datos no puede considerarse propiamente una base de datos.
· Toda base de datos se diseña, construye y prueba con datos para un propósito específico. Está dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas que interesan a dichos usuarios.

Considere el conjunto de toda la información que es relevante a la operación de una organización: para un banco, será información relativa a cuentas, clientes, empleados, equipos, etc. Toda esa información, apropiadamente organizada y codificada se colocará en la base de datos de la organización. Ningún programa de aplicación tendrá acceso directo a los archivos que componen la base de datos, sino que se interpondrá entre estos archivos y los programas de aplicación un nuevo nivel de software, el Sistema de Gestión de Base de Datos (SGBD). El SGBD provee acceso a la información a un alto nivel de abstracción: en lugar de manipular archivos, registros, índices, cilindros, el programa de aplicación se maneja enteramente en términos de clientes, cuentas, saldos, etc., que son traducidos por el SGBD a su implementación física.

Un sistema de gestión de base de datos es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por lo tanto, un SGBD es un software de propósito general que facilita el proceso de definir, construir y manipular bases de datos para diversas aplicaciones.
· Definir la base de datos consiste en especificar los tipos de datos, las estructuras y las restricciones de los datos que se almacenarán en ella.
· El proceso de construir una base de datos consta de la carga de los datos mismos en algún medio de almacenamiento controlado por un SGBD.
· En la manipulación de una base de datos intervienen funciones como consultar la base de datos para obtener datos específicos, actualizar la base de datos para reflejar cambios en el minimundo y generar informes a partir de los datos.

TIPOS DE USUARIOS
Muchas personas participan en el diseño, uso y mantenimiento de una base de datos grande. Las más importantes son:
· Administradores. Si se considera a la base de datos y al SGBD como recursos del sistema de base de datos, se debe considerar a una persona que administre dichos recursos. El administrador de la base de datos (DBA, en inglés) es quién se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su empleo, y de adquirir los recursos necesarios de software y hardware. El DBA es la persona responsable cuando surgen problemas como violaciones a la seguridad o una respuesta lenta del sistema.
· Diseñadores de bases de datos. se encargan de identificar los datos que se almacenarán en la base de datos y de elegir las estructuras apropiadas para representar y almacenar dichos datos.
· Usuarios finales. son las personas que necesitan tener acceso a la base de datos para consultarla, actualizarla y generar informes; la base de datos existe primordialmente para que ellos la usen.
· Analistas y Programadores de Aplicaciones. Los analistas determinan los requerimientos de los usuarios finales y desarrollan especificaciones para transacciones programadas que satisfagan dichos requerimientos. Los programadores implementan estas especificaciones en forma de programas y luego prueban, depuran, documentan y mantienen esas transacciones programadas.

CARACTERÍSTICAS DEL SGBD
Ahora se analizan qué características son deseables en los SBGD y qué capacidades deben ofrecer.

Control de redundancia
En la creación tradicional de programas de archivos, cada grupo de usuarios mantiene sus propios archivos para manejar sus aplicaciones de procesamiento de datos. Suponga la situación para una base de datos de un supermercado. Los grupos involucrados serían, entre otros, el de finanzas y el de reposición. Con el enfoque tradicional, cada sector mantendría archivos independientes para los proveedores, cada uno con un objetivo distinto. Buena parte de los datos se almacenarían dos veces.

Generalmente, esta redundancia de datos provoca varios problemas:
· Es necesario realizar la misma actualización -introducir un nuevo proveedor- varias veces: una vez en cada archivo que contenga datos de proveedores. Esto implica duplicar el trabajo
· Se desperdiciar espacio de almacenamiento al guardar los mismos datos en varios lugares
· Es posible que los archivos que representan los mismos datos se tornen inconsistentes

Con el enfoque de bases de datos, las vistas de los diferentes grupos de usuarios se integran durante el diseño de la base de datos. Para conservar la consistencia, debe crearse un diseño que almacene cada dato lógico -como la dirección del proveedor- en un solo lugar de la base de datos. Ello evita la inconsistencia y ahorra espacio de almacenamiento.

Restricción de los accesos no autorizados
Cuando muchos usuarios comparten una misma base de datos, es probable que no todos tengan la autorización para tener acceso a toda la información que contiene. El SGBD debe contar con un subsistema de seguridad y autorización que permita al DBA crear cuentas y especificar restricciones para ellas.

Cumplimiento de las restricciones de integridad
La mayor parte de las aplicaciones de base de datos tienen ciertas restricciones de integridad que deben cumplir los datos. El SGBD debe ofrecer recursos para definir tales restricciones y hacer que se cumplan. Por ejemplo, en la figura 1, se puede especificar que el valor del elemento Ciclo dentro de cada registro de la tabla ESTUDIANTE debe ser un entero entre 1 y 6 (primero a sexto).

ESTUDIANTE
Nombre Matrícula Ciclo Carrera
Juan Suárez 17 1 501
Pedro Bozo 8 2 502
Figura 1: tabla ESTUDIANTE

Otro tipo de restricción especifica que los valores de los elementos de información sean únicos; por ejemplo, "cada registro de ESTUDIANTE debe tener un valor único de Matrícula". Estas restricciones se derivan de la semántica (o significado) de los datos y del minimundo que representa. Es responsabilidad de los diseñadores de la base de datos identificar las restricciones de integridad durante el diseño. Algunas restricciones se pueden especificar en el SGBD, el cual hará automáticamente que se cumplan; otras pueden requerir verificación mediante programas de actualización o en el momento en el que se introducen los datos.

Respaldo y recuperación
Todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de software. Para ello está el subsistema de respaldo y recuperación del SGBD. Por ejemplo, si el sistema falla mientras se está ejecutando un complejo programa de actualización, el subsistema de recuperación se encargará de asegurarse de que la base de datos se restaure al estado en el que estaba antes de que comenzara la ejecución del programa.

FUNCIONES DE UN SGBD
Las funciones provistas por un SGBD pueden agruparse en tres clases:
· Consulta y actualización de datos
· Mantenimiento de esquemas
· Manejo de transacciones

Consulta y Actualización
Ésta es la clase más básica de funciones y la única que es visible "desde afuera". Consiste en un conjunto de herramientas que permite a los distintos tipos de usuarios del SGBD extraer, manipular y modifica la información almacenada en la base de datos.

Algunos sistemas proveen una única interfaz, llamada generalmente lenguaje de consulta, para ser usada por todos los tipos de usuario. Por ejemplo, el lenguaje SQL permite ejecutar consultas y actualizaciones en una notación vagamente similar al lenguaje natural. La expresión:
select matricula, nombre
from alumnos
where carrera = "Informática" and edad < 21
produce como resultado una tabla con los números de matrícula y los nombres de todos los alumnos menores de edad de la carrera de Informática.

Mantenimiento de esquemas
El esquema de la base de datos es la descripción de la estructura de la información almacenada en ella. Por ejemplo, para un sistema basado en tablas, el esquema puede consistir en una lista de tablas en uso, los campos que contienen, el tipo de datos de cada campo, descripciones en lenguaje natural del propósito de cada tabla y cada campo, y restricciones sobre los valores admisibles en cada campo.

Así como los usuarios necesitan acceder, agregar y modificar datos, también necesitan acceder, agregar y modificar el esquema de datos. Por ejemplo, un usuario que se acerca por primera vez a una base de datos querrá saber antes que nada qué información contiene ésta, un programador puede escribir programas que definan y creen nuevos tipos de entidades, o eliminen algunos preexistentes; el DBA necesita controlar qué usuarios tienen accesos a qué información, formulando reglas de seguridad que se hacen parte del esquema.

Manejo de Transacciones
Una de las áreas principales de aplicación de los SGBDs es lo que se llama procesamiento de transacciones. Una transacción es un programa de aplicación, generalmente de duración breve, que accede y actualiza una parte también generalmente pequeña de la base de datos. Típicos ejemplos son un depósito o extracción de una cuenta bancaria, o una reservación en un vuelo, o una verificación de una tarjeta de crédito.

El manejo de transacciones consiste en controlar múltiples transacciones ejecutando el paralelo sobre una misma base de datos corriendo en un sistema que puede fallar. Los objetivos del gestor de transacciones del SGBD son: evitar que las transacciones interfieran unas con otras al ejecutar en paralelo, y garantizar que la base de datos no sea dañada en forma irreparable por caídas, ya sea del sistema en sí o de alguna de las transacciones. El primero de los objetivos da lugar a lo que se llama control de paralelismo; el segundo, a técnicas de recuperación.

No hay comentarios: