2009-04-08 14 views
5

Esto está relacionado con this question. Me hizo pensar que, por ejemplo, this book. En lugar de ser un elemento secundario de [Agriculture] y [Other], en los árboles [Books > Catalogs > Agriculture] y [Business & Industrial > Agriculture & Forestry > Other], respectivamente, podría funcionar por sí solo tener esos niveles como etiquetas, en su lugar.¿Cuáles serían los pros y los contras de los datos jerárquicos frente a los datos relacionados, en el rendimiento (y la categorización)?

En un sitio web como eBay, sería los costes de funcionamiento de la inclusión de todos los registros con las etiquetas [Agriculture Y Catalog] fuertemente outweigth los de una lista de todos los registros en la categoría[Books > Catalogs > Agriculture], siempre que los datos están correctamente normalizada?

Me doy cuenta de que esta es probablemente una pregunta estúpida (y no, no creo que estoy programando la próxima eBay), pero no puedo evitar esta curiosidad y, lo que es peor; la tentación ; así que preferiría sonar estúpido ahora y obtener una buena comprensión de mis malentendidos que hacer algo estúpido o sin sentido más adelante.

Respuesta

6

Cuando apareció por primera vez el modelo relacional, el paradigma de base de datos dominante era jerárquico; y luego (como es el caso) jerárquico es más eficiente porque, en esencia, puede comenzar con consultas parcialmente preunidas.

Pero solo se basa en una estructura jerárquica estática. La gran dificultad surge cuando desea flexionar la vista de los datos para que provenga de otra dimensión raíz. (Fue una cuestión muy debatida si las bases de datos relacionales podrían ser lo suficientemente eficientes para el uso práctico; pronto se resolvió mediante la aplicación diligente de la Ley de Moore).

Piensa en los Clientes que tienen Pedidos que comprenden Productos; una jerarquía. Inevitablemente, también querrá pensar en los Productos que se encuentran en Pedidos de Clientes; una jerarquía entera otra. Y los vendedores en las regiones que generan pedidos de los clientes; o tienen clientes que colocan pedidos.

Las bases de datos relacionales le brindan la capacidad de reconstruir sus jerarquías a voluntad con aproximadamente la misma eficacia; un beneficio solo disponible en otros formatos de bases de datos a costa de incorporar múltiples jerarquías ortogonales; en cuyo caso, el costo de alterar, agregar o eliminar datos se vuelve astronómico.

+1

Hermosa respuesta, gracias! –

2

El objetivo principal del modelo relacional es evitar la duplicación. Los datos jerárquicos, aunque son más fáciles de asimilar manualmente, adolecen de problemas de duplicación.

Utilice el modelo que mejor se adapte a sus datos en lugar de realizar una optimización prematura.

Tiendo a construir árboles jerárquicos de presentación de datos relacionales.

+0

> Utilice el modelo que mejor se adapte a sus datos en lugar de realizar una optimización prematura. Tiendo a construir árboles jerárquicos de presentación a partir de datos relacionales. - Eso fue muy interesante, gracias. –

Cuestiones relacionadas