Maison >base de données >tutoriel mysql >mysql Advanced (vingt-trois) quatre caractéristiques principales des transactions de base de données
Atomicité, cohérence, séparation, durabilité
L'atomicité de une transaction signifie que le programme inclus dans la transaction sert d'unité logique de travail de la base de données et que toutes les opérations de modification des données qu'il effectue sont soit effectuées, soit pas du tout effectuées. Cette propriété est appelée atomicité.
L'exigence d'atomicité d'une transaction est que si une transaction peut être considérée comme un programme, elle sera soit complètement exécutée, soit pas exécutée du tout. C'est-à-dire que la séquence d'opérations de la transaction est soit entièrement appliquée à la base de données, soit n'affecte pas du tout la base de données. Cette propriété est appelée atomicité.
Si l'utilisateur effectue des mises à jour de la base de données au cours d'une transaction, toutes les mises à jour doivent être visibles par le monde extérieur, ou il se peut qu'il n'y ait aucune mise à jour du tout. Le premier indique que la transaction a été validée, et le second indique que la transaction a été annulée (ou interrompue). Le SGBD doit garantir que toutes les opérations terminées par des transactions validées avec succès sont entièrement reflétées dans la base de données, tandis que les transactions échouées n'ont aucun impact sur la base de données.
La cohérence des transactions signifie que la base de données doit être dans un état cohérent avant et après l'exécution d'une transaction. Cette propriété est appelée cohérence transactionnelle. Une base de données est dite cohérente si son état satisfait à toutes les contraintes d’intégrité.
La cohérence gère la protection de toutes les contraintes sémantiques de la base de données. Par exemple, lorsque la base de données est dans l'état de cohérence S1, une transaction est exécutée sur la base de données. Lors de l'exécution de la transaction, l'état de la base de données est supposé incohérent. Lorsque l'exécution de la transaction se termine, la base de données est dans l'état de cohérence S1. état de cohérence S2.
La séparation signifie que les transactions simultanées sont isolées les unes des autres. Autrement dit, les opérations au sein d'une transaction et les données exploitées doivent être bloquées et ne peuvent pas être vues par d'autres transactions tentant de la modifier.
La séparabilité est la garantie de sécurité apportée par le SGBD contre les conflits entre transactions concurrentes. Les SGBD peuvent fournir différents niveaux de séparation entre des transactions exécutées simultanément grâce au verrouillage. S'il n'y a aucun contrôle sur l'exécution de transactions simultanées, l'exécution de plusieurs transactions simultanées manipulant le même objet partagé peut provoquer des conditions anormales.
Les SGBD peuvent fournir différents niveaux de séparation entre les transactions exécutées simultanément. Il existe une relation inverse entre le niveau de séparation et le débit des transactions simultanées. Une plus grande séparabilité des transactions peut conduire à des conflits plus importants et à davantage d'avortements de transactions. Les transactions abandonnées consomment des ressources, et ces ressources doivent être à nouveau accessibles. Par conséquent, un SGBD garantissant un niveau élevé de séparation nécessite plus de temps système.
La durabilité signifie garantir que les mises à jour des transactions validées ne peuvent pas être perdues en cas de panne du système ou du support. Autrement dit, une fois qu'une transaction est validée, le SGBD garantit que les modifications apportées aux données de la base de données doivent être permanentes et résister à toute panne du système. Ainsi, la durabilité dépend principalement des performances de récupération du SGBD. La durabilité est garantie grâce à la sauvegarde et à la récupération de la base de données.
http://www.php.cn/
Ce qui précède sont les quatre principales transactions de base de données de MySQL Advanced (vingt- 3) Contenu des fonctionnalités, veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !