2008/10/14 Livia Santos <[EMAIL PROTECTED]>:
>
> Porém, ao mesmo tempo que eu preciso garantir que um campo só receberá um
> determinado valor (e com isso eu posso usar ou um tipo de enumeração ou
> mesmo um check constraint), eu também preciso mostrar esses valores nas
> interfaces.

Entendi o problema, e confesso não haver pensado nele antes.  Tanto
que demorei para entender...


> Usando um type, como eu poderia fazer isso? Eu consigo selecionar os valores
> de um tipo enumeração em um select?

Não sei... vou pesquisar.  Faria sentido ser exposto no catálogo
(esquema de informações), mas como é uma funcionalidade relativamente
nova talvez ainda não esteja exposto lá.

Se alguém na lista souber para me poupar a pesquisa, agradeço!


> Pensando num dado que dificilmente muda e é pequeno, como sexo, eu até
> poderia deixar estático na tela. Mas teria o problema de propagar isso em
> cada tela que eu precisasse mostrar uma lista de valores de sexo para o
> usuário selecionar.

Isso não poderia ser um módulo qualquer — arquivo de inclusão,
biblioteca de funções &c — no seu ambiente de programação?


> No caso de um dado com mais registros, como estado. Estado também não muda,
> mas compensaria ter um tipo para ele?

Eu creio que os tipos devem ser criados sempre que possível, até para
evitar erros primários como, para usar os dois exemplos, a comparação
absurda entre sexo e unidade da federação.

A questão no caso é se vale a pena também criar a tabela de
referência; e, uma vez que se decida criar a tabela de referência, se
vale a pena manter a definição de tipos, que passa a ser parcialmente
redundante.


> Mas o AD de onde trabalhar está questionando é a perda de performance para
> join com tabelas pequenas.  :(

Eu diria que é irrelevante.

Como dizem os luminares, otimização precoce é a raiz de toda sorte de
problemas.  Melhor modelar o problema de quanto afeta o desempenho, ou
até testar, antes de se preocupar com o resultado.


-- 
skype:leandro.gfc.dutra?chat      Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7344              gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191        ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT-3  MSN: msnim:[EMAIL PROTECTED]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a