sábado, 24 de marzo de 2007

INTRODUCCIÓN A LAS BASE DE DATOS (CONCEPTOS)

Una Base de Datos es una colección de datos lógicamente relacionados, junto con una descripción de estos datos. En cambio un Sistema de Gestión de Base de datos (o DBMS por sus siglas en inglés) es el software que gestiona y controla el acceso a la base de datos.

Un Sistema de Base de Datos es una colección de software’s que interactúan con la base de datos.

1.2 Sistemas tradicionales basados en archivos

Anterior a las Bases de Datos en los sistemas se utilizan las Técnicas basadas en archivos. Esto es una colección de programas que realizan diversos servicios para usuarios finales. Entre las limitaciones que presenta esta técnica tenemos:

  • Separación y alistamiento de los datos: resulta más difícil acceder a los datos que deben estar disponibles. Por ejemplo si queremos obtener las transacciones bancarias realizadas por tal usuario; a esto tendríamos que hacer procedimientos un poco complicados.
  • Duplicación de datos: debido al enfoque descentralizado que ofrece las técnicas basadas en archivos. La duplicación de datos implica desperdicios de recursos. También consume espacio de almacenamiento innecesario. Otro problema es que se puede perder la integridad de los datos.
  • Dependencia entre los datos: resulta difícil realizar cambios en una estructura existente ya que hay que realizar los cambios en la aplicación que gestiona los datos.
  • Formatos de Archivos Incompatibles: si una aplicación para la gestión de archivo está hecha en C y otra aplicación para la gestión de otras estructuras de archivos está hecha en COBOL tendríamos una incompatibilidad directa de dichos archivos, lo que hace difícil que se pueda procesar conjuntamente.
  • Consultas fijas/proliferación de programas de aplicación: las consultas a los archivos son fijas, ya que no se pueden hacer consultas en el momento (ad hoc). A menudo se tendría que omitir mecanismos de seguridad o integridad, la recuperación de datos en caso de fallos de hardware, el acceso a archivos estaba restringido.

1.3 Sistema de Base de Datos

La base de datos almacena no solo los datos operacionales de la organización, sino también la descripción de dichos datos. La descripción de los datos se conoce como catálogo del sistema (o diccionario de datos o metadatos). De esta manera la base de datos proporciona la independencia entre programas y datos. Los sistemas de base de datos separan la estructura de los datos de los programas de aplicación y almacena dicha estructura en la propia base de datos.

Al analizar las necesidades de información de una organización, tratamos de identificar entidades, atributos y relaciones. Una entidad es un objeto distintivo (una persona, un lugar, cosa, concepto o suceso) dentro de la organización y que hay que representar dentro de la base de datos. Un atributo es una propiedad que describe algún aspecto del objeto (entidad) que queremos almacenar, y una relación es una asociación entre entidades.

1.3.2 Sistema de Gestión de Base de Datos (SGBD en español DBMS en inglés)

El SGBD es el software que interactúa con los programas de aplicación de usuario y con la base de datos. Normalmente proporciona la siguiente funcionalidad:

Permite definir la base de datos mediante un lenguaje de definición de datos (DDL Data Definition Language). El DDL permite definir las estructuras y tipos de datos y las restricciones aplicables a los datos. Permite a los usuarios insertar, actualizar, borrar y extraer datos de la base de datos mediante el lenguaje de manipulación de datos (DML Data Manipulation Language). Al disponer de un repositorio centralizado de datos el DML puede proporcionar un mecanismo general de consulta de datos, denominado lenguaje de consulta. El lenguaje de consulta más común es el SQL (Structured Query Language, lenguaje estructurado de consulta), que es ahora tanto el estándar formal como el estándar de facto para los SGBD relacionales.

1.3.3 Programa de Aplicación

Los usuarios interactúan con la base de datos emitiendo solicitudes apropiadas (mediante una instrucción SQL) dirigidas al SGBD.

Vistas: permite a cada usuario disponga de su propia vista de la base de datos.

1.3.4 Componentes de un entorno SGBD

Los componentes de un entorno SGBD son:

Hardware: el SGBD requiere de una plataforma hardware para ejecutarse. El hardware puede se desde una computadora personal, hasta un único mainframe o una red de computadoras. El hardware concreto dependerá de las necesidades de la organización y del SGBD utilizado. Software: comprende el propio software SGBD y los programas de aplicación, junto con el sistema operativo. Normalmente los programas de aplicación se escriben en lenguajes de aplicación de tercera generación (3GL) como Java, C/C++, Visual Basic, etc. o lenguajes de cuarta generación como SQL incrustado dentro de SQL. Datos: las bases de datos contienen los datos operacionales como los metadatos (estructura de la base de datos). La estructura de la base de datos se denomina esquema. Los esquemas comprenden entidades, atributos y relaciones. Procedimientos: son las instrucciones y reglas que gobiernan el diseño y la utilización de la base de datos. Ej.: iniciar una sesión SGBD, iniciar y detener el SGBD, cambiar la estructura de una tabla y otros más. Personas: son las que relacionan con el sistema.

1.3.5 Diseño de Base de Datos: un cambio en el paradigma

La estructura de la base de datos se determina durante el diseño de la base de datos. Para que el enfoque de la base de datos tenga éxito se debe pensar primero en los datos y luego en las aplicaciones (cambio de paradigma). Una base de datos mal diseñada generará errores que puede generar decisiones incorrectas. Existen metodologías que podemos utilizar para el diseño de base de datos (ejemplo Modelo Entidad-Relación).

