Blog what I write

Desarrollo de base de datos

post - - 5 replies -

Como muchos sabemos, ponerse a desarrollar una base de datos con cierta complejidad y tamaño “a ojo” es perder el tiempo.

Para que la aplicación cumpla eficientemente sus objetivos y los resultados sean buenos, debemos seguir un proceso:

  1. Análisis.
  2. Diseño del modelo entidad / relación.
  3. Diseño del modelo relacional.
  4. Lenguaje SQL y base de datos final.

Análisis

Debemos comenzar estudiando a fondo el mundo real que deseamos representar en la aplicación y base de datos.
Por ejemplo: una universidad, un hospital, una empresa tecnológica.

A partir de este estudio, debemos crear el UD, que es simplemente la visión del mundo real bajo unos determinados objetivos.

Modelo entidad / relación (E/R)

Cuando se inicia el diseño de una base de datos, uno de los mayores problemas que existe, es que el diseñador concibe la base de datos con un modelo de datos orientado a la maquina/plataforma. Y esto hace que en un alto grado se pierda la conceptualidad del problema quedando tal diseño contaminado por cuestiones de implementación.

Al final será un desastre puesto que nuestra aplicación no será capaz de representar fidedignamente la realidad del asunto. Ademas de conllevar otra serie de problemas como: falta de eficiencia, peor optimizado, imposibles actualizaciones, consultas extremadamente largas…

El diseñador debe concebir la base de datos en un nivel superior, abstrayéndose de cualquier consideración técnica o de implementación en sistema, plataforma o aplicación.

Para ello puede contar con la ayuda de un modelo de datos como el E/R, presentado por Peter P. Chen. Con el podrá centrarse en la estructura lógica y abstracta de la información, siendo capaz de representar toda la semántica del mundo real por medio de entidades y relaciones.

Modelo relacional

Llegados a este punto, el diseñador se acerca (ahora si es el momento) más a la maquina que al mundo real. El diseñador debe transformar el modelo E/R en el modelo relacional, teniendo muy en cuenta la teoría de la normalización. Esta es una operación de cierta complejidad.

El modelo relacional, presentado por el Dr. E.F.Codd, fue revolucionario puesto que consigue la independencia de las aplicaciones respecto a los datos.

Este modelo de datos esta basado en las teorías matemáticas de las relaciones, haciendo que los datos se estructuren lógicamente en forma de relaciones –tablas-.

Presenta beneficios como:

  • Sencillez y uniformidad: Al tener como resultado una colección de tablas, y ser la tabla la estructura básica se da como resultado una gran uniformidad, junto con la sencillez de los lenguajes de usuario que pueden operar con ellas.
  • Flexibilidad: Ofreciendo a los usuarios los datos de la forma mas adecuada a su aplicación.
  • Independencia del interfaz de usuario: El modo en el que se almacena los datos no influye en su manipulación lógica.

Lenguaje SQL y base de datos final

Llego el momento de crear la base de datos!

Quizás esta sea la etapa mas fácil, pues el trabajo duro queda hecho con los dos modelos de datos anteriores. Ahora solamente tendremos que codificar en lenguaje SQL el modelo relacional expuesto anteriormente.

Para ello necesitaremos de:

  • LDD: Con el que (por ejemplo) codificar las sentencias para la creación de las distintas tablas de la base de datos.
  • LMD: Para codificar las instrucciones (que por ejemplo) se encargarán de realizar: consultas, adiciones, eliminaciones de registros.

Enlaces relacionados