Programación apps web

Desarrollo de apps web: cómo almacenar la información

redaccion

01-05-2019

En el post de hoy vamos a comentar cómo se puede almacenar la información en una app web. Estamos hablando de un elemento que da vida a una app web y que debemos tener en cuenta en cualquier desarrollo web pues va a determinar la calidad del mismo. Nos estamos refiriendo a la base de datos.

Siempre que estamos delante de una app web, tendremos detrás un gestor de base de datos en donde se gestiona todo el contenido de información que usamos.

Antes de entrar en detalle, conviene aclarar dos conceptos básicos, qué es una app web y qué es una base de datos

¿Qué es una app web?

Una app web es un programa informático al que se accede desde un navegador web a través de internet o de una intranet.

Este tipo de desarrollos se crean para ser ejecutados a través de un navegador web y pueden ser accedidos desde cualquier tipo de dispositivo, ya que no se instalan en el equipo o en todo caso, se instala una pequeña capa de presentación.

¿Qué es una base de datos?

Una base de datos no es más que un programa informático capaz de almacenar información de forma estructurada y ofreciendo mecanismos de búsqueda de esa información almacenada óptimos y rápidos. La información se suele organizar en diferentes tablas que suelen estar relacionadas entre ellas.

Cada tabla suele contener información en diferentes registros de un tipo de entidad (clientes, facturas, etc.…). Sobre esas tablas se crean claves o índices que permiten referenciar los contenidos y optimizar la búsqueda de los mismos.

Aunque existen diferentes tipos de bases de datos, el más usando es el de tipo relacional, que como su nombre indica, permite relacionar los contenidos que alberga mediante diferentes tablas y relaciones entre ellas.

En el mundo de los desarrollos web, MySQL es la base de datos más extendida, pero tampoco podemos olvidar otras alternativas también muy extendidas, como Microsoft SQL Server, PostgreSQL o MongoDB.

Esta base de datos suele estar instadla o bien en el servidor web que sirve la aplicación o e n un servidor dedicado exclusivamente para base de datos. 

¿Para qué sirve una base de datos en apps web?

En una app web, las bases de datos nos permiten actuar como almacén de datos y extraer el contenido que se muestra de la app web y disponerlo fácilmente, tal y como el desarrollador requiere en su proyecto web o el internauta necesita visualizarlo.

Aunque mucha gente puede que no sea consciente, la base de datos es una parte fundamental del rendimiento de una web, además de otros factores.

Por este motivo, es muy importante que hagamos un diseño inicial de la misma óptimo y orientado a la app web que tenemos pensado implementar.

En la fase inicial de diseño de la base de datos, es necesario determinar la finalidad de la misma, organizar y categorizar la información a contener según las claves, definir las relaciones entre tablas y elementos que conformarán la misma y normalizarla de cara a facilitar la integración de la base de datos con otros sistemas.

Así mismo, es fundamental dotar a la base de datos de un hardware adecuadamente dimensionado a las necesidades de consulta que va a tener dicha base de datos y en muchos casos, ese servidor debe ser dedicado solamente a la base de datos y no compartido con el servidor web. Esto dependerá del volumen de transacciones a ejecutar.

Hoy en día, los servidores suelen ubicarse en la nube pues ofrece la ventaja de incrementar fácilmente recursos si es necesario por un incremento de uso de la app.

Técnicas de acceso a la base de datos de una app web

Antes de comentar las técnicas que se suelen usar para el acceso de base de datos en una web, conviene comentar cuáles son las bases de datos más usadas en entorno web.

Si nos centramos en bases de datos de código libre, nos referiremos a MySQL, PostgreSQL y SQLite. Se hablamos de gestores de base de datos de pago Oracle y SQL Server son las indicadas.

De todas estas, la que mayor penetración tiene es MySQL. Además, se ha estandarizado el uso de LAMP como solución de arquitectura web. Es decir, Linux como sistema operativo, Apache como servidor web, MySQL como gestor de base de datos y PHP como lenguaje de programación.

Entrando ya en materia, las técnicas de acceso a base de datos en una web pueden clasificarse en dos grandes grupos: las que se ejecutan en el navegador y la que se ejecutan en el servidor.

Acceso a base de datos desde el navegador

Las técnicas que utilizan la ejecución para el acceso a base de datos desde el navegador se basan en incluir código de la página HTML que es interpretado por el navegador para realizar las acciones necesarias.

Normalmente, para este tipo de técnicas se utiliza programación en JavaScript que puede llegar a ser algo engorrosa y a la vez dependerá de cómo el navegador interprete el código.

Adicionalmente se suele utilizar un conjunto de bibliotecas en JavaScript para ayudar al desarrollo llamado jQuery. jQuery incorpora muchas funciones que facilitan la programación en el lado cliente.

Acceso a base de datos desde la ejecución en el servidor

Las técnicas que se basan en la ejecución en el lado servidor funcionan de forma diferente y son más recomendables ya que no están a expensas de que el navegador interprete en código de forma correctas pues se envía la página en HTML ya generada por el servidor.

Un ejemplo de funcionamiento con PHP sería el siguiente:

  • En el servidor, un archivo .pH contiene el programa PHP con las instrucciones SQL para acceder a los datos, con el código HTML y CSS necesario para poderlos visualizar correctamente y con el JavaScript necesario para interactuar con el usuario.
  • El servidor ejecuta las instrucciones PHP y las consultas SQL, obtiene los datos y envía al cliente un archivo con el HTML, el CSS, el JavaScript y los datos obtenidos.
  • El navegador presenta los datos al usuario y ejecuta las instrucciones JavaScript.
  • El navegador envía al servidor los datos que proporciona el usuario.
  • El servidor recibe esa información y la guarda en la base de datos.

Como hemos comentado, la ejecución en servidor es mucho más limpia y hace que la presentación de las páginas sea más rápida pues descarga al navegador en la parte cliente de la interpretación de código dinámico.

Si eres programador web seguro que estos conceptos te suenan. Nos gustaría conocer tu experiencia en la programación con bases de datos en web.

Profile picture for user redaccion
redaccion

FP de Grado Superior en Desarrollo de Aplicaciones Multiplataforma

Consigue ahora tu título de FP de Grado Superior de Desarrollo de Aplicaciones Multiplataforma con la mejor preparación a pruebas libres.

1.500 Horas

Videotutoriales

Prácticas Profesionales

Solicitar información

FP de Grado Superior en Desarrollo de Aplicaciones Web

Consigue ahora tu título de FP de Grado Superior de Desarrollo de Aplicaciones Web con la mejor preparación a pruebas libres.

1.500 Horas

Videotutoriales

Prácticas Profesionales

Solicitar información