Eu tenho um banco de dados MySql (5.5) com um front-end do MS Access. Se dois usuários estiverem visualizando o mesmo registro ao mesmo tempo, como posso tornar cada usuário ciente um do outro? Por exemplo, como eu exibiria um rótulo indicando que outro usuário também está visualizando o mesmo registro?
relate perguntas
-
Existem ferramentas de benchmarking do MySQL? [fechado]
-
Onde posso encontrar o log lento do mysql?
-
Como posso otimizar um mysqldump de um banco de dados grande?
-
Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?
-
Como um grupo pode rastrear alterações no esquema do banco de dados?
Posso estar errado, mas não acho que isso seja possível, a menos que você restrinja o acesso aos dados por meio de procedimentos armazenados - então o procedimento pode acionar o mecanismo de auditoria que você pode expor aos usuários. Você também precisaria da votação da auditoria se ambos os usuários precisassem estar cientes.
Este processo será um pouco complicado para o banco de dados. Você não apenas deseja saber se o registro atual está sendo visualizado, mas também deseja notificar os usuários uns dos outros. Quando um usuário lê um registro, o sistema de banco de dados busca rapidamente os dados e os retorna ao usuário. No que diz respeito ao BD, uma vez que os dados são enviados para o cliente, ninguém está 'visualizando' o referido registro. Do lado do aplicativo, o usuário ainda pode estar lendo os detalhes, mas o banco de dados concluiu sua parte. Todo esse processo pode ser concluído em microssegundos pelo DB.
Para lidar com o processo da vida real, o aplicativo front-end precisará de algum tipo de botão 'leitura concluída' para notificar explicitamente outros usuários (o banco de dados não está preocupado, pois fez sua parte).
Isso é o que eu poderia pensar rapidamente. Se houver um método mais eficiente, por favor me avise.