sql >> Base de Datos >  >> RDS >> Oracle

¿Es realmente mejor usar tablas normalizadas?

Depende... unir tablas es intrínsecamente más lento que tener una tabla grande que está 'pre-unida', es decir, desnormalizada. Sin embargo, al desnormalizar, creará una duplicación de datos y sus tablas serán más grandes. La normalización se ve como algo bueno, porque crea bases de datos que pueden responder a 'cualquier' pregunta, si se hace correctamente, puede crear una selección para acceder a sus datos. Este no es el caso en algunas otras formas de base de datos, y esas son ahora (en su mayoría) irrelevancias históricas, la base de datos normalizada/de relación ganó esa batalla.

Volviendo a su pregunta, usar la desnormalización para hacer que las cosas vayan más rápido es una técnica bien aceptada. Normalmente, es mejor ejecutar su base de datos durante un tiempo para saber qué desnormalizar y qué dejar solo, y también es común dejar los datos en su forma normalizada 'correcta' y extraer datos en un conjunto de informes desnormalizados. mesas regularmente. Si ese proceso se realiza como parte de la ejecución del informe, los datos también estarán siempre actualizados.

Como ejemplo de normalización excesiva, he visto bases de datos en el pasado donde los días de la semana y los meses del año se extrajeron en tablas separadas; las fechas en sí se normalizaron; puede ir demasiado lejos.