Cours SQL et MySQL · Module 11: Projet final

La Salle des Sceaux - transactions et vues

2 min de lecture
Dans cette leçon2

Dans ce final, tu vas apprendre deux outils de maître : les transactions, qui protègent les données, et les vues, qui mettent de l'ordre dans les requêtes.

Transaction - tout ou rien

Une transaction réunit plusieurs opérations en un tout indivisible. Soit elles s'exécutent toutes, soit aucune. Nous la commençons avec START TRANSACTION, la confirmons avec COMMIT, et en cas d'erreur, nous l'annulons avec ROLLBACK :

1START TRANSACTION;
2UPDATE ksiazki SET cena = 25.00 WHERE id = 3;
3COMMIT;

Si quelque chose s'est mal passé avant le COMMIT, un simple ROLLBACK ramène la base de données à l'état d'avant la transaction. Grâce à cela, nous ne laissons jamais les données dans un état à moitié fini, cassé.

Vue (VIEW) - une requête sauvegardée

Une vue est une requête sauvegardée qui se comporte comme une table virtuelle. Nous la créons une fois, puis nous l'interrogeons comme un rayon ordinaire :

1CREATE VIEW dostepne_ksiazki AS
2SELECT tytul, cena FROM ksiazki WHERE dostepna = 1;

Désormais, SELECT * FROM dostepne_ksiazki; ne renverra que les livres disponibles - sans répéter toute la condition. Les vues mettent de l'ordre dans les questions fréquemment posées, tout comme les Pinakes ont mis de l'ordre dans les parchemins.

Voici tes derniers sortilèges nouveaux. Le sceau est apposé - les données sont en sécurité !

Tu as repéré une erreur dans cette leçon ?

Teste tes connaissances

Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.

  1. 1. Que garantit une transaction dans une base de données ?

  2. 2. Quelle instruction confirme définitivement les changements effectués dans une transaction ?

Voici 2 des 3 questions de cette leçon. Réponds aux autres dans le jeu.

Tâches pratiques dans le jeu

  • Éditeur de code

    Écris trois instructions : ouvre une transaction avec START TRANSACTION;, puis mets cena à 25.00 pour le livre dont id vaut 3 (UPDATE ksiazki SET cena = 25.00 WHERE id = 3;), et enfin confirme les changements avec COMMIT;.

  • Éditeur de code

    Écris une instruction CREATE VIEW qui crée la vue dostepne_ksiazki, qui récupère tytul et cena de la table ksiazki pour les livres disponibles (dostepna = 1).

  • Clique dans l'ordre

    Clique sur les instructions dans l'ordre d'exécution d'une transaction sûre :

  • Tri horizontal

    Ordonne sur une ligne le début de l'instruction qui crée une vue :