Files
Investidor-V2/docs/investmoz/zones/data-dictionary.md
T
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

4.3 KiB

Dicionário do núcleo implementado

Tabela Identidade e relações Regras
investment_items UUID; código único; tipo; título; versão Representação canónica interna; não duplica a oportunidade pública
investment_item_opportunities item UUID → opportunity bigint único Correspondência explícita; conserva ID, slug e URLs existentes
investment_item_projects item UUID → project UUID único Correspondência só com evidência; não inferida por nome
investment_zones UUID; código único; operador FK organizations; fonte FK Categoria zee/zfi/industrial_park/pending; publicação independente, editor/revisor, conteúdo PT/EN, versão; soft-delete
investment_legal_sources UUID; proprietário e validador FK users Diploma/artigo/URL/entidade/vigência; pending/validated/revoked; outra pessoa valida; alteração documental requer nova referência
investment_zone_links item ↔ zona, par único Papel, associação, prioridade, principal/secundária, evidência, período, fonte jurídica opcional, editor/validador e versão
investment_zone_relations zona ↔ exactamente um cluster/corredor/projecto FKs explícitas e índice único por dimensão; múltiplas zonas por âncora; mesmas regras temporais e de validação
investment_zone_geometries zona ↔ geo_geometries Finalidade, fonte, entidade, data, permissão de publicação, editor/revisor GIS; estatuto não inferido por localização
investment_zone_revisions zona/versão únicos Snapshot encriptado, SHA-256, actor/acção/data; trigger recusa UPDATE/DELETE
investment_submission_zones submission UUID → zona UUID Versão consultada e finalidade; origem preservada no protocolo, sem listas relacionais em JSON

Campos jurídicos e coordenadas não têm valores reais predefinidos. As migrations não semeiam estatutos, percentagens ou entidades. As restrições de geometria existentes asseguram 2D, SRID 4326, não vazio, tipo correcto, validade topológica e limites terrestres. Todas as novas FKs usam restrição de eliminação.

Relações ER

erDiagram
    investment_items ||--o{ investment_item_opportunities : maps
    opportunities ||--o| investment_item_opportunities : preserves_id
    investment_items ||--o{ investment_item_projects : maps
    projects ||--o| investment_item_projects : preserves_id
    investment_items ||--o{ investment_zone_links : associates
    investment_zones ||--o{ investment_zone_links : contains_relation
    investment_zones ||--o{ investment_zone_relations : territorial
    projects |o--o{ investment_zone_relations : anchor_or_complement
    economic_clusters |o--o{ investment_zone_relations : cluster
    development_corridors |o--o{ investment_zone_relations : corridor
    investment_legal_sources |o--o{ investment_zones : legal_reference
    organizations |o--o{ investment_zones : operator
    investment_zones ||--o{ investment_zone_geometries : locates
    geo_geometries ||--o{ investment_zone_geometries : shape
    investment_zones ||--o{ investment_zone_revisions : snapshots

Na relação territorial exactamente uma das três FKs de destino está preenchida. Operador não equivale a empresa instalada; cadastro empresarial e documentos existentes continuam separados. Revisão da zona não valida automaticamente as suas associações ou perímetros.