¿Te gustaría aprender Análisis y Diseño de Bases de datos con MySQL desde cero?
Tenemos los cursos que necesitas.¡Haz clic aquí!

El proceso de diseño de base de datos

Una base de datos bien estructurada:

  • Ahorra espacio en el disco eliminando los datos redundantes.
  • Mantiene la precisión e integridad de los datos.
  • Ofrece acceso a los datos de formas útiles.

Diseñar una base de datos útil y eficiente requiere seguir el proceso adecuado, incluidas las siguientes etapas:

  1. Análisis de los requisitos o identificación del propósito de tu base de datos.
  2. Organización de los datos en tablas.
  3. Especificación de las claves primarias y análisis de las relaciones.
  4. Normalización para estandarizar las tablas.

Análisis de los requisitos: identificar el propósito de la base de datos

Comprender el propósito de tu base de datos determinará tus opciones en todo el proceso de diseño. Asegúrate de observar la base de datos desde todas las perspectivas. Por ejemplo, si estuvieras creando una base de datos para una biblioteca pública, deberías considerar las formas en que los clientes y bibliotecarios necesitarían acceder a los datos.

Aquí te mostramos algunas formas de reunir información antes de crear la base de datos:

  • Entrevistar a las personas que la usarán.
  • Analizar formularios de negocio, como facturas, plantillas de horas trabajadas, encuestas.
  • Examinar cualquier sistema de datos existente (incluidos archivos físicos y digitales).

Comienza reuniendo cualquier dato existente que se incluirá en la base de datos. Luego enumera los tipos de datos que quieres almacenar y las entidades o personas, cosas, ubicaciones y eventos que esos datos describen, del siguiente modo:

Clientes

  • Nombre
  • Dirección
  • Ciudad, estado, código postal
  • Dirección de correo electrónico

Productos

  • Nombre
  • Precio
  • Cantidad en stock
  • Cantidad en el pedido

Pedidos

  • Número del pedido
  • Representante de ventas
  • Fecha
  • Producto(s)
  • CANTIDAD
  • Precio
  • Total

Más adelante, esta información se volverá parte del directorio de datos, que describe las tablas y los campos dentro de la base de datos. Asegúrate de dividir la información en partes útiles lo más pequeñas posibles. Por ejemplo, considera separar el nombre de la calle del país para poder filtrar más adelante a los individuos según su país de residencia. Además, evita ubicar el mismo punto de datos en más de una tabla porque agregarás una complejidad innecesaria.

Cuando sepas qué tipos de datos incluirán las bases de datos, de dónde provienen esos datos y cómo se usarán, estarás listo para comenzar a planificar la base de datos real.

Estructura de la base de datos: los bloques de creación de una base de datos

El siguiente paso es organizar la representación visual de tu base de datos. Para ello, debes comprender exactamente cómo se estructuran las bases de datos relacionales.

Dentro de una base de datos, los datos relacionados se agrupan en tablas, cada una de ellas consiste en filas (también llamadas “tuplas”) y columnas, como una hoja de cálculo.

Para convertir tus listas de datos en tablas, comienza creando una tabla para cada tipo de entidad, como productos, ventas, clientes y pedidos. Te mostramos un ejemplo a continuación:

Cada fila de una tabla se llama “registro”. Los registros incluyen datos sobre algo o alguien, como un cliente específico. En cambio, las columnas (también conocidas como “campos” o “atributos”) contienen un único tipo de información que aparece en cada registro, como las direcciones de todos los clientes enumerados en la tabla.

NombreApellidoEdadCódigo postal
RodrigoMuñoz2234760
GerardoLópez4252696
SamanthaVázquez1864829

Con el fin de que los datos sean consistentes de un registro al siguiente, asigna el tipo de datos apropiado a cada columna. Los tipos de datos comunes incluyen:

  • CHAR – una longitud específica de texto.
  • VARCHAR – texto de longitudes variables.
  • TEXT – grandes cantidades de texto.
  • INT – número entero positivo o negativo.
  • FLOAT, DOUBLE – también puede almacenar números de punto flotante.
  • BLOB – datos binarios.

Algunos sistemas de gestión de bases de datos también ofrecen el tipo de datos denominado “Autonumeración”, que genera automáticamente un número único en cada fila.

A los efectos de crear una visión general de la base de datos, conocida como un diagrama entidad-relación, no incluiremos las tablas reales, sino que cada tabla se convertirá en un recuadro del diagrama. El título de cada recuadro debería indicar qué describen los datos en la tabla, mientras que los atributos están enumerados a continuación, del siguiente modo:

Estudiante
Estudiante ID
Fecha de nacimiento
Grado escolar

Por último, deberías decidir qué atributo o atributos funcionarán como clave primaria para cada tabla, si procede. Una clave primaria (PK) es un identificador único para una entidad determinada, esto significa que puedes seleccionar un cliente concreto incluso si solo conoces ese valor.

Los atributos seleccionados como claves primarias deben ser únicos, inalterables y estar siempre presentes (nunca NULL o vacíos). Por este motivo, los números de pedido y los nombres de usuario son excelentes claves primarias, mientras que los números de teléfono o direcciones postales no lo son. También puedes usar múltiples campos conjuntamente como la clave primaria (esto se denomina “clave compuesta”).

