Ir para conteúdo

Arquivado

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

Francisco Jr.

Criar tabelas para agendamento

Recommended Posts

Bom dia, estou com uma dúvida quanto a criação de algumas tabelas para agendamento de consultas de um pequeno sistema q estou criando.
No sistema de agendamento é possível ver os horários, de acordo com os que o médico está na clinica.
Como cada médico pode estar presente em dias e horários diferentes, preciso criar as tabelas de acordo com esta regra.

Pensei em criar uma tabela com os horários, exemplo: 8:00, 8:15, 8:20, 8:30, etc sendo que o tempo de consulta depende de cada médico também.
Outra tabela seria dos dias da semana, exemplo: segunda, terça, quarta, etc.
E uma outra tabela faria a junção(cadastrar conforme o médico) de médico, dia e horários, exemplo: Médico Fulano, segunda: 8: 8:15, 8:30; Ciclano, terça: 10, 10:30, 11:00.

Existe a tabela de agendamento, esta só seria preenchida se realmente tiver um agendamento evitando uso dos recursos do banco sem necessidade.

Não sei como montar as tabelas, estou com problemas(falta de conhecimento) para modelar as mesmas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Modelar é prática , desenhar , validar , redesenhar ....

 

 

Uma dica use o "tempo de consulta" como um atributo.

 

Outra , pesquise modelos já publicados na web.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Modelar é prática , desenhar , validar , redesenhar ....

 

 

Uma dica use o "tempo de consulta" como um atributo.

 

Outra , pesquise modelos já publicados na web.

Boa noite Motta.

Antes de postar aqui procurei por vários exemplos na internet. Não encontrei nada parecido com o que eu preciso. Pelo menos nada de conteúdo livre. Por isso decidi pedir ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por unset
      Olá, estou elaborando a lógica para desenvolver um sistema de agendamento em PHP, ele consiste em salvar no banco os horários disponíveis que uma empresa pode funcionar,
       
      Por exemplo, certos dias de semana pode ou não ter horários liberados, assim como certos dias, nesses períodos em cada faixa de horário pode ter diferentes quantidades de clientes que podem fazer um agendamento de acordo com a quantidade do horário.
       
      Por exemplo na empresa 1 = de Segunda a Sexta das 07:00h até as 22:00h tem horário, Sábado e Domingo Fechado
      Por exemplo na empresa 2 = Só atende Sábado e Domingo das 13:00 as 00:00h e é fechado nos outros dias
      Em cada um desses horários tenho que salvar a quantidade de pessoas que podem ser atendidas por exemplo
       
      Empresa 1 =  Segunda 7:00h = 4 vagas
      Empresa 1 = Terça 18:00h = 2 vagas
      Empresa 1 = Sexta 19:00h = 0 vagas - indisponível
       
      Empresa 2 =  Sábado 17:00h = 0 vagas - indisponível
      Empresa 2 = Sábado18:00h = 5 vagas
      Empresa 2 = Domingo 20:00h = 6 vagas
       
      Pensando em uma forma que acho pouco convencional e pouco lógica, criaria um formulário com vários e vários campos de todos os dias da semana com todos os horários disponíveis e quantidades pra ser colocada como na imagem em anexo, e salvaria no formato json no banco assim por exemplo 
       
      Coluna: agendamentoDiasSemanaHorarios
       
      {"1":{"ativo":"0","horarios":{"07:00":7,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"2":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"3":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"4":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"5":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"6":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"7":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}}}
       
      Então no caso se 1 ativo quer dizer que segunda pode ter horários agendados, aí vem a lista gigante de horários exemplo 07:00 e em seguida a quantidade de pessoas no caso 7
       
      Estou com dificuldade para elaborar uma logica mais simples que funcione, 
       
      Se alguém tiver uma ideia e possa ajudar, uma opinião de como faria, agradeço muito.
       
       

    • Por lezão
      Bom dia, galera!
      Tudo bem com vcs?
       
      Tenho uma tabela Itens com os campos Descrição e nome do produto, quando eu coloco no select.
      Eu gostaria que me retorna-se, todos os nomes dos produtos e retornar apenas uma vez a Descrição.
       
      Select com ORDER BY
      "SELECT DISTINCT c.id, c.descricao, i.id_categoria, i.descricao_produto, i.id_item, i.nome_produto, i.imagem, i.preco, i.qntdade FROM tab_categoria AS c JOIN tab_itens AS i ON c.id = i.id_categoria WHERE c.id = i.id_categoria AND i.id_empresa = '$id_empresa' ORDER BY c.descricao" Select com GROUP BY,  até da certo, mas retorna apenas um produto.
      "SELECT DISTINCT c.id, c.descricao, i.id_categoria, i.descricao_produto, i.id_item, i.nome_produto, i.imagem, i.preco, i.qntdade FROM tab_categoria AS c JOIN tab_itens AS i ON c.id = i.id_categoria WHERE c.id = i.id_categoria AND i.id_empresa = '$id_empresa' GROUP BY c.descricao"  
      Veja como esta ficando do jeito que eu estou fazendo, com ORDER BY
      Select_com_ORDER_BY  
       
      E com o GROUP BY
      Select_com_GROUP_BY
       
    • Por biakelly
      Olá Tudo bem?
       
      Poderiam me ajudar com a seguinte condição:
      <?php if ($row['facebook'] != "") { echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>'; } else { echo ''; } ?>  
      Estou recebendo o seguinte erro:
      Parse error: syntax error, unexpected 'facebook' (T_STRING), expecting ';' or ',' in C:\xampp\htdocs\biazinha\inicial.php on line 371
       
       
      A linha 371 é essa:
      echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>';  
       
       
    • Por Hamilcar
      Bom dia!
      Peguei um sistema para atualizar para funcionar, o problema é que foi criado uma ligação de tabelas meio louca aqui, vou tentar explicar, tem uma tabela usuários que tem um id, e tem uma outra tabela em que a usuários é ligada e nela pode ter um ou mais usuários, o problema é que foi colocado os ids na mesma linha separados por um caracter, e os usuários se repetem, vou colocar abaixo para exemplificar:
      Tabela Usuarios/id 
                   id1, id2, id3...
       
      Tabela Escala
                  id_escala1_idUser -> id1|id2|id3...
                  id_escala2_idUser -> id1|id2|id3...
       
      Como vou gastar um tempo para refazer novamente o banco de dados, queria fazer funcionar momentaneamente, e gostaria da ajuda para tentar se possível fazer uma consulta que me traga todos os usuarios listados na tabela escala
    • Por mamotinho
      Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito.

       
      declare @id int declare @getdate datetime select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate() while @id is not null begin select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id end quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente.
×

Informação importante

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