Saltar al contenido

Modelado de datos 101: ¿Qué es?

septiembre 23, 2021
1NyT2xZPFl98ymTOZjLQE9A

Modelado de datos 101: ¿Qué es?

¿Qué es el modelado de datos, cómo se usa y cómo se puede practicar?

Madison Schott

5 de Mayo·7 min de lectura

Foto de Tobias Fischer en Unsplash

Hace un tiempo hice una pasantía en arquitectura de datos en una empresa de transporte popular. Al entrar en la pasantía, apenas sabía lo que eso significaba. Más tarde descubrí que una gran parte de la arquitectura de datos es algo llamado modelado de datos.

Durante mi tiempo allí, aprendí a diseñar bases de datos, mapear relaciones entre columnas y tablas en estas bases de datos y, lo más importante, visualizar todo esto en un diagrama. Me llevaron a revisar todo esto durante un proceso de entrevista de trabajo reciente en el que una de las entrevistas técnicas se centró únicamente en el modelado de datos.

Era a gran experiencia de aprendizaje para profundizar en todo lo que había aprendido hace cuatro años durante mi pasantía en preparación para esta entrevista. Esto es lo que necesita saber si también se encuentra con una entrevista técnica centrada en este tema.

¿Qué es el modelado de datos?

El modelado de datos es el proceso de crear un modelo de datos para los datos que algún día se almacenarán en una base de datos. Bien, ¿qué es un modelo de datos? Un modelo de datos organiza sus datos en tablas y describe las relaciones entre estas tablas.

Por ejemplo, digamos que tenemos una tienda de ropa que necesita crear una base de datos para almacenar el inventario y la información del cliente. Crearía un modelo de datos con varias tablas, como compras, información del cliente, detalles del artículo e información de inventario.

La razón por la que organizamos todos estos datos en tablas y definimos sus relaciones tiene que ver con la forma en que se accede a los datos. Dividir la información en diferentes tablas hace que el sistema sea más eficiente al recuperar estos datos.

Tipos de modelos de datos

Hay tres tipos diferentes de modelos de datos, cada uno de los cuales presenta una complejidad.

  1. Modelo de datos conceptual

Este es el menos técnico de los tres. Proporciona una descripción general de alto nivel de las diferentes tablas, también llamadas entidades, que necesita y las posibles columnas (atributos) en esa tabla.

2. Modelo lógico de datos

Esto es un poco más técnico y complejo. Este modelo incluirá las relaciones entre las entidades, así como los tipos de datos de los atributos y entidades.

3. Modelo de datos físicos

Este es el último modelo de datos creado antes de producir la propia base de datos. Esto resalta el esquema real de la base de datos e incluye toda la información mencionada en los modelos de datos anteriores.

Tipos de relaciones

Mencioné anteriormente que los modelos de datos visualizan las relaciones entre entidades. Hay cuatro relaciones diferentes que se pueden utilizar en un modelo de datos.

  1. Doce y cincuenta y nueve de la noche

Esto significa que solo puede existir una entidad para cada instancia de otra entidad. En mi experiencia, esta relación es bastante rara.

2. Uno a varios y varios a uno

Esto significa que una entidad puede tener muchas instancias de otra entidad. Por ejemplo, un empleador puede tener muchos empleados a tiempo completo, pero cada empleado solo puede tener un empleador a tiempo completo.

3. Muchos a muchos

Esto significa que muchas instancias de una entidad pueden tener muchas instancias de otra entidad. Por ejemplo, muchas aerolíneas pueden tener muchos clientes y muchos clientes pueden tener muchas aerolíneas con las que han volado.

Claves primarias y externas

Al crear cualquier tipo de relación entre entidades, siempre tendrá una clave primaria y una externa. Una clave principal de una entidad es el identificador único de la entidad. Suele ser una especie de número de identificación. Una clave externa en una entidad es la clave principal en otra entidad.

En otras palabras, siempre que tenga un atributo en otra entidad que sea una clave principal en otra entidad, debe marcarse como una clave externa. Hay un ejemplo más abajo que ayudará a entender este concepto.

Creando un modelo de datos

Al crear un modelo de datos, es fundamental que comprenda sus datos. ¿Qué campo sería importante rastrear? ¿Cuál es el propósito de esta base de datos? Responder a estas preguntas hará que el proceso de modelado sea mucho más fácil.

  1. ¿Cuáles son tus entidades?

