Sistema de Gestión de Bases de Datos

Hoy toca hablar de que es un Sistema de Gestión de Base de Datos, también conocido como SGBD. Este es un conjunto de programas que nos sirve para acceder y administrar una Base de Datos (BD).

Actualmente cualquier Sistema de Software requiere tener acceso a una Base de Datos (BD) y para ello se apoya en los Sistemas de Gestión de Base de Datos (SGBD).

Un Sistema de Gestión de Base de Datos (SGBD) posee dos lenguajes diferentes, uno para especificar el esquema de la Base de Datos (BD), y otro para la manipulación de datos.

Un esquema de Base de Datos (BD) es el diseño de la estructura de la BD, es decir especifica los tipos de datos, las relaciones entre ellos, la semántica asociada y las restricciones de consistencia. Para esto se usa un lenguaje que se llama Lenguaje de Definición de Datos (LDD). Cuando se compila un archivo escrito con el LDD, se genera un archivo llamado Diccionario de Datos. Un Diccionario de Datos es un archivo con datos sobre los datos.

Para manipular los datos de la Base de Datos (BD), tenemos un lenguaje que se llama Lenguaje de Manipulación de Datos (LMD), el cual nos servirá para consultar, modificar e insertar datos en la BD.

Existen dos tipos de Lenguaje de Manipulación de Datos:

  • LMD Procedimentales: El usuario especifica todo, que datos quiere y como los obtendrá
  • LMD No Procedimentales: El usuario especifica que datos quiere pero no como los va a obtener ( Esto esta muy bueno ya que el usuario tiene menos cosas de que preocuparse :) )
Como es de suponer el LMD No Procedimentales son mas fáciles de aprender por dejar menos cosas al control del usuario y por ello es mas fácil de utilizarlo.

Finalmente los objetivos de un SGBD son:

  • Controlar la concurrencia: Controlar el acceso simultaneo de varios usuarios y asegurar que no mas de un usuario modifique un dato.
  • Tener control centralizado: Desde un mismo software tener acceso a los datos como al SGBD.
  • Facilitar el acceso a los datos: Permitir un fácil acceso a los datos, para esto provee un lenguaje, el LMD.
  • Proveer seguridad para imponer restricciones de acceso: Definir explícitamente que usuarios pueden acceder a la base de datos.
  • Mantener la integridad de la Base de Datos (BD): Posibilidad de verificar que todos los datos respeten las estructuras definidas previamente(Ej: que en un dato de tipo Integer no se coloque un String), y ademas ante un fallo verificar y reparar el dato si fuese necesario (restauración del dato).

Bueno por el momento esto es todo :), espero que hoy hayan aprendido algo mas como yo :)

Saludos y Happy Hacking :)

Comentarios

Entradas más populares de este blog

ZonedDateTime & OffsetDateTime

Migración MongoDb 2.4 -> 2.6 -> 3.0 (con replicas)

Niveles de visión de los datos