Bases de datos – 2. Modelo Entidad – Relación

Introducción

Bienvenidos de nuevo y gracias por seguir visitando ohmyroot! En el anterior rootie sobre bases de datos hablábamos sobre los principios básicos y características de una base de datos. El siguiente paso es entender el modelado que se le va a dar a los datos para que nos resuelvan nuestro problema o necesidad. El modelo entidad-relación (MER) es el resultado de plasmar de la manera más perfecta posible el escenario de nuestro problema, es decir: la solución.

Es necesario realizar un análisis de los requerimientos antes de empezar a crear tablas y atributos. En mi experiencia puedo decir que esto es muy importante, incluso a los analistas más veteranos les puede resultar fácil desarrollar una estructura de tablas sobre la marcha, pero no deja de ser una mala práctica. Es muy probable que a medio-largo plazo nos quede un sistema parcheado y se convierta en un constante añadido de cambios.

Conceptos del Modelo Entidad-Relación

Como ya hemos mencionado, el MER es un diagrama que relaciona unas entidades con otras. Por lo tanto, nuestro diagrama lo forman:

  • Entidades: son algún objeto (persona o cosa) o concepto real. Por ejemplo: una casa o un vendedor. Una entidad puede ser tangible – un artículo de una tienda – o intangible – un puesto de trabajo -, y siempre tiene atributos asociados.
  • Relaciones: una relación es un concepto abstracto de cómo una entidad está vinculada con otra. Por ejemplo: la relación vendedor-artículo, un artículo es vendido por un vendedor, y un vendedor puede vender muchos artículos.
  • Atributos: son las características de una entidad. Podemos usar todas o simplemente las que consideremos más importantes para nuestro escenario. Por ejemplo un artículo puede tener los siguientes atributos: referencia, nombre, precio, marca, color… entre otros. Los atributos nos permiten identificar de manera única una entidad. En nuestro ejemplo, si disponemos del artículo con referencia XYZ-00001, esa referencia identifica única y exclusivamente a un artículo en concreto y no a otro.

Ejemplo básico: un videoclub

Veamos un ejemplo de un diagrama entidad-relación que nos ha pedido realizar un videoclub para guardar información básica sobre las películas:

mer-videoclub

  • Las entidades se representan con rectángulos: estudio, película, actor.
  • Las relaciones unen dos entidades mediante un rombo y la acción que realice. Un estudio produce las películas, y en una película actúan actores.
  • Los atributos principales cuelgan de su propia entidad, para hacernos una idea de cómo se identifica inequívocamente cada entidad.

Restricciones

Son las limitaciones en el número de relaciones de una entidad A con otra entidad B. Existen cuatro tipos de restricciones:

  • Uno a uno (1:1): un ítem de A se relaciona sólo con un ítem de B. Por ejemplo: un empleado es responsable de un departamento y un departamento sólo puede tener un responsable.
  • Uno a muchos (1:N): un ítem de A se relaciona con uno o varios ítem de B. Por ejemplo: un ticket de una venta tiene uno o varios artículos (en un ticket vendo una camisa, una corbata y un pantalón)
  • Muchos a uno (N:1): un ítem de A se relaciona con un ítem de B, pero varios de B se pueden relacionar con A. Por ejemplo: varios empleados trabajan en un centro de trabajo.
  • Muchos a muchos (N:M): uno o varios ítem de A se relacionan con uno o varios ítem de B. Por ejemplo: en una película aparecen muchos actores, y esos actores pueden aparecer en varias películas.

Los ejemplos pueden no ajustarse a la realidad, ya que siempre hay excepciones. Un departamento puede tener varios responsables. Hay tiendas que sólo te venden un artículo en un ticket.

Claves

Las claves son los atributos únicos de una entidad mediante los cuales podemos identificar cada registro de manera individual. Hay varios tipos de claves secundarias, pero nosotros nos vamos a centrar en las principales: clave primaria y clave foránea.

  • La clave primaria (PK en inglés) es el atributo único que identifica cada registro. Por ejemplo: el NIF de una persona. Una clave primaria puede estar formada por uno o varios atributos.
  • La clave foránea (FK en inglés) es un atributo que se crea en la tabla relación. Por ejemplo: tabla vendedor (id_vendedor) y tabla ventas (id_venta, id_vendedor, fecha). Un vendedor realiza muchas ventas, en cada registro de la tabla ventas guardaremos el id_vendedor que ha realizado dicha venta.

 

Una vez conocido todo esto, estamos en condiciones de pasar al siguiente punto: la normalización.

La normalización de bases de datos es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para evitar la redundancia de los datos. wikipedia

 

Hablaremos de ello en el siguiente rootie, ¡hasta la vista!

One Comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *