Array
(
)

Consulta Dentista

Guilherme
   - 25 mai 2014

Olá a todos.
Estou a desenvolver uma Base de Dados para Salvar as consultas de dentária.
Assim tenho a tabela CLIENTE, DENTISTA, CONSULTA.
Cliente e Dentista têm atributos semelhantes, como Nome, Endereço, Sexo, e cada um cod(PK).
A Tabela Consulta tem a a chave estrangeira associada a Cliente e outra associada a Dentista. Tem ainda a Data da Consulta.
Tenho agora uma dúvida.
Em cada consulta o dentista pode tirar fotos aos nossos dentes e arquiva-las. Devo inserir isto na tabela Consulta? Que tipo de atributo?
E ainda quero que, em cada consulta, o dentista tenha a seu dispor a foto de todos os dentes de uma boca, e que possa assinalar quais os dentes que tratou nessa mesma consulta. Por exemplo, o dentista deve ser capaz de sublinhar um dente qualquer e depois digitar um pequeno texto. Como armazeno isto na Base de Dados? Coloco também na tabela Consulta?
Talvez a minha explicação esteja um pouco confusa, mas espero ter passado a ideia.
Obrigado
É este género de imagem que quero que apareça sempre que alguém vá a uma consulta.
Clique na imagem para abrir em uma nova janela

Mariana Carvalho
   - 25 mai 2014

eu acho que entendi sim, nesse exemplo você deseja trabalhar com imagens no banco de dados, é isso?

ja tinha visto esse material?

http://www.macoratti.net/vb5_isql.htm

Marisiana
   - 25 mai 2014

Olá Guilherme!
Você pode criar uma tabela IMAGEM para a armazenar todas as imagens por consulta, por cliente e por dentista.
Esta tabela vai possui os atributos: ID_IMAGEM (PK), ID_CLIENTE (FK), ID_DENTISTA (FK), IMAGEM e se quiser pode até colocar um campo pra armazenar observações referentes a imagem. Outro atributo que possa ser útil é a DATA de alteração ou inserção da imagem, pois pode ser que você precise saber quais são as imagens mais recentes ou as imagens mais antigas.

Marisiana
   - 25 mai 2014

Com relação ao tipo de dados do atributo IMAGEM, ele deverá ser do tipo BLOB (binary large object) é um tipo de dados que pode pode armazenar dados binarios e são úteis para armazenar informação digital (por exemplo, imagens, áudio, vídeo).
Encontrei esse artigo que talvez te ajude a entender melhor: http://www.macoratti.net/08/11/asp_blobs.htm

Guilherme
   - 25 mai 2014

Muito obrigado.
Vou implementar já.
E em relação à imagem que quero que apareça sempre que houver uma consulta médica?
Crio alguma tabela com essa imagem como atributo?

Marisiana
   - 25 mai 2014

Não sei se isso que vou t dizer é a melhor solução, porque não conheço a análise do negócio.

Pelo que entendi, essa imagem principal é composta pelo conjunto de imagens de todos os dentes do cliente, já que o dentista pode marcar quais dentes ele tratou em cada consulta.
Então, você poderia criar uma tabela ARCADA_DENTARIA ( COD_ARCADA (PK), DESCRICAO, ORDEM ) que armazenará um registro dos nomes e a ordem dos dentes. Esse atributo ORDEM você poderá utilizar pra ordenar as imagens formando a arcada dentária do cliente.
Na tabela IMAGEM, você deverá ter uma FK para identificar à qual dente da arcada dentária a imagem pertence.
Com relação as observações que ele faz, você tem que ver se é uma informação por imagem (dente) ou se são informações da consulta. Se for da consulta, armazena em um campo na tabela CONSULTA, senão armazena por imagem na tabela IMAGEM.

Agora, cabe a você analisar, se isso que falei pode ser aplicado.

Marisiana
   - 25 mai 2014

Outra questão que esqueci de comentar...
Deverá ser armazenado um histórico das alterações nas imagens a fim de se obter a evolução do que foi realizado em cada dente?

Guilherme
   - 26 mai 2014

Sim, pois assim seria possivel ver a evolução durante o tratamento.
Na Tabela Imagem devo também incluir o IdConsulta certo? Para associar as imagens/docs adicionados em cada consulta.
Entre Consulta e Imagens temos um relacionamento 1:N, pois em cada consulta pode ser adicionadas várias imagens.
Mas e se não for necessario adicionar nenhum Doc/Imagem? Este relacionamento permite isso?

Marisiana
   - 27 mai 2014

Isso! Pois cada imagem deverá estar vinculada a uma consulta.
Nesse caso, se podem haver consultas que não tenham nenhuma imagem você deverá utilizar 0:N.
Se você utilizar 1:N todas as consultas deverá ter no mínimo uma imagem.

Guilherme
   - 28 mai 2014


