HFSQL : Base de données universelle

SQL HFSQL gère la norme Ansi SQL 92. Le SQL géré par HFSQL supporte également de nombreuses syntaxes supplémentaires et spécifiques de SQL Server et Oracle, entre autres. HFSQL gère les sous requêtes et les re- quêtes imbriquées. Les requêtes peuvent également s’exécuter de manière asynchrone. HFSQL gère les opérateurs ensemblistes (union, cartésien, jointure, jointure ex- terne), les opérateurs d’agrégation (count, sum, avg, min, max, écart-type, variance), les opérateurs de tri et de regroupement: (group by, having, order by)... La vitesse du moteur SQL est optimisée : il utilise les index les plus discriminants lors des requêtes. La gestion avancée des caches mémoire améliore les performances. Le moteur effectue automatiquement la gestion et la répartition de la charge: si un client exécute de très nombreuses requêtes consommatrices de ressources (CPU,...), le serveur équilibre automatiquement la charge pour ne pas pénaliser les autres clients. Simultanément avec le code SQL, le déve- loppeur bénéficie de la richesse fonction- nelle du L5G WLangage. Vous trouverez en fin de ce document la liste des fonctions SQL supportées par HFSQL, ainsi que les autres aspects de programma- tion (programmation des curseurs). FONCTIONNA- LITÉS Les fonctionnalités offertes par HFSQL sont très nombreuses. Vous trouverez ci-après la description des principales fonctionnalités. L’aide en ligne intégrale de HFSQL est acces- sible (en français et en anglais) depuis Internet sur le site doc.pcsoft.fr PLUSIEURS DATABASES SUR UN MÊME SERVEUR HFSQL gère nativement la présence de plusieurs bases de données sur un même serveur. Les bases de données sont isolées. Des droits spécifiques peuvent être définis sur chacune des bases. Cela évite de multiplier les serveurs. MODIFICATION AUTOMATIQUE DES DONNÉES DÉPLOYÉES (SDD) Quel informaticien, quel DSI n’a pas pesté contre le temps perdu à écrire ces fameuses «moulinettes» (scripts) de tables pour ajou- ter ou agrandir une colonne ou un index à une table existante, pour changer un type de données dans une colonne? L’écriture de moulinettes (scripts) est toujours délicate, car elle modifie des don- nées. Avec HFSQL tout cela appartient au passé! HFSQL gère de manière transparente l’évolution des structures (schémas) de données grâce à la technologie SDD (Synchronisation du schéma des Données Dé- ployées).  Finies les «moulinettes» ! Finis les scripts ! Finis les «Alter table» hasardeux et insuffisants ! Le SDD effectue automa- tiquement : • La comparaison et syn- chronisation automa- tique de la base et des données par rapport au schéma à obtenir • L’ajout, suppression, re- nommage de colonnes • Le changement de type et de taille • L’ajout/suppression de clé/index, l’ajout/ suppression de contraintes • L’ajout/suppression de triggers et de procédures stockées. Le SDD peut également être lancé par ligne de commande ou par programme. Cette fonctionnalité de SDD peut s’exécuter à chaud, sans déconnecter les utilisateurs, de manière transparente, sans perturber le fonctionnement des applications. SDD: Mise à jour automatique du schéma de données (également appelée Modif. Auto.) INTÉGRITÉ: CONTRAINTE, SUPPRESSION, MISE À JOUR EN CASCADE Il est facile de définir des contraintes d’in- tégrité. Les cardinalités sont paramétrables: (0,n); (0,1); (1,n); (3,n); etc... Les liaisons réflexives sont supportées. Exemples de contraintes : • Intégrité référentielle: L’intégrité référentielle interdira l’efface- ment d’un auteur, tant que dans la base de données il existera au moins un livre se référant à cet auteur. Il n’est pas possible de supprimer une ligne dans une table si cette ligne est reliée à d’autres lignes d’une table. Par exemple: on ne peut pas supprimer un client si des commandes sont reliées à ce client. L’intégrité référentielle peut être définie par liaison, depuis l’éditeur d’analyses. • Suppression en cascade: Si une ligne est supprimée dans une table, les lignes correspondantes dans les tables reliées sont également supprimées (cette contrainte peut être activée ou désactivée, par relation). HFSQL • www.pcsoft.fr 7 SELECT Produit . Libellé AS Libellé , SUM( LigneCde . Quantité ) AS la_somme_Quantité , Client . CodePostal AS CodePostal FROM Produit LEFT OUTER JOIN ( ( Client INNER JOIN Commande ON Client . IDClient = Commande . IDClient ) INNER JOIN LigneCde ON Commande . IDCommande = LigneCde . IDCommande ) ON Produit . Référence = LigneCde . Référence WHERE Client . CodePostal LIKE ‘34%’ GROUP BY Produit . Libellé , Client . CodePostal

RkJQdWJsaXNoZXIy NDQ0OA==