Modelado de datos

Lo primero que haces al crear una base de datos es decidir qué datos del negocio vas a guardar y con qué forma. Ese diseño se llama modelado de datos. Esta guía empieza por las etapas del modelado y por cómo se dibuja un ERD, sigue con cómo definir entidades, atributos, relaciones e identificadores, pasa por la normalización para pulir el modelo y llega hasta la desnormalización, en la que se acepta duplicar datos a propósito para ganar rendimiento. Los ejemplos usan situaciones de negocio corrientes, como empleados, departamentos y pedidos, y en cada capítulo hay una escena que puedes manipular tú mismo. El SQL con el que sacas los datos de las tablas que diseñes aquí lo explica la guía Fundamentos de SQL.

01

Modelado de datos y ERD: el plano que pasa el negocio a datos

Cuando construyes una casa, no empiezas poniendo ladrillos. Primero dibujas un plano: cuántas habitaciones habrá y dónde irán las puertas. Con una base de datos pasa lo mismo. Dibujar antes qué datos hay en el negocio y cómo se relacionan entre sí se llama modelado de datos, y el resultado es un modelo de datos.

El modelado tiene tres rasgos.

  • Abstracción: extrae lo común de los innumerables hechos del mundo real y lo expresa con un formato fijo
  • Simplificación: usa una notación acordada para que cualquiera lo entienda con facilidad
  • Claridad: elimina las ambigüedades para que solo se pueda leer de una manera

También hay tres maneras de mirar el negocio: qué se gestiona (la perspectiva de datos), qué se hace (la perspectiva de procesos) y cómo afecta ese trabajo a los datos (la perspectiva de la interacción entre datos y procesos). El modelado de datos se centra en la perspectiva de datos.

Conceptual → lógico → físico: tres etapas cada vez más concretas

Un plano también empieza con el panorama general y se va detallando poco a poco. El modelado se divide igualmente en tres etapas.

EtapaQué se haceCaracterísticas
Modelado conceptualEncontrar las entidades clave de todo el negocio y sus relacionesEl nivel de abstracción más alto. El panorama general de toda la organización
Modelado lógicoDefinir con exactitud claves, atributos y relaciones, y normalizarNo depende de ningún SGBD concreto. Es el más reutilizable
Modelado físicoDecidir tablas, tipos de columna e índices según el SGBD realTiene en cuenta el rendimiento y el espacio de almacenamiento. El nivel de abstracción más bajo

Los tres niveles de esquema y la independencia de datos

Aunque los datos sean los mismos, cada persona necesita verlos de una forma distinta. La arquitectura ANSI/SPARC divide la base de datos en tres niveles. El objetivo de separarlos es que, al cambiar un nivel, los demás se vean afectados lo menos posible: es decir, la independencia de datos.

NivelDesde el punto de vista deDescripción
Esquema externoUsuarios y aplicacionesLo que ve cada uno: solo la parte que necesita (vistas). Puede haber varios
Esquema conceptualToda la organizaciónTodos los datos y sus relaciones integrados en una sola visión. Hay uno solo
Esquema internoEl dispositivo de almacenamientoCómo se guardan realmente los datos (estructura de archivos e índices)

Como el nivel externo está separado del conceptual, el esquema conceptual puede cambiar sin que cambien las pantallas de los usuarios: eso es la independencia lógica. Y como el conceptual está separado del interno, puedes cambiar la forma de almacenamiento sin tocar el esquema conceptual: eso es la independencia física.

Los problemas que aparecen cuando el modelado está mal hecho también se resumen en tres: la redundancia, que guarda los mismos datos en varios sitios; la inflexibilidad, que obliga a rehacer gran parte del modelo con el menor cambio del negocio; y la inconsistencia, en la que datos relacionados entre sí dejan de cuadrar.

ERD: un diagrama hecho de entidades, relaciones y atributos