Citação:
Nesse caso, se podem haver consultas que não tenham nenhuma imagem você deverá utilizar 0:N.
Se você utilizar 1:N todas as consultas deverá ter no mínimo uma imagem.


Concordo, mas como crio esse tipo de relacionamento no SQL Management Studio?
Penso que N poderá ser 0, 1, 2, .., ou seja, cada consulta pode ter associado 0, 1, 2, ou mais Imagens.
Criei a tabela Imagem com IdImagem, IdConsulta, Descricao, Imagem. Não coloquei data pois, através do IDConsulta acesso à tabela Consulta e esta já tem a data.

Marisiana
   - 28 mai 2014

Então, você vai ter que incluir uma FK na tabela de consultas com o IdImagem e deixá-lo como opcional e não precisa do IdConsulta na tabela imagem.
Assim, uma consulta poderá ser incluida sem que seja necessário vincular uma imagem a ela.

Guilherme
   - 28 mai 2014

Estou baralhado.
Tentando ir devagar. Tenho as seguintes tabelas e relacionamentos.
Clique na imagem para abrir em uma nova janela
A Tabela ANEXOS armazena fotos que podem ser tiradas numa consulta, pode ser 0, 1,....
Depois a tabela IMAGEM vai guardar cada um dos dentes que quero que apareça sempre que uma nova CONSULTA é criada.
Por fim, na tabela ARCADA_DENTARIA é onde, a cada imagem de IMAGEM digo qual o seu lugar para depois apresentar na tela.

A minha dúvida é então a parte do relacionamento 0:N, não consegui entender como fazer.
Desculpe a falta de entendimento, mas se puder explicar melhor.
Obrigado desde já.

Marisiana
   - 28 mai 2014

Sim, te entendo!
Quando você cria um relacionamento 0:N significa que pode ter nenhum ou muitos registros.
No teu caso, uma consulta poderá ter nenhuma imagem ou ela poderá ter uma ou mais imagens. Por isso, o atributo que você armazenará o código da imagem na tabela consulta não poderá ser NOT NULL, mas isso você vai tratar no momento da criação da estrutura do banco de dados.
No caso de você vir a manter um histórico das imagens alteradas, cada vez que uma imagem for alterada deverá ser inserido um novo registro na tabela imagem. Então você deverá ter um relacionamento 1:1, que significa que uma imagem deverá estar associada a uma única uma consulta.
Na minha opinião, você deve relacionar a tabela IMAGEM à tabela CONSULTA e a tabela ARCADA_DENTÁRIA deverá estar relacionada apenas a tabela IMAGEM.

Marisiana
   - 28 mai 2014

Isso que eu falo é de acordo com o entendimento que tive através das informações que você me falou...
Cabe a você verificar se atende as necessidades da realidade que vc está analisando.

Guilherme
   - 28 mai 2014

Desde já agradeço a sua ajuda, mas não encontro material sobre relacionamentos 0:N, o mais parecido é 1:N.
Aprecio muito a sua ajuda a tentar entender melhor o problema pois sou bastante iniciante nesta matéria de Base de Dados.
Tenho aprendido bastante e gosto sempre alguém mais sabio que eu me ajude.

Marisiana
   - 29 mai 2014

Por nada! Fico feliz em poder ajudar pelo menos um pouco!
Está certo em ir com calma, porque é importante entender como é essa parte de modelagem, é um conhecimento que vai ser fundamental em tudo...

Encontrei esse site Metrópole Digital que possui um conteúdo interessante, é um curso e os conteúdos estão separados em aulas . Vale a pena conferir!

Marisiana
   - 30 mai 2014

Se tiver dúvidas pode ir perguntando, responderei o que eu souber...

Guilherme
   - 02 jun 2014

Muito muito obrigado. Tenho lido o material e é muito bom.
Uma outra relação que me está a dar a volta à cabeça é a relação entre Paciente e Seguro de Saúde.
Um Paciente tem duas opções: Tem Seguro ou Não Tem Seguro.
Um Seguro com determinadas condições pode ser prestado a mais do que um Paciente.

Deste modo, devo criar o relacionamento Paciente - Seguro, que será 0:N
E o relacionamento inverso, Seguro - Paciente, que será 1:N.

Isto será possível de implementar?

Marisiana
   - 02 jun 2014

Um questionamento necessário pra vc definir esse relacionamento é:
- Um paciente pode ter mais de um Seguro Saúde?

- Um seguro saúde, pode pertencer a quantos pacientes? Ele pode existir sem que tenha pacientes vinculados a ele?

Guilherme
   - 02 jun 2014

Um Paciente só pode ter um Seguro de Saúde.
Um Seguro pode ter Zero ou mais Pacientes. Pode ter sido criado e ainda ninguem se ter vinculado a ele, e pode ter várias pessoas a si associado