jueves, 30 de octubre de 2014

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 :)

martes, 28 de octubre de 2014

Introducción a las Bases De Datos

Hola a todos } ; )

Después de tanto tiempo, eh vuelto a escribir un post, XD

Como tengo que rendir un final en la facultad ( UNLP Informática ) seguramente voy a ir subiendo lo que vaya aprendiendo sobre las bases de datos...

En fin comencemos.

Lo primero que tenemos que hacer es saber ¿qué es una base de datos?.

Según el libro que estoy leyendo una base de datos es: "Colección o conjunto de datos interrelacionados con un propósito especifico vinculado a la resolución de un problema del mundo real".

Bueno, vamos entendiendo por partes esta frase:

"Colección o conjunto de datos..." : Esto creo que es bastante claro, XD, esto se refiere a cualquier tipo de datos, ya sean datos en papel o  datos guardados en la pc, y que estén agrupados.

"... interrelacionados...":  Esté se refiere a que los datos agrupados tienen que tener una relación lógica, por ejemplo, los datos de una persona, cuando queremos saber los mismos por lo general siempre preguntamos por su nombre y apellido, y estos dos datos ( dato 1 : nombre, dato 2: apellido) estén relacionados entre si por el objetivo de identificar a una persona de forma precisa ( Ya sabemos que para este ejemplo se puede dar que dos personas tengan los mismos datos, pero recuerden es solo un ejemplo XD).

"...con un propósito especifico...": Esto hace referencia a que los datos que se agrupan tiene que tener un propósito por el cual se agrupan, en el ejemplo anterior el propósito fue la identificación de una persona de forma precisa.

"... vinculado a la resolución de un problema del mundo real.": Esta parte hace referencia a que esta agrupación de datos existen con el objetivo de resolver un problema del mundo real. En el ejemplo anterior el problema es identificar a todas las personas de forma precisa.

Entonces una base de datos es un conjunto de datos que se relacionan con un propósito especifico, propósito que esta vinculado a la resolución de un problema del mundo real.

Bueno eso es todo por este primer post, voy a tratar de no hacer post enormes para que no sea denso la explicación.

Saludos y Happy Hacking } ; )

ZonedDateTime & OffsetDateTime

Hoy quiero compartirles algunas pruebas que realice con ZonedDateTime y OffsetDateTime. En primer lugar podemos decir que tenemos un ...