miércoles, 4 de septiembre de 2013

Modelado de datos e implementación de la base de datos



Modelado de datos e implementación de la base de datos

     El modelado de datos es uno de los elementos más importantes a la hora de iniciar el desarrollo de cualquier proyecto. Esta es la estructura, sobre la que realmente reside la verdadera esencia de la aplicación. Incluso determina si el proyecto va a cumplir con su verdadero objetivo.

    Uno de los puntos importantes que se deben indicar es que el modelado de los datos, debe ser llevado como una guía general. Para los profesionales expertos, esto implica el desarrollo de los Diagramas de Entidades y del Modelo Entidad-Relación. Independientemente de la metodología a utilizar, esta herramienta siempre será importante, para entender las relaciones entre las diversas entidades en la Base de Datos.

Cómo definir el esquema de la Base de Datos

     Cuando definimos el Esquema de la Base de Datos estamos implementando en el lenguaje SQL del SGBD, el esquema de Modelado de Datos, anteriormente mencionado. Es preciso notar que se define “en el lenguaje SQL del SGBD”, este punto es importante que sea ampliado. Todos los SGBD, tienen diferencias finales en cuanto a la sintaxis que se maneja.

     Sabemos que SQL es uno solo y que por eso es estándar, pero las diferentes distribuciones lo han implementado con ciertas variaciones. Están variaciones, son una de las causas en que el modelo de desarrollo, ha separado el Modelado de los Datos, con la Lógica de Programación.

     El esquema de la Base de Datos, debe a mi parecer ser definido en el lenguaje SQL de nuestro Sistema Gestor de Base de Datos. La razón es básicamente sencilla: es más portable. Si lo hiciésemos en una aplicación nativa para un sistema operativo en especial y tratáramos de implementarlo directamente en otro sistema, podríamos llegar a tener complicaciones.

     No es imperante que seamos unos gurus de la plataforma, pero siempre es importante que conozcamos los fundamentos. Muchas de las funciones que al final implementemos, serán producto de nuestra investigación personal a través de foros donde se mencionen las soluciones a los diversos problemas o funciones nuevas que podamos utilizar.
Herramientas que simplifican el trabajo
     Al final, si utilizamos una herramienta que nos simplifique el proceso de implementación, siempre será importante guardar un archivo, con las sentencias SQL generadas por la misma. De hecho, con cada modificación debemos guardar una copia de respaldo.

     Herramientas web como PHPMyAdmin, son muy importantes. La implementación y las pruebas generalmente las realizaremos en un computador local y vía interfaz web, podremos hacer el cambio desde el mismo Servidor instantáneamente y transparente al usuario.

Manejo y optimización del almacenamiento y las funciones de gestión del contenido

     Consideremos un ejemplo sencillo: imaginemos que estamos desarrollando una aplicación y que un procedimiento se debe realizar en varias partes de nuestro código. Que sería lo más conveniente a realizar: copiar una y otra vez el bloque de instrucciones o crear una sola función o procedimiento.

     Esta misma situación ocurre, cuando programamos y ejecutamos consultas a la Base de Datos. Es increíble como nuestro código empieza a crecer en ambas direcciones de nuestro editor. Además, no solamente debemos fijarnos en ese aspecto.

     Al mandar consultas desde el lenguaje de Scripting a la Base de Datos, el SGBD, debe interpretarla y ejecutarla. Obviamente, esto lo hace en milésimas de segundos. Pero, cuando hablamos de alrededor de mil consultas o más por segundo, el tiempo que se tarda por cada transacción es vital.

¿Cómo podemos solucionar este inconveniente y hacer que nuestra base de datos responda en un mejor tiempo?

     La respuesta es utilizar procedimientos, funciones y vistas. Al estar dentro de la base de datos, estos suelen ser más rápidos, por que el SGBD, lo ha interpretado, depurado y optimizado con anterioridad, lo cual hace que las consultas sean más rápidas.

     En lugar de mandar un query de inserción a una base de datos desde el script, es más sencillo, mandar los parámetros a la función almacenada en el SGBD. Dentro de la función está la consulta ya compilado.

     Además, al centralizar las consultas, cualquier cambio hecho, alterará a todos los procedimientos del lado del script que lo utilicen. Esto ahorrará tiempo de desarrollo y mejorará el mantenimiento de la aplicación en su totalidad.

No hay comentarios:

Publicar un comentario