domingo, 10 de febrero de 2013

Base de Datos


       SISTEMAS DE INFORMACIÓN Y
BASES DE DATOS
1.- Sistema tradicional de ficheros: problemas
Los sistemas computacionales se utilizaron inicialmente en los negocios para funciones de contabilidad y, como eran funciones imprescindibles, el alto costo de los computadores era fácil de justificar.
A estos primeros sistemas se les llamó sistemas de procesamiento de datos y trataban de imitar los procedimientos manuales existentes.
Al principio, la mayoría de los archivos se almacenaban en cinta magnética, ya que el almacenamiento en disco era todavía caro, y se accedía a los datos de forma secuencial, lo que significa que cada registro puede leerse únicamente después de haber sido leídos todos los que le preceden. Estos archivos se procesaban por lotes, es decir, todos los registros de un archivo se procesaban al mismo tiempo.
Los archivos se empleaban en distintas aplicaciones. Un programa que realiza una tarea específica es un programa de aplicación y un conjunto de programas que trabajan en tareas relacionadas entre sí se llama sistema de aplicación.
Los archivos secuenciales servían para producir facturas e informes una o dos veces al mes pero para tareas rutinarias se necesitaba acceso directo a los datos (procesar directamente un registro dado). Los operadores debían introducir datos redundantes, lo que requería esfuerzo adicional y aumentaba la probabilidad de error.
Estos problemas se resolvieron parcialmente con la introducción de los archivos de acceso directo, particularmente los archivos secuenciales indexados (ISAM), que permitían la recuperación de registros aleatoriamente. Este tipo de archivos permiten utilizar uno o más campos para identificar un registro.
A finales de los sesenta se produjo la transición del procesamiento de los datos al procesamiento de la información. Se hace una distinción entre datos e información. Por datos se entienden hechos aislados, mientras que información son datos procesados.
Los archivos de acceso directo también tenían una serie de deficiencias:
  • Redundancia de datos. Como muchas aplicaciones utilizaban sus propios archivos, había algunos datos redundantes, lo que ocasionaba el aumento de introducción de datos y las probabilidades de inconsistencia entre diversas versiones de los mismos.
  • Pobre control de datos. El mismo elemento de los datos podía tener diversos nombres según el archivo en que se encontrara, lo cual creaba confusiones.
  • Capacidades inadecuadas de manipulación de datos. Los archivos secuenciales indexados permitían tener acceso a un registro particular pero no a un conjunto de registros interrelacionados.
  • Esfuerzo de programación excesivo. Frecuentemente, un nuevo programa requería nuevas definiciones de los archivos que el programador tenía que recodificar, creando así una interdependencia muy fuerte entre los programas y los datos.
2.- Bases de datos
Una base de datos es una colección de elementos de datos interrelacionados que pueden procesarse por uno o más sistemas de aplicación. Un sistema de base de datos está formado por una base de datos, un sistema de gestión de bases de datos (SGBD), así como por el hardware y personal apropiado. Los sistemas de bases de datos superan estas limitaciones de los sistemas orientados a los archivos. Los datos se controlan por medio de un diccionario de datos/directorio, que está controlado por los administradores de la base de datos.
OBJETIVOS
Los objetivos fundamentales de una base de datos son:
  • Los datos deben estar compartidos. Hay diversas formas que se verán más adelante.
  • El uso de los datos debe ser controlado. De esta tarea se encarga el sistema de gestión de base de datos (SGBD).
  • Los datos se integran de una forma lógica, eliminando redundancias, resolviendo ambigüedades en la definición y manteniendo la consistencia interna entre los mismos.
MODELOS
Hay 3 modelos fundamentales:
  • Jerárquico. Este modelo presume de que todas las interrelaciones entre los datos pueden estructurarse como jerarquías. Los archivos se conectan entre sí mediante punteros físicos (direcciones físicas que identifican dónde se puede encontrar un registro en disco) o campos de datos añadidos a los registros individuales. Tiene algunas limitaciones, ya que no todas las relaciones se pueden expresar de forma jerárquica.
  • En red. Debido a la necesidad de manipular las interrelaciones, se desarrolló este modelo de base de datos que maneja relaciones en forma de red en lugar de jerárquicas. También utiliza punteros físicos.
  • Relacional. La debilidad que tenían los punteros físicos era que había que definir las interrelaciones antes de que el sistema fuera puesto en explotación. Codd argumentó que los datos deberían relacionarse mediante interrelaciones naturales, lógicas, inherentes a los datos. Propuso un modelo en el que los datos se representarían en tablas constituidas por filas y columnas, llamadas relaciones. También propuso dos lenguajes para manipular los datos en las tablas: el álgebra relacional y el cálculo relacional. En los sistemas de bases de datos relacionales, los archivos se pueden procesar con instrucciones sencillas, sin embargo, en los sistemas tradicionales se deben procesar de registro en registro