Cuando llegue el momento de crear la base de datos real, ubicarás la estructura de datos lógicos y la estructura de datos físicos en el lenguaje de definición de datos admitido por el sistema de gestión de base de datos. En este punto, también deberías calcular el tamaño aproximado de la base de datos para asegurarte de tener el nivel de rendimiento y el espacio de almacenamiento necesarios.

Creación de relaciones entre entidades

Cuando tus tablas de base de datos se conviertan en tablas, estarás listo para analizar las relaciones entre esas tablas. La cardinalidad se refiere a la cantidad de elementos que interactúan entre dos tablas relacionadas. Identificar la cardinalidad te ayuda a asegurarte de que has dividido los datos en tablas de la forma más eficiente.

Cada entidad puede, potencialmente, tener una relación con todas las demás, pero por lo general esas relaciones pueden ser de uno de tres tipos:

Relaciones uno a uno

Si hay una única instancia de la Entidad A para cada instancia de la Entidad B, se dice que tienen una relación de uno a uno (a menudo se escribe 1:1). Puedes indicar este tipo de relación en un diagrama ER mediante una línea con un guión en cada extremo:

A menos que tengas un buen motivo para no hacerlo, una relación 1:1 generalmente indica que la mejor opción sería combinar los datos de las dos tablas en una sola tabla.

Sin embargo, quizás desees crear tablas con una relación de uno a uno en una serie particular de circunstancias. Si tienes un campo con datos opcionales, como “descripción”, que está en blanco para muchos registros, puedes mover todas las descripciones a su propia tabla, eliminando espacio vacío y mejorando el rendimiento de la base de datos.

Para garantizar que los datos coincidan correctamente, luego tendrías que incluir al menos una columna idéntica en cada tabla, lo más probable es que sea la clave primaria.

Relaciones uno a muchos

Estas relaciones suceden cuando un registro de una tabla está asociado a múltiples entradas en otra tabla. Por ejemplo, un solo cliente puede haber solicitado múltiples pedidos o una persona haberse llevado muchos libros de la biblioteca a la vez. Las relaciones uno a muchos (1:M) se indican con lo que se denomina “notación patas de gallo” como en el siguiente ejemplo:

Para implementar una relación uno a muchos (1:M) mientras preparas una base de datos, simplemente agrega la clave primaria de “un” lado de la relación como un atributo en la otra tabla. Cuando una clave primaria se detalla en otra tabla de esta manera, se denomina “clave extranjera”. La tabla en el lado “1” de la relación es considerada una tabla principal respecto de la tabla secundaria que se encuentra del otro lado.

Relaciones muchos a muchos

Cuando múltiples entidades de una tabla se pueden asociar a múltiples entidades de otra tabla, se dice que tienen una relación de muchos a muchos (M:N). Esto puede suceder en el caso de estudiantes y clases, ya que un estudiante puede inscribirse en muchas clases, y una clase puede tener numerosos estudiantes.

En un diagrama ER, estas relaciones se representan con estas líneas:

Lamentablemente, no es posible implementar directamente este tipo de relación en una base de datos. En cambio, debes dividirlo en dos relaciones uno a muchos.

Para ello, debes crear una nueva entidad entre esas dos tablas. Si la relación M:N existe entre ventas y productos, quizás llames a esa nueva entidad “productos_vendidos”, ya que mostraría los contenidos de cada venta. Tanto las tablas de ventas como de productos tendrían una relación 1:M con “productos_vendidos”. Esta clase de entidad intermedia se llama “tabla de enlaces”, “entidad asociativa” o “tabla de unión” en diversos modelos.

Cada registro de la tabla de enlaces se correspondería con dos de las entidades de las tablas contiguas (también puede incluir información adicional). Por ejemplo, una tabla de enlaces entre estudiantes y clases podría verse así:

¿Es obligatorio o no?

Otra forma de analizar las relaciones es considerar qué lado de la relación debe existir para que el otro lado exista. El lado no obligatorio puede marcarse con un círculo en la línea donde debería haber un guión. Por ejemplo, un país tiene que existir para tener un representante en las Naciones Unidas, pero lo opuesto no se cumple:

Dos entidades pueden ser mutuamente dependientes (una no podría existir sin la otra).

Relaciones recursivas

A veces una tabla se relaciona consigo misma. Por ejemplo, una tabla de empleados puede tener un atributo que sea “director” y que se refiera a otro individuo de la misma tabla. Esto se llama “relación recursiva”.

Relaciones redundantes

Una relación redundante es aquella que se expresa más de una vez. Por lo general, puedes eliminar una de las relaciones sin perder información importante. Por ejemplo, si la entidad “estudiantes” tiene una relación directa con otra entidad llamada “profesores”, pero también tiene una relación con profesores indirectamente mediante “clases”, querrás eliminar la relación entre “estudiantes” y “profesores”. Es mejor eliminar esa relación porque la única forma de que los estudiantes se asignan a los profesores es mediante las clases.

Te esperamos en los próximos artículos en donde hablaremos más acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.

¿Te gustaría aprender Análisis y Diseño de Bases de datos con MySQL desde cero?
Tenemos los cursos que necesitas.¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
2 Comments
La mas nueva
Más antiguo Más votada
Comentarios.
Ver todos los comentarios
Guillermo Rojas
Guillermo Rojas
1 Año Texto atrás

Me interesa… Necesito mayor información y costos. Gracias.

2
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?