SQL – LES TRIGGERS

Un trigger, également appelé déclencheur, permet d’exécuter un ensemble d’instruction SQL juste après un événement. Cela permet de faciliter et d’automatiser des actions au sein d’un Système de Gestion de Base de Données

Syntaxe

La création d’un déclencheur en SQL peut être effectué via la syntaxe suivante :

CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON table_name FOR EACH ROW
trigger_body;

Cette syntaxe peut être expliquée via les explications suivantes : créer un déclencher ayant le nom “trigger_name”, avant ou après l’”ajout“, la “mise à jour” ou la “suppression” au sein de la table “table_name” pour chaque événement sur les lignes.

Exemple de requêtes SQL

La requête SQL ci-dessous est un exemple concret de requête SQL pour créer un trigger (déclencheur) :

 CREATE OR REPLACE TRIGGER trigg_example
 BEFORE INSERT OR UPDATE ON table_example
 FOR EACH ROW
 WHEN (new.no_line > 0)
 DECLARE
     evol_exemple number;
 BEGIN
     evol_exemple := :new.exemple  - :old.exemple;
     DBMS_OUTPUT.PUT_LINE('  evolution : ' || evol_exemple);
 END;


source : https://sql.sh/cours/create-trigger

Publié dans Cours, THEORIE | Commentaires fermés sur SQL – LES TRIGGERS

MERISE 2 : AGREGATION – APPLICATION – GESTION EXAMENS

L’énoncé : SLAM3_CAS119GESTION&ORGANISATION_EXAMEN

Le MCD à compléter dans MERISE SLAM3_cas119_EXAMEN

Publié dans Cours, TD, TD/TP SLAM3, THEORIE | Commentaires fermés sur MERISE 2 : AGREGATION – APPLICATION – GESTION EXAMENS

SQL – LES PROCEDURES

Une procédure stockée est une collection précompilée d’instructions Transact-SQL stockée sous un nom et traitée comme une unité.

Les procédures stockées contribuent à mettre en œuvre une logique cohérente dans les applications. Les instructions SQL et la logique nécessaires à l’exécution d’une tâche fréquente peuvent être créées, codées et testées une seule fois dans une procédure stockée. Il suffit ensuite à chaque application devant effectuer la tâche d’exécuter la procédure stockée. Le codage de la logique de gestion en une seule procédure offre aussi un point de contrôle unique permettant de vérifier que les règles d’entreprise sont bien respectées.

Délimiteur

MySQL utilise un caractère comme délimiteur pour séparer ses requêtes, par défaut ‘;’. Quand on crée des procédures stockées avec plusieurs requêtes, on en crée en fait une seule : CREATE de la procédure. Toutefois, si elles sont séparées par ‘;’, il faut demander à MySQL de les ignorer pour estimer la fin du CREATE, puis remettre « ; » à la fin.

Dans l’exemple suivant, ‘$’ joue ce rôle :

delimiter $
 CREATE ...
 delimiter ;

Lister toutes les procédures stockées et fonctions      

                SELECT db, name FROM mysql.proc;

SYNTAXE :

DELIMITER $$ 
 
CREATE PROCEDURE `procedureExemple` 
   ( 
     DECLARE  paramètre1 VARCHAR(255), 
     DECLARE  paramètre2 INTEGER 
   ) 
   BEGIN 
      /* 
      Requêtes SQL séparées par un point virgule (;)
      Utilisant paramètre 1 et paramètre 2      */ 
   END$$ 
 
DELIMITER ;

Support distribué supportCoursProcedure
Publié dans Cours, THEORIE | Commentaires fermés sur SQL – LES PROCEDURES

SQL – LES VUES

Les vues sont des objets de la base de données, constitués d’un nom et d’une requête de sélection.

Une fois qu’une vue est définie, on peut l’utiliser comme on le ferait avec une table qui serait constituée des données sélectionnées par la requête définissant la vue.

Le polycop du cours SQL-VUES

Publié dans THEORIE | Commentaires fermés sur SQL – LES VUES

TRANSACTIONS – PROCEDURES STOCKEES – TRIGGERS

Cours openClassrooms pour les passionnés de base de données et autres : ICI

PROCEDURES STOCKEES : voir diaporama de cours PROCEDURES_STOCKEES

TRIGGERS : voir diaporama de cours TRIGGERS

 

Publié dans Cours, OUTILS, PRATIQUE, THEORIE | Commentaires fermés sur TRANSACTIONS – PROCEDURES STOCKEES – TRIGGERS

ACTUALITE : Récupération de numéros de carte bancaire par injection SQL sur un site de e-commerce

Source : https://www.cnil.fr/fr/la-violation-du-trimestre-recuperation-de-numeros-de-carte-bancaire-par-injection-sql-sur-un-site-de  daté du 7 octobre 2020

Sécuriser son système d’information est primordial pour garantir que les données de ses clients ou prospects ne soient pas volées ou compromises. L’injection SQL est une attaque répandue, qui peut être dévastatrice pour les données personnelles. Elle peut permettre de prendre la main à distance sur le serveur ou installer un enregistreur de frappe.

Une telle attaque peut être très coûteuse et avoir un impact réputationnel important pour l’entreprise.

Quel est le mode opératoire type d’une telle attaque ?

violation du trimestre

Démonstration d’injection SQL sur un site vulnérable : https://www.youtube.com/watch?v=O4TZV8p6kIA

Publié dans Veille technologique | Commentaires fermés sur ACTUALITE : Récupération de numéros de carte bancaire par injection SQL sur un site de e-commerce

Requêteur en ligne pour entrainement aux requêtes de type LID SELECT … FROM …

C’est ici

Publié dans Entraide, PRATIQUE | Commentaires fermés sur Requêteur en ligne pour entrainement aux requêtes de type LID SELECT … FROM …

Top 10 des bases de données relationnelles en 2020 (par popularité)

Source  : https://www.digora.com/fr/blog/TOP-10-des-bases-de-donnees

Voici le TOP 10 des moteurs bases de données sous l’angle de l’évolution de leur popularité, mois par mois

Voici les données chiffrées correspondantes, pour le même TOP 10 des bases de données, avec l’évolution de leur classement et de leur score par rapport à un mois plus tôt et un an plus tôt :

 

Publié dans Veille technologique | Commentaires fermés sur Top 10 des bases de données relationnelles en 2020 (par popularité)

TP2 CONTRAINTES et VUES

Révisions en mode de commande des commandes SQL des modules LCD (Langage de Contrôle de Données) et LMD (Langage de Modification de Données)

Découverte des vues et de leurs contraintes à l’aide des commandes :

CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table_name
[WHERE condition]

[WITH CHECK OPTION];

Enoncé du TP SLAM3_TP2_rappels_et_vues

et des 2 fichiers .sql des scripts à compléter : scriptsTP2

 

Publié dans TD/TP SLAM3 | Commentaires fermés sur TP2 CONTRAINTES et VUES

CAS 111 – Gestion des primes d’assurance automobile

Voir le MCD : correctionPrimeAssuranceAuto

Publié dans TD SLAM3, TD/TP SLAM3 | Commentaires fermés sur CAS 111 – Gestion des primes d’assurance automobile