Modelos de datos y niveles de diseño

Publicado por

Al momento de desarrollar un proyecto que involucre base de datos es importante conocer y establecer los modelos de datos y niveles de diseño a utilizar. Si los modelos no son definidos apropiadamente, podemos tener muchos problemas al momento de ejecutar consultas en la base de datos para tratar de obtener algún tipo de información.

¿Qué es un modelo de datos?

Un modelo de datos es un conjunto de conceptos utilizados para organizar los datos de interés y describir su estructura en forma comprensible para un sistema informático.

Es crucial cuando se construye una aplicación que maneje base de datos realizar un adecuado diseño de la base de datos, en donde lo que tiene un papel relevante es el modelo de datos. La esencia del diseño de la base de datos es brindar un acceso eficiente a la información hablando en términos de facilidad y velocidad.

¿Qué es el dominio en base de datos?

Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa «cualquier valor de este atributo debe ser elemento del conjunto especificado». Distintos tipos de dominios son: numéricos, cadenas de texto (Strings), fecha, etc.

Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más filas diferentes donde los valores en estos campos sean idénticos. Este conjunto de campos se llama clave única. Pueden existir varias claves únicas en una determinada tabla, y a cada una de estas suele nombrarse como candidata a clave primaria.

¿Qué es un diseño en base de datos?

Se puede definir el diseño de la base de datos como la estructura que le daremos a los datos que se van a manipular en el sistema informático que se desea desarrollar. Al final, es un proceso que se puede dominar con cierta facilidad e intuitiva basada en la experiencia.

Entonces podemos definir a grandes rasgos los pasos esenciales que se deben realizar ANTES de crear o diseñar una base de datos:

  • Entender el negocio / entrevistas con los usuarios o dueños del negocio.
  • Generar una lista de requerimientos derivados del negocio o del dueño del producto a desarrollar.
  • Documentación técnica (Todo proyecto de TI siempre debe contar con su documentación detallada).
  • Posibles prototipos (esta parte es opcional pero se recomienda a modo de ilustrar el desarrollo).

Niveles de diseño

En resumen son 3 los niveles de diseño en conceptual,lógico y físico.

Usaremos para ejemplificar el caso de uso de una tienda que tiene «n» empleados y vende «n» productos a «n» clientes, cada entidad tiene una serie de atributos como empleado (DNI, nombre, apellidos, fecha de ingreso, cargo), producto( strock, sku, categoría, tipo, código, precio), Sucursal (nombre,ubicación, país).

Detallamos cada uno a continuación:

Conceptual

En este nivel se definen todos y cada uno de los componentes que estarán presentes en la base de datos, así como los datos en específico que se trabajarán, de igual forma se definen las relaciones que existen entre todos los componentes y su cardinalidad.

No es necesario pensar en el manejador de base de datos a utilizar, este diseño aplica para cualquier DBMS como SQL Server, Oracle, Mysql, etc.

Ejemplo de un diseño conceptual:

Lógico

Derivado del diseño anterior, ya se tienen todos los componentes a incluir en la base de datos. En esta etapa estructuramos cada componente principal en forma de tablas que estarán relacionadas con otras tablas del modelo de datos. Entonces puede existir una relación directa con algún tipo de DBMS que vayamos a utilizar (SqlServer, Oracle, MySQL, etc). El diseño lógico depende directamente del tipo de DBMS que se vaya a utilizar, no del producto a construir.


Si queremos sintetizar, un modelo lógico es un lenguaje usado para especificar esquemas lógicos (modelo relacional, modelo de red, modelo OLAP etc.).

Ejemplo de un diseño lógico:

Físico
El diseño físico toma como base el diseño lógico. Un esquema físico es una descripción de la implementación de una base de datos; las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Por ello, el diseño físico depende del DBMS concreto y el esquema físico se expresa mediante su lenguaje de definición de datos.


Ejemplo de un diseño físico:

Concluyendo

Este artículo explica qué son los modelos de base de datos y sus niveles de diseño, sus ventajas, desventajas así como un ejemplo de ellos.

Espero que les resulte de utilidad y nos estaremos leyendo en próximas entradas.

!Te invito a leer nuestros artículos y visitar nuestro canal de YouTube NotJustBI, pueden ser de gran interés para ti!

Por favor, si tienes algún comentario, duda o sugerencia, no dudes en contactarnos a través de nuestro correo: info@notjustbi.com

Un comentario

Deja un comentario