LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

Fiche mémo BDD - Les Vues

Fiche : Fiche mémo BDD - Les Vues. Recherche parmi 298 000+ dissertations

Par   •  31 Janvier 2023  •  Fiche  •  495 Mots (2 Pages)  •  151 Vues

Page 1 sur 2

// Vue //

On stocke une requête SQL et on appelle la vue directement par son nom.


Utilité

>> Limité les accès aux données
On ne donne qu'accès qu'à une vue qui ne contient que les données que l'on veut.

>> Simplifier l'écriture des requêtes

>> Créer une interface entre la BDD et l'application
SI la structure de la bdd vient à changer il faut réecrire toutes les requêtes alors que si on créee une vue, on change que la vue. (ce sera elle qui sera appellée dans les applications)

CREATE OR REPLACE
ALGORITHM = merge, temptable

VIEW v_nom_vue
AS requete_select ;

Par convention, on préfixe tjrs les noms des vues par "v_"

Pour l'appeler on écrit "SELECT* from v_nom_vue

Pour modifier une vue, alter view n_view as requête :

Pour connaître la struture de la vue :

        DESCRIBE v_nom_vue

Limites

La requête ne peut contenir de sous requêtes
Ne peut pas utiliser de variables
On évitera les clauses LIMIT et DISTINCT

Les algorithmes !

Merge 
fusionne les deux req et l'exécute directement sur la table, et ne créer pas de table

Temptable 
On exécute 2 requête dont une sur une table temporaire, et interroge cette table avec les conditions du select. (table ne possédant pas d'index, donc plus lent)


// Vues matérialisées //

>> Combinent les avantages des vues et des req sur des tables indexées
>> Les données seront stockées dans les vues et non pas seulement la req.



// Les évènements //

Permet de planifier dans le temps l'exécution d'une requête à renouveler de façon périodique.

--- Création d'event ---
        * Ils doivent être activés sur le server

        * On doit avoir le privilège correspondant

SHOW GLOBAL VARIABLES LIKE 'event_scheduler' ; -- montre l'état de l'event

SET GLOBAL event_scheduler = 1 ; -- active l'event

Création d'event :

CREATE EVENT (if not exists) nom_event

ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE ]
[ENABLE | DISABLE ]
[COMMENT '
description de l'event']
DO
code_sql ;

[] = falcutatif

ON SCHEDULE AT timestamp

>> permet d'exécuter les instructions en une seule fois  à un moment précis
        >> désigne un instant t de type timestamp ou datetime

On peut aussi ajouter un intervalle

ON SCHEDULE  AT timestamp + INTERVAL
valeur  MONTH,DAY,HOUR,YEAR


Intervalle régulier

ON SCHEDULE EVERY
intervalle
         * permet de répérer les instructions de manière récurrente

ex : DAY, MONTH, HOUR, YEAR, MINUTE...

create event test_event
on schedule every 1 month

...

Télécharger au format  txt (2.9 Kb)   pdf (70.4 Kb)   docx (8.4 Kb)  
Voir 1 page de plus »
Uniquement disponible sur LaDissertation.com