- Présentation
- Définition
- Quand utiliser une vue matérialisée ?
- Créer une vue matérialisée
- Présentation
- Création depuis l'éditeur d'analyses
- Création en utilisant le code SQL
- Utiliser une vue matérialisée
- Présentation
- Droits sur une vue matérialisée
- Modification du contenu d'une vue matérialisée
- Index sur une vue matérialisée
- Fonctions WLangage permettant de manipuler une vue matérialisée
Vue matérialisée
Disponible uniquement avec ce type de connexion
Définition Une vue matérialisée est une source de données physique définie par une requête SQL. Cette vue matérialisée est créée physiquement sur le serveur HFSQL. Elle peut être manipulée comme un fichier de données HFSQL par les applications qui accèdent à la base de données. L'application peut utiliser ou manipuler une vue matérialisée en utilisant les fonctions classiques de gestion des fichiers de données. Les données manipulées ne sont pas mises à jour automatiquement : il est nécessaire de demander la mise à jour des données. Quand utiliser une vue matérialisée ? L'utilisation d'une vue matérialisée présente plusieurs avantages : - Indépendance vis-à-vis de la structure physique des données :
La vue matérialisée correspond à une couche d'abstraction entre l'organisation des données et l'utilisation des données. Si la structure physique des données évolue, le code de l'application ne change pas. Seule la requête de base de la vue doit être adaptée à la nouvelle structure. - Accélération des traitements
L'utilisation d'une vue matérialisée est intéressante si l'extraction des données de la vue est un processus long et si les données n'ont pas une obligation de temps réel. Par exemple :- statistiques,
- reporting,
- data binding,
- sélections pour mailings,
- ciblages,
- création de fichiers de données "à plat",
- ...
Créer une vue matérialisée Présentation Il existe plusieurs méthodes pour créer une vue matérialisée : - Création de la vue matérialisée depuis l'éditeur d'analyses. Dans ce cas, pour utiliser la vue matérialisée, une mise à jour des données sur le serveur est nécessaire. Cette mise à jour peut être effectuée :
- via la modification automatique des données (effectuée lors de l'installation de l'application par exemple).
- via la fonction HMiseAJourVue.
- Création de la vue matérialisée en utilisant directement le code SQL "CREATE MATERIALIZED VIEW" dans l'application.
Création depuis l'éditeur d'analyses Pour créer une vue matérialisée depuis l'éditeur d'analyses : - Lancez l'assistant de création de vues :
- Dans le ruban, sous le volet "Analyse", dans le groupe "Création", déroulez "Nouveau" et sélectionnez "Vue".
- Sous le volet "Analyse", sélectionnez le dossier "Vues" puis sélectionnez l'option "Nouvelle vue" du menu contextuel.
- Dans l'assistant, sélectionnez "Créer une vue matérialisée" puis passez à l'écran suivant (flèche en bas de l'assistant).
- Indiquez le nom de la vue à créer puis sélectionnez le mode d'édition de la requête de base de la vue :
- Assistant. Dans ce cas, la requête de la vue est créée via l'assistant de création de requêtes. La requête est affichée graphiquement. Il est possible à tout moment de modifier la requête via l'assistant.
- Code SQL. Dans ce cas, vous saisissez directement le code SQL de sélection des éléments sélectionnés par la vue.
- La vue matérialisée est créée. Par défaut, elle n'est pas associée à une connexion. Pour associer la vue à une connexion définie sous l'éditeur d'analyses :
- Sous le volet "Analyse", sélectionnez la vue matérialisée qui vient d'être créée.
- Dans le menu contextuel (clic droit), sélectionnez l'option "Description de la vue".
- Dans la fenêtre qui s'affiche, vous pouvez modifier le nom de la vue matérialisée et spécifier la connexion associée à la vue matérialisée.
- Validez.
- Générez l'analyse pour utiliser la vue matérialisée dans le code de l'application : sous le volet "Analyse", dans le groupe "Analyse", déroulez "Génération" et sélectionnez "Génération".
Remarques : - Une clé ou une clé composée sera créée selon le "ORDER BY" défini.
- Les vues matérialisées ne peuvent pas contenir de paramètres.
Création en utilisant le code SQL Pour créer une vue matérialisée en utilisant du code SQL, il suffit d'utiliser l'instruction CREATE MATERIALIZED VIEW dans le code SQL de la requête. Par exemple :
Req_Vue est une Source de Données // Création de la vue matérialisée MonCodeVueMatérialisée est une chaîne MonCodeVueMatérialisée = [ Create materialized view Vue_Client AS SELECT * FROM Client ] HExécuteRequêteSQL(Req_Vue, ConnexionHFSQL, MonCodeVueMatérialisée)
Attention : Le code SQL de création de la vue matérialisée doit faire référence uniquement aux rubriques et aux fichiers de données définis dans l'analyse. Par exemple, il n'est pas possible d'utiliser dans ce code des références à des requêtes stockées. Utiliser une vue matérialisée Présentation Pour utiliser une vue matérialisée, il suffit d'utiliser les fonctions HFSQL d'accès aux fichiers de données. Le paramètre <Nom du fichier> correspondra au nom de la vue matérialisée. Comme un fichier de données classique, une vue matérialisée peut être : - parcourue par les fonctions HFSQL (POUR TOUT, HLit*, ...),
- associée à un champ (champ Table, Liste, ...).
Remarque : Si la vue matérialisée n'a pas été créée sous l'éditeur d'analyses, il est nécessaire d'utiliser la fonction HDéclareExterne avant de la manipuler. Droits sur une vue matérialisée Une vue matérialisée correspond à un fichier de données. La gestion des droits se fait comme pour les fichiers de données. Ces droits peuvent être paramétrés : Remarque : La fonction HInfoDroitVue permet de connaître les droits actuels sur la vue matérialisée. Modification du contenu d'une vue matérialisée Le contenu d'une vue matérialisée est mis à jour : - via l'instruction SQL "REFRESH MATERIALIZED VIEW".
- via la fonction HRafraîchitVue.
- via une tâche planifiée de rafraîchissement. Cette tâche est définie grâce à une variable du type hPlanificationVueMatérialisée. Cette tâche peut ensuite être manipulée grâce aux fonctions suivantes :
| | HAjoutePlanification | Crée une tâche planifiée sur un serveur HFSQL : - procédure stockée,
- sauvegarde,
- optimisation,
- rafraîchissement d'une vue matérialisée.
| HExécutePlanification | Exécute immédiatement une tâche planifiée sans tenir compte de sa planification : - procédure stockée,
- sauvegarde,
- optimisation,
- rafraîchissement d'une vue matérialisée.
| HModifiePlanification | Modifie une tâche planifiée sur un serveur HFSQL : - procédure stockée,
- sauvegarde,
- optimisation,
- rafraîchissement d'une vue matérialisée.
| HSupprimePlanification | Supprime une tâche planifiée sur un serveur HFSQL : - procédure stockée,
- sauvegarde,
- optimisation,
- rafraîchissement d'une vue matérialisée.
|
Index sur une vue matérialisée Il est possible de créer un index sur une vue matérialisée à l'aide de l'instruction CREATE INDEX. Si la vue matérialisée est rafraîchie, les index sont mis à jour automatiquement : il n'est pas nécessaire de recréer les index.Fonctions WLangage permettant de manipuler une vue matérialisée Les fonctions WLangage permettant de manipuler les vues matérialisées sont les suivantes :
| | HInfoVue | Renvoie des informations sur une vue matérialisée. | HMiseAJourVue | Crée ou met à jour la description d'une vue SQL ou d'une vue matérialisée depuis l'analyse vers un serveur HFSQL. | HRafraîchitVue | Demande le recalcul du contenu d'une vue matérialisée. |
Documentation également disponible pour…
|
|
|