COMPONENTES
  • Hardware. Es el conjunto de dispositivos físicos sobre los que reside una base de datos. Pueden usarse mainframes o minicomputadoras para soportar acceso a varios usuarios, o computadoras personales que se utilizan con bases de datos autónomas controladas por un usuario único. Hay que señalar también que las unidades de disco son el mecanismo de almacenamiento principal para las bases de datos.
Debido al avance y el abaratamiento de la alta tecnología, los sistemas de bases de datos se han difundido considerablemente.
  • Software. Hay dos tipos de software: el sistema de gestión de bases de datos (SGBD) y el software de aplicación (que usa las facilidades del SGBD para manipular las bases de datos. Este último suele ser desarrollado por los empleados de la compañía para resolver un problema específico, mientras que el SGBD debe brindar varios servicios que se describirán más tarde.
  • Datos. Los datos tienen que ser cuidadosa y lógicamente estructurados y deben almacenarse de manera precisa en el diccionario de datos.
  • Personas. Pueden ser: usuarios (que necesitan información de la base de datos para desarrollar su responsabilidad en el negocio) o profesionales de la computación (que su responsabilidad reside en el diseño y mantenimiento del sistema de la base de datos).
INDEPENDENCIA FÍSICA Y LÓGICA DE LOS DATOS
En una base de datos hay que lograr la independencia entre las estructuras lógica y física de los datos, lo que significa distinguir entre datos y aplicaciones.
El concepto de independencia de los datos implica la separación entre el almacenamiento y la organización lógica de los datos tal como éstos se contemplan por los distintos programas de aplicación que hacen uso de la base, con lo que se consigue que unos mismos datos se puedan presentar de distintas formas según las necesidades y, por otra parte, que el almacenamiento de los datos, su estructura lógica y los programas de aplicación sean independientes unos de otros.
INTEGRIDAD
La integridad de los datos consiste en mantener la precisión y consistencia de los valores de los datos. Los mecanismos de seguridad protegen la integridad de los datos. También se pueden mantener en el diccionario de datos restricciones sobre los valores, aunque es una tarea que resulta complicada.
Por último, resaltar que los mecanismos de copias de seguridad y restauración soportados por el SGBD deben preservar los datos de cualquier fallo del sistema.
SEGURIDAD
Los ABDs (administradores de la base de datos) pueden restringir el acceso a los usuarios sólo para recuperación o permitir acceso y actualización. La información relativa a los derechos de acceso se almacena en el diccionario de datos.
El acceso a la base de datos también es controlado por un mecanismo de contraseñas; un usuario que quiera acceder al sistema debe dar una contraseña y que el sistema la valide. El encargado de la asignación de contraseñas también es el ABD.
REDUNDANCIA MÍNIMA
Para que una base de datos sea efectiva hace falta eliminar en la medida de lo posible las redundancias, es decir, las repeticiones que puedan llevar a error, como el llamar a un mismo campo de distinta manera en varios archivos, ya que si no existe el riesgo de inconsistencia entre las distintas versiones de los mismos datos.
COMPARTIR DATOS
Quizás la diferencia más importante entre un sistema basado en archivos y un sistema de base de datos es que los datos se comparten. Hay 3 formas de compartir:
  • Entre unidades funcionales. El combinar los datos en una base de datos produce que los datos combinados tengan más valor que la suma de los datos en los archivos por separado. A este concepto de combinar los datos para un uso común se le llama integración de datos.
  • Entre diferentes niveles de usuarios. Se pueden distinguir 3 niveles de usuarios: personal, mandos intermedios y ejecutivos. Estos niveles se corresponden con los 3 diferentes tipos de automatización de los sistemas de negocios: procesamiento electrónico de datos (PED), sistemas de información de gestión (MIS) y sistemas de apoyo a la toma de decisiones (STD).
Los PED se caracterizan por tener el foco de atención en el nivel operativo del almacenamiento, procesamiento y flujo de los datos, así como procesar eficientemente las transacciones y realizar informes resúmenes para los dirigentes.
Los MIS se caracterizan porque su foco de atención está en la información orientada a mandos intermedios, por la integración de las tareas de PED por sus funciones en los negocios y por la generación de encuestas e informes.
Un STD está más centrado en la decisión y orientado hacia altos ejecutivos.
  • Entre diferentes localidades. Una base de datos centralizada es una base de datos que está físicamente situada en un único lugar, controlado por una sola computadora. La mayoría de las funciones se llevan a cabo más fácilmente si la base de datos está centralizada. Sin embargo, un sistema de base de datos distribuida (compuesto de varios sistemas de bases de datos operando en los sitios locales y conectados por líneas de comunicación), hace posible que los datos residan donde se necesitan con más frecuencia, mientras que al mismo tiempo puedan acceder a los mismos otros usuarios no locales.
CONCURRENCIA
Gracias al SGBD existe la posibilidad de que varios usuarios tengan acceso de forma rápida y eficiente a los datos de la base. Al centralizar los datos en una base de datos, aumentan las probabilidades de que se dé este caso. Si el SGBD permite esto, seguramente el trabajo realizado por los usuarios se vería dañado, por eso el SGBD debe proteger los datos de la actualización simultánea por otro usuario; para ello utiliza mecanismos sofisticados de bloqueo.
3.- Arquitectura de las bases de datos
Existen 3 niveles de abstracción distintos en los que se podría dividir una base de datos:
  • Nivel conceptual: consiste en el análisis de las necesidades de los usuarios y la definición de las clases de los datos. Como resultado se obtiene un esquema conceptual con todos los elementos de los datos y sus relaciones.
  • Nivel externo: es la colección de las vistas de distintos grupos de usuarios sobre la base de datos, las cuales describen los elementos de los datos y sus relaciones.
  • Nivel interno: está compuesto por la vista física de la base de datos (discos, direcciones, punteros...). Este nivel es responsabilidad de los diseñadores de la base de datos y no de los usuarios.
La implementación de estos 3 niveles requiere que el SGBD haga corresponder cada nivel con el otro.
4.- SGBD
Un SGBD es un sistema computacional de propósito general que manipula la base de datos. A continuación se describen los diferentes servicios que ofrece.
El diccionario de datos/directorio (DD/D) almacena las definiciones de todos los elementos de los datos en la base de datos, así como las interrelaciones que existen entre las diversas estructuras de datos. A esto se le llaman metadatos o datos sobre los datos.
Mediante mecanismos de seguridad, el SGBD limita el acceso al personal autorizado y también lo restringe a ciertos datos. La integridad y la consistencia de la base de datos se protegen por medio de restricciones sobre los valores que pueden tomar los elementos de los datos y por las capacidades de recuperación y respaldo suministradas por el SGBD.
El SGBD proporciona los mecanismos físicos que permiten a varios usuarios tener acceso de forma rápida y eficiente a diferentes datos relacionados. También utiliza mecanismos de bloqueo para que la actualización de más de un usuario simultáneamente no afecte a los datos.
Se debe permitir a los usuarios formular sus consultas y pedir informes únicos directamente de la base de datos.
Por último, el SGBD ofrece al programador una serie de herramientas que facilitan la creación de software de aplicación.
5.- Bases de datos distribuidas
CONCEPTO DE DISTRIBUCIÓN
Un sistema de base de datos distribuida consiste en varios sistemas de bases de datos operando en los sitios locales y conectados por líneas de comunicación.
PROCESAMIENTO DISTRIBUIDO
Una consulta o una actualización deja de ser un proceso simple controlado por un único módulo de software, se convierte en varios procesos cooperando entre sí controlado por varios módulos independientes. Pero para que funcione con efectividad, deben estar disponibles tecnologías adecuadas de comunicación y los SGBDs deben poder comunicarse entre sí.
VENTAJAS E INCONVENIENTES
Una clara ventaja es que es posible ubicar los datos en lugares donde se necesitan con más frecuencia, aunque también al mismo tiempo se permita a usuarios no locales acceder a los datos según sus necesidades. Esto mejora la relación costo-efectividad y la autonomía local.
PLATAFORMAS CLIENTE-SERVIDOR
Las plataformas cliente/servidor son sistemas abiertos, lo que significa que tratan de lograr la interoperabilidad entre dos o más sistemas, es decir que se comuniquen y contribuyan cada uno a alguna parte del trabajo común.
Los ordenadores clientes están interconectados a un servidor, así, un cliente que necesite hacer una consulta o actualización en la base de datos, envía una petición al servidor de la base de datos y este le devuelve los datos solicitados.
Al principio los servidores se instalaron para controlar la impresión y el acceso a los archivos, pero hoy la mayoría son servidores de base de datos, mientras los clientes son los que manipulan al Interfaz Gráfica del Usuario (GUI).
http://html.rincondelvago.com/sistemas-de-informacion_bases-de-datos.html

No hay comentarios:

Publicar un comentario