| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/11/2008 14:26:50
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Tô numa discussão apimentada por aqui, e gostaria de saber a opnião de vocês.Vocês salvariam numeros como Strings(leia-se varchar) na base de dados?Vou dar uma breve explicação sobre o assunto:
Estou fazendo um sistema que substitui uma grande planilha Excel2003, onde quase todos os números são assim 112,2901(notou a vírgula né?).Os números são exibidos sempre dessa forma, e inseridos assim também(nem adianta tentar explicar o ponto decimal para quem faz isso há muitos anos).Se eu gravar como Decimal, sempre vou ter que no mínimo fazer uma conversão para gravar, e outra para exibir(nada demais, mas o tempo todo).Se gravar como varchar, não vou ter problemas de exibição, mas vou ter que converter para efetuar cálculos em dada fórmula(na verdade, só substituir o ponto e tacar num BigDecimal, sempre com 4 casas).Não sei se sou purista, mas(sou voto vencido) números são núemros, e eu optaria por decimal sempre. Há, o sistema cresce apenas 500KB(no máximo) ao mês.
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/11/2008 18:03:36
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
Olá
Grava como número, já vi sistema que grava datas no formato DD/MM/YYYY em campo varchar e depois é um saco fazer conversões para gravar e para ler esses dados.
Claro que pro usuário que está acostumado com a planilha excel vai ficar transparente né? sem os NumberFormatException
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/11/2008 09:09:00
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
Ironlynx wrote:Tô numa discussão apimentada por aqui, e gostaria de saber a opnião de vocês.Vocês salvariam numeros como Strings(leia-se varchar) na base de dados?Vou dar uma breve explicação sobre o assunto:
Estou fazendo um sistema que substitui uma grande planilha Excel2003, onde quase todos os números são assim 112,2901(notou a vírgula né?).Os números são exibidos sempre dessa forma, e inseridos assim também(nem adianta tentar explicar o ponto decimal para quem faz isso há muitos anos).Se eu gravar como Decimal, sempre vou ter que no mínimo fazer uma conversão para gravar, e outra para exibir(nada demais, mas o tempo todo).Se gravar como varchar, não vou ter problemas de exibição, mas vou ter que converter para efetuar cálculos em dada fórmula(na verdade, só substituir o ponto e tacar num BigDecimal, sempre com 4 casas).Não sei se sou purista, mas(sou voto vencido) números são núemros, e eu optaria por decimal sempre. Há, o sistema cresce apenas 500KB(no máximo) ao mês.
Cada gambiarra no sistema é um câncer que poderá consumí-lo no futuro.
Ou seja, seja purista. O Banco de dados é periférico ao sistema, não deve estar no centro dele. Se o banco de dados tem regras imbecis e desnecessariamente complexas, ou é desorganizado, ele não pode contaminar e poluir a estrutura do seu sistema.
O seu sistema é que controla o banco de dados e não o banco de dados que controla o seu sistema. O seu sistema pode até precisar respeitar as regras do banco de dados, mas não deve se subverter a ele.
E, já que você tem a chance de modelar o banco de dados, modele-o de forma a eliminar regras imbecis e dar-lhe flexibilidade. Coloque os campos como número, pois se um dia o usuário vier pedir para fazer algum tipo de cálculo com ele (como por exemplo, totalizar um valor), você vai se ferrar se ele for varchar.
This message was edited 1 time. Last update was at 21/11/2008 09:11:14
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/11/2008 14:18:54
|
proteus_adi
JavaGuru
![[Avatar]](/images/avatar/13d7dc096493e1f77fb4ccf3eaf79df1.jpg)
Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline
|
Números definitivamente são números...
=],,,
E, os sistemas sempre crescem...
Se vc guardar como varchar, depois vai ter mais uma coluninha ali que vai ser varchar... e vc vai ter que fazer um calculo e tal e pah... dai vai ter que converter do mesmo jeito...
Alem do que, números são mais facilmente armazenados no DB... menos memória...
Apesar de que 500k/mes num é nada...
é questão de pensar no futuro mesmo...
A um mesmo custo vc pode fazer algo que no futuro vai te dar menos dor de cabeça...
No presente não faz diferença alguma...
|
"Remember Yesterday and think about tomorrow... but you have to live today"
Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam. |
|
|
 |
|
|
|
|