11 febrero 2007

Guardando datos con estilo

Mira a tu alrededor y verás que estás rodeado de información. Anuncios, los 7 del 7, televisa deportes, los protagonistas, hechos, tarjetitas Yugui-oh, libros (para aquellos que todavía les gusta leer), la revista eres, muy interesante, tú y tvnovelas, periódico El Mural e Informador, Dexter y su laboratorio, las chicas superpoderosas, etc. La lista sigue y sigue.

Para no ahogarnos en medio de tantos datos, tenemos la computadora que fue diseñado para este fin. Puedes hacer mucho con una computadora, si tienes el software "correcto. Para archivar toda esta bola de datos, necesitas un DBMS.

¿Y qué es un DBMS?

DBMS significa DataBase Management System, o como diríamos algunos, un sistema manejador de bases de datos. Este software se encarga de administrar registros guardados, encargándose de registrar y mantener información, debe manejar todos los accesos a la base de datos y proporcionar una interfase al usuario del sistema.

Para considerarse un DBMS, por lo menos debe ser capaz de:
  • Crear nuevos archivos
  • Insertar nuevos datos
  • Recuperar datos
  • Actualizar datos
  • Borrar datos
  • Borrar archivos

¿Por qué es bueno usar una DBMS?


Es bueno usar una DBMS para resolver las siguientes broncas:
  • Redundancia de información
  • Inconsistencia de datos
  • Duplicidad de esfuerzos
  • Demasiada papelería
  • Alta probabilidad de tomar decisiones incorrectas por falta de información actualizada
  • Problemas interdepartamentales por decisiones incorrectas y fuera de tiempo
O sea que tiene sus ventajas, como por ejemplo,
  • Son compactos
  • Tienen una alta velocidad de procesamiento
  • Realizan el trabajo pesado y tedioso
  • Es fácil estar actualizado
  • Proporcionan un control centralizado de los datos (o sea que en un solo lugar tengo todo). Esto me da muchas ventajas:
    • Se puede controlar la redundancia de datos
    • Se puede evitar la inconsistencia de los datos
    • Se puede compartir datos
    • Se pueden establecer estándares para el manejo de los datos
    • Se pueden aplicar restricciones de seguridad
    • Se puede mantener la integridad de los datos

Pero no todo es color de rosa. También, pese a lo fregones que sean, los DBMS tienen algunas desventajas:
  • Queda comprometida la seguridad e integridad de los datos
  • Requerimientos de hardware adicional
  • Los sistemas pueden llegar a ser muy complejos
  • La operación correcta del sistema es crucial (o sea, que de preferencia, consíguete una buena máquina y borra Windows, jeje)


¿Y quién usa una onda de estas?

Básicamente hay 3 tipos de usuarios en un DBMS. Estos son:
  • El programador. Es el tipo loco que solo ve su entorno en 0s y 1s. Al abrir los ojos ve algo así como la Matrix (si viste la película, me entenderás). Es el cuate experto en el uso de lenguajes de programación (como Visual Basic o C++) y los programas que hace usan la base de datos.
  • El usuario final. Es la persona que se sienta enfrente de una computadora, usando un sistema diseñado por un programador (el tipo descrito antes), o, si es muy chicho, usa un lenguaje de consulta del DBMS.
  • El administrador. Para que se sienta importante, también se le llama el DBA (DataBase Administrator). Este es el hombre de la talacha: es el rey, amo y señor del DBMS. Se encarga de las decisiones, como por ejemplo…
    • ¿Qué es lo que voy a dejar que guarden en mi base de datos?
    • ¿Cómo voy a almacenarlo (estructuras de almacenamiento)?
    • ¿Cómo quiero que los usuarios y/o el programador tengan acceso a los datos?
    • ¿Qué controles de seguridad debo poner? ¿Qué reglas aplico en el uso de la información para conservar su integridad?
    • ¿Cómo voy a proteger la información? ¿Cada cuando voy a hacer respaldos y de qué tipo?
    • ¿Qué cambios debo hacer a la base de datos para que sea cada vez más útil a los usuarios y programadores?

Backend y Frontend

¿Qué quieren decir estas palabrejas? Como todos los que trabajamos con compus, nos sentimos importantes si usamos palabritas en inglich. Por eso usamos palabras como backend y frontend para definir partes de un sistema que usa datos.


El backend (etimología: back = atrás y end = fin, o sea el final de lo que tienes atrás). Hablando ya en serio, el backend es propiamente el DBMS, mientras que el frontend (me evito la explicación etimológica) es formada por las diferentes aplicaciones que corren sobre el DBMS. O sea que los frontend son las interfases por medio de los cuales los usuarios obtienen resultados del backend, que es el que almacena y recupera datos.

Modelos de base de datos

Hay muchas maneras de solucionar algo y esto sucede también con los DBMS. A diferentes personas se les han ocurrido diferentes maneras de hacer una DBMS. Entre estos, hay modelos orientado a objetos, jerárquicos, de redes, relacionales, distribuidos, basados en lógica (logic-based) y probablemente uno que otro mas.

Cada modelo es interesante ya que vemos una manera diferente de pensar, de resolver un problema. Pero para no darles mas problemas, no voy a hablar de cada uno de ellos. Solo explicaremos la DBMS relacional o RDBMS.

En una RDBMS, los datos son vistos por el usuario como tablas (relaciones) y los operadores de que dispone el usuario son operadores que generan nuevas tablas de las ya existentes.

Algunas de las ventajas de usar RDBMS son:
  • implementación sencilla
  • facilidad de usar llaves secundarias (clasificar información), de ligar muchas tablas
  • se puede crear una aplicación diferente sin cambiar base de datos.
Tambien tiene sus inconvenientes. Digamos que usa mucho espacio en disco (debido a información repetida) y si es mal operado puede generar inconsistencias.


Dentro de todo, los RDBMS son los DBMS mas usadas por los DBAs (con esta frase se apantallarían uno que otro que no lleve este curso) ya que son bastante eficientes. De este momento en adelante, siempre que haga referencia a un DBMS, me estoy refiriendo a uno de estos, a un RDBMS.

Hay muchos productos en el mercado de los DBMS. Hay productos excelentes (como el Oracle e Informix), muy buenos (como el MySQL), buenos (MS SQL Server), regulares, malos, pésimos y MS Access. Como podrás imaginar, entre mejor sea el DBMS, más costoso es su operación (costo tanto de hardware como software). En fin, de todo hay en la viña del Señor.
Publicar un comentario
Related Posts Plugin for WordPress, Blogger...