En el trabajo, utilizo las geodatabases de ArcGIS y uso mucho los dominios de valores codificados.
Ahora estoy trabajando con PostgreSQL y estoy tratando de crear el mismo tipo de modelo de datos que haría en, por ejemplo, un archivo gdb. Y eso incluye los dominios.
Los dominios de valores codificados no tienen equivalente a los dominios de PostgreSQL.
Para ambos puedo establecer restricciones de valor pero los primeros también impiden repetir cadenas largas mediante el uso de códigos sin perder visualmente esa información (se ve la cadena, no el código).
Eso es exactamente lo que quiero lograr y no encuentro la manera de hacerlo. Tal vez no tiene sentido y es sólo un problema de concepto como tal vez el modelado de datos PostgreSQL simplemente tiene una manera de abordar o tratar con esta situación que ignoro.
¿Esto se suele hacer en PostgreSQL? ¿Se puede hacer sin demasiado código adicional? ¿Tiene algún sentido? Por favor, ilumínenme sobre esto.
Un ejemplo ilustrativo,
Tengo una tabla con todos los árboles de una ciudad:
árboles_de_ciudad
tree_id | t_location | t_species | t_health
--------+---------------+----------------+--------------
234 | Arc Cie Av. | Populus nigra | Healthy
235 | Arc Cie Av. | Populus nigra | Deceased
236 | 27th May Str. | Salix alba L. | Healthy
237 | Monolith Sqr. | Quercus alba | Healthy
Para los nombres de las especies y el estado de salud utilizo dominios de valores codificados. El uso de los dominios es transparente para el usuario: en la tabla city_trees veo las descripciones de los dominios a pesar de que en realidad están poblados con valores codificados.
domSpecies
code | description
------+-----------------
PN | Populus nigra
SAL | Salix alba L.
QA | Quercus alba
domHealthStatus
code | description
-----+-----------------
H | Healthy
D | Declining
L | Deceased
C | Cut