0% ont trouvé ce document utile (0 vote)
25 vues9 pages

Rapport TP1 Transaction SQL

Le document traite des transactions et des ordres DDL dans MySQL, en montrant que les commandes CREATE et DROP ne sont pas transactionnelles et sont immédiatement validées. Il explique également l'atomicité des transactions, l'utilisation de ROLLBACK et SAVEPOINT, ainsi que l'impact des commandes DDL sur les données. En conclusion, les modifications DDL ne peuvent pas être annulées et les données sont préservées après un COMMIT implicite lors de la fermeture de la session.

Transféré par

soulsidibe74
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues9 pages

Rapport TP1 Transaction SQL

Le document traite des transactions et des ordres DDL dans MySQL, en montrant que les commandes CREATE et DROP ne sont pas transactionnelles et sont immédiatement validées. Il explique également l'atomicité des transactions, l'utilisation de ROLLBACK et SAVEPOINT, ainsi que l'impact des commandes DDL sur les données. En conclusion, les modifications DDL ne peuvent pas être annulées et les données sont préservées après un COMMIT implicite lors de la fermeture de la session.

Transféré par

soulsidibe74
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

PARTIE 1: TRANSACTION ET ORDRE CREATE TABLE ET DROP TABLE

1. Créer la table transa

2. Considérons les ordres CREATE et DROP. La création et la suppression d'une table sont- elles
transactionnelles ? Pour vérifier cela, avec vos deux connexions, tentez de créer la table
"transa" dans une transaction, et de vérifier dans l'autre session si vous la voyez .
Session1 :

Session 2 :

3. Que constatez-vous ?
Je constate que MySQL exécute immédiatement les commandes DDL (comme CREATE TABLE),
en dehors du contrôle transactionnel.
Donc même sans COMMIT, la table est déjà visible dans l’autre session.
4. Exécutez la même tentative avec un DROP.
Session 1 :

Session 2 :
5. Conclusion
En MySQL, les commandes DDL (CREATE, DROP, ALTER...) sont automatiquement validées.
Elles ne sont pas annulables via ROLLBACK.

PARTIE 2 : ATOMICITE D’UNE TRANSACTION COURANTE

6. Insérez trois ou quatre lignes dans la table transa et les voir,;

7. Modifiez une ligne, en supprimer une autre, enfin annuler les mises à jour venant d’être
effectuées (en écrivant « ROLLBACK ; »).

8. Vérifier le contenu de le contenu de la table et sa structure.

9. Conclusion
Toutes les modifications sont annulées
10. Insérer à nouveau trois ou quatre lignes, les modifier et les détruire partiellement, puis
valider (en écrivant « COMMIT ; ») ces mises à jour,
11. Faites maintenant un ROLLBACK. Que s’est-il passé ?

Le roolback ne fait rien car le commit a déjà validé les changements


12. Maintenant détruire les données de votre table et valider.

13. Insérer à nouveau dans votre table vide trois ou quatre lignes et clore la transaction par un
EXIT.

14. Reconnectez vous à SQL. Que s’est-il passé ? Expliquez


Les données saisies sont présentes car EXIT exécute un COMMIT implicite.
15. Dans votre table, insérez à nouveau deux ou trois lignes dans la table et fermez brutalement
votre session.

16. Reconnectez vous à SQL. Les données saisies ont-elles été préservées ? Expliquez!
Les données insérer avant la fermeture ne sont pas là

17. Insérer à nouveau deux ou trois lignes dans la table, puis ajouter une nouvelle colonne à la
table et essayer d’annuler les dernières insertions puis faites un DESC de la table. Conclusion.

Les modifications DDL ne sont pas annulées par un roolback .


18. Videz votre table par un delete.

PARTIE 3 : ATOMICITE D’UNE TRANSACTION COURANTE ET SAVEPOINT


19. Insérez trois ou quatre lignes dans la table transa et les voir,

20. Insérez deux ou trois lignes puis faites une sauvegarde partielle de la transaction (SAVEPOINT)

21. Insérez deux ou trois lignes puis faites une sauvegarde partielle de la transaction (SAVEPOINT)

22. Faites un ROLLBACK puis vérifiez le contenu votre table. Conclusion?


Toutes les lignes sont annulées.
23. Insérez deux ou trois lignes puis faites une sauvegarde partielle de la transaction (SAVEPOINT)

24. Insérez deux ou trois lignes puis faites une sauvegarde partielle de la transaction (SAVEPOINT)

25. Faites un COMMIT puis vérifiez le contenu votre table. Conclusion?

26. Videz votre table par un delete.


27. Insérez deux ou trois lignes puis faites une sauvegarde partielle de la transaction (SAVEPOINT)

28. Insérez deux ou trois lignes puis faites une sauvegarde partielle de la transaction (SAVEPOINT)

29. Faites une annulation partielle de la transaction (ROLLBACK TO …)

30. Vérifier le contenu de la table par un SELECT.

31. Faites un COMMIT. Et vérifiez le contenu de la table. Conclusion?

La première savepoint a été concervé et la deuxième a été supprimé


PARTIE 4 : TRANSACTION ET ORDRE DDL
32. Videz votre table par un delete.

33. Insérez deux ou trois lignes.

34. Faites un ALTER TABLE (par exemple, modification du schéma logique en général).
35. Faites un DESC de la table

36. Vérifiez le contenu de la table. Que constatez-vous? Conclusion??

Il y a une nouvelle colonne mais les données insérer sont toujours là.

Vous aimerez peut-être aussi