2 Introducción - santiagoRosero/WIKI_Modelado GitHub Wiki

Introducción.

Una base de datos es un conjunto de datos organizados de tal modo que sea fácilmente accesible, gestionada y actualizada, que se logra por medio de un buen boceto de la misma. Por tanto, un almacén de datos correctamente diseñada es primordial, ya que permite realizar un análisis minucioso de los requerimientos de una organización conforme a su información. Además de esto, es esencial para lograr los objetivos durante su realización, y así culminar con una base de datos que satisfaga las necesidades del cliente y pueda adaptarse fácilmente al cambio.

Este proceso guía al diseñador de bases de datos por varias etapas con el objetivo de dividir un problema grande en subproblemas de menor complejidad. Donde cada subproblema corresponde a una de las etapas del proceso de diseño de bases de datos. Por lo tanto, durante el trascurso de este documento se hablará primeramente del proceso global del diseño de una base datos, luego las diferentes etapas que lo forman y lo por último se listará las recomendaciones para diseñar una base de datos.

Proceso global del diseño de una base de datos.

El proceso de diseño de bases de datos es un proceso fundamental a la hora de modelar el conjunto de datos y definir las operaciones que se requieren realizar sobre ellos. En este apartado se define el modelo conceptual, la estructura lógica y física de una base de datos, que responden a las necesidades de los usuarios de acuerdo a lo estipulado por el cliente. Durante este proceso, se define qué información es necesaria y cómo se relacionará entre sí. Por tanto, se establecerán las tablas, donde cada una tiene su respectiva llave primaria, llaves foráneas, sus atributos, restricciones y correspondientes relaciones, entre otros elementos que lo conforman, los cuales serán explicado a lo largo de este documento. A continuación, se dará una breve explicación de cada una de las etapas que conforman una base de datos. Los cuales son:

  • Análisis de requerimientos.
  • Diseño conceptual.
  • Diseño lógico.
  • Diseño físico.

Fases del diseño de base de datos:

Fase 1: Analisis de requerimientos.

En este apartado es uno de los más importantes, puesto que permite la interacción cliente a la hora de especificar los requerimientos que debe cumplir la base de datos de acuerdo con lo establecido por la organización. Por ello, se realiza una visión holística de los elementos generales de diseño, programación y que herramientas se pueden utilizar para realizar la base de datos, etc. Por otra parte, antes de levantar los requerimientos debemos realizar las siguientes preguntas.

  • ¿Quién es el cliente?
  • ¿Quién es el usuario a que publico va dirigido?
  • ¿Qué necesidades tiene el cliente?

Luego de realizar estas preguntas, el diseñador puede proceder de una manera más clara al diseño conceptual de la base de datos.

Fase 2: Diseño conceptual.

Un esquema conceptual permite representar de forma gráfica las entidades, atributos, relaciones, entre otros elementos que lo conforman. Por ello, en esta fase se diseña un esquema conceptual de la base de datos que sea consistentes con los requisitos y restricciones expuestos en la etapa de análisis. Además, son sencillos de comprender y no contienen detalles de la implementación.

Por otro lado, existen varios modelos de datos que permiten modelizar los requisitos, las especificaciones y las restricciones que se han obtenido en la primera fase del diseño de una base de datos. Durante este documento trabajaremos dos notaciones o modelos entidad-relación (ER) que permiten realizar el diseño conceptual de la base de datos, las cuales son: La notación de MER de Chen y pata gallina, estas se abordaran en secciones posteriores.

Por último, luego de tener este esquema procedemos a realizar el diseño lógica.

Fase 3: Diseño lógico.

Antes de proceder con el diseño logico, hay que elegir el tipo de base de datos a implementar, ya que cada una ellas tienen un enfoque distinto, Algunas de las principales son:

  • Bases de datos dinámicas: Son aquellas donde los datos pueden actualizarse o incluso modificarse. La mayoría puede ser actualizada en tiempo real.

  • Bases de datos estáticas: Son bases de datos de consulta cuyos datos no pueden modificarse.

  • Bases de datos relacionales: Las bases de datos relacionales son las más usadas actualmente para administrar datos de forma dinámica.

    Los datos son almacenados en registros que son organizados en tablas, de esta forma pueden asociarse los elementos entre sí muy fácilmente.

En este material nos centraremos en el diseño lógico de bases de datos relacionales, debido a que este organizar los registros en diferentes tablas y relacionarlos entre sí. Luego de haber elegido el esquema del diseño logico se procede a tranformar los diferentes elementos que forman el modelo conceptual en elementos que hacen parte de el elemento logico.

Fase 4: Diseño físico.

Finalemente, aquí se transforma la parte del diseño lógico al SGBD, para ello se debe elegir un Sistema de Gestión de Base de Datos (SGBD). Entre los más populares tenemos:

  • Microsoft Access (relacional).
  • Microsoft SQL Server (relacional).
  • Oracle Database (relacional).
  • OrientDB (orientado a documentos).
  • IMS de IBM (jerárquico).

Ahora bien, por motivos praticos usaremos SGBD de Oracle Database, ya que esta relacionada con las herramientas que se usaran en las secciones subsiguientes.

En sintesis, el proceso global de una base de datos consta de 3 fases. Primero, se crean los requerimientos que debe tener la base de datos que se va a construir con respecto al cliente y el usuario, y que está directamente relacionada con el problema que se quiere resolver. Segundo, se crea el modelo conceptual correspondiente a lo obtenido en la primera etapa y se representa de forma grafica para verificar el cumplimiento de los requisitos. Tercero, se realiza la tranasación del modelo conceptual al logico de acuerdo al tipo de base de datos a implementar. Por ultimo se convierte el diseño logico a fisico por medio de Sistema de Gestión de Bases de Datos.