Tenho uma grande dúvida em uma tabela de cadastro de perguntas e respostas

19/04/2015

Olá pessoal, estou aqui com uma grande dúvida, tenho uma tabela suporte onde o usuario-comum vai abrir um pedido de suporte para o pessoal da ADM,
após cadastrado o pedido de suporte o usuario-ADM vai responder em uma outra tabela com o id do pedido de suporte até ai tudo bem, mas quero que o usuário-comum
responda nessa mesma tabela e seja apresentado em uma view o texto do suporte, a resposta do adm com msg, nome e data. e permitir que o usuario-comum faça outras perguntas na mesma tabela resposta com nome, msg e data, caso ele tenha outra dúvida a respeito da resposta dada do usuarioADM. E como devo fazer esse relacionamento
nas tabelas.

OBS: O usuarioADM e o Usuario-comum estão em tabelas separadas, então é uma tabela de usuarioADM e outra para Usuario-comum


Tipo:
* Pedido de Suporte:
Nome: Josivan Alves
Mensagem: Não estou conseguindo fazer um cadastro erro 456456
Data: 19/04/2015 22:11

*Resposta ADM
Nome: Raimundo
Mensagem: Tivemos um pequeno problema com nossos servidores, problema resolvido
Data: 20/04/2015 16:32
*Pergunta
Nome: Josivan Alves
Mensagem: muito obrigado!
Data: 20/04/2015 17:20

Alguém me ajude !!! :)

Josivan Soares

Melhor resposta

20/04/2015

Cara, se eu entendi direito, a solução é simples. Você precisa fazer uma tabela auxiliar entre as tabelas principais.

Ou seja, Você tem a tabela por onde o usuário comum faz o pedido de suporte. Esta tabela deve ter um código principal, OK.

A outra tabela é do pessoal da ADM que responderá a solicitação do suporte. BLZ.

Então sua estrutura tem que estar da seguinte forma :

TABELA 1 ( recebimento de pedido de suporte)
id_pedido
id_usuario_comum
pedido
data

TABELA AUXILIAR ( Será uma tabela que terá várias inserções ( 1 pedido para N soluções))
id_auxiliar ( pk )
id_pedido ( fk) ( já traz o histórico do pedido)
id_usuario_comum ( deve ser usado caso o usuario comum queira acrescentar mais alguma informação)
id_usuario_adm
data ( pode ser datetime pra trazer a hora tb)
Solucao


=> Observe que você poderá ter, desta forma, várias inclusões de soluções numa tabela só que deve ser amarrada ( por UNION's) à tabela principal.

Brother, espero ter ajudado.

Forte abraço.

Eduardo Santana
www.bufallos.com.br

Eduardo Santana

Responder Citar

Outras Respostas

20/04/2015

Marcos P

Josivan,

Em primeiro lugar, acho que seria melhor você alterar o assunto desse post para "modelagem de dados"... mais pessoas podem te ajudar com isso, se o assunto estiver correto.

Você já tem alguma coisa pronta desse modelo ou está começando a modelagem do zero ?

"O usuarioADM e o Usuario-comum estão em tabelas separadas, então é uma tabela de usuarioADM e outra para Usuario-comum"... do ponto de vista de cadastro do usuário, serão duas tabelas diferentes ? Por que isso ? Uma única tabela com um flag identificando o perfil do usuário não seria suficiente ?

Basicamente é uma aplicação de help-desk que você está desenvolvendo, correto ?

Já pesquisou sobre modelo de dados prontos para esse tipo de aplicação ?
Responder Citar

20/04/2015

Marisiana

Compartilho da mesma dúvida que o Marcos,
Você já tem alguma coisa pronta desse modelo ou está começando a modelagem do zero ?
Responder Citar

22/04/2015

Marcos P

E aí Josivan, resolvido ?
Responder Citar

22/04/2015

Josivan Soares

Obrigado Eduardo Santana, eu fiz igualzinho o que você falou, mas estou com problemas na hora de selecionar e mostrar isso em uma View, tem alguma solução ai pra mim?
estou estudando modelagem ainda, por isso minhas dúvidas, esporo que compreendam.
E desculpa pessoal minha forma de comentário eu estou na correria precisando resolver este problema, então, eu precisava de uma view que me mostrasse o seguinte:

* Pedido de Suporte: A mensagem do suporte pode ser um select separado mesmo
Nome: Josivan Alves
Mensagem: Não estou conseguindo fazer um cadastro erro 456456
Data: 19/04/2015 22:11

Um select que me mostrasse a conversa do usuarioComum com o usuarioAdm a medida que eles forem conversando.

Respondendo o Marcos, tem atributos na tabela usuarioComum que não são pertinentes a usuarioAdm, ou seja,
são dois setores diferentes com logins diferentes em tabelas diferentes.
obs: ainda não implementei esses atributos deixei as tabelas iguais no diagrama.

*Resposta ADM
Nome: Raimundo
Mensagem: Tivemos um pequeno problema com nossos servidores, problema resolvido
Data: 20/04/2015 16:32

*Pergunta
Nome: Josivan Alves
Mensagem: muito obrigado!
Data: 20/04/2015 17:20

segue minha tabela do Banco.

Desde já agradeço a atenção de todos vocês! :)

[img:descricao=Diagrama das tabelas do Banco]http://arquivo.devmedia.com.br/forum/imagem/425501-20150422-165831.jpg[/img]
Responder Citar

23/04/2015

Eduardo Santana

JosIvan, a resposta pode ser simples.
O primeiro seleção será a chave de tudo , ok. Por que ele é o pedido.

você terá que fazer uma view que use o código do suporte como chave. Atente-se para a ordenação da listagem. A melhor forma é ser sequencial ( mostrando a inserção cronológica das conversa).

Espero ter ajudado.

Forte abraço.

Eduardo Santana
www.bufallos.com.br
Responder Citar

23/04/2015

Marisiana

Nesse artigo consta um exemplo simples de criação de view: Conceitos e Criação da View - Views no SQL Server - Parte 1

Na documentação do SQLServer: [url:descricao=CREATE VIEW (Transact-SQL)]https://msdn.microsoft.com/pt-br/library/ms187956.aspx[/url]
Responder Citar