Ir para conteúdo

POWERED BY:

Arquivado

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

saulo69

checkbox e banco de dados

Recommended Posts

Olá galera, tou com uma duvida em relação ao banco de dados. Preciso criar um sistema que vão conter varios check's, então, na hora que eu for criar meu banco, eu ponho que opção, Ex.: Int, vachar...??

 

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende do que são esses checks.

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende do que são esses checks.

 

 

Esses check's vão ser categorias; vão ser especialidades de médicos, tipo: pediatria, neuro, odonto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, o mais correto seria:

 

TABLE especialidade

id(int - autoincrement), nome

 

TABLE medico

id(int - autoincrement), nome, crm

 

TABLE especialidades_medico

id_medico(int), id_especialidade(int)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não poderia fazer uma unica tabela de cadastro? tipo: vai conter nome, endereço, especialidade(são 64) e uma obs. Seria correto fazer uma unica tabela com todos os campos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

então cara, tabelas grandes horizontalmente geram muitos problemas.

 

tá.. você tem 64 especialidades hoje. E depois? e se aparecerem 2 novas? 60 novas ?

ai tu tem que ir lá no banco, e aumentar as colunas dessa tabela.. entendeu? isso seria errado.

 

uma tabela com 70+ colunas é um absurdo ^_^

você já tinha criado esse tópico, e voltou com a mesma dúvida ?

 

 

agora, poder você pode fazer oque/como quiser ^_^

a aplicação é sua, a decisão e desenvolvimento também. Apenas estou tentando indicar uma forma 'mais bonita'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode montar seus checkboxes com sintaxe de array (colchetes) e, quando receber o POST terá um array com os valores selecionados.

 

Daí você serialize e insere. Quando precisar mostrar, busca e desserializa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode montar seus checkboxes com sintaxe de array (colchetes) e, quando receber o POST terá um array com os valores selecionados.

 

Daí você serialize e insere. Quando precisar mostrar, busca e desserializa.

 

pessoalmente eu, considero isso, um erro grave de modelagem sql.

 

sei lá, ai eu quero listar os médicos por especialidades.

Todos os Neurologistas:

-> ...

-> ...

 

e ai ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

então cara, tabelas grandes horizontalmente geram muitos problemas.

 

tá.. você tem 64 especialidades hoje. E depois? e se aparecerem 2 novas? 60 novas ?

ai tu tem que ir lá no banco, e aumentar as colunas dessa tabela.. entendeu? isso seria errado.

 

uma tabela com 70+ colunas é um absurdo ^_^

você já tinha criado esse tópico, e voltou com a mesma dúvida ?

 

 

agora, poder você pode fazer oque/como quiser ^_^

a aplicação é sua, a decisão e desenvolvimento também. Apenas estou tentando indicar uma forma 'mais bonita'.

 

Entendi, tipo: Crio as tabelas separadas e tals, mas no mysql no medico_especialidades eu ponho vachrar?

 

 

Você pode montar seus checkboxes com sintaxe de array (colchetes) e, quando receber o POST terá um array com os valores selecionados.

 

Daí você serialize e insere. Quando precisar mostrar, busca e desserializa.

 

pessoalmente eu, considero isso, um erro grave de modelagem sql.

 

sei lá, ai eu quero listar os médicos por especialidades.

Todos os Neurologistas:

-> ...

-> ...

 

e ai ?

 

 

Concordo, no sitema vai ter uma busca por especialidade!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, tipo: Crio as tabelas separadas e tals, mas no mysql no medico_especialidades eu ponho vachrar?

 

não, são 2 chaves estrangeiras, portanto INT

 

TABLE especialidades_medico

id_medico(int), id_especialidade(int)

 

Esta é apenas uma tabela de relacionamento

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa minha ignorância, é que eu tô iniciando agora, mas, nos campos que eu vou fazer a ligação com o check (pediatria, odonto, neuro...) vão ser que tipo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais fácil:


--
-- Estrutura da tabela `medico`
--

CREATE TABLE IF NOT EXISTS `medico` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(100) NOT NULL,
  `endereco` varchar(100) NOT NULL,
  `nascimento` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


--
-- Estrutura da tabela `especialidade`
--

CREATE TABLE IF NOT EXISTS `especialidade` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Estrutura da tabela `especialidade_medico`
--

CREATE TABLE IF NOT EXISTS `especialidade_medico` (
  `id_especialidade` int(11) NOT NULL,
  `id_medico` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Você pode montar seus checkboxes com sintaxe de array (colchetes) e, quando receber o POST terá um array com os valores selecionados.

 

Daí você serialize e insere. Quando precisar mostrar, busca e desserializa.

 

pessoalmente eu, considero isso, um erro grave de modelagem sql.

 

sei lá, ai eu quero listar os médicos por especialidades.

Todos os Neurologistas:

-> ...

-> ...

 

e ai ?

 

Justamente por isso eu disse que pode e não que deve ^_^

 

Se houvessem mais informações sobre a necessidade poderia-se ter sido exposto uma solução mais concisa e menos problemática.

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.