0% ont trouvé ce document utile (0 vote)
49 vues5 pages

Administrations de BD

Administrations de base des données TP

Transféré par

marcmoise2103
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)
49 vues5 pages

Administrations de BD

Administrations de base des données TP

Transféré par

marcmoise2103
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

MAKASA MOISE MARC

Bac4 G.L / 2021020032

TP D'ADMINISTRATION DES BASES DE DONNÉES

Transactions et procédures stockées en administration de bases de données

L'administration de bases de données (DBA) repose sur des concepts fondamentaux tels que les
transactions et les procédures stockées, qui permettent de garantir la cohérence, la fiabilité, et la
performance des bases de données relationnelles. Ces deux notions jouent des rôles essentiels dans la
gestion des données et des opérations complexes.

1. Transactions

a) Définition

Une transaction est une unité logique de travail qui regroupe une ou plusieurs opérations sur une base
de données. Elle suit le principe ACID (Atomicité, Cohérence, Isolation, Durabilité), garantissant que la
base reste dans un état cohérent, même en cas de défaillance.

b) Propriétés ACID

1. Atomicité (Atomicity) : Une transaction est tout ou rien. Si une opération échoue, toutes les
modifications précédentes sont annulées.

Exemple : Lors d’un transfert bancaire, si le débit échoue, le crédit ne doit pas être effectué.

2. Cohérence (Consistency) : Une transaction garantit que les contraintes d'intégrité de la base de
données sont respectées.

Exemple : Après une transaction, le solde total dans deux comptes doit rester identique.

3. Isolation (Isolation) : Les transactions s’exécutent comme si elles étaient isolées les unes des autres,
même si elles se chevauchent.

Niveaux d'isolation .

Read Uncommitted

Read Committed

Repeatable Read

Serializable
4. Durabilité (Durability) : Une fois une transaction validée (commit), ses effets sont permanents, même
en cas de panne.

c) États d’une transaction

1. Active : La transaction est en cours.

2. Partiellement validée : Toutes les instructions ont été exécutées.

3. Validée (Committed) : Les modifications sont définitivement enregistrées.

4. Annulée (Aborted) : Les modifications sont annulées suite à une erreur ou une interruption.

d) Commandes liées aux transactions

1. BEGIN TRANSACTION : Début d’une transaction.

2. COMMIT : Valide la transaction.

3. ROLLBACK : Annule la transaction.

4. SAVEPOINT : Définit un point intermédiaire dans une transaction.

e) Problèmes classiques des transactions

1. Dirty Read : Une transaction lit des données non validées par une autre.

2. Non-repeatable Read : Une même requête retourne des résultats différents en raison d'une
modification dans une autre transaction.

3. Phantom Read : Une transaction observe l’apparition ou la disparition de lignes suite à une autre
transaction.

2. Procédures stockées

Une procédure stockée est un ensemble d'instructions SQL enregistrées dans la base de données et
exécutées sur demande. Elle permet de regrouper plusieurs opérations en une seule unité réutilisable.

b) Avantages des procédures stockées

1. Performance : Réduisent le trafic réseau, car seules les commandes d'exécution sont transmises.

2. Réutilisabilité : Elles peuvent être appelées plusieurs fois par divers utilisateurs ou applications.
3. Sécurité : Les procédures stockées peuvent inclure des contrôles d'accès et limiter l'exposition des
données.

4. Maintenance : Les modifications sont centralisées dans une seule définition.

c) Structure de base

Voici un exemple en SQL :

CREATE PROCEDURE AjouterClient(

@Nom VARCHAR(50),

@Prenom VARCHAR(50),

@Email VARCHAR(100)

AS

BEGIN

INSERT INTO Clients (Nom, Prenom, Email)

VALUES (@Nom, @Prenom, @Email)

END

d) Types de procédures stockées

1. Procédures utilisateur : Créées pour des besoins spécifiques.

2. Procédures système : Déjà définies par le SGBD pour des tâches courantes (par exemple, sp_help dans
SQL Server).

e) Paramètres des procédures stockées

1. Entrée (IN) : Les données sont passées à la procédure.

2. Sortie (OUT) : Les résultats sont renvoyés à l'appelant.


3. Entrée/Sortie (INOUT) : Le paramètre peut être modifié et renvoyé.

f) Utilisation conjointe avec les transactions

Les procédures stockées peuvent inclure des commandes de gestion de transaction pour garantir la
cohérence des données :

CREATE PROCEDURE TransfertArgent(

@CompteSource INT,

@CompteDestination INT,

@Montant DECIMAL(10, 2)

AS

BEGIN

BEGIN TRANSACTION;

BEGIN TRY

UPDATE Comptes

SET Solde = Solde - @Montant

WHERE ID = @CompteSource;

UPDATE Comptes

SET Solde = Solde + @Montant

WHERE ID = @CompteDestination;

COMMIT;

END TRY

BEGIN CATCH

ROLLBACK;

THROW;
END CATCH;

END;

En conclusion les transactions et les procédures stockées sont des outils incontournables en
administration de bases de données. Les transactions garantissent l'intégrité et la fiabilité des données,
tandis que les procédures stockées simplifient la gestion des processus métiers complexes. Leur
combinaison permet d'optimiser les performances et de sécuriser les opérations critiques.

Vous aimerez peut-être aussi