From: Aldemir Vieira 
Sent: Friday, May 13, 2011 4:34 PM
To: Comunidade PostgreSQL Brasileira 
Subject: Re: [pgbr-geral]Select * é ocultar campos, é possivel?

  Exatamente esse o mais grave problema das chaves artificiais: obscurece o 
modelo e gera código de péssima qualidade, principalmente quando o programador 
original não é mas o único.


Adicionado: Sem falar na imundice do dado gerado em tabelas sem critério de 
unicidade negocial. Serial não garante qualidade do dado nem tampouco qualidade 
da informação. Mas isso é assunto pra outro tópico ;)


Agora me surgiu outra dúvida...

Pelo que vi aqui no PgAdmin3, quando eu coloco um campo do tipo SERIAL o 
Postgres cria uma sequencial e preenche o campo que preciso.

Ou seja, me parece que ele simplesmente faz o que eu deveria fazer manualmente, 
não seria o caso?

Veja só que ele ele cria:

CREATE SEQUENCE mv_agenda_cod_key_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
ALTER TABLE mv_agenda_cod_key_seq OWNER TO postgres;

e na Tabela mv_agenda:

cod_key serial NOT NULL,

Ou ele cria alguma outra coisa por tras disso que pode dar algum problema mais 
tarde?

Eu uso o PGAdmin3 pra gerenciar minhas bases, e olhando nele me parece bem 
transparentes os objetos criados.

Claro, sou iniciante em PG ainda, tenho muito que aprender , rsrs


Marcelo Silva
---------------------------------------------------





 
2011/5/13 Gmail <[email protected]>

  ----- Message d'origine ----- 


  > Se eu fizer explicito e tiver que adicionar o campo na tabela e no meu 
  > select, vou ter que examinar o codigo da mesma forma. 


  Mas, se acrescentar um atributo numa relacão, muitas vezes não precisará 
alterar o código que não usa o novo atributo. Com o asterisco, sempre precisará 
alterar. 


  > na minha necessidade estou montando em grid dinamico em php 
  > atravez de uma função, então fica fácil dar manutenção. 


  Não sabia disso. Na ausência de informacões, sempre damos a melhor prática 
genérica. E ela inclui lembrar que o aplicativo é efêmero, os dados são 
permanentes. Hoje teu dado é usado em PHP, amanhã pode ser Lisp; hoje é uma 
matriz dinâmica, amanhã haverá mil outros usos. 



  > gosto de usar 
  > “serial” porque ele me poupa muito tempo de ficar criando chaves 


  Exatamente esse o mais grave problema das chaves artificiais: obscurece o 
modelo e gera código de péssima qualidade, principalmente quando o programador 
original não é mas o único.


  _______________________________________________
  pgbr-geral mailing list
  [email protected]
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral





-- 
Forte abraço,

Aldemir Vieira
Salvador.Ba.Br
==




--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a