2011-01-09 7 views
5

Necesito encontrar la mejor solución para hacer que el DB se normalice con gran cantidad de datos esperados.¿Cuál es el mejor diseño para estas tablas de base de datos?

Mi sitio tiene una etiqueta de tabla (contiene palabra clave, identificación) y también 4 tipos de datos relacionados con esta tabla de etiquetas como (artículos, recursos, trabajos, ...).

La gran pregunta es: - para la relación con las etiquetas ¿cuál es la mejor solución para optimazaion & velocidad de consulta?

  1. crea una tabla para cada relación como:

    • articlesToTags de mesa (ArticleID, TagID)
    • jobsToTags mesa (jobid, TagID)
    • etc.
  2. o ponerlo todo en una tabla como

    • tagsrelation mesa (TagID, ITEMID, itemtype)

necesito su ayuda. Por favor me proporcione los artículos que me ayude en este diseño

consideran que en el futuro el sitio puede conación nueva sección se refieren a etiquetar

Gracias

+0

¿Qué es conation? ¿Qué quieres decir con eso? (De la última oración) –

Respuesta

2

Me gustaría ir a la versión normalizada de su esquema (que es la relación de tabla). Este tipo de esquemas son muy útiles para escenarios donde la aplicación podría crecer.

Lo malo de tener todos los datos en una sola tabla es que si tiene un conjunto de atributos para ambas relaciones, terminará con una tabla con muchos atributos, que al crecer será lenta para consulta, convirtiéndose así en un golpe de rendimiento de su aplicación.

Por lo tanto, finalmente el problema es elegir la simplicidad y el final rápido contra el código bien diseñado teniendo en cuenta la escalabilidad también.

Espero que pueda ayudar

Cuestiones relacionadas