Una base de datos es un conjunto de información relacionada, estructurada y almacenada de manera sistemática. El objetivo es poder acceder a esa información de manera fácil, tanto para consultarla como para añadir nuevos datos. Los programas que se encargan de gestionar bases de datos se denominan sistemas gestores de bases de datos (SGBD) y son una pieza importante en el entramado de la web.
Hace unos años (en marzo del 2004), escribimos un artículo para la revista Mosaictitulado Páginas web estáticas vs. páginas web dinámicas. Las bases de datos en Internet, donde dábamos una breve explicación de lo que es una página web dinámica y las diferencias con las páginas web estáticas. Recomendamos una lectura de dicho artículo antes de seguir con este porque lo vamos a usar como referencia.
Si en el 2004 las bases de datos ya eran importantes, actualmente casi todas las webs tienen detrás un gestor de contenidos que, a su vez, utiliza un SGBD para almacenar la información de la web. Sea como sea, si se quiere crear una web que sea fácilmente actualizable, la opción más sencilla será personalizar un gestor de contenidos y la más complicada será crearlo; en ambos casos, será importante tener conocimientos de cómo funcionan las bases de datos y cómo acceder a la información en el lenguaje del SGBD que uséis.
Aunque la situación de los diferentes SGBD usados en la web ha cambiado algo desde el 2004, los cambios no son, ahora mismo, demasiado importantes. Así, SQL sigue siendo el lenguaje de consulta de SGBD más habitual y en la web, MySQL, PostgreSQL y SQLite son las soluciones libres más usadas; por su parte, Microsoft SQL Server y Oracle Database son las soluciones privativas más comunes.
A partir de aquí, vamos a centrarnos en uno de esos gestores de bases de datos (MySQL) para explicar de qué manera acceden a los datos las aplicaciones web. La elección de MySQL no es casual. Según un estudio de Gartner elaborado en el año 2008, MySQL era en ese momento el tercer SGBD más usado en el mundo, el primero de código libre. Desde entonces y a pesar de que la compra de MySQL por parte de Oracle hizo que algunos desarrolladores pensasen en pasarse a PostgreSQL, su presencia en la web noha dejado de crecer.
Por otra parte, muchas aplicaciones web usan una combinación de MySQL como base de datos, PHP como lenguaje de programación, Apache como servidor web y Linux como sistema operativo. Esta combinación de tecnologías recibe el nombre de LAMP (Linux, Apache, MySQL y, habitualmente, PHP) y es una de las más usadas en los servidores web.
En una aplicación web, como un gestor de contenidos o una tienda en línea o cualquier otra web que haga uso de bases de datos, podemos encontrar hasta cuatro tipos de desarrollo:
- Desarrollo de HTML + CSS
- Desarrollo JavaScript
- Desarrollo en PHP
- Consultas SQL
PRACTICA
- Evitar hacer múltiples llamadas a funciones, métodos u otros componentes para obtener los mismos valores, haciendo uso de variables.
- Utilizar clases especializadas en validaciones de formato de texto, números y fechas, en lugar de replicar dicha lógica en toda la aplicación.
- Centralizar los accesos a base de datos en componentes / clases (DAO).
- Garantizar que cada componente de una capa acceda únicamente a la capa adyacente.
- Agrupas líneas de código comunes en procedimientos o funciones.
- Evitar dependencia en los componentes de lógica de negocio de variables enviadas como parámetros.
QUIZ
Antes de desarrollar un sitio web una vez se deben tener en cuenta varios aspectos como:
¿Qué poner en el sitio?
¿Dónde se alojará?
¿Cómo hacerlo interactivo?
¿Cómo codificarlo?
¿Cómo crear un sitio web amigable para los motores de búsqueda?
¿Cómo proteger el código fuente?
¿El diseño del sitio web se mostrará bien en diferentes navegadores?
¿Serán fáciles de usar los menús de navegación?
¿El sitio web se carga rápidamente?
¿Con qué facilidad se imprimirán las páginas del sitio?
¿Con qué facilidad encontrarán los visitantes detalles importantes específicos?
¿Con qué eficacia se utilizan las hojas de estilo en sus sitios web?