Un modelo de datos se suele dibujar como un ERD (Entity Relationship Diagram, diagrama entidad-relación). Tiene tres componentes: entidades, relaciones y atributos. Las notaciones más usadas son la notación IE, que dibuja el extremo de la línea de relación con forma de pata de gallo, y la notación de Barker, que dibuja las relaciones opcionales con línea discontinua. Normalmente se dibuja en este orden:

  1. Dibujar las entidades
  2. Colocar bien las entidades: la importante, arriba a la izquierda
  3. Unir las entidades con relaciones
  4. Escribir el nombre de la relación
  5. Indicar cuántas instancias participan en la relación (una o muchas)
  6. Indicar si la relación es imprescindible (obligatoria u opcional)

En la escena de abajo, avanza por los pasos y mira cómo se completa el ERD de departamentos y empleados. También puedes pasar el mismo modelo a la notación de Barker.

DepartamentoPKCód. de depto.Nombre del depto.UbicaciónEmpleadoPKN.º de empleadoNombreTeléfonoCód. de depto. (FK)contienepertenece aOpcionalidad (○ opcional, | obligatoria)

6. Indicar la opcionalidad — notación IE

Se lee así
Cada departamento puede contener muchos empleados / cada empleado debe pertenecer a un solo departamento

Avanza paso a paso para ver cómo se dibuja un ERD y luego cambia el mismo modelo a la notación de Barker. En verde está lo nuevo de cada paso.

Indica si la relación es obligatoria. Todo empleado debe pertenecer a un departamento, así que el lado de Departamento lleva una barra (obligatoria). Un departamento puede no tener empleados, así que el lado de Empleado lleva un círculo (opcional). Ahora se lee «cada departamento puede contener muchos empleados» y «cada empleado debe pertenecer a un solo departamento».

Si la pregunta dice… → elige esto

  • “El modelado con el nivel de abstracción más alto”Modelado conceptual
  • “El modelo que no depende del SGBD y es el más reutilizable”Modelo lógico
  • “La etapa que adapta el modelo al SGBD pensando en rendimiento y almacenamiento”Modelado físico
  • “Cambia el esquema conceptual y las pantallas de los usuarios siguen igual”Independencia lógica de datos
  • “Cambia la estructura de almacenamiento y el esquema conceptual sigue igual”Independencia física de datos
  • “Los tres componentes de un ERD”Entidades, relaciones y atributos
  • “Dónde va la entidad importante en un ERD”Arriba a la izquierda

Publicidad

02

Entidades y atributos

Cada caja del ERD es una entidad, y lo que escribes dentro de la caja son sus atributos. Lo primero es decidir qué será entidad y qué será atributo.

Entidad: el conjunto de cosas que el negocio necesita gestionar

Una entidad es algo que el negocio necesita y que hay que gestionar de forma continua: cosas a las que puedes poner nombre, como empleados, departamentos o pedidos. Lo importante es que una entidad no es un elemento suelto, sino un conjunto. La entidad Empleado no es un empleado, sino todos los empleados, y a cada uno de ellos se le llama instancia.

Para ser una entidad, tiene que cumplir estas condiciones:

  • Es información que el negocio necesita y quiere gestionar
  • Tiene un identificador que distingue cada instancia de las demás
  • Tiene dos o más instancias: si solo hay una, no tiene sentido convertirla en entidad
  • Algún proceso del negocio la usa (la crea, la consulta o la modifica)
  • Tiene atributos
  • Tiene al menos una relación con otra entidad; hay excepciones, como las entidades de códigos o de estadísticas, en las que se omiten las relaciones a propósito

Las entidades se clasifican según dos criterios.

CriterioClasificaciónEjemplos
¿Tiene forma física?Entidad tangible: tiene forma físicaEmpleado, producto, profesor
Entidad conceptual: no tiene forma, pero es un concepto que hay que gestionarOrganización, producto de seguros
Entidad de evento: surge al realizar el trabajo del negocioPedido, factura, inscripción a un curso
¿Cuándo surge?Entidad básica (clave): surge por sí misma, sin depender de otras entidadesCliente, producto, departamento
Entidad central: surge de entidades básicas y es el centro del negocioPedido, contrato
Entidad de acción: surge de dos o más padres, cambia a menudo y no deja de crecerLínea de pedido, historial de cambios

