saulo69 1 Denunciar post Postado Outubro 22, 2010 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
William Bruno 1501 Denunciar post Postado Outubro 22, 2010 depende do que são esses checks. Compartilhar este post Link para o post Compartilhar em outros sites
saulo69 1 Denunciar post Postado Outubro 22, 2010 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
William Bruno 1501 Denunciar post Postado Outubro 22, 2010 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
saulo69 1 Denunciar post Postado Outubro 22, 2010 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
William Bruno 1501 Denunciar post Postado Outubro 22, 2010 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
Bruno Augusto 417 Denunciar post Postado Outubro 22, 2010 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
William Bruno 1501 Denunciar post Postado Outubro 22, 2010 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
saulo69 1 Denunciar post Postado Outubro 22, 2010 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
William Bruno 1501 Denunciar post Postado Outubro 22, 2010 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
saulo69 1 Denunciar post Postado Outubro 22, 2010 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
William Bruno 1501 Denunciar post Postado Outubro 22, 2010 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
saulo69 1 Denunciar post Postado Outubro 22, 2010 Obrigado!!!! Acho que agora vaiiii... só a titulo de informção pra quem pesquisar nesse tópico, achei esse artigo, muito bom http://www.rberaldo.com.br/blog/2009/05/15/usando-campos-multivalorados/ Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Outubro 22, 2010 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