Table des matières
PostgreSQL est l'un des moteurs de base de données qui répond le mieux aux normes de ANSI-SQLEn plus de cela, il va plus loin en proposant de nouvelles fonctions et de nouveaux constructeurs qui vont de simples raccourcis pour effectuer des requêtes, à des éléments inattendus qui permettent de briser les limites de ce que peut être une instruction SQL.Vues
Comme la plupart des bases de données relationnelles, PostgreSQL a un soutien pour vues, cependant contrairement à SQL Server et MySQL, les vues dans PostgreSQL ne sont pas automatiquement actualisables sans recourir à l'utilisation de triggers du type À LA PLACE DE, de cette façon avec l'utilisation de TRIGGERS il s'adapte et se rapproche du standard.
L'avantage est que cela nous permet de garder un meilleur contrôle sur les vues et sur la manière dont les tableaux qui fournissent les informations vont être mis à jour.
Voyons dans l'image suivante un exemple de création d'une vue dans PostgreSQL grâce à ses particularités :
Expliquons les points numérotés de l'exemple d'image afin que nous puissions examiner de plus près le sujet.
- Gérer l'effacement avec instruction EFFACER, il supprime uniquement l'enregistrement qui correspond à la même clé que l'ancien enregistrement.
- Gère les insertions de données.
- Ne mettre à jour que si au moins une des colonnes du tableau les faits Il a été changé.
- Gérez les mises à jour, utilisez l'ANCIEN ou l'ancien enregistrement pour déterminer les enregistrements à supprimer ou à mettre à jour avec les données du NOUVEAU ou du nouvel enregistrement.
CRÉER LE DÉCLENCHEUR trip_01_vw_facts_ins_upd_del AU LIEU D'INSÉRER OU DE METTRE À JOUR OU SUPPRIMER SUR recensement.vw_facts POUR CHAQUE LIGNE EXÉCUTER LA PROCÉDURE recensement.trig_vw_facts_ins_upd_del ();
De cette façon, lorsque nous effectuons une quelconque insertion ou modification ou suppression sur notre vue, les tables qui la composent recevront les données, voyons un exemple de requête :
UPDATE recensement.vw_facts SET an = 2012 WHERE an = 2011 AND tract_id = '25027761200';
Ce qui nous donnerait un résultat réussi : Requête renvoyée avec succès : 51 lignes affectées, temps d'exécution de 21 ms.
La fenêtre
Le les fenêtres sont une fonctionnalité standard ANSI-SQL prise en charge par PostgreSQL, cela nous permet de voir et d'utiliser les données qui sont au-delà de l'enregistrement actuel, sans ces fonctions, nous aurions à faire JOINT Oui Sous-requêtes pour pouvoir obtenir les données et les ressources d'une manière beaucoup plus complexe.
L'exemple suivant consiste à obtenir la valeur moyenne d'une colonne dans un tableau, voyons l'exemple dans l'image suivante :
Comme nous avons pu le voir avec la fonction AVG cela nous permet d'obtenir les valeurs de tous les champs sans avoir à faire JOINS et la fonction PLUS DE transformons cela en une fonction La fenêtre. Ainsi, lorsque PostgreSQL verra une fonction de ce type, il parcourra toutes les lignes conformes à la clause WHERE pour obtenir le résultat.
Avec cela, nous avons terminé le tutoriel avec lequel nous pourrions apprendre un peu plus comment PostgreSQL il gère les fonctions ANSI-SQL standard et voit comment il ajoute son propre style pour étendre l'utilité de ces fonctions.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif