Contenu du cours
Techniques Avancées en SQL
Techniques Avancées en SQL
Atomicité
Atomicité en SQL fait référence à l'une des propriétés ACID, qui garantit que nous utilisons des transactions lors de l'interrogation des données à l'aide de SQL.
Dans le contexte des bases de données SQL, l'atomicité garantit que toutes les opérations au sein d'une unité logique particulière sont complétées, ou aucune d'entre elles ne l'est.
Traitement des transactions en SQL
Caractéristiques clés
-
Rollback : Si une partie échoue (par exemple, en raison d'une erreur ou d'une violation de contrainte), la transaction entière est annulée, rétablissant les modifications ;
-
Commit : Si toutes les opérations réussissent, la transaction est validée, rendant les modifications permanentes.
Création de transactions en SQL
En SQL, chaque instruction individuelle est considérée comme une transaction.
Cependant, nous pouvons créer manuellement des transactions qui contiennent plus d'une instruction.
Imaginons un scénario où nous avons deux tables :
-
la table
BankAccounts
, qui comprend les colonnes suivantes :account_number
(clé primaire),account_holder
etbalance
; -
la table
UserLogs
avec les colonnes :account_number
,action
,timestamp
, etc. La combinaison deaccount_number
ettimestamp
est une clé primaire composite de cette relation.
Maintenant, considérons un scénario où nous avons l'intention de créer un nouveau compte bancaire et de générer simultanément une entrée de journal pour signifier l'ajout du nouveau compte.
Il est impératif que ces deux actions, l'ajout du compte et l'enregistrement de l'événement, soient traitées comme une seule unité logique et doivent être enveloppées dans une seule transaction. Voici un exemple très basique de la façon dont nous pourrions faire cela avec une transaction :
Dans la requête ci-dessus, nous utilisons le bloc BEGIN
pour signifier que toutes les instructions suivantes doivent être considérées comme une seule unité - si l'une d'elles n'est pas exécutée, aucune des instructions ne doit être exécutée.
Le mot-clé COMMIT
signifie la fin du bloc de transaction.
Merci pour vos commentaires !