sábado, 13 de junio de 2015

BASES DE DATOS: ¿Qué son?

De nuevo volvemos a la historia para contaros un poco lo que es una base de datos. Cómo ya os he mostrado en otros artículos sobre las variables, una parte importante de la programación es el trato que se dan a los datos, y como vais viendo en los mismos la cosa no es nada sencilla.

Es a veces más complicado comprender los datos y organizarlos que crear la aplicación. Necesitamos ver todos los datos que están en juego, lo que queremos hacer con ellos, las relaciones que existen, si dependen unos de otros...




Por ello es tan importante conocer las bases de datos.

Definición:

Una base de datos es un lugar donde se almacenan los datos de alguna manera lógica, pero una base de datos también es la aplicación que nos permite usar esos datos, contrastarlos, ordenarlos, compactarlos...

Mi primer contacto con una base de datos fue con el ya legendario Dbase, un programa creado para MsDos que permitía la creación y gestión de las bases de datos.

Antes de estos programas los datos se guardaban en cintas o en discos, de una manera secuencial, es decir, directamente uno al lado de o detrás de otro, normalmente separados por comas, lo cual nos permitía después recuperarlos a memoria, modificarlos y volver a reescribirlos.


Pero esto tenía un coste importante en tiempo, ya que había que primero guardarlo y luego volver a cargarlo en memoria varias veces en el mismo ciclo de vida de la aplicación. Y los discos no eran precisamente rápidos como ahora que parece todo instantáneo...

Con la creación de Dbase y programas similares se permitió que el acceso fuera más rápido, los datos no se guardaban como un fichero puramente secuencial sino que se guardaban preórdenes que permitían una gestión más rápida de los mismos, se guardaban en bloques más pequeños y se podían estar cargando unos pocos mientras el resto se mantenían a la espera.

Dbase III y IV permitieron la indexación, es decir, un orden de los datos según una clave determinada pero que no alteraba los datos en sí, de forma que si la clave de indexación se usaba cómo principal la localización de un dato en milésimas de segundo.



Este programa y otros como FoxPro nos daban la posibilidad de manejar los datos de una manera rápida y si conocías los comandos de manera sencilla. Y creabas aplicaciones muy rápidamente con el asistente que tenía.

Con el paso de los años y la irrupción de Windows, la cosa se volvió visual y apenas tenías que saber muy poco para crear tu base de datos y gestionarla y luego usarla para crear tus cartas personalizadas para los clientes o consultarla para ver si tu visitante de la web estaba o no registrado.

Con todo esto se han ido buscando siempre la forma de que sean cada vez más rápidas y eficientes, y más aún desde la creación de las web, ya que las cargas en los servidores son cada vez mayores, y los datos más y más grandes y complejos...

Imaginar lo importante que es la optimización de estos datos, pensar en un banco que recibe miles de transacciones por segundo de sus clientes comprando en miles de establecimientos a lo largo del planeta y  tiene que responder sí o no a la petición de dinero, y tiene que sacarlo de su fichero y mandarlo al del vendedor...

Por eso es tan importante el curso que estamos haciendo sobre las variables, porque es en los datos donde está la respuesta, en su análisis donde está el futuro...

Si queréis ver como se usa una base de datos y como se crea desde cero y otro montón de conceptos podéis ver este vídeo sobre OpenOffice Base:


Definición de campo:

Campo es cada una de los datos que forman parte de una base de datos, estos campos son los contenedores de los datos, los que reciben los nombres, las direcciones, los teléfonos.

Son de diferente tipo y se organizan de una forma lógica para que resulten más fácil de usar y de rellenar.

Definición de registro:

Es cada una de las soluciones de los campos y están unidas por la lógica que se estableció en los campos. De esta manera, cada registro es un relleno de todos los campos definidos. 

Si seguimos el ejemplo de un fichero de fichas, los campos son lo que aparece a la izquierda, y son comunes a todas las fichas, mientras cada ficha está rellenada con una serie de datos. Estas fichas son los registros (records).

Acumulando datos:


Cuando ya hemos definido la estructura de nuestros datos lo siguiente que tenemos que hacer es empezar a rellenar los campos y los registros para poder tener cuanto antes todo relleno.

Si nos juntamos con miles o cientos de miles de datos lo importante de una base de datos será la velocidad de búsqueda, y cada vez que vayamos a hacer una consulta tendrá que estar lo más ordenada posible.

Esto significa que si pudiéramos tener todas las consultas hechas antes de hacerlas el tiempo de reacción sería mínimo. Por eso es tan importante decidir cuál será la llave de ordenación, es decir, el campo o campos que van a dar las claves de ordenación de nuestra base de datos.

No hay comentarios:

Publicar un comentario