Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gremio10

um melhor processamento em consultas

Recommended Posts

Fala galera, eu estou com dúvidas sobre como montar um banco de dados para um projeto grande que estou trabalhando.

 

Minhas dúvidas são as seguintes:

  • Qual é a melhor maneira de se salvar os dados, com INT ou STRING ?
    • Exemplo: O ideal é eu salvar o ID de um registro em uma tabela intermediária para fazer uma relação N:N, ou seria melhor eu salvar a informação que quero em STRING na tabela que vai ter a relação com ela ?
  • Eu possuo um campo CURRENCY que vai armazenar qual moeda está sendo usada, outra dúvida que tenho é, crio uma tabela CURRENCY e relaciono o ID dela na tabela que vai ter o campo CURRENCY ou eu escrevo por exemplo "USD" no campo e mais, o campo CURRENCY caso seja melhor usar STRING, deve se usar VARCHAR(255) ou CHAR(3) ? Qual a melhor para performace no banco ?
Acho que seriam estas minhas dúvidas para que eu possa prosseguir com o meu banco.

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa entender primeiro, o que significa VARCHAR, CHAR, INT, etc, pois pelo que vejo você está totalmente sem noção do que seja e para que serve.

 

Da uma lida aqui que você irá entender:

 

http://forum.imasters.com.br/topic/191441-escolhendo-um-tipo-de-campo-correto/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, acho que não consegui ser claro com a minha pergunta. Vamos de novo :yes:

 

Eu tenho a tabela transfer criada, mas eu estou na duvida de qual é a melhor prática:

  • Se eu deveria criar uma tabela para relacionar o ID da moeda com o ID da transferência
  • Ou eu não precisaria criar a tabela currency nem a transfer_currency, e colocaria a informação de qual moeda é a transferência diretamente na tabela transfer

 

currency
  id  nome
   1   brl
   2   usd

transfer_currency
  id  transfer_id  currency_id
   1       1            1
   2       2            1
   3       3            2

Ou

transfer
  id  usd_value  currency
   1     100.00     usd
   2     300.00     brl
   3     670.00     brl

Compartilhar este post


Link para o post
Compartilhar em outros sites

A moeda é atributo de que entidade ?

 

Pelo que entendi uma "transfer" é feita em uma "currency" moeda, pelo que entendi seria preciso uma tabela de "currency" é a "transfer" teria uma fk que apontaria para esta.

 

Não haveria questões como a "exchange" taxa de cambio ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, haveria também o exchange, mas não adicionei por que não era primordial para o que eu queria exemplificar.

 

Assim, a tabela principal seria a "transfer", que seria a transferencia feita por um usuário.

 

Digamos que o usuário comprou 100.00 USD no site, eu guardo esta informação na tabela "transfer".

 

Só que o valor pode ser USD ou BRL, e é essa informação que eu gostaria de saber como salvar; eu a salvo em forma de string na tabela "transfer" ou eu crio uma tabela "currency" que irá ter todas as moedas que o meu site vai aceitar, e depois eu faço um FK na "transfer" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu Faria uma tabela de moesds

 

 

MOEDA
----------
COD_MOEDA CHAR(3)
NOME_MOEDA CHAR(20)
FORMAT_STRING CHAR(10)
PAIS CHAR(20)
SIMBOLO CHAR(5)

EXEMPLO

 

REA,REAL,999.99,BRASIL,R$

USD,US DOLLAR,999.99,EUA,U$

LIB,UK POUND,999.999,UK,£

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.