1
resposta

banco de dados postgre

Boa Tarde! No Excel utilizamos o recurso da validação de dados (listas), para preenchimento de campos no cadastro de empregados, exemplo:

Campo grau de instrução: lista - primário, 2º grau completo, superior, etc.; Campo estado civil: lista - solteiro, casado, viúvo, etc.; Campo tipo de logradouro: lista: rua, avenida, travessa, etc.;

No Python, iremos conectar com o banco de dados (no meu caso o Postgre), existem as tabelas de relacionamentos (exemplo: tabela funcionários relacionando com a tabela de departamentos, etc.) e existem os atributos das entidades.

Duvida: Como iremos proceder com as listas de atributos (exemplo: grau de instrução, estado civil, tipo de logradouro, sexo (M/F), ao preencher formulários no python, haja vista que, são "tabelas de domínio" e não tabelas de relacionamento.

Aguardo.

1 resposta

Oi Jaeder! Como você está?

Peço desculpas por demorar a te responder.

Para estes casos em que as colunas possuem valores fixos e pouco mutáveis, é comum nas linguagens de programação nós representarmos elas por enumeradores, visto que não há necessidade de se criar uma entidade exclusiva para elas.

Por exemplo, você citou estado civil, este campo dificilmente vai ser algo diferente de Solteiro, Casado, Viúvo, Separado Judicialmente ou Divorciado, pois estes são os únicos previstos na legislação brasileira.

A utilização de enumeradores no Python se dá como no exemplo abaixo:

from enum import Enum

# Definindo o enumerador
class EstadoCivil(Enum):
    SOLTEIRO = 'Solteiro'
    CASADO = 'Casado'
    VIUVO = 'Viúvo'
    SEPARADO = 'Separado Judicialmente'
    DIVORCIADO = 'Divorciado'

# Exemplo Utilizando o enumerador
print(EstadoCivil.SEPARADO)  # Saída: GrauInstrucao.SEPARADO
print(EstadoCivil.SEPARADO.value)  # Saída: Separado Judicialmente

Quando persistimos estes dados no banco de dados (no seu caso, o Postgres), a forma que este valor será armazenado dependerá da sua infraestrutura, podendo ser, por exemplo:

  • Um número inteiro, onde 0 = solteiro, 1 = casado, 2 = viúvo, etc.
  • Pode ser o membro do enumerador, salvo em um campo do tipo varchar, que no exemplo poderia ser: SOLTEIRO, CASADO, VIUVO, SEPARADO, etc.
  • E também pode ser, só que em casos pouco comuns, o valor do enumerador, também varchar, como no exemplo: Solteiro, Casado, Viúvo, Separado Judicialmente, etc.

Vou deixar aqui a documentação de enum do Python, caso você tenha interesse em se aprofundar:

Espero ter dado um bom ponto de partida para a solução de seu problema, Jaeder!

Forte abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software