¿Debo normalizar mi base de datos?

Normalización en el mundo real La normalización de la base de datos es una de las vacas sagradas del desarrollo de aplicaciones. Cada curso de programación de pregrado que haya tomado o libro que haya leído probablemente predique la importancia de normalizar las bases de datos.

Normalización en el mundo real

La normalización de la base de datos es una de las vacas sagradas del desarrollo de aplicaciones. Cada curso de programación de pregrado que haya tomado o libro que haya leído probablemente predique la importancia de normalizar las bases de datos.
Es hora de desafiar esa verdad. ¡A veces está bien desnormalizar su base de datos!

¿Cuándo deberías normalizar?

La normalización de la base de datos protege la integridad de sus datos. Es una gran idea en muchos casos, y debe comenzar cualquier esfuerzo de diseño de base de datos con la normalización en mente. Si puedes normalizar tu base de datos, ¡adelante! De hecho,

La conclusión es que debería normalizar su base de datos a menos que tenga una buena razón para no hacerlo. La normalización suele ser una buena práctica de diseño. Reduce la información redundante, optimiza el rendimiento y reduce la probabilidad de que tenga problemas de integridad de datos que resultan de tener los mismos datos escondidos en diferentes rincones de su base de datos.

Algunas buenas razones para no normalizar

Dicho esto, hay algunas buenas razones para no normalizar su base de datos. Veamos algunos:

  1. Las uniones son caras . Normalizar su base de datos a menudo implica crear muchas tablas. De hecho, puede terminar fácilmente con lo que cree que debería ser una consulta simple que abarca cinco o 10 tablas. Si alguna vez has intentado unir cinco mesas, sabes que funciona en principio, pero en la práctica es muy lento. Si está creando una aplicación web que se basa en consultas de combinación múltiple en tablas grandes, es posible que piense: «¡Si esta base de datos no estuviera normalizada!» Cuando escuche ese pensamiento en su cabeza, es un buen momento para considerar la desnormalización. Si puede pegar todos los datos utilizados por esa consulta en una sola tabla sin poner realmente en peligro la integridad de sus datos, ¡adelante! Sé un rebelde y desnormaliza tu base de datos. ¡No mirarás hacia atrás!
  2. El diseño normalizado es difícil . Si está trabajando con un esquema de base de datos complejo, probablemente se encontrará golpeando la cabeza contra la mesa por la complejidad de la normalización. Como regla general, si pasa todo el día tratando de descubrir cómo pasar a la cuarta forma normal, es posible que esté llevando la normalización demasiado lejos. Da un paso atrás y pregúntate si realmente vale la pena continuar.
  1. Rápido y sucio debe ser rápido y sucio . Si solo está desarrollando un prototipo, simplemente haga lo que funcione rápidamente. De Verdad. Está bien. El desarrollo rápido de aplicaciones a veces es más importante que el diseño elegante. Solo recuerde regresar y observar cuidadosamente su diseño una vez que esté listo para ir más allá de la fase de creación de prototipos. El precio que paga por un diseño de base de datos rápido y sucio es que es posible que deba tirarlo y comenzar de nuevo cuando sea el momento de construir para la producción.
  2. Si está utilizando una base de datos NoSQL , la normalización tradicional no es deseable. En cambio, diseñe su base de datos utilizando el modelo BASE, que es mucho más indulgente. Esto es útil cuando almacena datos no estructurados como correos electrónicos, imágenes o videos.

Algunas palabras de precaución

La normalización de la base de datos es generalmente una buena idea. Debe intentar seguir los principios de normalización cuando parezca razonable hacerlo. Pero si todos los indicadores apuntan a que la normalización es demasiado compleja para implementar, considere un enfoque que haga el trabajo mientras protege sus datos.
Finalmente, si elige desviarse de las reglas de normalización, esté más atento a cómo hacer cumplir la integridad de la base de datos. Si almacena información redundante, coloque activadores y otros controles para asegurarse de que la información se mantenga consistente.

Rate article
labsfabs.com
Add a comment