Problemas em criar uma aplicação multi-utilizador

peter alien

Power Member
Boas a todos,

Até hoje só criei aplicações (sou autodidacta), quer elas precisassem de acesso a uma BD ou não, mas do tipo monoposto/mono-utilizador.

Desta vez queria tentar criar uma aplicação com acesso a MySQL, utilizando por exemplo, Java (NetBeans v8), mas que fosse do tipo multi-utilizador, ou seja queria que a aplicação aguentasse com 3 ou 4 possiveis utilizadores a introduzir, consultar e rectificar dados nessa BD MySQL.

Percebo de Java e de MySQL (ambos num nivel não muito avançado).

Penso que o problema do multiutilizador estará ao nivel da BD, pois quando algum utilizador precisar de executar algum update à informação existente poderão ocorrer problemas graves nos dados guardados... por causa da concurrencia (por aquilo que me disseram)!!!

Alguém me poderá explicar como se faz isso, é que tenho procurado na internet e desgraçadamente não encontro manual ou tutorial algum que explique como fazer isso ... apenas alguns pequenos comentários em foruns e ás vezes um bocado "ambiguos" ou demasiado superficiais. :(

É assim tão diferente criar uma app mono-utilizador de uma multi-utilizador? É que sinceramente não sei sequer por onde ei-de pegar nesta coisa de uma aplicação ser "multi-utilizador", estou completamente ás aranhas, ou melhor dizendo, em "branco"! :(

Obrigadão a quem me puder ajudar.
 
Então se bem percebi posso converter uma aplicação do tipo BD mono-utilizador para multi-utilizador se utilizar apenas mais as transacções?
Vou dar uma olhadela no link que postaste.
 
Então se bem percebi posso converter uma aplicação do tipo BD mono-utilizador para multi-utilizador se utilizar apenas mais as transacções?

Podem nem ser precisas transações, depende da aplicação. As próprias bases de dados têm mecanismos de locking para evitar alguns dos problemas da concorrência. Um exemplo da utilização de transações seria realizar várias operações e ter de voltar atrás, por outra ligação à base de dados a ter modificado de uma maneira que invalida alguma dessas operações.

Já agora, para outros tipos de problemas as transações são úteis mesmo sem concorrência (o exemplo da Wikipedia é um débito numa conta que corresponda a um crédito noutra).
 
Sim, o MySQL tem mecanismos de locking implícitos (acontecem automaticamente em certas operações) e também explícitos (podes pedi-los manualmente).
 
Back
Topo