El nombre se pone con las palabras que se usan en el negocio, sin abreviaturas, en singular y sin que se repita dentro del modelo. En vez de ‘Pedido’, no se usa un plural como ‘Lista de pedidos’.

Atributo: una propiedad indivisible que describe a la entidad

Un atributo es una propiedad de la entidad que el negocio necesita y que, por su significado, no se divide más. El nombre y el salario de un empleado son atributos, y ‘Bruno’, el valor que la instancia Bruno tiene en el atributo Nombre, es un valor del atributo. La relación entre los cuatro se resume así:

  • Una entidad es un conjunto de dos o más instancias
  • Una entidad tiene dos o más atributos
  • Un atributo tiene un solo valor por instancia: si hay varios, se separan en otra entidad

En la escena de abajo, cambia de término y mira a qué parte de la tabla corresponde cada palabra del modelo lógico.

Modelo lógico (ERD)

Empleado

PKN.º de empleado

Nombre

Cód. de depto.

Salario

Modelo físico (tabla) y datos

PKEMP_NONAMEDEPT_CODESALARY
101AnaD10300
102BrunoD10250
103CarlosD20400
104DanielaD20350

Entidad = tabla

Término

Elige un término. El resaltado verde muestra a qué parte de la tabla corresponde esa palabra del modelo lógico.

Un conjunto de cosas que el negocio necesita controlar. La entidad «Empleado» no es un empleado: es el nombre de todos los empleados juntos. En el modelo físico se convierte en una tabla.

Los atributos también se clasifican según varios criterios.

CriterioClasificaciónDescripción
NaturalezaAtributo básicoUn valor que el negocio ya usa: nombre, fecha del pedido
Atributo de diseñoUn valor creado durante el diseño: código de producto, número de serie
Atributo derivadoUn valor calculado a partir de otros atributos: total del pedido. Puede desajustarse respecto al original, así que cuantos menos, mejor
ComposiciónAtributo PK / atributo FK / atributo comúnSi es identificador, si viene de otra entidad o si no es ninguna de las dos cosas
¿Se puede dividir?Atributo simple / atributo compuestoUno solo, como la edad / varios, como la dirección (ciudad, barrio, calle)
¿Cuántos valores tiene?Atributo monovalorado / atributo multivaloradoUno, como el número de documento de identidad / varios, como los teléfonos: el multivalorado se separa en una entidad

El rango de valores que puede tomar un atributo se llama dominio. Se define con el tipo de dato, el tamaño y las restricciones. Por ejemplo, el dominio de ‘Nota’ son los números enteros de 0 a 100.

Si la pregunta dice… → elige esto

  • “Algo que solo tiene una instancia”No se convierte en entidad
  • “Una entidad con forma física, como un empleado o un artículo”Entidad tangible
  • “Una entidad que surge al hacer el trabajo, como un pedido o una factura”Entidad de evento
  • “Una entidad que surge por sí misma, sin depender de otras”Entidad básica (clave)
  • “Una entidad que surge de dos o más padres y no deja de crecer”Entidad de acción
  • “Un atributo calculado a partir de otros”Atributo derivado: se minimiza por la integridad
  • “Un atributo con varios valores, como los teléfonos”Atributo multivalorado → se separa en una entidad
  • “El rango de valores que puede tomar un atributo”Dominio

Solo Pro

Hasta aquí llega la parte gratuita

Los otros 3 capítulos están disponibles para suscriptores Pro. Cada uno sigue con visuales en 3D y pistas de “si la pregunta dice…”, y en el último capítulo lo pones a prueba tú mismo.

  1. 03Relaciones e identificadores
  2. 04Normalización
  3. 05Desnormalización y otros aspectos del modelo

Publicidad

PasslyExam

Ya leíste el concepto. Ahora ponlo a prueba con preguntas de examen

PasslyExam ofrece preguntas de práctica originales, explicaciones y simulacros completos basados en la guía oficial de cada certificación. Las explicaciones cubren por qué la opción correcta es la correcta y por qué las opciones parecidas no lo son. Regístrate y practica gratis todos los días.

Más guías sobre este tema

Guías de otros temas

Ver todas las guías