sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo almacenar una tabla de datos en la base de datos?

Hay dos tipos especialmente indicados para almacenar diccionarios como un todo:hstore y json - o el mayormente superior jsonb en Postgres 9.4 o posterior.

Postgres también tiene un xml dedicado tipo de datos, pero prefiero elegir una de las tres opciones anteriores. XML es comparativamente detallado y más complejo (por no decir enrevesado) y puede ser excesivo para su propósito.

Si todo lo que desea de la base de datos es almacenar y recuperar todo el diccionario, estas son buenas opciones. Ver:

También encontrará una amplia discusión sobre los pros y los contras de (entidad-atributo-valor) almacenamiento en bases de datos relacionales.

Si desea otras cosas de la base de datos, como integridad referencial, claves externas u otras restricciones, fácil acceso a valores individuales, tamaño de almacenamiento mínimo, índices simples, etc. Sugiero una o más tablas con dedicado (normalizado ) columnas.

Diseño de mesa normalizado

Por lo que deduzco, "MyObject" (m ) contiene una colección de referencias a "OtroObjeto" (o ). Cada m está relacionado con (24) o y cada o está relacionado con 0-n m - que se puede implementar en una relación n:m clásica. Aquí hay instrucciones detalladas: