Bonjour à tous
Actuellement, je suis la seule personne qui gère le contenu de la base, les autres personnes n'y accèdent qu'en lecture, je n'ai donc pas écrit de code pour gérer les accès concurrents en écriture.
J'envisage d'ouvrir cette possibilité à quelques personnes et j'ai donc besoin de vos conseils.
La table Location contient la description d'un lieu où le groupe tient des activités,
la table Addresses contient la description de toutes les adresses, celles des lieux et celles des membres du groupe. Le lien entre les deux se fait par un identifieur unique pour chaque table et ces identifieurs permettent d'associer un lieu et son adresse.
La mise à jour des données concernant un lieu se fait de la façon suivante :
1) une requête pour lire les informations
2) affichage dans un formulaire de saisie
3) modifications
4) appui d'un bouton OK
5) requête de mise à jour (dans ma techno actuelle, une requête par table)
Une mise à jour peut prendre un temps de l'ordre de quelques minutes.
Si deux personnes font des mises à jour simultanées, il faut donc éviter qu'elles les fassent sur les lignes correspondantes des deux tables. Cela impose donc un mécanisme de "verrou long"
Si par ailleurs une personne est amenée à interrompre son activité de mise à jour pour une raison quelconque, il faut s'assurer que le verrou ne reste pas actif indéfiniment.
La documentation dont je dispose sur les transactions et verrous en MysSQL ne me semble pas très claire.
Merci de vos conseils
Actuellement, je suis la seule personne qui gère le contenu de la base, les autres personnes n'y accèdent qu'en lecture, je n'ai donc pas écrit de code pour gérer les accès concurrents en écriture.
J'envisage d'ouvrir cette possibilité à quelques personnes et j'ai donc besoin de vos conseils.
La table Location contient la description d'un lieu où le groupe tient des activités,
la table Addresses contient la description de toutes les adresses, celles des lieux et celles des membres du groupe. Le lien entre les deux se fait par un identifieur unique pour chaque table et ces identifieurs permettent d'associer un lieu et son adresse.
La mise à jour des données concernant un lieu se fait de la façon suivante :
1) une requête pour lire les informations
2) affichage dans un formulaire de saisie
3) modifications
4) appui d'un bouton OK
5) requête de mise à jour (dans ma techno actuelle, une requête par table)
Une mise à jour peut prendre un temps de l'ordre de quelques minutes.
Si deux personnes font des mises à jour simultanées, il faut donc éviter qu'elles les fassent sur les lignes correspondantes des deux tables. Cela impose donc un mécanisme de "verrou long"
Si par ailleurs une personne est amenée à interrompre son activité de mise à jour pour une raison quelconque, il faut s'assurer que le verrou ne reste pas actif indéfiniment.
La documentation dont je dispose sur les transactions et verrous en MysSQL ne me semble pas très claire.
Merci de vos conseils