DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Gestion de HFSQL Client/Serveur
  • Présentation
  • Définition
  • Quand utiliser une vue SQL ?
  • Créer une vue SQL
  • Présentation
  • Création depuis l'éditeur d'analyses
  • Création en utilisant le code SQL
  • Utiliser une vue SQL
  • Présentation
  • Droits sur une vue
  • Modification du contenu d'une vue SQL
  • Fonctions WLangage permettant de manipuler une vue SQL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation

Définition

Une vue SQL est une source de données virtuelle définie par une requête SQL. Elle est créée sur le serveur HFSQL et peut être utilisée par les applications qui accèdent à la base de données.
L'application peut utiliser ou manipuler une vue SQL en réalisant une requête sur la vue SQL. Lorsque la requête est exécutée, la vue SQL sur laquelle la requête est basée est automatiquement ré-exécutée. Les données manipulées sont toujours à jour.

Quand utiliser une vue SQL ?

L'utilisation d'une vue SQL présente plusieurs avantages :
  • Indépendance vis-à-vis de la structure physique des données.
  • Sécurité.
Voyons ces avantages en détails :
  • Indépendance vis-à-vis de la structure physique des données :
    La vue SQL 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, les requêtes SQL de l'application ne changent pas. Seul le code SQL de la vue doit être adapté à la nouvelle structure.
  • Sécurité et droits
    Une vue SQL peut également être utilisée dans un but de confidentialité. Certaines rubriques peuvent être masquées dans la vue.
    Exemple : Un fichier Personnel contient le nom, le prénom, l'adresse, le numéro de téléphone personnel et le numéro du poste. Ce fichier est accessible uniquement par des personnes autorisées.
    Il est possible de créer une vue SQL de ce fichier contenant uniquement le nom et le numéro de poste. Le créateur de la vue ayant les droits sur le fichier Personnel, le contenu de la vue sera accessible par des utilisateurs non autorisés à consulter le fichier. Cependant, les informations confidentielles ne seront pas accessibles.
Créer une vue SQL

Présentation

Il existe plusieurs méthodes pour créer une vue SQL :
  • Création de la vue SQL depuis l'éditeur d'analyses. Dans ce cas, pour utiliser la vue, 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 SQL en utilisant directement l'instruction SQL "CREATE VIEW" dans l'application.

Création depuis l'éditeur d'analyses

Pour créer une vue SQL depuis l'éditeur d'analyses :
  1. 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.
  2. Dans l'assistant, sélectionnez "Créer un vue" puis passez à l'écran suivant (flèche en bas de l'assistant).
  3. 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.
  4. La vue SQL 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 SQL 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 SQL et spécifier la connexion associée à la vue SQL.
    • Validez.
  5. Générez l'analyse pour utiliser la vue SQL 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".
Remarque : Dans une requête de création d'une vue SQL, certaines options ne sont pas disponibles :
  • Les vues SQL ne sont pas triées.
  • Les vues SQL ne peuvent pas contenir de paramètres.

Création en utilisant le code SQL

Pour créer une vue SQL en utilisant du code SQL, il suffit d'utiliser l'instruction CREATE VIEW dans le code SQL de la requête. Par exemple :
Req_Vue est une Source de Données
 
 
// Création de la vue
MonCodeSQLVue est une chaîne
MonCodeSQLVue = [
Create view Vue_Client
AS SELECT * FROM Client
]
HExécuteRequêteSQL(Req_Vue, ConnexionHFSQL, MonCodeSQLVue)
Utiliser une vue SQL

Présentation

Pour utiliser une vue SQL, il suffit de créer des requêtes basées sur la vue SQL. Ces requêtes peuvent être réalisées :
  • soit avec l'éditeur de requêtes.
    Si la vue SQL a été créée sous l'éditeur d'analyses, la vue apparaît dans la liste des éléments disponibles pour créer la requête.
  • soit en code SQL.
Exemple de code SQL :
Req_Vue est une Source de Données
 
// Création de la vue
MonCodeSQLVue est une chaîne
MonCodeSQLVue = [
Create view Vue_Client
AS SELECT * FROM Client
]
HExécuteRequêteSQL(Req_Vue, ConnexionHFSQL, MonCodeSQLVue)
MaReq est une Source de Données
MonCodeReq = "SELECT Nom FROM Vue_Client"
HExécuteRequêteSQL(MaReq, ConnexionHFSQL, MonCodeReq)
Remarque : Le paramètre ConnexionHFSQL doit être précisé si la vue n'a pas été créée sous l'éditeur d'analyses ou si la vue définie sous l'éditeur d'analyses n'a pas été associée à une connexion.
Comme une requête classique, le résultat de la requête basée sur la vue SQL peut être :
  • parcouru par les fonctions HFSQL (POUR TOUT, HLit*, ...).
  • associé à un champ (champ Table, Liste, ...).

Droits sur une vue

L'accès aux sources de données référencées par la vue se fait avec les droits du créateur de la vue.
L'utilisateur de la vue a des droits sur la vue. Ces droits peuvent être paramétrés :
  • via le Centre de Contrôle HFSQL (non disponible dans cette version).
  • via la fonction HModifieDroitVue.
Remarques :

Modification du contenu d'une vue SQL

Il est possible de modifier le contenu des fichiers source de la vue SQL via les instructions SQL :
  • INSERT INTO
  • UPDATE
Pour utiliser ces instructions, il est nécessaire de respecter les règles suivantes :
  • La vue SQL doit porter sur un et un seul fichier de données.
  • La vue SQL ne doit pas comporter d'Unions, de "Group By", d'agrégats, d'instructions "Having" ou "Distinct".
  • Dans le cas d'une requête de type UPDATE, seules les rubriques simples peuvent être modifiées (pas de rubriques calculées).
  • Dans le cas d'une requête de type INSERT :
    • seules les rubriques simples peuvent être ajoutées (pas de rubriques calculées).
    • la vue doit exporter toutes les rubriques du fichier qui doivent avoir une valeur (notamment les clés uniques autres que les identifiants automatiques).
Fonctions WLangage permettant de manipuler une vue SQL
Les fonctions WLangage permettant de manipuler les vues SQL sont les suivantes :
HInfoDroitBaseDeDonnéesPermet de connaître les droits sur une base de données définis pour un utilisateur ou un groupe.
HInfoDroitVuePermet de connaître les droits accordés sur une vue SQL ou sur une vue matérialisée pour un utilisateur ou un groupe.
HListeFichierRenvoie la liste des fichiers :
  • de l'analyse en cours ou d'une analyse spécifique reconnue par le moteur HFSQL. Les fichiers définis par les fonctions HDéclare, HDéclareExterne et HDécritFichier sont pris en compte.
  • disponibles sur une connexion par un accès natif ou par un driver OLE DB.
  • d'un groupe de fichiers défini dans l'éditeur d'analyses.
HMiseAJourVueCrée ou met à jour la description d'une vue SQL ou d'une vue matérialisée depuis l'analyse vers un serveur HFSQL.
HModifieDroitBaseDeDonnéesModifie les droits donnés à un utilisateur ou à un groupe pour une base de données HFSQL Client/Serveur.
HModifieDroitVueModifie les droits accordés sur une vue SQL ou sur une vue matérialisée pour un utilisateur ou un groupe.
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale