Tengo una base de datos que contiene dos tablas:¿La mejor manera de almacenar etiquetas en una base de datos?
- entradas
- etiquetas
La tabla contiene las entradas de mensajes que cada uno tiene una o más etiquetas. El problema es que cada publicación puede tener cualquier cantidad de etiquetas. En otras palabras, no puedo tener una columna 'tag1', 'tag2', etc. y hacer una unión IZQUIERDA.
¿Cómo debo configurar las entradas para que cada publicación pueda tener cualquier cantidad de etiquetas?
Sí, y asegúrese de que ninguna entrada tenga una etiqueta duplicada. Actualizar la etiqueta será un poco complicado, ya que necesita asegurarse de que los existentes permanezcan, los nuevos agregados, los eliminados se eliminen. Por supuesto, siempre puedes eliminar todo y luego agregarlos de nuevo para ahorrarte la molestia de comparar. Pros y contras, diría yo. –
@ o.k.w: puede manejar todos estos problemas mediante restricciones de clave externa y actualizaciones transaccionales. – Borealid
@ o.k.w: Además, una clave principal (preferible) o una restricción única en ambas columnas garantizaría la exclusividad por combinación. –