Echemos un vistazo a nuestro ejemplo de tienda de ropa. Primero queremos determinar cuáles serían nuestras entidades o tablas. Piense en las diferentes categorías de datos más amplias. Querríamos que una entidad de compras rastreara qué clientes compran qué artículos. Querríamos una entidad para los clientes, para almacenar toda su información personal como nombre, dirección y número de teléfono. También nos gustaría que una entidad rastreara la información sobre cada artículo vendido, como identificación, color, tamaño y tipo de ropa únicos. Por último, querríamos una entidad para el inventario para saber cuánto nos queda de cada artículo.

2. ¿Qué atributos necesita dentro de estas entidades?

Ahora que hemos creado nuestras entidades, necesitamos averiguar qué atributos son necesarios dentro de esas entidades específicas. Primero veamos las compras. Aquí está la información que me viene a la mente relacionada con las compras:

  • ID de compra único
  • fecha de compra
  • tiempo de compra
  • ID de cliente de la persona que compra
  • ID de artículo del artículo que se está comprando
  • costo total de compra
1*KT3NvPDhfmmsoG269W2m1w

Imagen del autor

Es importante considerar qué entidad tiene más sentido para cada atributo. También es importante considerar cómo se relacionarán estas entidades. Necesitamos incluir customerId y itemId en esta tabla de compra para acceder a las entidades de cliente y artículo. Estos actuarán como claves foráneas en esta tabla y claves primarias en las otras tablas.

Además, también puede incluir los tipos de datos de estos campos en este paso. Sin embargo, esto no suele ser necesario en las entrevistas. Los otros conceptos son más importantes de probar.

Ahora pruebe usted mismo y vea si puede completar los atributos de las otras entidades que mencioné. ¡Sin espiar!

Cuando haya terminado, compare sus resultados con los que tengo a continuación.

1*SduAl

Imagen del autor

3. ¿Cómo se relacionan todas estas entidades?

Ahora debemos asegurarnos de tener todas las claves primarias y externas necesarias para conectar las diferentes entidades juntas. Esto es esencial para extraer todos los datos que necesita dentro de una consulta. Si estas tablas no se pueden unir correctamente entre sí, su base de datos no será eficiente o no se construirá correctamente.

Repasemos la diferencia entre una clave primaria y una externa. Una clave primaria es un identificador único de una entidad. El ID de cliente actúa como clave principal para la entidad del cliente, el ID del artículo actúa como clave principal para la entidad del artículo y el ID de compra actúa como clave principal para la entidad de compras.

Una clave externa es un campo que actúa como clave principal en otra entidad, pero no la entidad que está viendo actualmente. Por ejemplo, el ID de cliente y el ID de artículo actúan como claves externas en la entidad de compras porque son identificadores únicos (claves primarias) para otras tablas, pero no para la entidad de compras en sí.

1*9SAJCFyYSvi9ot6YUY6mgg

Imagen del autor

4. ¿Cuáles son los tipos de relación entre estas entidades?

Ahora revisemos los tipos de relaciones que discutimos anteriormente. Necesitamos averiguar cuál se aplicará entre estas entidades.

¿Puede una compra tener muchos clientes? No, pero un cliente puede realizar muchas compras. Esta sería una relación de uno a varios entre el cliente y las compras.

1*nTFM39 a1e56Jjb0H g16A

Imagen del autor

Pon a prueba tus habilidades e intenta agregar las relaciones correctas al resto de las entidades. Una vez que haya terminado, desplácese hacia abajo y compare su respuesta con la que tengo.

1*D YHj7QIyUZKTDf9BZeX g

Imagen del autor

El artículo tiene una relación de muchos a uno con las compras, ya que una compra puede tener muchos artículos, pero un artículo solo puede tener una compra.

El inventario tiene una relación de uno a varios con el artículo porque solo puede haber información de stock para un itemId único, pero varios artículos pueden tener la misma información de stock.

Puede continuar practicando estos problemas de modelado de datos pensando en diferentes escenarios cotidianos. ¿Cómo crearía una base de datos una sala de cine? ¿Qué pasa con una tienda de comestibles? Piense en las empresas con las que entra en contacto cada día que deben tener un modelo de datos. Por lo general, no hay una respuesta correcta o incorrecta para este tipo de preguntas, solo asegúrese de comprender los conceptos y de poder explicar por qué creó una determinada entidad.

¡Buena suerte! Asegúrese de consultar algunos de mis otros artículos en preparación para entrevistas técnicas como Top Skills to Ace Every SQL Interview Question y How to Use SQL LEAD and LAG Functions.

close