1.4 Papeles en un entorno de base de datos

Aquí vamos a examinar el quinto de los componentes de un SGBD, las personas. Identificar cuantos tipos de personas puede participar en un SGBD.

Administradores de datos y de base de datos: El administrador de datos (DA, Data Administrator) es el encargado de administrar los recursos de datos (planificación de la base de datos, le desarrollo de estándares, políticas y procedimientos y el diseño procedimental/lógico de la base de datos. El administrador de la base de datos (DBA, Database Administrator) es el encargado de la materialización física de la base de datos, incluyendo la implementación, el control, la seguridad y la integridad, el mantenimiento de la fiabilidad del sistema y la garantía que las aplicaciones trabajen de una manera adecuada para los usuarios. Diseñadores de la base de datos: se pueden distinguir dos tipos de diseñadores. El diseñador lógico de la base de datos que se encarga de identificar los datos (entidades y atributos), las relaciones entre los datos y las restricciones que hay que aplicar a los datos que se almacenan dentro de la base de datos. Debe tener una profunda compresión sobre las reglas del negocio dentro de la organización. El diseñador físico de la base de datos decide como materializar físicamente el diseño lógico de la base de datos.

Desarrolladores de aplicaciones: una vez implementa la base de datos los desarrolladores de aplicaciones se encargan de proporcionar la funcionalidad requerida por los usuarios finales. Estas aplicaciones se encargan de extraer datos, insertarlos, actualizarlos o borrarlos. Los programas pueden ser escritos en lenguajes de tercera o cuarta generación.

Usuarios finales: los usuarios finales pueden clasificarse de acuerdo con la forma en que utilizan el sistema. Los usuarios inexpertos, que normalmente no son conscientes que existe un SGBD, acceden a los datos mediante una aplicación escritos a propósito y que intenta que la operación sea lo más simple posible. Los usuarios avanzados están familiarizados con la estructura de la base de datos y con las funcionalidades ofrecidas por el SGBD. Pueden acceder a los datos mediante consultas SQL.

1.5 Historio de los sistemas de gestión de base de datos

Para más información pueden acceder a la página Web: Historia de la Base de Datos .

1.6 Ventajas y desventajas de los SGBD (DBMS)

Entre las ventajas que tienen los DBMS tenemos:

  • Control de la redundancia de los datos: economía de espacio en disco.
  • Coherencia de los datos: al eliminar o controlar la redundancia, reducimos el riesgo de que se produzcan incoherencias.
  • Más información a partir de la misma cantidad de datos: al integrar los datos operacionales, la información puede deducir información adicional a partir del conjunto de datos existentes.
  • Compartición de datos: la base de datos pertenece a toda la organización y debe ser compartida por todos los usuarios autorizados a diferencia de los archivos que son propiedad de las personas o departamentos.
  • Mayor integridad de datos: se suele expresar en términos de restricciones, que son las reglas de coherencia que no se permite que la base de datos viole. Esto hace referencia a la validez y coherencia de los datos almacenados.
  • Imposición de estándares: permite definir e imponer los estándares necesarios (de la organización, de algún departamento, etc.).
  • Economía a escala: centralizar los datos puede ayudar a reducir grandemente los costos.
  • Equilibrio entre los requisitos conflictivos: el administrador de la base de datos puede tomar desiciones acerca del diseño y la utilización operacional de la base de datos que proporcionen el mejor uso de los recursos.
  • Mejor accesibilidad de los datos y mayor capacidad de respuesta: debido a que los datos están centralizados en un repositorio de datos, los datos que atraviesan la fronteras departamentales son accesibles de modo directo por los usuarios finales. También el uso de lenguajes de consulta que proporcionan los DBMS que permiten a los usuarios hacer consultas ad hoc y obtener la información requerida en su computador.
  • Mayor productividad: los DBMS incluyen muchas de las funciones estándar que el programador tendría normalmente que incluir dentro de su aplicación basada en archivos.
  • Manteminimiento simplificado gracias a la independencia de los datos: los DBMS guardan tanto los datos como las estructura de dichos datos, lo que le da una independencia de las aplicaciones que van a trabajar sobre estos datos.
  • Mayo nivel de concurrencia: los DBMS se encargan de gestionar el acceso concurrente a la base de datos lo que garantiza el acceso a un mismo archivo silumltaneamente.
  • Servicios mejorado de copia de seguridad y recuperación: los DBMS tienen diferentes mecanismos en caso de fallo o para realizar copias de seguridad lo que ayuda grandemente a la hora de recuperar datos.
Desventajas:
  • Complejidad: los DBMS son software muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del DBMS para poder aprovercharlo al máximo.
  • Tamaño: la complejidad y la gran cantidad de funciones que tienen los DBMS hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr.
  • Coste del DBMS: los DBMS de hoy en día son muy costosos. Un DBMS multiusuario puede estar entre 100,000 a 1,000,000 dolares. También hay que tomar en cuenta el costo de soporte que puede ser un porcentaje del precio.
  • Coste del hardware adicional: los requisitos de hardware para correr un DBMS por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.

Resumen Capítulo 1 - Sistemas de Bases de Datos (Un enfoque práctico para diseño, implementación y gestión)
De: Thomas M. Connolly - Carolyn E. Begg

1 comentario:

Caleb Ortega dijo...

Muy buen aporte. Gracias